initDependencies function

Future<void> initDependencies()

Implementation

Future<void> initDependencies() async {
  if (getIt.isRegistered<ApiClient>()) return;
  // ✅ Core singletons
  getIt.registerLazySingleton<ApiClient>(() => ApiClient());
  getIt.registerLazySingleton<AppStateProvider>(() => AppStateProvider());

  // ✅ Feature repositories
  getIt.registerLazySingleton<LoginRepository>(
      () => LoginRepository());
  getIt.registerLazySingleton<PanRepository>(
    () => PanRepository(getIt<ApiClient>()),
  );
  getIt.registerLazySingleton<InsuranceRepository>(() => InsuranceRepository());
  getIt.registerLazySingleton<SharesRepository>(() => SharesRepository());
  final prefs = await SharedPreferences.getInstance();
  final savedMobile = prefs.getString("mobile_number");
  final savedToken = prefs.getString("auth_token");

  getIt.registerLazySingleton<AbClRepository>(() => AbClRepository());
  getIt.registerLazySingleton<JourneyRepository>(() => JourneyRepository());

  if (savedMobile != null)
    getIt<AppStateProvider>().setMobileNumber(savedMobile);
  if (savedToken != null) getIt<AppStateProvider>().setToken(savedToken);

  // ✅ Services
  getIt.registerLazySingleton<DigioService>(() => DigioService());
  getIt.registerLazySingleton<ShareJourneyRepository>(() => ShareJourneyRepository());
}