Skip to content

Commit 137f36d

Browse files
committed
refactor(headlines-feed): update imports and rename classes
- Replace HtDataRepository with DataRepository - Remove ht_shared package imports - Update UI kit imports - Rename package and file paths - Update exception handling from HtHttpException to HttpException
1 parent 45398df commit 137f36d

14 files changed

+80
-80
lines changed

lib/headlines-feed/bloc/countries_filter_bloc.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import 'dart:async';
22

33
import 'package:bloc/bloc.dart';
44
import 'package:bloc_concurrency/bloc_concurrency.dart';
5+
import 'package:core/core.dart';
6+
import 'package:data_repository/data_repository.dart';
57
import 'package:equatable/equatable.dart';
6-
import 'package:ht_data_repository/ht_data_repository.dart';
7-
import 'package:ht_shared/ht_shared.dart';
88

99
part 'countries_filter_event.dart';
1010
part 'countries_filter_state.dart';
@@ -13,14 +13,14 @@ part 'countries_filter_state.dart';
1313
/// Manages the state for fetching and displaying countries for filtering.
1414
///
1515
/// Handles initial fetching and pagination of countries using the
16-
/// provided [HtDataRepository].
16+
/// provided [DataRepository].
1717
/// {@endtemplate}
1818
class CountriesFilterBloc
1919
extends Bloc<CountriesFilterEvent, CountriesFilterState> {
2020
/// {@macro countries_filter_bloc}
2121
///
22-
/// Requires a [HtDataRepository<Country>] to interact with the data layer.
23-
CountriesFilterBloc({required HtDataRepository<Country> countriesRepository})
22+
/// Requires a [DataRepository<Country>] to interact with the data layer.
23+
CountriesFilterBloc({required DataRepository<Country> countriesRepository})
2424
: _countriesRepository = countriesRepository,
2525
super(const CountriesFilterState()) {
2626
on<CountriesFilterRequested>(
@@ -33,7 +33,7 @@ class CountriesFilterBloc
3333
);
3434
}
3535

36-
final HtDataRepository<Country> _countriesRepository;
36+
final DataRepository<Country> _countriesRepository;
3737

3838
/// Number of countries to fetch per page.
3939
static const _countriesLimit = 20;
@@ -63,7 +63,7 @@ class CountriesFilterBloc
6363
clearError: true,
6464
),
6565
);
66-
} on HtHttpException catch (e) {
66+
} on HttpException catch (e) {
6767
emit(state.copyWith(status: CountriesFilterStatus.failure, error: e));
6868
}
6969
}
@@ -94,7 +94,7 @@ class CountriesFilterBloc
9494
cursor: response.cursor,
9595
),
9696
);
97-
} on HtHttpException catch (e) {
97+
} on HttpException catch (e) {
9898
emit(state.copyWith(status: CountriesFilterStatus.failure, error: e));
9999
}
100100
}

lib/headlines-feed/bloc/countries_filter_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ final class CountriesFilterState extends Equatable {
5050
final String? cursor;
5151

5252
/// An optional error object if the status is [CountriesFilterStatus.failure].
53-
final HtHttpException? error;
53+
final HttpException? error;
5454

5555
/// Creates a copy of this state with the given fields replaced.
5656
CountriesFilterState copyWith({
5757
CountriesFilterStatus? status,
5858
List<Country>? countries,
5959
bool? hasMore,
6060
String? cursor,
61-
HtHttpException? error,
61+
HttpException? error,
6262
bool clearError = false,
6363
bool clearCursor = false,
6464
}) {

lib/headlines-feed/bloc/headlines_feed_bloc.dart

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import 'dart:async';
22

33
import 'package:bloc/bloc.dart';
44
import 'package:bloc_concurrency/bloc_concurrency.dart';
5+
import 'package:core/core.dart';
6+
import 'package:data_repository/data_repository.dart';
57
import 'package:equatable/equatable.dart';
6-
import 'package:ht_data_repository/ht_data_repository.dart';
7-
import 'package:ht_main/app/bloc/app_bloc.dart';
8-
import 'package:ht_main/headlines-feed/models/headline_filter.dart';
9-
import 'package:ht_main/shared/services/feed_injector_service.dart';
10-
import 'package:ht_shared/ht_shared.dart';
8+
import 'package:flutter_news_app_mobile_client_full_source_code/app/bloc/app_bloc.dart';
9+
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/models/headline_filter.dart';
10+
import 'package:flutter_news_app_mobile_client_full_source_code/shared/services/feed_injector_service.dart';
1111

1212
part 'headlines_feed_event.dart';
1313
part 'headlines_feed_state.dart';
@@ -16,15 +16,15 @@ part 'headlines_feed_state.dart';
1616
/// Manages the state for the headlines feed feature.
1717
///
1818
/// Handles fetching headlines, applying filters, pagination, and refreshing
19-
/// the feed using the provided [HtDataRepository]. It uses [FeedInjectorService]
19+
/// the feed using the provided [DataRepository]. It uses [FeedInjectorService]
2020
/// to inject ads and account actions into the feed.
2121
/// {@endtemplate}
2222
class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
2323
/// {@macro headlines_feed_bloc}
2424
///
2525
/// Requires repositories and services for its operations.
2626
HeadlinesFeedBloc({
27-
required HtDataRepository<Headline> headlinesRepository,
27+
required DataRepository<Headline> headlinesRepository,
2828
required FeedInjectorService feedInjectorService,
2929
required AppBloc appBloc,
3030
}) : _headlinesRepository = headlinesRepository,
@@ -49,7 +49,7 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
4949
);
5050
}
5151

