Rétegek projektjének helyes kezelése

This commit is contained in:
2026-07-09 00:31:17 +02:00
parent 9f068b79a4
commit 1425e91ed2
2 changed files with 13 additions and 0 deletions
+7
View File
@@ -72,8 +72,15 @@ class LayerImportService extends GetxService {
super.onReady();
await _initLayerDir();
await _loadPersistedLayers();
// A service permanent (app-életciklusnyi) — enélkül projektváltáskor
// a térképen a RÉGI projekt rétegei maradnának látszódva egészen
// újraindításig.
ever(ProjectService.to.activeProject, (_) => reload());
}
Future<void> reload() => _loadPersistedLayers();
Future<void> _initLayerDir() async {
final ext = await getExternalStorageDirectory();
final dir = Directory(p.join(ext!.path, 'layers'));
+6
View File
@@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:terepi_seged/services/layer_import_service.dart';
import 'package:uuid/uuid.dart';
import 'app_database.dart';
@@ -56,6 +57,11 @@ class LayerSyncService extends GetxService {
for (final project in projects.where((pr) => !pr.isLocalOnly)) {
await _pullProjectLayers(project.id!, project.uuid);
}
// Ha közben egy csapattárs frissített/megosztott egy réteget, ez
// jelenjen meg a térképen azonnal, újraindítás nélkül.
if (Get.isRegistered<LayerImportService>()) {
await LayerImportService.to.reload();
}
} finally {
isSyncing.value = false;
}