Files
sf-app-platform/apps/mobile_app/lib/main.dart

51 lines
1.6 KiB
Dart
Raw Normal View History

import 'package:flutter/material.dart';
2025-12-03 13:42:14 +01:00
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:design_system/design_system.dart';
2025-11-17 00:15:31 +01:00
import 'package:sf_app_platform/navigation/app_router.dart';
import 'package:navigation/navigation_module.dart';
import 'package:sf_localizations/sf_localizations.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
navigationModule();
configureAppRouter();
themePackages();
runApp(const ProviderScope(child: PlatformApp()));
}
class PlatformApp extends ConsumerWidget {
const PlatformApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
return MaterialApp.router(
title: 'SaveFamily',
theme: ThemeData(
fontFamily: 'Stolzl',
package: 'fonts',
colorScheme: ColorScheme.fromSeed(seedColor: Color(0xFF329E95)),
),
routerConfig: appRouter,
debugShowCheckedModeBanner: false,
localizationsDelegates: const [
SFLocalizations.delegate,
2025-12-03 13:42:14 +01:00
GlobalMaterialLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
2025-12-03 13:42:14 +01:00
supportedLocales: [for (final lang in supportedLanguages) Locale(lang)],
2025-12-03 13:42:14 +01:00
localeResolutionCallback: (locale, supportedLocales) {
if (locale == null) return supportedLocales.first;
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode) {
return supportedLocale;
}
}
return supportedLocales.first;
},
);
}
}