52-
final HtDataRepository<Headline> _headlinesRepository;
52+
final DataRepository<Headline> _headlinesRepository;
5353
final FeedInjectorService _feedInjectorService;
5454
final AppBloc _appBloc;
5555

@@ -125,7 +125,7 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
125125
),
126126
);
127127
}
128-
} on HtHttpException catch (e) {
128+
} on HttpException catch (e) {
129129
emit(state.copyWith(status: HeadlinesFeedStatus.failure, error: e));
130130
}
131131
}
@@ -179,7 +179,7 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
179179
),
180180
);
181181
}
182-
} on HtHttpException catch (e) {
182+
} on HttpException catch (e) {
183183
emit(state.copyWith(status: HeadlinesFeedStatus.failure, error: e));
184184
}
185185
}
@@ -240,7 +240,7 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
240240
),
241241
);
242242
}
243-
} on HtHttpException catch (e) {
243+
} on HttpException catch (e) {
244244
emit(state.copyWith(status: HeadlinesFeedStatus.failure, error: e));
245245
}
246246
}
@@ -289,10 +289,10 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
289289

290290
if (processedFeedItems.any((item) => item is FeedAction) &&
291291
currentUser?.id != null) {
292-
// TODO(ht-development): Implement correct event dispatching
292+
// TODO(fulleni): Implement correct event dispatching
293293
// _appBloc.add(AppUserFeedActionShown(userId: currentUser!.id));
294294
}
295-
} on HtHttpException catch (e) {
295+
} on HttpException catch (e) {
296296
emit(state.copyWith(status: HeadlinesFeedStatus.failure, error: e));
297297
}
298298
}

