import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; import 'package:trainhub_flutter/presentation/analysis/analysis_page.dart'; import 'package:trainhub_flutter/presentation/calendar/calendar_page.dart'; import 'package:trainhub_flutter/presentation/chat/chat_page.dart'; import 'package:trainhub_flutter/presentation/home/home_page.dart'; import 'package:trainhub_flutter/presentation/plan_editor/plan_editor_page.dart'; import 'package:trainhub_flutter/presentation/settings/knowledge_base_page.dart'; import 'package:trainhub_flutter/presentation/settings/settings_page.dart'; import 'package:trainhub_flutter/presentation/shell/shell_page.dart'; import 'package:trainhub_flutter/presentation/trainings/trainings_page.dart'; import 'package:trainhub_flutter/presentation/welcome/welcome_screen.dart'; import 'package:trainhub_flutter/presentation/workout_session/workout_session_page.dart'; part 'app_router.gr.dart'; @AutoRouterConfig(replaceInRouteName: 'Page|Screen,Route') class AppRouter extends RootStackRouter { @override List get routes => [ // First-launch welcome / model download screen AutoRoute(page: WelcomeRoute.page, initial: true), // Main app shell (side-nav + tab router) AutoRoute( page: ShellRoute.page, children: [ AutoRoute(page: HomeRoute.page, initial: true), AutoRoute(page: TrainingsRoute.page), AutoRoute(page: AnalysisRoute.page), AutoRoute(page: CalendarRoute.page), AutoRoute(page: ChatRoute.page), ], ), // Full-screen standalone pages AutoRoute(page: PlanEditorRoute.page), AutoRoute(page: WorkoutSessionRoute.page), AutoRoute(page: SettingsRoute.page), AutoRoute(page: KnowledgeBaseRoute.page), ]; }