@@ -99,12 +99,18 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
99
99
100
100
emit (
101
101
HeadlinesFeedLoaded (
102
- feedItems: processedFeedItems, // Changed
103
- hasMore: headlineResponse.hasMore, // Based on original headline fetch
102
+ feedItems: processedFeedItems,
103
+ hasMore: headlineResponse.hasMore,
104
104
cursor: headlineResponse.cursor,
105
- filter: event.filter, // Store the applied filter
105
+ filter: event.filter,
106
106
),
107
107
);
108
+
109
+ // Dispatch event if AccountAction was injected
110
+ if (processedFeedItems.any ((item) => item is AccountAction ) &&
111
+ _appBloc.state.user? .id != null ) {
112
+ _appBloc.add (AppUserAccountActionShown (userId: _appBloc.state.user! .id));
113
+ }
108
114
} on HtHttpException catch (e) {
109
115
emit (HeadlinesFeedError (message: e.message));
110
116
} catch (e, st) {
@@ -146,11 +152,17 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
146
152
147
153
emit (
148
154
HeadlinesFeedLoaded (
149
- feedItems: processedFeedItems, // Changed
155
+ feedItems: processedFeedItems,
150
156
hasMore: headlineResponse.hasMore,
151
157
cursor: headlineResponse.cursor,
152
158
),
153
159
);
160
+
161
+ // Dispatch event if AccountAction was injected
162
+ if (processedFeedItems.any ((item) => item is AccountAction ) &&
163
+ _appBloc.state.user? .id != null ) {
164
+ _appBloc.add (AppUserAccountActionShown (userId: _appBloc.state.user! .id));
165
+ }
154
166
} on HtHttpException catch (e) {
155
167
emit (HeadlinesFeedError (message: e.message));
156
168
} catch (e, st) {
@@ -233,16 +245,24 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
233
245
currentFeedItemCount: currentFeedItemCountForInjector,
234
246
);
235
247
248
+ final resultingFeedItems = isPaginating
249
+ ? (List .of (currentFeedItems)..addAll (newProcessedFeedItems))
250
+ : newProcessedFeedItems;
251
+
236
252
emit (
237
253
HeadlinesFeedLoaded (
238
- feedItems: isPaginating
239
- ? (List .of (currentFeedItems)..addAll (newProcessedFeedItems))
240
- : newProcessedFeedItems,
254
+ feedItems: resultingFeedItems,
241
255
hasMore: headlineResponse.hasMore,
242
256
cursor: headlineResponse.cursor,
243
257
filter: currentFilter,
244
258
),
245
259
);
260
+
261
+ // Dispatch event if AccountAction was injected
262
+ if (newProcessedFeedItems.any ((item) => item is AccountAction ) &&
263
+ _appBloc.state.user? .id != null ) {
264
+ _appBloc.add (AppUserAccountActionShown (userId: _appBloc.state.user! .id));
265
+ }
246
266
} on HtHttpException catch (e) {
247
267
emit (HeadlinesFeedError (message: e.message));
248
268
} catch (e, st) {
@@ -310,6 +330,12 @@ class HeadlinesFeedBloc extends Bloc<HeadlinesFeedEvent, HeadlinesFeedState> {
310
330
filter: currentFilter,
311
331
),
312
332
);
333
+
334
+ // Dispatch event if AccountAction was injected
335
+ if (processedFeedItems.any ((item) => item is AccountAction ) &&
336
+ _appBloc.state.user? .id != null ) {
337
+ _appBloc.add (AppUserAccountActionShown (userId: _appBloc.state.user! .id));
338
+ }
313
339
} on HtHttpException catch (e) {
314
340
emit (HeadlinesFeedError (message: e.message));
315
341
} catch (e, st) {
0 commit comments