import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:frontend_eccp_mobile/app/core/navigation/app_router.dart'; import 'package:frontend_eccp_mobile/l10n/gen/app_localizations.dart'; import 'package:shadcn_ui/shadcn_ui.dart'; class App extends StatelessWidget { const App({super.key}); @override Widget build(BuildContext context) { return ShadApp.custom( themeMode: ThemeMode.light, darkTheme: ShadThemeData( brightness: Brightness.dark, colorScheme: const ShadSlateColorScheme.dark(), ), appBuilder: (contextShad) { return ScreenUtilInit( designSize: const Size(412, 915), minTextAdapt: true, splitScreenMode: true, enableScaleWH: () { final width = MediaQueryData.fromWindow( WidgetsBinding.instance.window, ).size.width; return width < 600; }, enableScaleText: () { final width = MediaQueryData.fromWindow( WidgetsBinding.instance.window, ).size.width; return width < 600; }, builder: (context, child) { return MaterialApp.router( routerDelegate: AppRouter.router.routerDelegate, routeInformationParser: AppRouter.router.routeInformationParser, routeInformationProvider: AppRouter.router.routeInformationProvider, builder: (context, child) { return ShadToaster( child: child ?? const SizedBox(), ); }, theme: ThemeData( appBarTheme: AppBarTheme( backgroundColor: Theme.of(context).colorScheme.inversePrimary, ), useMaterial3: true, ), debugShowCheckedModeBanner: false, localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, ); }, ); }, ); } }