| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import 'package:pb_authenticator/pages/how_it_works.dart';
- import 'package:pb_authenticator/pages/transfer_codes.dart';
- import 'state/app_state.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- import 'package:flutter_localizations/flutter_localizations.dart'
- show GlobalMaterialLocalizations, GlobalWidgetsLocalizations;
- import 'l10n/app_localizations.dart';
- import 'state/file_storage.dart';
- import 'package:pb_authenticator_state/state.dart' show Repository;
- import 'pages/pages.dart';
- import 'package:provider/provider.dart';
- import 'config/routes.dart';
- void main() {
- var repository = Repository(FileStorage());
- runApp(MultiProvider(
- providers: [ChangeNotifierProvider(create: (_) => AppState(repository))],
- child: MainApp(),
- ));
- }
- class MainApp extends StatelessWidget {
- // Locale information
- final Iterable<Locale> supportedLocales = [const Locale('en')];
- final Iterable<LocalizationsDelegate> localizationsDelegates = [
- AppLocalizations.delegate,
- GlobalMaterialLocalizations.delegate,
- GlobalWidgetsLocalizations.delegate,
- ];
- MainApp({super.key});
- @override
- Widget build(BuildContext context) {
- SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
- overlays: [SystemUiOverlay.top]);
- // Material/Cupertino app depending on platform
- return MaterialApp(
- onGenerateTitle: (context) => AppLocalizations.of(context)!.appName,
- theme: ThemeData.light(),
- darkTheme: ThemeData.dark(),
- themeMode: ThemeMode.system,
- initialRoute: AppRoutes.home,
- routes: {
- AppRoutes.home: (context) => const AndroidHomePage(),
- AppRoutes.edit: (context) => const AndroidEditPage(),
- AppRoutes.add: (context) => const AddPage(),
- AppRoutes.addScan: (context) => const ScanQRPage(),
- AppRoutes.settings: (context) => const SettingsPage(),
- AppRoutes.settingAcknowledgements: (context) =>
- const AcknowledgementsPage(),
- AppRoutes.howItWorks: (context) => const HowItWorksPage(),
- AppRoutes.transferCodes: (context) => const TransferCodesPage(),
- },
- localizationsDelegates: localizationsDelegates,
- supportedLocales: supportedLocales,
- );
- }
- }
|