@@ -19,7 +19,7 @@ import 'package:ht_main/authentication/bloc/authentication_bloc.dart';
19
19
import 'package:ht_main/authentication/view/authentication_page.dart' ;
20
20
import 'package:ht_main/authentication/view/email_code_verification_page.dart' ;
21
21
import 'package:ht_main/authentication/view/request_code_page.dart' ;
22
- import 'package:ht_main/headline-details/bloc/headline_details_bloc.dart' ;
22
+ // import 'package:ht_main/headline-details/bloc/headline_details_bloc.dart'; // Removed
23
23
import 'package:ht_main/headline-details/view/headline_details_page.dart' ;
24
24
import 'package:ht_main/headlines-feed/bloc/categories_filter_bloc.dart' ; // Import new BLoC
25
25
// import 'package:ht_main/headlines-feed/bloc/countries_filter_bloc.dart'; // Import new BLoC - REMOVED
@@ -341,15 +341,18 @@ GoRouter createRouter({
341
341
path: 'article/:id' , // Relative path
342
342
name: Routes .articleDetailsName,
343
343
builder: (context, state) {
344
- final id = state.pathParameters['id' ]! ;
345
- return BlocProvider (
346
- create:
347
- (context) => HeadlineDetailsBloc (
348
- headlinesRepository:
349
- context.read <HtDataRepository <Headline >>(),
350
- )..add (HeadlineDetailsRequested (headlineId: id)),
351
- child: HeadlineDetailsPage (headlineId: id),
352
- );
344
+ // final id = state.pathParameters['id']!; // No longer needed
345
+ final headline = state.extra as Headline ? ;
346
+ if (headline == null ) {
347
+ // Handle missing headline data, perhaps redirect or show error
348
+ // For now, returning a placeholder, but a robust app
349
+ // might redirect to an error page or back.
350
+ return const Scaffold (
351
+ body: Center (child: Text ('Error: Headline data missing' )),
352
+ );
353
+ }
354
+ // No longer need BlocProvider for HeadlineDetailsBloc
355
+ return HeadlineDetailsPage (headline: headline);
353
356
},
354
357
),
355
358
// Sub-route for notifications (placeholder) - MOVED HERE
@@ -464,15 +467,14 @@ GoRouter createRouter({
464
467
path: 'article/:id' , // Relative path
465
468
name: Routes .searchArticleDetailsName, // New route name
466
469
builder: (context, state) {
467
- final id = state.pathParameters['id' ]! ;
468
- return BlocProvider (
469
- create:
470
- (context) => HeadlineDetailsBloc (
471
- headlinesRepository:
472
- context.read <HtDataRepository <Headline >>(),
473
- )..add (HeadlineDetailsRequested (headlineId: id)),
474
- child: HeadlineDetailsPage (headlineId: id),
475
- );
470
+ // final id = state.pathParameters['id']!; // No longer needed
471
+ final headline = state.extra as Headline ? ;
472
+ if (headline == null ) {
473
+ return const Scaffold (
474
+ body: Center (child: Text ('Error: Headline data missing' )),
475
+ );
476
+ }
477
+ return HeadlineDetailsPage (headline: headline);
476
478
},
477
479
),
478
480
],
@@ -615,18 +617,14 @@ GoRouter createRouter({
615
617
path: Routes .accountArticleDetails, // 'article/:id'
616
618
name: Routes .accountArticleDetailsName,
617
619
builder: (context, state) {
618
- final id = state.pathParameters['id' ]! ;
619
- return BlocProvider (
620
- create:
621
- (context) => HeadlineDetailsBloc (
622
- headlinesRepository:
623
- context
624
- .read <HtDataRepository <Headline >>(),
625
- )..add (
626
- HeadlineDetailsRequested (headlineId: id),
627
- ),
628
- child: HeadlineDetailsPage (headlineId: id),
629
- );
620
+ // final id = state.pathParameters['id']!; // No longer needed
621
+ final headline = state.extra as Headline ? ;
622
+ if (headline == null ) {
623
+ return const Scaffold (
624
+ body: Center (child: Text ('Error: Headline data missing' )),
625
+ );
626
+ }
627
+ return HeadlineDetailsPage (headline: headline);
630
628
},
631
629
),
632
630
],
0 commit comments