| 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'),// ];
 |