import 'package:flutter/material.dart'; import 'package:bahla_front/app/app.bottomsheets.dart'; import 'package:bahla_front/app/app.dialogs.dart'; import 'package:bahla_front/app/app.locator.dart'; import 'package:bahla_front/app/app.router.dart'; import 'package:stacked_services/stacked_services.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); await setupLocator(); setupDialogUi(); setupBottomSheetUi(); runApp(const MainApp()); } class MainApp extends StatelessWidget { const MainApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( initialRoute: Routes.startupView, onGenerateRoute: StackedRouter().onGenerateRoute, navigatorKey: StackedService.navigatorKey, navigatorObservers: [ StackedService.routeObserver, ], theme: ThemeData( useMaterial3: true, colorScheme: ColorScheme.fromSeed( seedColor: Colors.blueAccent, brightness: Brightness.dark, primary: const Color.fromARGB(255, 64, 175, 255), secondary: const Color.fromARGB(255, 255, 139, 6), background: const Color.fromARGB(255, 15, 14, 23), onPrimary: Colors.white, onSecondary: Colors.white, onBackground: Colors.white, onSurface: Colors.black, onPrimaryContainer: Colors.black, onSecondaryContainer: Colors.black, onTertiaryContainer: Colors.black, surfaceBright: Colors.black, tertiary: Colors.black, ), iconTheme: const IconThemeData( color: Colors.white, ), textTheme: TextTheme( displayLarge: GoogleFonts.firaSans( fontSize: 96, fontWeight: FontWeight.normal, color: Colors.white), displayMedium: GoogleFonts.firaSans( fontSize: 60, fontWeight: FontWeight.normal, color: Colors.white), displaySmall: GoogleFonts.firaSans( fontSize: 48, fontWeight: FontWeight.normal, color: Colors.white), headlineLarge: GoogleFonts.firaSans( fontSize: 40, fontWeight: FontWeight.normal, color: Colors.white), headlineMedium: GoogleFonts.firaSans( fontSize: 34, fontWeight: FontWeight.normal, color: Colors.white), headlineSmall: GoogleFonts.firaSans( fontSize: 24, fontWeight: FontWeight.normal, color: Colors.white), titleLarge: GoogleFonts.firaSans( fontSize: 20, fontWeight: FontWeight.normal, color: Colors.white), titleMedium: GoogleFonts.firaSans( fontSize: 16, fontWeight: FontWeight.normal, color: Colors.white), titleSmall: GoogleFonts.firaSans( fontSize: 14, fontWeight: FontWeight.normal, color: Colors.white), bodyLarge: GoogleFonts.firaSans( fontSize: 20, fontWeight: FontWeight.normal, color: Colors.white), bodyMedium: GoogleFonts.firaSans( fontSize: 16, fontWeight: FontWeight.normal, color: Colors.white), bodySmall: GoogleFonts.firaSans( fontSize: 14, fontWeight: FontWeight.normal, color: Colors.white), labelLarge: GoogleFonts.firaSans( fontSize: 14, fontWeight: FontWeight.normal, color: Colors.white), labelMedium: GoogleFonts.firaSans( fontSize: 12, fontWeight: FontWeight.normal, color: Colors.white), labelSmall: GoogleFonts.firaSans( fontSize: 10, fontWeight: FontWeight.normal, color: Colors.white), )), localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [ Locale('en'), Locale('fr'), Locale('ch'), ], ); } }