Skip to content

Commit 0d25b70

Browse files
committed
feat: add entity details routes
- Added category details route - Added source details route
1 parent 735ad25 commit 0d25b70

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

lib/router/router.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import 'package:ht_main/authentication/bloc/authentication_bloc.dart';
1919
import 'package:ht_main/authentication/view/authentication_page.dart';
2020
import 'package:ht_main/authentication/view/email_code_verification_page.dart';
2121
import 'package:ht_main/authentication/view/request_code_page.dart';
22+
import 'package:ht_main/entity_details/view/entity_details_page.dart'; // Added
2223
import 'package:ht_main/headline-details/bloc/headline_details_bloc.dart'; // Re-added
2324
import 'package:ht_main/headline-details/bloc/similar_headlines_bloc.dart'; // Import SimilarHeadlinesBloc
2425
import 'package:ht_main/headline-details/view/headline_details_page.dart';
@@ -291,6 +292,34 @@ GoRouter createRouter({
291292
),
292293
],
293294
),
295+
// --- Entity Details Routes (Top Level) ---
296+
GoRoute(
297+
path: Routes.categoryDetails,
298+
name: Routes.categoryDetailsName,
299+
builder: (context, state) {
300+
final args = state.extra as EntityDetailsPageArguments?;
301+
if (args == null) {
302+
// Handle missing arguments, perhaps redirect or show error
303+
return const Scaffold(
304+
body: Center(child: Text('Error: Missing category details arguments')),
305+
);
306+
}
307+
return EntityDetailsPage(args: args);
308+
},
309+
),
310+
GoRoute(
311+
path: Routes.sourceDetails,
312+
name: Routes.sourceDetailsName,
313+
builder: (context, state) {
314+
final args = state.extra as EntityDetailsPageArguments?;
315+
if (args == null) {
316+
return const Scaffold(
317+
body: Center(child: Text('Error: Missing source details arguments')),
318+
);
319+
}
320+
return EntityDetailsPage(args: args);
321+
},
322+
),
294323
// --- Main App Shell ---
295324
StatefulShellRoute.indexedStack(
296325
builder: (context, state, navigationShell) {

lib/router/routes.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ abstract final class Routes {
3434
static const notifications = 'notifications'; // Relative path
3535
static const notificationsName = 'notifications';
3636

37+
// --- Entity Details Routes (can be accessed from multiple places) ---
38+
static const categoryDetails = '/category-details'; // New
39+
static const categoryDetailsName = 'categoryDetails'; // New
40+
static const sourceDetails = '/source-details'; // New
41+
static const sourceDetailsName = 'sourceDetails'; // New
42+
3743
// --- Authentication Routes ---
3844
static const authentication = '/authentication';
3945
static const authenticationName = 'authentication';

0 commit comments

Comments
 (0)