refactoring and checkpoint
This commit is contained in:
@@ -1,32 +1,35 @@
|
||||
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/services/preferences_helper.dart';
|
||||
import 'package:afterwork/data/services/secure_storage.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:afterwork/presentation/state_management/event_bloc.dart';
|
||||
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';
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
// Initialisez le formatage de la date pour la locale française
|
||||
// Initialisation du format de date en français
|
||||
await initializeDateFormatting('fr_FR', null);
|
||||
|
||||
// Initialisation des services nécessaires
|
||||
final eventRemoteDataSource = EventRemoteDataSource(http.Client());
|
||||
|
||||
// Remplacez ici par l'utilisation du stockage sécurisé ou des préférences
|
||||
final SecureStorage secureStorage = SecureStorage();
|
||||
final PreferencesHelper preferencesHelper = PreferencesHelper();
|
||||
|
||||
// Récupération des informations stockées
|
||||
String? userId = await secureStorage.getUserId();
|
||||
String? userName = await preferencesHelper.getUserName();
|
||||
String? userLastName = await preferencesHelper.getUserLastName();
|
||||
|
||||
// Si les valeurs sont nulles, vous pouvez définir des valeurs par défaut ou gérer autrement
|
||||
userId ??=
|
||||
'default_user_id'; // Remplacer par une valeur par défaut si nécessaire
|
||||
// Gestion des valeurs par défaut si nécessaires
|
||||
userId ??= 'default_user_id';
|
||||
userName ??= 'Default';
|
||||
userLastName ??= 'User';
|
||||
|
||||
@@ -57,23 +60,29 @@ class MyApp extends StatelessWidget {
|
||||
return MultiProvider(
|
||||
providers: [
|
||||
ChangeNotifierProvider(
|
||||
create: (_) =>
|
||||
UserProvider()..setUser(userId, userName, userLastName),
|
||||
create: (_) => UserProvider()..setUser(userId, userName, userLastName),
|
||||
),
|
||||
ChangeNotifierProvider(
|
||||
create: (_) => ThemeProvider(), // Fournisseur de thème
|
||||
),
|
||||
BlocProvider(
|
||||
create: (context) => EventBloc(remoteDataSource: eventRemoteDataSource),
|
||||
),
|
||||
// Ajouter d'autres providers ici si nécessaire
|
||||
],
|
||||
child: MaterialApp(
|
||||
title: 'AfterWork',
|
||||
theme: ThemeData(
|
||||
primarySwatch: Colors.blue,
|
||||
),
|
||||
onGenerateRoute: AppRouter(
|
||||
eventRemoteDataSource: eventRemoteDataSource,
|
||||
userId: userId,
|
||||
userName: userName,
|
||||
userLastName: userLastName,
|
||||
).generateRoute,
|
||||
initialRoute: '/',
|
||||
child: Consumer<ThemeProvider>(
|
||||
builder: (context, themeProvider, _) {
|
||||
return MaterialApp(
|
||||
title: 'AfterWork',
|
||||
theme: themeProvider.currentTheme,
|
||||
onGenerateRoute: AppRouter(
|
||||
eventRemoteDataSource: eventRemoteDataSource,
|
||||
userId: userId,
|
||||
userName: userName,
|
||||
userLastName: userLastName,
|
||||
).generateRoute,
|
||||
initialRoute: '/',
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user