Files
sf-app-platform/apps/mobile_app/lib/app_router_config.dart
AlcalaJulian 5ca37d2822 - create auth, main shell, home, profile, notifications and settings modules.
- added navigation, utils, design system and shared packages
- implemented go router in entiered app
- implemented flutter riverpod instead provider
2025-11-13 15:16:00 +01:00

53 lines
1.4 KiB
Dart

import 'package:auth/auth.dart';
import 'package:dashboard_shell/dashboard_builder.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:navigation/navigation.dart';
import 'package:get_it/get_it.dart';
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
late GoRouter appRouter;
void configureAppRouter() {
appRouter = GoRouter(
navigatorKey: navigatorKey,
initialLocation: '/login',
routes: [
GoRoute(
path: '/onboarding',
pageBuilder: (context, state) =>
OnboardingBuilder().buildPage(context, state),
),
GoRoute(
path: '/link_phone',
pageBuilder: (context, state) =>
LinkPhoneBuilder().buildPage(context, state),
),
GoRoute(
path: '/phone_code',
pageBuilder: (context, state) =>
PhoneCodeBuilder().buildPage(context, state),
),
GoRoute(
path: '/login',
pageBuilder: (context, state) =>
LoginBuilder().buildPage(context, state),
),
GoRoute(
path: '/recover_password',
pageBuilder: (context, state) =>
RecoverPasswordBuilder().buildPage(context, state),
),
GoRoute(
path: '/dashboard_shell',
pageBuilder: (context, state) =>
DashboardBuilder().buildPage(context, state),
),
],
);
GetIt.I<NavigationContract>().setRouter(appRouter);
}