feat : change app inspector and exception handling

This commit is contained in:
2025-07-12 17:06:29 +03:30
parent e52674de37
commit 0fc16569a6
24 changed files with 472 additions and 322 deletions

View File

@@ -5,9 +5,17 @@ import 'package:rasadyar_core/core.dart';
final di = GetIt.instance;
Future<void> setupInjection() async{
await setupAuthDI();
Future<void> setupPreInjection() async{
await setupAllCoreProvider();
await setupAuthDI();
}
Future<void> setupInjection() async{
await setupChickenDI();
}

View File

@@ -0,0 +1,40 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_app/infrastructure/di/di.dart';
import 'package:rasadyar_chicken/chicken.dart';
import 'package:rasadyar_core/core.dart';
class CustomNavigationObserver extends NavigatorObserver {
bool _isWorkDone = false;
void setInjectionDone() {
_isWorkDone = true;
}
@override
void didPush(Route route, Route? previousRoute) async {
super.didPush(route, previousRoute);
final routeName = route.settings.name;
if (!_isWorkDone && routeName == ChickenRoutes.init) {
_isWorkDone = true;
await setupInjection();
}
}
@override
void didReplace({Route? newRoute, Route? oldRoute}) {
super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
}
@override
void didPop(Route route, Route? previousRoute) {
super.didPop(route, previousRoute);
}
@override
void didRemove(Route route, Route? previousRoute) {
super.didRemove(route, previousRoute);
}
}

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:rasadyar_app/infrastructure/service/app_navigation_observer.dart';
import 'package:rasadyar_app/presentation/routes/app_pages.dart';
import 'package:rasadyar_auth/auth.dart';
import 'package:rasadyar_auth/data/services/token_storage_service.dart';
@@ -9,14 +10,15 @@ import 'infrastructure/service/auth_service.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await setupInjection();
await setupPreInjection();
Get.put(TokenStorageService());
var tokenService = Get.find<TokenStorageService>();
await tokenService.init();
Get.put(AuthMiddleware());
Get.put(AuthService());
runApp(MyApp());
// runApp(DevicePreview(builder: (context) => ForDevicePreview(),));
}
@@ -59,6 +61,7 @@ class MyApp extends StatelessWidget {
getPages: AppPages.pages,
locale: const Locale("fa", "IR"),
supportedLocales: const [Locale("fa", "IR")],
navigatorObservers: [CustomNavigationObserver()],
localizationsDelegates: [
PersianMaterialLocalizations.delegate,
PersianCupertinoLocalizations.delegate,

View File

@@ -34,7 +34,6 @@ sealed class AppPages {
}
String getTargetPage(Module? value) {
eLog('getTargetPage: $value');
switch (value) {
case Module.inspection:
return InspectionRoutes.inspection;