refactoring

This commit is contained in:
DahoudG
2024-11-02 15:27:26 +00:00
parent 8e625c1080
commit 9cf96b7acf
44 changed files with 2281 additions and 354 deletions

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:afterwork/config/router.dart';
import 'package:afterwork/data/datasources/event_remote_data_source.dart';
import 'package:afterwork/data/providers/user_provider.dart';
import 'package:afterwork/data/repositories/friends_repository_impl.dart';
import 'package:afterwork/data/services/preferences_helper.dart';
import 'package:afterwork/data/services/secure_storage.dart';
import 'package:afterwork/presentation/state_management/event_bloc.dart';
@@ -9,8 +10,8 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:http/http.dart' as http;
import 'package:intl/date_symbol_data_local.dart';
import 'package:provider/provider.dart';
import 'core/theme/theme_provider.dart';
import 'data/providers/friends_provider.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
@@ -22,22 +23,30 @@ void main() async {
final eventRemoteDataSource = EventRemoteDataSource(http.Client());
final SecureStorage secureStorage = SecureStorage();
final PreferencesHelper preferencesHelper = PreferencesHelper();
final http.Client httpClient = http.Client(); // Nouvelle instance http.Client
// Récupération des informations stockées
// Récupération des informations stockées avec logs détaillés
String? userId = await secureStorage.getUserId();
String? userName = await preferencesHelper.getUserName();
String? userLastName = await preferencesHelper.getUserLastName();
// Gestion des valeurs par défaut si nécessaires
// Log de la récupération des informations
print("[LOG] Récupération des informations utilisateur : userId = $userId, userName = $userName, userLastName = $userLastName");
// Gestion des valeurs par défaut si les informations ne sont pas trouvées
userId ??= 'default_user_id';
userName ??= 'Default';
userLastName ??= 'User';
// Log des valeurs par défaut appliquées
print("[LOG] Valeurs par défaut appliquées : userId = $userId, userName = $userName, userLastName = $userLastName");
runApp(MyApp(
eventRemoteDataSource: eventRemoteDataSource,
userId: userId,
userName: userName,
userLastName: userLastName,
httpClient: httpClient, // Passe l'instance client ici
));
}
@@ -46,6 +55,7 @@ class MyApp extends StatelessWidget {
final String userId;
final String userName;
final String userLastName;
final http.Client httpClient; // Ajout de ce paramètre
const MyApp({
super.key,
@@ -53,17 +63,26 @@ class MyApp extends StatelessWidget {
required this.userId,
required this.userName,
required this.userLastName,
required this.httpClient, // Spécifier l'argument
});
@override
Widget build(BuildContext context) {
final friendsRepository = FriendsRepositoryImpl(client: httpClient); // Utilisation du client ici
// Log lors de la construction de l'application
print("[LOG] Construction de l'application avec userId : $userId, userName : $userName, userLastName : $userLastName");
return MultiProvider(
providers: [
ChangeNotifierProvider(
create: (_) => UserProvider()..setUser(userId, userName, userLastName),
),
ChangeNotifierProvider(
create: (_) => ThemeProvider(), // Fournisseur de thème
create: (_) => FriendsProvider(friendsRepository: friendsRepository),
),
ChangeNotifierProvider(
create: (_) => ThemeProvider(),
),
BlocProvider(
create: (context) => EventBloc(remoteDataSource: eventRemoteDataSource),