// GENERATED CODE - DO NOT MODIFY BY HAND

part of '../../../../presentation/screens/onboarding/onboarding_routes.dart';

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

List<RouteBase> get $appRoutes => [
  $bluetoothPermissionRoute,
  $notificationPermissionRoute,
  $usageTrackingPermissionRoute,
  $internetDisabledRoute,
];

RouteBase get $bluetoothPermissionRoute => GoRouteData.$route(
  path: '/onboarding/bluetooth',
  factory: $BluetoothPermissionRoute._fromState,
);

mixin $BluetoothPermissionRoute on GoRouteData {
  static BluetoothPermissionRoute _fromState(GoRouterState state) =>
      BluetoothPermissionRoute(
        isOnboarding:
            _$convertMapValue(
              'is-onboarding',
              state.uri.queryParameters,
              _$boolConverter,
            ) ??
            false,
      );

  BluetoothPermissionRoute get _self => this as BluetoothPermissionRoute;

  @override
  String get location => GoRouteData.$location(
    '/onboarding/bluetooth',
    queryParams: {
      if (_self.isOnboarding != false)
        'is-onboarding': _self.isOnboarding.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 $notificationPermissionRoute => GoRouteData.$route(
  path: '/onboarding/notification',
  factory: $NotificationPermissionRoute._fromState,
);

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

  @override
  String get location => GoRouteData.$location('/onboarding/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 $usageTrackingPermissionRoute => GoRouteData.$route(
  path: '/onboarding/usage-tracking',
  factory: $UsageTrackingPermissionRoute._fromState,
);

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

  @override
  String get location => GoRouteData.$location('/onboarding/usage-tracking');

  @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 $internetDisabledRoute => GoRouteData.$route(
  path: '/internet-disabled',
  factory: $InternetDisabledRoute._fromState,
);

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

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

  @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);
}