import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../widgets/main_navigation.dart'; import '../views/profile/guide/beginner_page.dart'; import '../views/profile/guide/permission.dart'; import '../views/profile/guide/app-data.dart'; import '../views/profile/guide/sp-guide.dart'; import '../views/active/tags/corr_page.dart'; class AppRoutes { static const String mainNavigation = '/main'; static const String beginnerGuide = '/beginner-guide'; static const String permissionGuide = '/permission-guide'; static const String appDataGuide = '/app-data-guide'; static const String spGuide = '/sp-guide'; static const String corrPage = '/corrPage'; static Route generateRoute(RouteSettings settings) { switch (settings.name) { case mainNavigation: return MaterialPageRoute(builder: (_) => const MainNavigation()); case beginnerGuide: return MaterialPageRoute(builder: (_) => const BeginnerPage()); case permissionGuide: return MaterialPageRoute(builder: (_) => const PermissionPage()); case appDataGuide: return MaterialPageRoute(builder: (_) => const AppDataPage()); case spGuide: return MaterialPageRoute(builder: (_) => const SpGuidePage()); case corrPage: final args = settings.arguments as Map; return MaterialPageRoute( builder: (_) => CorrPage(label: args['label']!, searchType: args['searchType']!), ); default: return MaterialPageRoute(builder: (_) => const MainNavigation()); } } static Future getInitialRoute(SharedPreferences prefs) async { final bool? firstLaunch = prefs.getBool('firstLaunch'); final bool? agreementAccepted = prefs.getBool('agreementAccepted'); final bool? showGuideOnStartup = prefs.getBool('showGuideOnStartup'); if (firstLaunch == true || showGuideOnStartup == true) { return beginnerGuide; } if (agreementAccepted == false) { return permissionGuide; } return mainNavigation; } }