Skip to content

Commit 8043434

Browse files
committed
feat(router): pass HeadlinesFilterBloc to filter routes
- Add HeadlinesFilterBloc import to router.dart - Modify TopicFilterPage, SourceFilterPage, and CountryFilterPage routes to pass HeadlinesFilterBloc via state.extra - Update page builders to utilize the passed HeadlinesFilterBloc
1 parent e502773 commit 8043434

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

lib/router/router.dart

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import 'package:flutter_news_app_mobile_client_full_source_code/headline-details
2727
import 'package:flutter_news_app_mobile_client_full_source_code/headline-details/bloc/similar_headlines_bloc.dart';
2828
import 'package:flutter_news_app_mobile_client_full_source_code/headline-details/view/headline_details_page.dart';
2929
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/bloc/headlines_feed_bloc.dart';
30+
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/bloc/headlines_filter_bloc.dart';
3031
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/view/country_filter_page.dart';
3132
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/view/headlines_feed_page.dart';
3233
import 'package:flutter_news_app_mobile_client_full_source_code/headlines-feed/view/headlines_filter_page.dart';
@@ -455,22 +456,33 @@ GoRouter createRouter({
455456
GoRoute(
456457
path: Routes.feedFilterTopics,
457458
name: Routes.feedFilterTopicsName,
458-
builder: (context, state) => const TopicFilterPage(),
459+
builder: (context, state) {
460+
final filterBloc =
461+
state.extra! as HeadlinesFilterBloc;
462+
return TopicFilterPage(filterBloc: filterBloc);
463+
},
459464
),
460465
// Sub-route for source selection
461466
GoRoute(
462467
path: Routes.feedFilterSources,
463468
name: Routes.feedFilterSourcesName,
464-
builder: (context, state) => const SourceFilterPage(),
469+
builder: (context, state) {
470+
final filterBloc =
471+
state.extra! as HeadlinesFilterBloc;
472+
return SourceFilterPage(filterBloc: filterBloc);
473+
},
465474
),
466475
GoRoute(
467476
path: Routes.feedFilterEventCountries,
468477
name: Routes.feedFilterEventCountriesName,
469478
pageBuilder: (context, state) {
470479
final l10n = context.l10n;
480+
final filterBloc =
481+
state.extra! as HeadlinesFilterBloc;
471482
return MaterialPage(
472483
child: CountryFilterPage(
473484
title: l10n.headlinesFeedFilterEventCountryLabel,
485+
filterBloc: filterBloc,
474486
),
475487
);
476488
},

0 commit comments

Comments
 (0)