@@ -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'; // Removed
22
+ import 'package:ht_main/headline-details/bloc/headline_details_bloc.dart' ; // Re-added
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,18 +341,20 @@ 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']!; // 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);
344
+ final headlineFromExtra = state.extra as Headline ? ;
345
+ final headlineIdFromPath = state.pathParameters['id' ];
346
+
347
+ return BlocProvider (
348
+ create: (context) => HeadlineDetailsBloc (
349
+ headlinesRepository:
350
+ context.read <HtDataRepository <Headline >>(),
351
+ ),
352
+ child: HeadlineDetailsPage (
353
+ initialHeadline: headlineFromExtra,
354
+ // Ensure headlineId is non-null if initialHeadline is null
355
+ headlineId: headlineFromExtra? .id ?? headlineIdFromPath,
356
+ ),
357
+ );
356
358
},
357
359
),
358
360
// Sub-route for notifications (placeholder) - MOVED HERE
@@ -467,14 +469,18 @@ GoRouter createRouter({
467
469
path: 'article/:id' , // Relative path
468
470
name: Routes .searchArticleDetailsName, // New route name
469
471
builder: (context, state) {
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);
472
+ final headlineFromExtra = state.extra as Headline ? ;
473
+ final headlineIdFromPath = state.pathParameters['id' ];
474
+ return BlocProvider (
475
+ create: (context) => HeadlineDetailsBloc (
476
+ headlinesRepository:
477
+ context.read <HtDataRepository <Headline >>(),
478
+ ),
479
+ child: HeadlineDetailsPage (
480
+ initialHeadline: headlineFromExtra,
481
+ headlineId: headlineFromExtra? .id ?? headlineIdFromPath,
482
+ ),
483
+ );
478
484
},
479
485
),
480
486
],
@@ -617,14 +623,18 @@ GoRouter createRouter({
617
623
path: Routes .accountArticleDetails, // 'article/:id'
618
624
name: Routes .accountArticleDetailsName,
619
625
builder: (context, state) {
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);
626
+ final headlineFromExtra = state.extra as Headline ? ;
627
+ final headlineIdFromPath = state.pathParameters['id' ];
628
+ return BlocProvider (
629
+ create: (context) => HeadlineDetailsBloc (
630
+ headlinesRepository:
631
+ context.read <HtDataRepository <Headline >>(),
632
+ ),
633
+ child: HeadlineDetailsPage (
634
+ initialHeadline: headlineFromExtra,
635
+ headlineId: headlineFromExtra? .id ?? headlineIdFromPath,
636
+ ),
637
+ );
628
638
},
629
639
),
630
640
],
0 commit comments