import 'package:eatvio_app/core/routing/route_constants.dart'; import 'package:eatvio_app/features/auth/entities/auth_result_entity.dart'; import 'package:eatvio_app/features/auth/presentation/pages/auth_screen.dart'; import 'package:eatvio_app/features/auth/presentation/pages/forget_password_screen.dart'; import 'package:eatvio_app/features/auth/presentation/pages/register_via_social_screen.dart'; import 'package:eatvio_app/features/auth/presentation/pages/scan_qr_code_screen.dart'; import 'package:eatvio_app/features/registration/presentation/pages/registration_screen.dart'; import 'package:eatvio_app/features/registration/presentation/pages/verify_screen.dart'; import 'package:eatvio_app/features/registration/presentation/pages/verify_email_screen.dart'; import 'package:go_router/go_router.dart'; /// Маршруты для аутентификации class AuthRoutes { /// Создание маршрутов аутентификации static List createRoutes() { return [ GoRoute( path: RouteConstants.authScreen, name: 'authScreen', builder: (context, state) => const AuthScreen(), routes: [ GoRoute(path: RouteConstants.registrationScreen, name: 'registrationScreen', builder: (context, state) => const RegistrationScreen()), GoRoute( path: RouteConstants.forgetPasswordScreen, name: 'forgetPasswordScreen', builder: (context, state) => ForgetPasswordScreen(isAuth: state.extra as bool), ), GoRoute(path: RouteConstants.scanQRCodeScreen, name: 'scanQRCodeScreen', builder: (context, state) => const ScanQRCodeScreen()), ], ), GoRoute( path: RouteConstants.verifyScreen, name: 'verifyScreen', builder: (context, state) => VerifyScreen(passKey: state.extra as String), ), GoRoute(path: RouteConstants.verifyEmailScreen, name: 'verifyEmailScreen', builder: (context, state) => const VerifyEmailScreen()), GoRoute( path: RouteConstants.registerViaSocialScreen, name: 'registerViaSocialScreen', builder: (context, state) { final extra = state.extra as Map?; return RegisterViaSocialScreen(authResult: extra?['authResult'] as AuthResultEntity?, provider: extra?['provider'] as String?); }, ), ]; } }