diff --git a/lib/presentation/pages/modules/logic.dart b/lib/presentation/pages/modules/logic.dart index 5064460..906f7fc 100644 --- a/lib/presentation/pages/modules/logic.dart +++ b/lib/presentation/pages/modules/logic.dart @@ -72,7 +72,7 @@ class ModulesLogic extends GetxController { void onTapCard(Module? module, int index) async { if (module == null) { - if(Get.isSnackbarOpen) return; + if (Get.isSnackbarOpen) return; Get.snackbar( "در حال توسعه", "این ماژول به زودی اضافه می‌شود", @@ -94,12 +94,18 @@ class ModulesLogic extends GetxController { Future navigateToModule(Module module) async { var target = getAuthTargetPage(module).entries.first; - - if (target.value != null) { - await target.value; + fLog('gooo'); + if (target.value?[0] != null) { + isLoading.value = !isLoading.value; + await target.value?[0]; + isLoading.value = !isLoading.value; + } + + await Get.toNamed(target.key, arguments: module); + fLog('return'); + if (target.value?[1] != null) { + await target.value?[1]; } - isLoading.value = !isLoading.value; - Get.toNamed(target.key, arguments: module); } Future getSliders() async { diff --git a/lib/presentation/routes/app_pages.dart b/lib/presentation/routes/app_pages.dart index 4a11fb2..c0a0e8a 100644 --- a/lib/presentation/routes/app_pages.dart +++ b/lib/presentation/routes/app_pages.dart @@ -26,7 +26,6 @@ sealed class AppPages { name: AppPaths.moduleList, page: () => ModulesPage(), binding: BindingsBuilder(() { - Get.lazyPut(() => SliderLogic(), tag: "up"); Get.lazyPut(() => SliderLogic(), tag: "down"); Get.put(ModulesLogic()); @@ -58,14 +57,20 @@ Map?> getTargetModule(Module? value) { } } -Map?> getAuthTargetPage(Module? value) { +Map?>?> getAuthTargetPage(Module? value) { switch (value) { case Module.inspection: - return {InspectionRoutes.auth: setupInspectionDI()}; + return { + InspectionRoutes.auth: [setupInspectionDI(), removeInspectionDI()], + }; case Module.liveStocks: - return {LiveStockRoutes.auth: setupLiveStockDI()}; + return { + LiveStockRoutes.auth: [setupLiveStockDI(), removeLiveStockDI()], + }; case Module.chicken: - return {ChickenRoutes.auth: setupChickenDI()}; + return { + ChickenRoutes.auth: [setupChickenDI(), removeChickenDI()], + }; default: return {AppPaths.moduleList: null}; } diff --git a/packages/chicken/lib/data/di/chicken_di.dart b/packages/chicken/lib/data/di/chicken_di.dart index 5ceb8b4..8f23e29 100644 --- a/packages/chicken/lib/data/di/chicken_di.dart +++ b/packages/chicken/lib/data/di/chicken_di.dart @@ -46,7 +46,7 @@ Future setupChickenDI() async { await dioRemote.init(); diChicken.registerLazySingleton( - () => AuthRemoteDataSourceImp(diChicken.get()), + () => AuthRemoteDataSourceImp(dioRemote), ); diChicken.registerLazySingleton( @@ -122,3 +122,32 @@ Future newSetupAuthDI(String newUrl) async { ); } } + + + +Future removeChickenDI() async { + if (diChicken.isRegistered()) { + diChicken.unregister(); + } + if (diChicken.isRegistered(instanceName: 'chickenInterceptor')) { + diChicken.unregister(instanceName: 'chickenInterceptor'); + } + if (diChicken.isRegistered()) { + diChicken.unregister(); + } + if (diChicken.isRegistered()) { + diChicken.unregister(); + } + if (diChicken.isRegistered()) { + diChicken.unregister(); + } + if (diChicken.isRegistered()) { + diChicken.unregister(); + } + if (diChicken.isRegistered()) { + diChicken.unregister(); + } + if (diChicken.isRegistered()) { + diChicken.unregister(); + } +} \ No newline at end of file diff --git a/packages/core/lib/infrastructure/remote/dio_remote.dart b/packages/core/lib/infrastructure/remote/dio_remote.dart index 6e261c0..184595a 100644 --- a/packages/core/lib/infrastructure/remote/dio_remote.dart +++ b/packages/core/lib/infrastructure/remote/dio_remote.dart @@ -10,7 +10,6 @@ class DioRemote implements IHttpClient { @override Future init() async { - fLog(baseUrl); dio = Dio(BaseOptions(baseUrl: baseUrl ?? '')); if (interceptors != null) { interceptors!.dio = dio; diff --git a/packages/core/pubspec.yaml b/packages/core/pubspec.yaml index 88331f2..8cac455 100644 --- a/packages/core/pubspec.yaml +++ b/packages/core/pubspec.yaml @@ -97,7 +97,7 @@ dev_dependencies: build_runner: ^2.7.0 hive_ce_generator: ^1.9.3 freezed: ^3.2.0 - json_serializable: ^6.10.0 + json_serializable: ^6.11.0 test: ^1.24.0 diff --git a/packages/inspection/lib/injection/inspection_di.dart b/packages/inspection/lib/injection/inspection_di.dart index 456896e..b266b78 100644 --- a/packages/inspection/lib/injection/inspection_di.dart +++ b/packages/inspection/lib/injection/inspection_di.dart @@ -30,21 +30,20 @@ Future setupInspectionDI() async { }, authArguments: Module.inspection, ), - instanceName: 'inspectionInterceptor', ); diInspection.registerLazySingleton(() { return DioRemote( baseUrl: tokenService.baseurl.value, - interceptors: diInspection.get(instanceName: 'inspectionInterceptor'), + interceptors: diInspection.get(), ); - }, instanceName: 'inspectionDioRemote'); + }); - var dioRemote = diInspection.get(instanceName: 'inspectionDioRemote'); + var dioRemote = diInspection.get(); await dioRemote.init(); diInspection.registerLazySingleton( - () => AuthRemoteImp(diInspection.get(instanceName: 'inspectionDioRemote')), + () => AuthRemoteImp(dioRemote), ); diInspection.registerSingleton( @@ -52,7 +51,7 @@ Future setupInspectionDI() async { ); diInspection.registerSingleton( - UserRemoteDataSourceImp(diInspection.get(instanceName: 'inspectionDioRemote')), + UserRemoteDataSourceImp(dioRemote), ); diInspection.registerSingleton( @@ -60,7 +59,7 @@ Future setupInspectionDI() async { ); diInspection.registerSingleton( - InspectionRemoteDataSourceImp(diInspection.get(instanceName: 'inspectionDioRemote')), + InspectionRemoteDataSourceImp(dioRemote), ); diInspection.registerSingleton( @@ -69,3 +68,37 @@ Future setupInspectionDI() async { diInspection.registerSingleton(ImagePicker()); } + + +Future removeInspectionDI() async { + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } + if (diInspection.isRegistered()) { + diInspection.unregister(); + } +} diff --git a/packages/inspection/pubspec.lock b/packages/inspection/pubspec.lock index c3a0fb6..fcb6541 100644 --- a/packages/inspection/pubspec.lock +++ b/packages/inspection/pubspec.lock @@ -77,18 +77,18 @@ packages: dependency: transitive description: name: build - sha256: "7d95cbbb1526ab5ae977df9b4cc660963b9b27f6d1075c0b34653868911385e4" + sha256: "6439a9c71a4e6eca8d9490c1b380a25b02675aa688137dfbe66d2062884a23ac" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.2" build_config: dependency: transitive description: name: build_config - sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + sha256: "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.0" build_daemon: dependency: transitive description: @@ -101,26 +101,26 @@ packages: dependency: transitive description: name: build_resolvers - sha256: "38c9c339333a09b090a638849a4c56e70a404c6bdd3b511493addfbc113b60c2" + sha256: "2b21a125d66a86b9511cc3fb6c668c42e9a1185083922bf60e46d483a81a9712" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: b971d4a1c789eba7be3e6fe6ce5e5b50fd3719e3cb485b3fad6d04358304351d + sha256: fd3c09f4bbff7fa6e8d8ef688a0b2e8a6384e6483a25af0dac75fef362bcfe6f url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.7.0" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: c04e612ca801cd0928ccdb891c263a2b1391cb27940a5ea5afcf9ba894de5d62 + sha256: ab27e46c8aa233e610cf6084ee6d8a22c6f873a0a9929241d8855b7a72978ae7 url: "https://pub.dev" source: hosted - version: "9.2.0" + version: "9.3.0" built_collection: dependency: transitive description: @@ -137,6 +137,30 @@ packages: url: "https://pub.dev" source: hosted version: "8.11.0" + cached_network_image: + dependency: transitive + description: + name: cached_network_image + sha256: "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916" + url: "https://pub.dev" + source: hosted + version: "3.4.1" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829" + url: "https://pub.dev" + source: hosted + version: "4.1.1" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062" + url: "https://pub.dev" + source: hosted + version: "1.3.1" characters: dependency: transitive description: @@ -385,11 +409,27 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" + flat_buffers: + dependency: transitive + description: + name: flat_buffers + sha256: "380bdcba5664a718bfd4ea20a45d39e13684f5318fcd8883066a55e21f37f4c3" + url: "https://pub.dev" + source: hosted + version: "23.5.26" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" + url: "https://pub.dev" + source: hosted + version: "3.4.1" flutter_gen_core: dependency: transitive description: @@ -451,6 +491,14 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" + flutter_map_tile_caching: + dependency: transitive + description: + name: flutter_map_tile_caching + sha256: "1839c6157cf9b444083a626b30f3ba9f6db802ac8bb5292440e1628882faa392" + url: "https://pub.dev" + source: hosted + version: "10.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -527,10 +575,10 @@ packages: dependency: transitive description: name: flutter_slidable - sha256: ab7dbb16f783307c9d7762ede2593ce32c220ba2ba0fd540a3db8e9a3acba71a + sha256: e6bd17290cf0d011f9ed66c74d4159b8fe3b3050afedac0f11fab1ba8687e710 url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.0.1" flutter_svg: dependency: transitive description: @@ -889,10 +937,10 @@ packages: dependency: "direct dev" description: name: json_serializable - sha256: ce2cf974ccdee13be2a510832d7fba0b94b364e0b0395dee42abaa51b855be27 + sha256: "3f2913b7c2430afe8ac5afe6fb15c1de4a60af4f630625e6e238f80ba4b80cbd" url: "https://pub.dev" source: hosted - version: "6.10.0" + version: "6.11.0" latlong2: dependency: transitive description: @@ -1045,6 +1093,30 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.2" + objectbox: + dependency: transitive + description: + name: objectbox + sha256: "25c2e24b417d938decb5598682dc831bc6a21856eaae65affbc57cfad326808d" + url: "https://pub.dev" + source: hosted + version: "4.3.0" + objectbox_flutter_libs: + dependency: transitive + description: + name: objectbox_flutter_libs + sha256: "574b0233ba79a7159fca9049c67974f790a2180b6141d4951112b20bd146016a" + url: "https://pub.dev" + source: hosted + version: "4.3.0" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" package_config: dependency: transitive description: @@ -1353,14 +1425,22 @@ packages: description: flutter source: sdk version: "0.0.0" + smooth_page_indicator: + dependency: transitive + description: + name: smooth_page_indicator + sha256: b21ebb8bc39cf72d11c7cfd809162a48c3800668ced1c9da3aade13a32cf6c1c + url: "https://pub.dev" + source: hosted + version: "1.2.1" source_gen: dependency: transitive description: name: source_gen - sha256: fc787b1f89ceac9580c3616f899c9a447413cbdac1df071302127764c023a134 + sha256: "7b19d6ba131c6eb98bfcbf8d56c1a7002eba438af2e7ae6f8398b2b0f4f381e3" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.1.0" source_helper: dependency: transitive description: @@ -1401,6 +1481,46 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: ecd684501ebc2ae9a83536e8b15731642b9570dc8623e0073d227d0ee2bfea88 + url: "https://pub.dev" + source: hosted + version: "2.4.2+2" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "6ef422a4525ecc601db6c0a2233ff448c731307906e92cabc9ba292afaae16a6" + url: "https://pub.dev" + source: hosted + version: "2.5.6" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" stack_trace: dependency: transitive description: @@ -1433,6 +1553,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.1" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0 + url: "https://pub.dev" + source: hosted + version: "3.4.0" term_glyph: dependency: transitive description: diff --git a/packages/inspection/pubspec.yaml b/packages/inspection/pubspec.yaml index 52fa6f3..1021d3b 100644 --- a/packages/inspection/pubspec.yaml +++ b/packages/inspection/pubspec.yaml @@ -21,10 +21,10 @@ dev_dependencies: lints: ^6.0.0 test: ^1.25.15 ##code generation - build_runner: ^2.6.0 + build_runner: ^2.7.0 hive_ce_generator: ^1.9.3 freezed: ^3.2.0 - json_serializable: ^6.10.0 + json_serializable: ^6.11.0 ##test mocktail: ^1.0.4 diff --git a/packages/livestock/lib/injection/live_stock_di.dart b/packages/livestock/lib/injection/live_stock_di.dart index d7915b2..8530104 100644 --- a/packages/livestock/lib/injection/live_stock_di.dart +++ b/packages/livestock/lib/injection/live_stock_di.dart @@ -26,9 +26,6 @@ Future setupLiveStockDI() async { await tokenService.saveBaseUrl('https://api.dam.rasadyar.net/'); } - - - // First register AppInterceptor with lazy callbacks diLiveStock.registerLazySingleton( () => AppInterceptor( @@ -96,3 +93,33 @@ Future setupLiveStockDI() async { diLiveStock.registerLazySingleton(() => ImagePicker()); await diLiveStock.allReady(); } + +Future removeLiveStockDI() async { + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } + if (diLiveStock.isRegistered()) { + diLiveStock.unregister(); + } +} diff --git a/packages/livestock/pubspec.yaml b/packages/livestock/pubspec.yaml index ffa9508..0bb2b2f 100644 --- a/packages/livestock/pubspec.yaml +++ b/packages/livestock/pubspec.yaml @@ -27,7 +27,7 @@ dev_dependencies: build_runner: ^2.7.0 hive_ce_generator: ^1.9.3 freezed: ^3.2.0 - json_serializable: ^6.10.0 + json_serializable: ^6.11.0 ##test mocktail: ^1.0.4 diff --git a/pubspec.lock b/pubspec.lock index ad5afc0..3f3cccd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -945,10 +945,10 @@ packages: dependency: "direct dev" description: name: json_serializable - sha256: ce2cf974ccdee13be2a510832d7fba0b94b364e0b0395dee42abaa51b855be27 + sha256: "3f2913b7c2430afe8ac5afe6fb15c1de4a60af4f630625e6e238f80ba4b80cbd" url: "https://pub.dev" source: hosted - version: "6.10.0" + version: "6.11.0" latlong2: dependency: transitive description: @@ -1442,10 +1442,10 @@ packages: dependency: transitive description: name: source_gen - sha256: fc787b1f89ceac9580c3616f899c9a447413cbdac1df071302127764c023a134 + sha256: "7b19d6ba131c6eb98bfcbf8d56c1a7002eba438af2e7ae6f8398b2b0f4f381e3" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.1.0" source_helper: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8c503e9..badb658 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,7 @@ dev_dependencies: build_runner: ^2.7.0 hive_ce_generator: ^1.9.3 freezed: ^3.2.0 - json_serializable: ^6.10.0 + json_serializable: ^6.11.0 flutter_gen_runner: ^5.11.0 change_app_package_name: ^1.5.0