Files
unionflow-client-quarkus-pr…/unionflow-mobile-apps/lib/core/di/injection.dart
2025-09-15 20:15:34 +00:00

32 lines
1000 B
Dart

import 'package:get_it/get_it.dart';
import 'package:injectable/injectable.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'injection.config.dart';
/// Instance globale de GetIt pour l'injection de dépendances
final GetIt getIt = GetIt.instance;
/// Configure l'injection de dépendances
@InjectableInit()
Future<void> configureDependencies() async {
// Enregistrer SharedPreferences
final sharedPreferences = await SharedPreferences.getInstance();
getIt.registerSingleton<SharedPreferences>(sharedPreferences);
// Enregistrer FlutterLocalNotificationsPlugin
getIt.registerSingleton<FlutterLocalNotificationsPlugin>(
FlutterLocalNotificationsPlugin(),
);
// Initialiser les autres dépendances
getIt.init();
}
/// Réinitialise les dépendances (utile pour les tests)
Future<void> resetDependencies() async {
await getIt.reset();
await configureDependencies();
}