import 'package:flutter/material.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; import 'package:provider/provider.dart'; import 'pages/LoginDemo.dart'; import 'locale_provider.dart'; // <-- à adapter selon ton arborescence import 'package:covas_mobile/gen_l10n/app_localizations.dart'; import 'classes/notification_service.dart'; import 'classes/auth_service.dart'; import 'pages/ListItemMenu.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await MobileAds.instance.initialize(); await NotificationService.initialize(); final AuthService _authService = AuthService(); final loggedIn = await _authService.isLoggedIn(); runApp( ChangeNotifierProvider( create: (_) => LocaleProvider(), child: MyApp(isLoggedIn: loggedIn), ), ); } class MyApp extends StatelessWidget { final bool isLoggedIn; const MyApp({Key? key, required this.isLoggedIn}) : super(key: key); @override Widget build(BuildContext context) { final localeProvider = Provider.of( context); // écoute les changements de langue return MaterialApp( debugShowCheckedModeBanner: false, locale: localeProvider.locale, // <-- utilise la locale courante supportedLocales: L10n.all, localizationsDelegates: AppLocalizations.localizationsDelegates, home: isLoggedIn ? ListItemMenu() : LoginDemo(), ); } }