From 4467267e612f01ea069855dbfff6dc20c65955de Mon Sep 17 00:00:00 2001 From: 55nknown <55922348+55nknown@users.noreply.github.com> Date: Mon, 31 Oct 2022 14:50:26 +0100 Subject: [PATCH] move i18n --- filcnaplo/lib/app.dart | 136 ++++++++++++++++++++--------------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/filcnaplo/lib/app.dart b/filcnaplo/lib/app.dart index 6b27a4d..ddc5649 100644 --- a/filcnaplo/lib/app.dart +++ b/filcnaplo/lib/app.dart @@ -74,82 +74,82 @@ class App extends StatelessWidget { final kreta = KretaClient(user: user, settings: settings, status: status); final timetable = TimetableProvider(user: user, database: database, kreta: kreta); - return I18n( - initialLocale: Locale(settings.language, settings.language.toUpperCase()), - child: MultiProvider( - providers: [ - ChangeNotifierProvider(create: (_) => settings), - ChangeNotifierProvider(create: (_) => user), - ChangeNotifierProvider(create: (_) => status), - Provider(create: (_) => kreta), - Provider(create: (context) => database), - ChangeNotifierProvider(create: (context) => ThemeModeObserver(initialTheme: settings.theme)), - ChangeNotifierProvider(create: (context) => NewsProvider(context: context)), - ChangeNotifierProvider(create: (context) => UpdateProvider(context: context)), + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => settings), + ChangeNotifierProvider(create: (_) => user), + ChangeNotifierProvider(create: (_) => status), + Provider(create: (_) => kreta), + Provider(create: (context) => database), + ChangeNotifierProvider(create: (context) => ThemeModeObserver(initialTheme: settings.theme)), + ChangeNotifierProvider(create: (context) => NewsProvider(context: context)), + ChangeNotifierProvider(create: (context) => UpdateProvider(context: context)), - // User data providers - ChangeNotifierProvider(create: (context) => GradeProvider(context: context)), - ChangeNotifierProvider(create: (_) => timetable), - ChangeNotifierProvider(create: (context) => ExamProvider(context: context)), - ChangeNotifierProvider(create: (context) => HomeworkProvider(context: context)), - ChangeNotifierProvider(create: (context) => MessageProvider(context: context)), - ChangeNotifierProvider(create: (context) => NoteProvider(context: context)), - ChangeNotifierProvider(create: (context) => EventProvider(context: context)), - ChangeNotifierProvider(create: (context) => AbsenceProvider(context: context)), + // User data providers + ChangeNotifierProvider(create: (context) => GradeProvider(context: context)), + ChangeNotifierProvider(create: (_) => timetable), + ChangeNotifierProvider(create: (context) => ExamProvider(context: context)), + ChangeNotifierProvider(create: (context) => HomeworkProvider(context: context)), + ChangeNotifierProvider(create: (context) => MessageProvider(context: context)), + ChangeNotifierProvider(create: (context) => NoteProvider(context: context)), + ChangeNotifierProvider(create: (context) => EventProvider(context: context)), + ChangeNotifierProvider(create: (context) => AbsenceProvider(context: context)), - ChangeNotifierProvider(create: (context) => GradeCalculatorProvider(context)), - ChangeNotifierProvider(create: (context) => LiveCardProvider(lessonProvider: timetable, settingsProvider: settings)) - ], - child: Consumer( - builder: (context, themeMode, child) { - return FutureBuilder( - future: DynamicColorPlugin.getCorePalette(), - builder: (context, snapshot) { - corePalette = snapshot.data; - return MaterialApp( - builder: (context, child) { - // Limit font size scaling to 1.0 - double textScaleFactor = min(MediaQuery.of(context).textScaleFactor, 1.0); + ChangeNotifierProvider(create: (context) => GradeCalculatorProvider(context)), + ChangeNotifierProvider(create: (context) => LiveCardProvider(lessonProvider: timetable, settingsProvider: settings)) + ], + child: Consumer( + builder: (context, themeMode, child) { + return FutureBuilder( + future: DynamicColorPlugin.getCorePalette(), + builder: (context, snapshot) { + corePalette = snapshot.data; + return MaterialApp( + builder: (context, child) { + // Limit font size scaling to 1.0 + double textScaleFactor = min(MediaQuery.of(context).textScaleFactor, 1.0); - return MediaQuery( + return I18n( + initialLocale: Locale(settings.language, settings.language.toUpperCase()), + child: MediaQuery( data: MediaQuery.of(context).copyWith(textScaleFactor: textScaleFactor), child: child ?? Container(), - ); - }, - title: "Filc Napló", - debugShowCheckedModeBanner: false, - theme: AppTheme.lightTheme(context, palette: corePalette), - darkTheme: AppTheme.darkTheme(context, palette: corePalette), - themeMode: themeMode.themeMode, - localizationsDelegates: const [ - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], - supportedLocales: const [ - Locale('en', 'EN'), - Locale('hu', 'HU'), - Locale('de', 'DE'), - ], - localeListResolutionCallback: (locales, supported) { - Locale locale = const Locale('hu', 'HU'); + ), + ); + }, + title: "Filc Napló", + debugShowCheckedModeBanner: false, + theme: AppTheme.lightTheme(context, palette: corePalette), + darkTheme: AppTheme.darkTheme(context, palette: corePalette), + themeMode: themeMode.themeMode, + localizationsDelegates: const [ + GlobalMaterialLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + ], + supportedLocales: const [ + Locale('en', 'EN'), + Locale('hu', 'HU'), + Locale('de', 'DE'), + ], + localeListResolutionCallback: (locales, supported) { + Locale locale = const Locale('hu', 'HU'); - for (var loc in locales ?? []) { - if (supported.contains(loc)) { - locale = loc; - break; - } + for (var loc in locales ?? []) { + if (supported.contains(loc)) { + locale = loc; + break; } + } - return locale; - }, - onGenerateRoute: (settings) => rootNavigator(settings), - initialRoute: user.getUsers().isNotEmpty ? "navigation" : "login", - ); - }, - ); - }, - ), + return locale; + }, + onGenerateRoute: (settings) => rootNavigator(settings), + initialRoute: user.getUsers().isNotEmpty ? "navigation" : "login", + ); + }, + ); + }, ), ); }