@@ -9,6 +9,8 @@ import 'package:http_client/http_client.dart';
99import 'package:qack/constants/key_name.dart' ;
1010import 'package:qack/presentation/history/bloc/history_bloc.dart' ;
1111import 'package:qack/presentation/history/repositories/repositories.dart' ;
12+ import 'package:qack/presentation/home/cubit/word_of_the_day_cubit.dart' ;
13+ import 'package:qack/presentation/home/repositories/repositories.dart' ;
1214import 'package:qack/presentation/settings/bloc/settings_bloc.dart' ;
1315import 'package:qack/presentation/settings/respository/settings_repository.dart' ;
1416import 'package:qack/utils/database/database.dart' ;
@@ -41,6 +43,7 @@ Future<void> bootstrap(
4143 FlutterSecureStorage secureStorage,
4244 SettingsBloc settingsBloc,
4345 HistoryBloc historyBloc,
46+ WordOfTheDayCubit wordOfTheDayCubit,
4447 AppDatabase appDatabase,
4548 ) builder,
4649) async {
@@ -53,6 +56,9 @@ Future<void> bootstrap(
5356 log (details.exceptionAsString (), stackTrace: details.stack);
5457 };
5558
59+ // Initialize HTTP repository
60+ GetIt .instance.registerLazySingleton <Http >(Http .new );
61+
5662 // Initialize local storage repository
5763 final appDatabase = AppDatabase ();
5864
@@ -82,21 +88,38 @@ Future<void> bootstrap(
8288
8389 // Initialize settings bloc
8490 final settingsRepository = SettingsRepository (storage: secureStorage);
91+
92+ final translatorSettings = await settingsRepository.getAPIKey ();
93+
8594 final settingsBloc = SettingsBloc (
8695 settingsRepository: settingsRepository,
8796 )..add (
88- SettingsFetch (await settingsRepository. getAPIKey () ),
97+ SettingsFetch (translatorSettings ),
8998 );
9099
91100 // Initialize history bloc
92101 final historyBloc = HistoryBloc (
93102 HistoryRepository (appDatabase: appDatabase),
94103 )..add (const HistoryFetched ());
95104
96- // Initialize HTTP repository
97- GetIt .instance.registerLazySingleton <Http >(Http .new );
105+ // Initialize word of the day cubit
106+ final wordOfTheDayCubit = WordOfTheDayCubit (
107+ const WordOfTheDayRepository (),
108+ deepSeekApiKey: translatorSettings.apiKeys[KeyNameConstants .deepSeek],
109+ // ignore: unawaited_futures
110+ );
111+
112+ await wordOfTheDayCubit.fetchWordOfTheDay ();
98113
99114 Bloc .observer = const AppBlocObserver ();
100115
101- runApp (await builder (secureStorage, settingsBloc, historyBloc, appDatabase));
116+ runApp (
117+ await builder (
118+ secureStorage,
119+ settingsBloc,
120+ historyBloc,
121+ wordOfTheDayCubit,
122+ appDatabase,
123+ ),
124+ );
102125}
0 commit comments