lib/headlines-feed/bloc/headlines_feed_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ class HeadlinesFeedState extends Equatable {
1717
final bool hasMore;
1818
final String? cursor;
1919
final HeadlineFilter filter;
20-
final HtHttpException? error;
20+
final HttpException? error;
2121

2222
HeadlinesFeedState copyWith({
2323
HeadlinesFeedStatus? status,
2424
List<FeedItem>? feedItems,
2525
bool? hasMore,
2626
String? cursor,
2727
HeadlineFilter? filter,
28-
HtHttpException? error,
28+
HttpException? error,
2929
bool clearCursor = false,
3030
}) {
3131
return HeadlinesFeedState(

lib/headlines-feed/bloc/sources_filter_bloc.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import 'dart:async';
22

33
import 'package:bloc/bloc.dart';
4+
import 'package:core/core.dart';
5+
import 'package:data_repository/data_repository.dart';
46
import 'package:equatable/equatable.dart';
5-
import 'package:ht_data_repository/ht_data_repository.dart';
6-
import 'package:ht_shared/ht_shared.dart';
77

88
part 'sources_filter_event.dart';
99
part 'sources_filter_state.dart';
1010

1111
class SourcesFilterBloc extends Bloc<SourcesFilterEvent, SourcesFilterState> {
1212
SourcesFilterBloc({
13-
required HtDataRepository<Source> sourcesRepository,
14-
required HtDataRepository<Country> countriesRepository,
13+
required DataRepository<Source> sourcesRepository,
14+
required DataRepository<Country> countriesRepository,
1515
}) : _sourcesRepository = sourcesRepository,
1616
_countriesRepository = countriesRepository,
1717
super(const SourcesFilterState()) {
@@ -24,8 +24,8 @@ class SourcesFilterBloc extends Bloc<SourcesFilterEvent, SourcesFilterState> {
2424
// Removed _FetchFilteredSourcesRequested event listener
2525
}
2626

27-
final HtDataRepository<Source> _sourcesRepository;
28-
final HtDataRepository<Country> _countriesRepository;
27+
final DataRepository<Source> _sourcesRepository;
28+
final DataRepository<Country> _countriesRepository;
2929

3030
Future<void> _onLoadSourceFilterData(
3131
LoadSourceFilterData event,
@@ -68,7 +68,7 @@ class SourcesFilterBloc extends Bloc<SourcesFilterEvent, SourcesFilterState> {
6868
clearErrorMessage: true,
6969
),
7070
);
71-
} on HtHttpException catch (e) {
71+
} on HttpException catch (e) {
7272
emit(
7373
state.copyWith(
7474
dataLoadingStatus: SourceFilterDataLoadingStatus.failure,

lib/headlines-feed/bloc/sources_filter_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class SourcesFilterState extends Equatable {
2525
final List<Source> displayableSources;
2626
final Set<String> finallySelectedSourceIds;
2727
final SourceFilterDataLoadingStatus dataLoadingStatus;
28-
final HtHttpException? error;
28+
final HttpException? error;
2929

3030
SourcesFilterState copyWith({
3131
List<Country>? availableCountries,
@@ -36,7 +36,7 @@ class SourcesFilterState extends Equatable {
3636
List<Source>? displayableSources,
3737
Set<String>? finallySelectedSourceIds,
3838
SourceFilterDataLoadingStatus? dataLoadingStatus,
39-
HtHttpException? error,
39+
HttpException? error,
4040
bool clearErrorMessage = false,
4141
}) {
4242
return SourcesFilterState(

lib/headlines-feed/bloc/topics_filter_bloc.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import 'dart:async';
22

33
import 'package:bloc/bloc.dart';
44
import 'package:bloc_concurrency/bloc_concurrency.dart';
5+
import 'package:core/core.dart';
6+
import 'package:data_repository/data_repository.dart';
57
import 'package:equatable/equatable.dart';
6-
import 'package:ht_data_repository/ht_data_repository.dart';
7-
import 'package:ht_shared/ht_shared.dart';
88

99
part 'topics_filter_event.dart';
1010
part 'topics_filter_state.dart';
@@ -13,13 +13,13 @@ part 'topics_filter_state.dart';
1313
/// Manages the state for fetching and displaying topics for filtering.
1414
///
1515
/// Handles initial fetching and pagination of topics using the
16-
/// provided [HtDataRepository].
16+
/// provided [DataRepository].
1717
/// {@endtemplate}
1818
class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
1919
/// {@macro topics_filter_bloc}
2020
///
21-
/// Requires a [HtDataRepository<Topic>] to interact with the data layer.
22-
TopicsFilterBloc({required HtDataRepository<Topic> topicsRepository})
21+
/// Requires a [DataRepository<Topic>] to interact with the data layer.
22+
TopicsFilterBloc({required DataRepository<Topic> topicsRepository})
2323
: _topicsRepository = topicsRepository,
2424
super(const TopicsFilterState()) {
2525
on<TopicsFilterRequested>(
@@ -32,7 +32,7 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
3232
);
3333
}
3434

35-
final HtDataRepository<Topic> _topicsRepository;
35+
final DataRepository<Topic> _topicsRepository;
3636

3737
/// Number of topics to fetch per page.
3838
static const _topicsLimit = 20;
@@ -64,7 +64,7 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
6464
clearError: true,
6565
),
6666
);
67-
} on HtHttpException catch (e) {
67+
} on HttpException catch (e) {
6868
emit(state.copyWith(status: TopicsFilterStatus.failure, error: e));
6969
}
7070
}
@@ -97,7 +97,7 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
9797
cursor: response.cursor,
9898
),
9999
);
100-
} on HtHttpException catch (e) {
100+
} on HttpException catch (e) {
101101
// Keep existing data but indicate failure
102102
emit(state.copyWith(status: TopicsFilterStatus.failure, error: e));
103103
}

lib/headlines-feed/bloc/topics_filter_state.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ final class TopicsFilterState extends Equatable {
4848
final String? cursor;
4949

5050
/// An optional error object if the status is [TopicsFilterStatus.failure].
51-
final HtHttpException? error;
51+
final HttpException? error;
5252

5353
/// Creates a copy of this state with the given fields replaced.
5454
TopicsFilterState copyWith({
5555
TopicsFilterStatus? status,
5656
List<Topic>? topics,
5757
bool? hasMore,
5858
String? cursor,
59-
HtHttpException? error,
59+
HttpException? error,
6060
bool clearError = false,
6161
bool clearCursor = false,
6262
}) {

lib/headlines-feed/models/headline_filter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import 'package:core/core.dart';
12
import 'package:equatable/equatable.dart';
2-
import 'package:ht_shared/ht_shared.dart';
33

44
/// {@template headline_filter}
55
/// A model representing the filter parameters for headlines.

lib/headlines-feed/view/country_filter_page.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
//
22
// ignore_for_file: lines_longer_than_80_chars
33

4+
import 'package:core/core.dart';
45
import 'package:flutter/material.dart';
56
import 'package:flutter_bloc/flutter_bloc.dart';
7+
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/bloc/countries_filter_bloc.dart';
8+
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
69
import 'package:go_router/go_router.dart';
7-
import 'package:ht_main/headlines-feed/bloc/countries_filter_bloc.dart';
8-
import 'package:ht_main/l10n/l10n.dart';
9-
import 'package:ht_shared/ht_shared.dart';
10-
import 'package:ht_ui_kit/ht_ui_kit.dart';
10+
import 'package:ui_kit/ui_kit.dart';
1111

1212
/// {@template country_filter_page}
1313
/// A page dedicated to selecting event countries for filtering headlines.

0 commit comments

Comments
 (0)