forked from firka/student-legacy
move i18n
This commit is contained in:
parent
f39b9ffeb6
commit
4467267e61
@ -74,82 +74,82 @@ class App extends StatelessWidget {
|
|||||||
final kreta = KretaClient(user: user, settings: settings, status: status);
|
final kreta = KretaClient(user: user, settings: settings, status: status);
|
||||||
final timetable = TimetableProvider(user: user, database: database, kreta: kreta);
|
final timetable = TimetableProvider(user: user, database: database, kreta: kreta);
|
||||||
|
|
||||||
return I18n(
|
return MultiProvider(
|
||||||
initialLocale: Locale(settings.language, settings.language.toUpperCase()),
|
providers: [
|
||||||
child: MultiProvider(
|
ChangeNotifierProvider<SettingsProvider>(create: (_) => settings),
|
||||||
providers: [
|
ChangeNotifierProvider<UserProvider>(create: (_) => user),
|
||||||
ChangeNotifierProvider<SettingsProvider>(create: (_) => settings),
|
ChangeNotifierProvider<StatusProvider>(create: (_) => status),
|
||||||
ChangeNotifierProvider<UserProvider>(create: (_) => user),
|
Provider<KretaClient>(create: (_) => kreta),
|
||||||
ChangeNotifierProvider<StatusProvider>(create: (_) => status),
|
Provider<DatabaseProvider>(create: (context) => database),
|
||||||
Provider<KretaClient>(create: (_) => kreta),
|
ChangeNotifierProvider<ThemeModeObserver>(create: (context) => ThemeModeObserver(initialTheme: settings.theme)),
|
||||||
Provider<DatabaseProvider>(create: (context) => database),
|
ChangeNotifierProvider<NewsProvider>(create: (context) => NewsProvider(context: context)),
|
||||||
ChangeNotifierProvider<ThemeModeObserver>(create: (context) => ThemeModeObserver(initialTheme: settings.theme)),
|
ChangeNotifierProvider<UpdateProvider>(create: (context) => UpdateProvider(context: context)),
|
||||||
ChangeNotifierProvider<NewsProvider>(create: (context) => NewsProvider(context: context)),
|
|
||||||
ChangeNotifierProvider<UpdateProvider>(create: (context) => UpdateProvider(context: context)),
|
|
||||||
|
|
||||||
// User data providers
|
// User data providers
|
||||||
ChangeNotifierProvider<GradeProvider>(create: (context) => GradeProvider(context: context)),
|
ChangeNotifierProvider<GradeProvider>(create: (context) => GradeProvider(context: context)),
|
||||||
ChangeNotifierProvider<TimetableProvider>(create: (_) => timetable),
|
ChangeNotifierProvider<TimetableProvider>(create: (_) => timetable),
|
||||||
ChangeNotifierProvider<ExamProvider>(create: (context) => ExamProvider(context: context)),
|
ChangeNotifierProvider<ExamProvider>(create: (context) => ExamProvider(context: context)),
|
||||||
ChangeNotifierProvider<HomeworkProvider>(create: (context) => HomeworkProvider(context: context)),
|
ChangeNotifierProvider<HomeworkProvider>(create: (context) => HomeworkProvider(context: context)),
|
||||||
ChangeNotifierProvider<MessageProvider>(create: (context) => MessageProvider(context: context)),
|
ChangeNotifierProvider<MessageProvider>(create: (context) => MessageProvider(context: context)),
|
||||||
ChangeNotifierProvider<NoteProvider>(create: (context) => NoteProvider(context: context)),
|
ChangeNotifierProvider<NoteProvider>(create: (context) => NoteProvider(context: context)),
|
||||||
ChangeNotifierProvider<EventProvider>(create: (context) => EventProvider(context: context)),
|
ChangeNotifierProvider<EventProvider>(create: (context) => EventProvider(context: context)),
|
||||||
ChangeNotifierProvider<AbsenceProvider>(create: (context) => AbsenceProvider(context: context)),
|
ChangeNotifierProvider<AbsenceProvider>(create: (context) => AbsenceProvider(context: context)),
|
||||||
|
|
||||||
ChangeNotifierProvider<GradeCalculatorProvider>(create: (context) => GradeCalculatorProvider(context)),
|
ChangeNotifierProvider<GradeCalculatorProvider>(create: (context) => GradeCalculatorProvider(context)),
|
||||||
ChangeNotifierProvider<LiveCardProvider>(create: (context) => LiveCardProvider(lessonProvider: timetable, settingsProvider: settings))
|
ChangeNotifierProvider<LiveCardProvider>(create: (context) => LiveCardProvider(lessonProvider: timetable, settingsProvider: settings))
|
||||||
],
|
],
|
||||||
child: Consumer<ThemeModeObserver>(
|
child: Consumer<ThemeModeObserver>(
|
||||||
builder: (context, themeMode, child) {
|
builder: (context, themeMode, child) {
|
||||||
return FutureBuilder<CorePalette?>(
|
return FutureBuilder<CorePalette?>(
|
||||||
future: DynamicColorPlugin.getCorePalette(),
|
future: DynamicColorPlugin.getCorePalette(),
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
corePalette = snapshot.data;
|
corePalette = snapshot.data;
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
builder: (context, child) {
|
builder: (context, child) {
|
||||||
// Limit font size scaling to 1.0
|
// Limit font size scaling to 1.0
|
||||||
double textScaleFactor = min(MediaQuery.of(context).textScaleFactor, 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),
|
data: MediaQuery.of(context).copyWith(textScaleFactor: textScaleFactor),
|
||||||
child: child ?? Container(),
|
child: child ?? Container(),
|
||||||
);
|
),
|
||||||
},
|
);
|
||||||
title: "Filc Napló",
|
},
|
||||||
debugShowCheckedModeBanner: false,
|
title: "Filc Napló",
|
||||||
theme: AppTheme.lightTheme(context, palette: corePalette),
|
debugShowCheckedModeBanner: false,
|
||||||
darkTheme: AppTheme.darkTheme(context, palette: corePalette),
|
theme: AppTheme.lightTheme(context, palette: corePalette),
|
||||||
themeMode: themeMode.themeMode,
|
darkTheme: AppTheme.darkTheme(context, palette: corePalette),
|
||||||
localizationsDelegates: const [
|
themeMode: themeMode.themeMode,
|
||||||
GlobalMaterialLocalizations.delegate,
|
localizationsDelegates: const [
|
||||||
GlobalWidgetsLocalizations.delegate,
|
GlobalMaterialLocalizations.delegate,
|
||||||
GlobalCupertinoLocalizations.delegate,
|
GlobalWidgetsLocalizations.delegate,
|
||||||
],
|
GlobalCupertinoLocalizations.delegate,
|
||||||
supportedLocales: const [
|
],
|
||||||
Locale('en', 'EN'),
|
supportedLocales: const [
|
||||||
Locale('hu', 'HU'),
|
Locale('en', 'EN'),
|
||||||
Locale('de', 'DE'),
|
Locale('hu', 'HU'),
|
||||||
],
|
Locale('de', 'DE'),
|
||||||
localeListResolutionCallback: (locales, supported) {
|
],
|
||||||
Locale locale = const Locale('hu', 'HU');
|
localeListResolutionCallback: (locales, supported) {
|
||||||
|
Locale locale = const Locale('hu', 'HU');
|
||||||
|
|
||||||
for (var loc in locales ?? []) {
|
for (var loc in locales ?? []) {
|
||||||
if (supported.contains(loc)) {
|
if (supported.contains(loc)) {
|
||||||
locale = loc;
|
locale = loc;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return locale;
|
return locale;
|
||||||
},
|
},
|
||||||
onGenerateRoute: (settings) => rootNavigator(settings),
|
onGenerateRoute: (settings) => rootNavigator(settings),
|
||||||
initialRoute: user.getUsers().isNotEmpty ? "navigation" : "login",
|
initialRoute: user.getUsers().isNotEmpty ? "navigation" : "login",
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user