Skip to content

Commit 84a33f6

Browse files
committed
refactor: remove unnecessary casts in App widget
- Removed dynamic casts - Improved type safety
1 parent f4e4817 commit 84a33f6

File tree

1 file changed

+12
-18
lines changed

1 file changed

+12
-18
lines changed

lib/main.dart

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ import 'package:ht_auth_repository/ht_auth_repository.dart'; // Auth Repository
55
import 'package:ht_data_api/ht_data_api.dart'; // Concrete Data Client Impl
66
import 'package:ht_data_repository/ht_data_repository.dart'; // Data Repository
77
import 'package:ht_http_client/ht_http_client.dart'; // HTTP Client
8-
import 'package:ht_kv_storage_service/ht_kv_storage_service.dart'; // KV Storage Interface
98
import 'package:ht_kv_storage_shared_preferences/ht_kv_storage_shared_preferences.dart'; // KV Storage Impl
10-
import 'package:ht_shared/ht_shared.dart'; // Shared models, FromJson, ToJson, etc.
119
import 'package:ht_main/app/app.dart'; // The App widget
1210
import 'package:ht_main/bloc_observer.dart'; // App Bloc Observer
11+
import 'package:ht_shared/ht_shared.dart'; // Shared models, FromJson, ToJson, etc.
1312

1413
void main() async {
1514
WidgetsFlutterBinding.ensureInitialized();
@@ -94,9 +93,7 @@ void main() async {
9493
fromJson: Source.fromJson,
9594
toJson: (source) => source.toJson(),
9695
);
97-
final sourcesRepository = HtDataRepository<Source>(
98-
dataClient: sourcesClient,
99-
);
96+
final sourcesRepository = HtDataRepository<Source>(dataClient: sourcesClient);
10097

10198
final userContentPreferencesClient = HtDataApi<UserContentPreferences>(
10299
httpClient: httpClient,
@@ -106,8 +103,8 @@ void main() async {
106103
);
107104
final userContentPreferencesRepository =
108105
HtDataRepository<UserContentPreferences>(
109-
dataClient: userContentPreferencesClient,
110-
);
106+
dataClient: userContentPreferencesClient,
107+
);
111108

112109
final userAppSettingsClient = HtDataApi<UserAppSettings>(
113110
httpClient: httpClient,
@@ -137,17 +134,14 @@ void main() async {
137134
runApp(
138135
App(
139136
htAuthenticationRepository: authenticationRepository,
140-
// Passing generic repositories where specific types were expected.
141-
// This will be fixed in the next step.
142-
htHeadlinesRepository: headlinesRepository as dynamic, // Temporary cast
143-
htCategoriesRepository: categoriesRepository as dynamic, // Temporary cast
144-
htCountriesRepository: countriesRepository as dynamic, // Temporary cast
145-
htSourcesRepository: sourcesRepository as dynamic, // Temporary cast
146-
// Pass UserAppSettings and UserContentPreferences repositories directly
147-
htUserAppSettingsRepository: userAppSettingsRepository as dynamic, // Temporary cast
148-
htUserContentPreferencesRepository: userContentPreferencesRepository as dynamic, // Temporary cast
149-
// htAppConfigRepository: appConfigRepository, // App widget constructor doesn't accept this yet
150-
kvStorageService: kvStorage, // Keep as per existing constructor
137+
htHeadlinesRepository: headlinesRepository,
138+
htCategoriesRepository: categoriesRepository,
139+
htCountriesRepository: countriesRepository,
140+
htSourcesRepository: sourcesRepository,
141+
htUserAppSettingsRepository: userAppSettingsRepository,
142+
htUserContentPreferencesRepository: userContentPreferencesRepository,
143+
htAppConfigRepository: appConfigRepository,
144+
kvStorageService: kvStorage,
151145
),
152146
);
153147
}

0 commit comments

Comments
 (0)