@@ -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