Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
router.dart
Go to the documentation of this file.
1import 'package:connect/features/main_menu/presentation/logic/cubit/banners_cubit.dart';
2import 'package:flutter_bloc/flutter_bloc.dart';
3
4import '../../features/main_menu/presentation/menu_menu_screen/main_menu_screen.dart';
5import '../services/service_locator.dart';
6import '/core/router/auth_guard.dart';
7import '/core/router/auth_notifier.dart';
8import '/core/ui/widgets/custom_navbar.dart';
9import 'package:flutter/material.dart';
10import 'package:go_router/go_router.dart';
11import 'routes.dart';
12
13final rootNavigatorKey = GlobalKey<NavigatorState>();
14final _sectionNavigatorKey = GlobalKey<NavigatorState>();
15
16RouterConfig<Object> router(AuthNotifier authNotifier) => GoRouter(
17 refreshListenable: authNotifier,
18 navigatorKey: rootNavigatorKey,
19 initialLocation: Routes.mainMenu.route,
20 redirect: AuthGuard.instance.redirect,
21 routes: <RouteBase>[
22 StatefulShellRoute.indexedStack(
23 builder: (context, state, navigationShell) {
24 return CustomNavBar(navigationShell);
25 },
26 branches: [
27 StatefulShellBranch(
28 routes: <RouteBase>[
29 Routes.dashboard.build,
30 ],
31 ),
32 StatefulShellBranch(
33 routes: <RouteBase>[
34 Routes.youtubeChannel.build,
35 Routes.courseDetailsScreen.build,
36 Routes.pdfViewerScreen.build,
37 Routes.qcmScreen.build,
38 ],
39 ),
40 StatefulShellBranch(
41 navigatorKey: _sectionNavigatorKey,
42 routes: <RouteBase>[
43 GoRoute(
44 path: Routes.mainMenu.route,
45 builder: (context, state) => BlocProvider(
46 create: (context) => sl<BannersCubit>()..loadBanners(),
47 child: const MainMenuScreen(),
48 ),
49 ),
50 ],
51 ),
52 StatefulShellBranch(
53 routes: <RouteBase>[
54 Routes.profile.build,
55 ],
56 ),
57 StatefulShellBranch(
58 routes: <RouteBase>[
59 Routes.settings.build,
60 ],
61 ),
62 ],
63 ),
64 Routes.countrySelection.build,
65 Routes.signIn.build,
66 Routes.smartEcommerce.build,
67 Routes.environmentalDashboard.build,
68 Routes.walletScreen.build,
69 Routes.transactionHistory.build,
70 Routes.notifications.build,
71 Routes.footprint.build,
72 Routes.monthlyFootprintStats.build,
73 Routes.monthlyFootprintStats.build,
74 Routes.environmentalDashboardv2.build,
75 Routes.co2emissions.build,
76 Routes.operationalDetails.build,
77 Routes.energy.build,
78 Routes.waste.build,
79 Routes.transport.build,
80 Routes.water.build,
81 Routes.food.build,
82 Routes.editCollection.build,
83 ],
84 );
final Widget child
const MainMenuScreen({super.key})
final _sectionNavigatorKey
Definition router.dart:14
RouterConfig< Object > router(AuthNotifier authNotifier)
final rootNavigatorKey
Definition router.dart:13
Routes
Definition routes.dart:32
final sl