// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'app_routes.dart';

// **************************************************************************
// GoRouterGenerator
// **************************************************************************

List<RouteBase> get $appRoutes => [
  $loginScreenRoute,
  $splashScreenRoute,
  $appShellRouteData,
  $yourTendersRouteData,
  $finalCompletionOfDocumentsRouteData,
  $likedTendersRouteData,
  $completionOfDocumentsMobileRouteData,
  $tenderDetailRouteData,
  $forgotPasswordRouteData,
  $forgotPasswordOtpRouteData,
  $forgotPasswordCreateRouteData,
];

RouteBase get $loginScreenRoute =>
    GoRouteData.$route(path: '/login', factory: _$LoginScreenRoute._fromState);

mixin _$LoginScreenRoute on GoRouteData {
  static LoginScreenRoute _fromState(GoRouterState state) =>
      const LoginScreenRoute();

  @override
  String get location => GoRouteData.$location('/login');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $splashScreenRoute => GoRouteData.$route(
  path: '/splash',

  factory: _$SplashScreenRoute._fromState,
);

mixin _$SplashScreenRoute on GoRouteData {
  static SplashScreenRoute _fromState(GoRouterState state) => SplashScreenRoute(
    navigateToNotification: _$convertMapValue(
      'navigate-to-notification',
      state.uri.queryParameters,
      _$boolConverter,
    ),
  );

  SplashScreenRoute get _self => this as SplashScreenRoute;

  @override
  String get location => GoRouteData.$location(
    '/splash',
    queryParams: {
      if (_self.navigateToNotification != null)
        'navigate-to-notification': _self.navigateToNotification!.toString(),
    },
  );

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

T? _$convertMapValue<T>(
  String key,
  Map<String, String> map,
  T? Function(String) converter,
) {
  final value = map[key];
  return value == null ? null : converter(value);
}

bool _$boolConverter(String value) {
  switch (value) {
    case 'true':
      return true;
    case 'false':
      return false;
    default:
      throw UnsupportedError('Cannot convert "$value" into a bool.');
  }
}

RouteBase get $appShellRouteData => StatefulShellRouteData.$route(
  parentNavigatorKey: AppShellRouteData.$parentNavigatorKey,
  factory: $AppShellRouteDataExtension._fromState,
  branches: [
    StatefulShellBranchData.$branch(
      navigatorKey: HomeBranch.$navigatorKey,

      routes: [
        GoRouteData.$route(path: '/home', factory: _$HomeRouteData._fromState),
      ],
    ),
    StatefulShellBranchData.$branch(
      navigatorKey: TendersBranch.$navigatorKey,

      routes: [
        GoRouteData.$route(
          path: '/tenders',

          factory: _$TendersRouteData._fromState,
        ),
      ],
    ),
    StatefulShellBranchData.$branch(
      navigatorKey: ProfileBranch.$navigatorKey,

      routes: [
        GoRouteData.$route(
          path: '/profile',

          factory: _$ProfileRouteData._fromState,
        ),
      ],
    ),
    StatefulShellBranchData.$branch(
      navigatorKey: NotificationBranch.$navigatorKey,

      routes: [
        GoRouteData.$route(
          path: '/notification',

          factory: _$NotificationRouteData._fromState,
        ),
      ],
    ),
  ],
);

extension $AppShellRouteDataExtension on AppShellRouteData {
  static AppShellRouteData _fromState(GoRouterState state) =>
      const AppShellRouteData();
}

mixin _$HomeRouteData on GoRouteData {
  static HomeRouteData _fromState(GoRouterState state) => const HomeRouteData();

  @override
  String get location => GoRouteData.$location('/home');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

mixin _$TendersRouteData on GoRouteData {
  static TendersRouteData _fromState(GoRouterState state) =>
      const TendersRouteData();

  @override
  String get location => GoRouteData.$location('/tenders');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

mixin _$ProfileRouteData on GoRouteData {
  static ProfileRouteData _fromState(GoRouterState state) =>
      const ProfileRouteData();

  @override
  String get location => GoRouteData.$location('/profile');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

mixin _$NotificationRouteData on GoRouteData {
  static NotificationRouteData _fromState(GoRouterState state) =>
      const NotificationRouteData();

  @override
  String get location => GoRouteData.$location('/notification');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $yourTendersRouteData => GoRouteData.$route(
  path: '/your-tenders',

  factory: _$YourTendersRouteData._fromState,
);

mixin _$YourTendersRouteData on GoRouteData {
  static YourTendersRouteData _fromState(GoRouterState state) =>
      const YourTendersRouteData();

  @override
  String get location => GoRouteData.$location('/your-tenders');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $finalCompletionOfDocumentsRouteData => GoRouteData.$route(
  path: '/final_completion_of_documents',

  factory: _$FinalCompletionOfDocumentsRouteData._fromState,
);

mixin _$FinalCompletionOfDocumentsRouteData on GoRouteData {
  static FinalCompletionOfDocumentsRouteData _fromState(GoRouterState state) =>
      const FinalCompletionOfDocumentsRouteData();

  @override
  String get location =>
      GoRouteData.$location('/final_completion_of_documents');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $likedTendersRouteData => GoRouteData.$route(
  path: '/like-tenders',

  factory: _$LikedTendersRouteData._fromState,
);

mixin _$LikedTendersRouteData on GoRouteData {
  static LikedTendersRouteData _fromState(GoRouterState state) =>
      const LikedTendersRouteData();

  @override
  String get location => GoRouteData.$location('/like-tenders');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $completionOfDocumentsMobileRouteData => GoRouteData.$route(
  path: '/completion-of-documents',

  factory: _$CompletionOfDocumentsMobileRouteData._fromState,
);

mixin _$CompletionOfDocumentsMobileRouteData on GoRouteData {
  static CompletionOfDocumentsMobileRouteData _fromState(GoRouterState state) =>
      const CompletionOfDocumentsMobileRouteData();

  @override
  String get location => GoRouteData.$location('/completion-of-documents');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $tenderDetailRouteData => GoRouteData.$route(
  path: '/tender-detail',

  factory: _$TenderDetailRouteData._fromState,
);

mixin _$TenderDetailRouteData on GoRouteData {
  static TenderDetailRouteData _fromState(GoRouterState state) =>
      TenderDetailRouteData(tenderId: state.uri.queryParameters['tender-id']!);

  TenderDetailRouteData get _self => this as TenderDetailRouteData;

  @override
  String get location => GoRouteData.$location(
    '/tender-detail',
    queryParams: {'tender-id': _self.tenderId},
  );

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $forgotPasswordRouteData => GoRouteData.$route(
  path: '/forgot-password',

  factory: _$ForgotPasswordRouteData._fromState,
);

mixin _$ForgotPasswordRouteData on GoRouteData {
  static ForgotPasswordRouteData _fromState(GoRouterState state) =>
      const ForgotPasswordRouteData();

  @override
  String get location => GoRouteData.$location('/forgot-password');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $forgotPasswordOtpRouteData => GoRouteData.$route(
  path: '/forgot-password-otp',

  factory: _$ForgotPasswordOtpRouteData._fromState,
);

mixin _$ForgotPasswordOtpRouteData on GoRouteData {
  static ForgotPasswordOtpRouteData _fromState(GoRouterState state) =>
      const ForgotPasswordOtpRouteData();

  @override
  String get location => GoRouteData.$location('/forgot-password-otp');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}

RouteBase get $forgotPasswordCreateRouteData => GoRouteData.$route(
  path: '/forgot-password-create',

  factory: _$ForgotPasswordCreateRouteData._fromState,
);

mixin _$ForgotPasswordCreateRouteData on GoRouteData {
  static ForgotPasswordCreateRouteData _fromState(GoRouterState state) =>
      const ForgotPasswordCreateRouteData();

  @override
  String get location => GoRouteData.$location('/forgot-password-create');

  @override
  void go(BuildContext context) => context.go(location);

  @override
  Future<T?> push<T>(BuildContext context) => context.push<T>(location);

  @override
  void pushReplacement(BuildContext context) =>
      context.pushReplacement(location);

  @override
  void replace(BuildContext context) => context.replace(location);
}
