import 'package:dio/dio.dart'; import 'package:get_it/get_it.dart'; import 'package:gql_dio_link/gql_dio_link.dart'; import 'package:injectable/injectable.dart'; import 'package:kdl_patients/app/core/core.dart'; import 'package:kdl_patients/di/setup.config.dart'; import 'package:shared_preferences/shared_preferences.dart'; final getIt = GetIt.instance; @InjectableInit() Future configureDependencies() => getIt.init(); @module abstract class LocalModule { @preResolve Future get prefs => SharedPreferences.getInstance(); } @module abstract class RemoteModule { DioLink get dioLink => DioLink( ApiConfig.BASE_API_URL, client: Dio( BaseOptions( receiveTimeout: const Duration(seconds: 10), connectTimeout: const Duration(seconds: 10), sendTimeout: const Duration(seconds: 5), ), ), ); }