Skip to content

Commit 3ae57f5

Browse files
committed
refactor(topics-filter): remove followed topics functionality
- Remove TopicsFilterApplyFollowedRequested event handling - Remove related repository and state fields - Simplify class structure and initialization
1 parent 1cde4c5 commit 3ae57f5

File tree

1 file changed

+0
-60
lines changed

1 file changed

+0
-60
lines changed

lib/headlines-feed/bloc/topics_filter_bloc.dart

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,8 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
2222
/// Requires a [DataRepository<Topic>] to interact with the data layer.
2323
TopicsFilterBloc({
2424
required DataRepository<Topic> topicsRepository,
25-
required DataRepository<UserContentPreferences>
26-
userContentPreferencesRepository,
2725
required AppBloc appBloc,
2826
}) : _topicsRepository = topicsRepository,
29-
_userContentPreferencesRepository = userContentPreferencesRepository,
3027
_appBloc = appBloc,
3128
super(const TopicsFilterState()) {
3229
on<TopicsFilterRequested>(
@@ -37,15 +34,9 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
3734
_onTopicsFilterLoadMoreRequested,
3835
transformer: droppable(),
3936
);
40-
on<TopicsFilterApplyFollowedRequested>(
41-
_onTopicsFilterApplyFollowedRequested,
42-
transformer: restartable(),
43-
);
4437
}
4538

4639
final DataRepository<Topic> _topicsRepository;
47-
final DataRepository<UserContentPreferences>
48-
_userContentPreferencesRepository;
4940
final AppBloc _appBloc;
5041

5142
/// Number of topics to fetch per page.
@@ -59,7 +50,6 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
5950
// Prevent fetching if already loading or successful (unless forced refresh)
6051
if (state.status == TopicsFilterStatus.loading ||
6152
state.status == TopicsFilterStatus.success) {
62-
// Optionally add logic here for forced refresh if needed
6353
return;
6454
}
6555

@@ -118,54 +108,4 @@ class TopicsFilterBloc extends Bloc<TopicsFilterEvent, TopicsFilterState> {
118108
emit(state.copyWith(status: TopicsFilterStatus.failure, error: e));
119109
}
120110
}
121-
122-
/// Handles the request to apply the user's followed topics as filters.
123-
Future<void> _onTopicsFilterApplyFollowedRequested(
124-
TopicsFilterApplyFollowedRequested event,
125-
Emitter<TopicsFilterState> emit,
126-
) async {
127-
emit(state.copyWith(followedTopicsStatus: TopicsFilterStatus.loading));
128-
129-
final currentUser = _appBloc.state.user!;
130-
131-
try {
132-
final preferences = await _userContentPreferencesRepository.read(
133-
id: currentUser.id,
134-
userId: currentUser.id,
135-
);
136-
137-
if (preferences.followedTopics.isEmpty) {
138-
emit(
139-
state.copyWith(
140-
followedTopicsStatus: TopicsFilterStatus.success,
141-
followedTopics: const [],
142-
clearError: true,
143-
),
144-
);
145-
return;
146-
}
147-
148-
emit(
149-
state.copyWith(
150-
followedTopicsStatus: TopicsFilterStatus.success,
151-
followedTopics: preferences.followedTopics,
152-
clearFollowedTopicsError: true,
153-
),
154-
);
155-
} on HttpException catch (e) {
156-
emit(
157-
state.copyWith(
158-
followedTopicsStatus: TopicsFilterStatus.failure,
159-
error: e,
160-
),
161-
);
162-
} catch (e) {
163-
emit(
164-
state.copyWith(
165-
followedTopicsStatus: TopicsFilterStatus.failure,
166-
error: UnknownException(e.toString()),
167-
),
168-
);
169-
}
170-
}
171111
}

0 commit comments

Comments
 (0)