@@ -5,6 +5,7 @@ import 'package:hive_flutter/hive_flutter.dart';
55import 'package:provider/provider.dart' ;
66import 'package:realtokens/services/google_drive_service.dart' ;
77import 'package:realtokens/structure/home_page.dart' ;
8+ import 'package:realtokens/utils/currency_utils.dart' ;
89import 'package:realtokens/utils/parameters.dart' ;
910import 'package:shared_preferences/shared_preferences.dart' ;
1011import 'managers/data_manager.dart' ;
@@ -17,32 +18,30 @@ import 'package:flutter_native_splash/flutter_native_splash.dart';
1718import 'app_state.dart' ;
1819import 'package:flutter_map_tile_caching/flutter_map_tile_caching.dart' ;
1920import 'package:onesignal_flutter/onesignal_flutter.dart' ;
20- import 'package:flutter_dotenv/flutter_dotenv.dart' ; // 👈 Importation de dotenv
21+ import 'package:flutter_dotenv/flutter_dotenv.dart' ; // 👈 Importation de dotenv
2122
2223void main () async {
23-
2424 WidgetsBinding widgetsBinding = WidgetsFlutterBinding .ensureInitialized ();
2525 FlutterNativeSplash .preserve (widgetsBinding: widgetsBinding);
2626
27- try {
28- await dotenv.load (fileName: "env_config.txt" ); // 🔥 Nouveau fichier
29- debugPrint ("✅ Variables d'environnement chargées avec succès !" );
27+ try {
28+ await dotenv.load (fileName: "env_config.txt" ); // 🔥 Nouveau fichier
29+ // debugPrint("✅ Variables d'environnement chargées avec succès !");
3030 } catch (e) {
31- debugPrint ("❌ Erreur lors du chargement de dotenv: $e " );
31+ // debugPrint("❌ Erreur lors du chargement de dotenv: $e");
3232 }
3333
34- Parameters .initialize (); // 🔥 Initialise les valeurs de `Parameters`
34+ Parameters .initialize (); // 🔥 Initialise les valeurs de `Parameters`
3535
3636 try {
37- if (Firebase .apps.isEmpty) {
38- await Firebase .initializeApp (options: DefaultFirebaseOptions .currentPlatform);
39- debugPrint ("✅ Firebase initialisé !" );
37+ if (Firebase .apps.isEmpty) {
38+ await Firebase .initializeApp (options: DefaultFirebaseOptions .currentPlatform);
39+ //debugPrint("✅ Firebase initialisé !");
40+ }
41+ } catch (e, stacktrace) {
42+ //debugPrint("❌ Erreur Firebase : $e");
43+ //debugPrint("📌 Stacktrace : $stacktrace");
4044 }
41- } catch (e, stacktrace) {
42- debugPrint ("❌ Erreur Firebase : $e " );
43- debugPrint ("📌 Stacktrace : $stacktrace " );
44- }
45-
4645
4746 final GoogleSignIn googleSignIn = GoogleSignIn (
4847 clientId: dotenv.env['GOOGLE_CLIENT_ID' ] ?? "" ,
7170 ]);
7271
7372 final dataManager = DataManager ();
73+ final currencyProvider = CurrencyProvider ();
74+
75+ // ✅ Attendre que `loadSelectedCurrency()` récupère la bonne valeur avant de démarrer l'app
76+ await currencyProvider.loadSelectedCurrency ();
77+
7478 final prefs = await SharedPreferences .getInstance ();
7579 final bool autoSyncEnabled = prefs.getBool ('autoSync' ) ?? false ;
7680
8084 MultiProvider (
8185 providers: [
8286 ChangeNotifierProvider (create: (_) => dataManager),
87+ ChangeNotifierProvider (create: (_) => CurrencyProvider ()), // ✅ Assurez-vous que CurrencyProvider est bien ici
8388 ChangeNotifierProvider (create: (_) => AppState ()),
8489 ],
8590 child: MyApp (autoSyncEnabled: autoSyncEnabled),
@@ -127,15 +132,15 @@ class MyAppState extends State<MyApp> with WidgetsBindingObserver {
127132 OneSignal .initialize ("e7059f66-9c12-4d21-a078-edaf1a203dea" );
128133 OneSignal .Notifications .requestPermission (true );
129134 OneSignal .Notifications .addForegroundWillDisplayListener ((event) {
130- debugPrint ('Notification reçue en premier plan : ${event .notification .jsonRepresentation ()}' );
135+ // debugPrint('Notification reçue en premier plan : ${event.notification.jsonRepresentation()}');
131136 event.preventDefault ();
132137 event.notification.display ();
133138 });
134139 OneSignal .Notifications .addClickListener ((event) {
135- debugPrint ('Notification cliquée : ${event .notification .jsonRepresentation ()}' );
140+ // debugPrint('Notification cliquée : ${event.notification.jsonRepresentation()}');
136141 });
137142 OneSignal .User .pushSubscription.addObserver ((state) {
138- debugPrint ('Utilisateur inscrit aux notifications : ${state .current .jsonRepresentation ()}' );
143+ // debugPrint('Utilisateur inscrit aux notifications : ${state.current.jsonRepresentation()}');
139144 });
140145 }
141146
@@ -153,14 +158,15 @@ class MyAppState extends State<MyApp> with WidgetsBindingObserver {
153158 }
154159
155160 void _reloadData () async {
156- debugPrint ("🔄 Vérification avant mise à jour des données..." );
161+ //debugPrint("🔄 Vérification avant mise à jour des données...");
162+ final currencyUtils = Provider .of <CurrencyProvider >(context, listen: false );
157163
158164 await _loadAutoSyncPreference (); // 🔥 Charger la valeur de autoSync depuis SharedPreferences
159165
160166 await Future .wait ([
161167 dataManager.updateMainInformations (),
162168 dataManager.updateSecondaryInformations (context),
163- dataManager .loadSelectedCurrency (),
169+ currencyUtils .loadSelectedCurrency (),
164170 dataManager.loadUserIdToAddresses (),
165171 ]);
166172 await dataManager.fetchAndCalculateData ();
@@ -186,11 +192,11 @@ class MyAppState extends State<MyApp> with WidgetsBindingObserver {
186192 if (_isGoogleDriveConnected) {
187193 final now = DateTime .now ();
188194 if (_lastSyncTime == null || now.difference (_lastSyncTime! ).inHours > 1 ) {
189- debugPrint ("🔄 Synchronisation avec Google Drive en cours..." );
195+ // debugPrint("🔄 Synchronisation avec Google Drive en cours...");
190196 await _googleDriveService.syncGoogleDrive (context);
191197 _lastSyncTime = now;
192198 } else {
193- debugPrint ("✅ Synchronisation non nécessaire" );
199+ // debugPrint("✅ Synchronisation non nécessaire");
194200 }
195201 }
196202 }
0 commit comments