import "package:auto_route/auto_route.dart"; import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:smol_mail/presentation/routes/home_guard.dart"; import "package:smol_mail/presentation/routes/identity_guard.dart"; import "app_router.gr.dart"; @AutoRouterConfig(replaceInRouteName: "Screen,Route") class AppRouter extends RootStackRouter { final WidgetRef ref; AppRouter(this.ref); @override List get routes => [ AutoRoute( page: OnboardingRoute.page, path: "/", initial: true, guards: [HomeGuard(ref)], ), AutoRoute( page: HomeRoute.page, path: "/home", guards: [IdentityGuard(ref)], children: [ AutoRoute(page: InboxRoute.page, path: "inbox", initial: true), AutoRoute(page: ContactsRoute.page, path: "contacts"), AutoRoute(page: SettingsRoute.page, path: "settings"), ], ), AutoRoute( page: MessageDetailRoute.page, path: "/message", guards: [IdentityGuard(ref)], ), AutoRoute( page: ComposeRoute.page, path: "/compose", guards: [IdentityGuard(ref)], ), AutoRoute( page: ContactDetailRoute.page, path: "/contact", guards: [IdentityGuard(ref)], ), ]; }