

import 'package:aman_kassa_flutter/core/services/BankService.dart' as bank;
import 'package:aman_kassa_flutter/core/services/ForteService.dart' as forte;
import 'package:aman_kassa_flutter/core/services/DataService.dart';
import 'package:aman_kassa_flutter/core/services/NctService.dart';
import 'package:aman_kassa_flutter/core/services/blue_print_service.dart';

import '../core/services/DbService.dart';

import '../core/services/ApiService.dart';
import '../core/services/dialog_service.dart';
import '../core/logger.dart';
import '../core/services/navigator_service.dart';
import 'package:get_it/get_it.dart';
import 'package:logger/logger.dart';

GetIt locator = GetIt.I;

class LocatorInjector {
  static Logger _log = getLogger('LocatorInjector');

  static Future<void> setupLocator() async {
    _log.d('Initializing Api Service');
    locator.registerLazySingleton<ApiService>(() => ApiService());
    _log.d('Initializing Navigator Service');
    locator.registerLazySingleton<NavigatorService>(() => NavigatorService());
    _log.d('Initializing Dialog Service');
    locator.registerLazySingleton<DialogService>(() => DialogService());
    _log.d('Initializing DbService Service');
    locator.registerLazySingleton<DbService>(() => DbService.instance);
    _log.d('Initializing BluePrintService Service');
    locator.registerLazySingleton<BluePrintService>(() => BluePrintService());


    // depencies


    _log.d('Initializing NctService Service');
    locator.registerLazySingleton<NctService>(() => NctService());
    _log.d('Initializing DataService Service');
    locator.registerLazySingleton<DataService>(() => DataService());
    _log.d('Initializing BankService Service');
    locator.registerLazySingleton<bank.BankService>(() => bank.BankService());
    _log.d('Initializing Forte Service');
    locator.registerLazySingleton<forte.ForteService>(() => forte.ForteService());
  }
}