import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; // Feature screens import 'package:inou_app/features/static/landing_page.dart'; import 'package:inou_app/features/static/security_page.dart'; import 'package:inou_app/features/static/privacy_page.dart'; import 'package:inou_app/features/static/faq_page.dart'; import 'package:inou_app/features/static/dpa_page.dart'; import 'package:inou_app/features/static/connect_page.dart'; import 'package:inou_app/features/static/invite_page.dart'; import 'package:inou_app/features/auth/login_page.dart'; import 'package:inou_app/features/auth/signup_page.dart'; import 'package:inou_app/features/dashboard/dashboard.dart'; import 'package:inou_app/design/screens/styleguide_screen.dart'; /// App route definitions class AppRoutes { // Static pages static const String landing = '/'; static const String security = '/security'; static const String privacy = '/privacy'; static const String faq = '/faq'; static const String dpa = '/dpa'; static const String connect = '/connect'; static const String invite = '/invite'; // Auth pages static const String login = '/login'; static const String signup = '/signup'; static const String forgotPassword = '/forgot-password'; // Authenticated pages (deep pages) static const String dashboard = '/dashboard'; static const String dossier = '/dossier/:id'; static const String profile = '/profile'; // Dev static const String styleguide = '/styleguide'; } /// GoRouter configuration final GoRouter appRouter = GoRouter( initialLocation: '/', routes: [ // Static pages GoRoute( path: '/', builder: (context, state) => const LandingPage(), ), GoRoute( path: '/security', builder: (context, state) => const SecurityPage(), ), GoRoute( path: '/privacy', builder: (context, state) => const PrivacyPage(), ), GoRoute( path: '/faq', builder: (context, state) => const FaqPage(), ), GoRoute( path: '/dpa', builder: (context, state) => const DpaPage(), ), GoRoute( path: '/connect', builder: (context, state) => const ConnectPage(), ), GoRoute( path: '/invite', builder: (context, state) => const InvitePage(), ), // Auth pages GoRoute( path: '/login', builder: (context, state) => const LoginPage(), ), GoRoute( path: '/signup', builder: (context, state) => const SignupPage(), ), // Authenticated pages GoRoute( path: '/dashboard', builder: (context, state) => const DashboardPage(), ), GoRoute( path: '/dossier/:id', builder: (context, state) { final dossierId = state.pathParameters['id']!; return DossierPage(dossierId: dossierId); }, ), // Dev GoRoute( path: '/styleguide', builder: (context, state) => const StyleguideScreen(), ), ], errorBuilder: (context, state) => const LandingPage(), ); /// Legacy route generator for MaterialApp (deprecated, use GoRouter) @Deprecated('Use appRouter with GoRouter instead') Route? generateRoute(RouteSettings settings) { // Keep for backwards compatibility if needed return MaterialPageRoute( builder: (_) => const LandingPage(), settings: settings, ); }