From 1e5601a10b31b5a84a1fad16fe0234e6d4409eee Mon Sep 17 00:00:00 2001 From: "torok.istvan" Date: Thu, 9 Jul 2026 00:31:17 +0200 Subject: [PATCH] =?UTF-8?q?R=C3=A9tegek=20projektj=C3=A9nek=20helyes=20kez?= =?UTF-8?q?el=C3=A9se?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/services/layer_import_service.dart | 7 +++++++ lib/services/layer_sync_service.dart | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/lib/services/layer_import_service.dart b/lib/services/layer_import_service.dart index a568847..3b5d8e1 100644 --- a/lib/services/layer_import_service.dart +++ b/lib/services/layer_import_service.dart @@ -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 reload() => _loadPersistedLayers(); + Future _initLayerDir() async { final ext = await getExternalStorageDirectory(); final dir = Directory(p.join(ext!.path, 'layers')); diff --git a/lib/services/layer_sync_service.dart b/lib/services/layer_sync_service.dart index a76301b..94a2752 100644 --- a/lib/services/layer_sync_service.dart +++ b/lib/services/layer_sync_service.dart @@ -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()) { + await LayerImportService.to.reload(); + } } finally { isSyncing.value = false; }