Skip to content

Commit 6a91bb4

Browse files
committed
V1.7.1
1 parent 1ccc951 commit 6a91bb4

33 files changed

+536
-488
lines changed

lib/main.dart

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:hive_flutter/hive_flutter.dart';
55
import 'package:provider/provider.dart';
66
import 'package:realtokens/services/google_drive_service.dart';
77
import 'package:realtokens/structure/home_page.dart';
8+
import 'package:realtokens/utils/currency_utils.dart';
89
import 'package:realtokens/utils/parameters.dart';
910
import 'package:shared_preferences/shared_preferences.dart';
1011
import 'managers/data_manager.dart';
@@ -17,32 +18,30 @@ import 'package:flutter_native_splash/flutter_native_splash.dart';
1718
import 'app_state.dart';
1819
import 'package:flutter_map_tile_caching/flutter_map_tile_caching.dart';
1920
import '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

2223
void 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'] ?? "",
@@ -71,6 +70,11 @@ try {
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

@@ -80,6 +84,7 @@ try {
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

Comments
 (0)