| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import 'package:flutter/material.dart';
- import 'package:go_router/go_router.dart';
- import 'package:flutter_riverpod/flutter_riverpod.dart';
- import 'package:asr_client/pages/shell/app_shell.dart';
- import 'package:asr_client/pages/tasks/tasks_page.dart';
- import 'package:asr_client/pages/history/history_page.dart';
- import 'package:asr_client/pages/profile/profile_page.dart';
- import 'package:asr_client/pages/recording/recording_page.dart';
- import 'package:asr_client/pages/reports/reports_page.dart';
- final GlobalKey<NavigatorState> _rootNavKey = GlobalKey<NavigatorState>();
- final goRouterProvider = Provider<GoRouter>((ref) {
- return GoRouter(
- navigatorKey: _rootNavKey,
- initialLocation: '/tasks',
- routes: [
- StatefulShellRoute.indexedStack(
- builder: (context, state, navigationShell) {
- return AppShell(navigationShell: navigationShell);
- },
- branches: [
- StatefulShellBranch(
- routes: [
- GoRoute(
- path: '/tasks',
- builder: (context, state) => const TasksPage(),
- ),
- ],
- ),
- StatefulShellBranch(
- routes: [
- GoRoute(
- path: '/records',
- builder: (context, state) => const HistoryPage(),
- ),
- ],
- ),
- StatefulShellBranch(
- routes: [
- GoRoute(
- path: '/reports',
- builder: (context, state) => const ReportsPage(),
- ),
- ],
- ),
- StatefulShellBranch(
- routes: [
- GoRoute(
- path: '/profile',
- builder: (context, state) => const ProfilePage(),
- ),
- ],
- ),
- ],
- ),
- GoRoute(
- path: '/recording',
- parentNavigatorKey: _rootNavKey,
- builder: (context, state) => const RecordingPage(),
- ),
- ],
- );
- });
|