| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- import 'package:flutter/cupertino.dart';
 
- import 'package:flutter/material.dart';
 
- import 'package:go_router/go_router.dart';
 
- import 'package:maxkey_flutter/app_color_scheme.dart';
 
- import 'package:maxkey_flutter/maxkey/maxkey.dart';
 
- import 'package:maxkey_flutter/maxkey/services/users.service.dart';
 
- import 'package:maxkey_flutter/pages/home_page/page.dart';
 
- import 'package:maxkey_flutter/pages/login_page/page.dart';
 
- import 'package:maxkey_flutter/pages/scan_page.dart';
 
- import 'package:maxkey_flutter/pages/settings_page/page.dart';
 
- import 'package:maxkey_flutter/pages/user_page/page.dart';
 
- import 'package:maxkey_flutter/persistent.dart';
 
- import 'package:maxkey_flutter/utils.dart';
 
- import 'package:flutter_localizations/flutter_localizations.dart';
 
- import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 
- void main() async {
 
-   WidgetsFlutterBinding.ensureInitialized();
 
-   await MaxKeyPersistent.init();
 
-   runApp(const AppEntry());
 
- }
 
- class AppEntry extends StatelessWidget {
 
-   const AppEntry({super.key});
 
-   @override
 
-   Widget build(BuildContext context) {
 
-     return ValueListenableBuilder(
 
-         valueListenable: MaxKeyPersistent.instance.themeModeListenable,
 
-         builder: (context, value, _) {
 
-           return MaterialApp.router(
 
-             scaffoldMessengerKey: SCAFFOLD_MESSENGER_KEY,
 
-             themeMode: value,
 
-             theme: ThemeData.from(colorScheme: AppColorScheme.lightScheme()),
 
-             darkTheme: ThemeData.from(colorScheme: AppColorScheme.darkScheme()),
 
-             localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
 
-               AppLocalizations.delegate,
 
-               GlobalCupertinoLocalizations.delegate,
 
-               GlobalMaterialLocalizations.delegate,
 
-               GlobalWidgetsLocalizations.delegate,
 
-             ],
 
-             supportedLocales: AppLocalizations.supportedLocales,
 
-             routerConfig: _routerConfig,
 
-           );
 
-         });
 
-   }
 
- }
 
- GoRouter _routerConfig = GoRouter(
 
-   navigatorKey: NAVIGATOR_KEY,
 
-   initialLocation: !MaxKey.instance.authnService.localAuth()
 
-       ? RoutePath.loginPage
 
-       : RoutePath.homePage,
 
-   routes: [
 
-     GoRoute(
 
-       path: RoutePath.loginPage,
 
-       pageBuilder: (context, state) => const CupertinoPage(child: LoginPage()),
 
-     ),
 
-     GoRoute(
 
-       path: RoutePath.homePage,
 
-       pageBuilder: (context, state) => const CupertinoPage(child: HomePage()),
 
-     ),
 
-     GoRoute(
 
-       path: RoutePath.scanPage,
 
-       pageBuilder: (context, state) => CupertinoPage(
 
-         child: ScanPage(title: state.extra as String),
 
-       ),
 
-     ),
 
-     GoRoute(
 
-       path: RoutePath.userPage,
 
-       pageBuilder: (context, state) => CupertinoPage(
 
-         child: UserPage(user: state.extra as MaxKeyUser?),
 
-       ),
 
-     ),
 
-     GoRoute(
 
-       path: RoutePath.settingsPage,
 
-       pageBuilder: (context, state) =>
 
-           const CupertinoPage(child: SettingsPage()),
 
-     ),
 
-   ],
 
- );
 
- // const _supportedLocales = <Locale>[
 
- //   Locale('en', 'US'),
 
- //   // generic Chinese 'zh'
 
- //   Locale.fromSubtags(languageCode: 'zh'),
 
- //   // generic simplified Chinese 'zh_Hans'
 
- //   Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans'),
 
- //   // generic traditional Chinese 'zh_Hant'
 
- //   Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant'),
 
- //   // 'zh_Hans_CN'
 
- //   Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans', countryCode: 'CN'),
 
- //   // 'zh_Hant_TW'
 
- //   Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'TW'),
 
- //   // 'zh_Hant_HK'
 
- //   Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'HK'),
 
- // ];
 
 
  |