// dart format width=80
// GENERATED CODE - DO NOT MODIFY BY HAND

// **************************************************************************
// AutoRouterGenerator
// **************************************************************************

// ignore_for_file: type=lint
// coverage:ignore-file

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:auto_route/auto_route.dart' as _i20;
import 'package:enaklo/presentation/pages/auth/create_password/create_password_page.dart'
    as _i1;
import 'package:enaklo/presentation/pages/auth/login/login_page.dart' as _i5;
import 'package:enaklo/presentation/pages/auth/otp/otp_page.dart' as _i11;
import 'package:enaklo/presentation/pages/auth/password/password_page.dart'
    as _i12;
import 'package:enaklo/presentation/pages/auth/pin/pin_page.dart' as _i13;
import 'package:enaklo/presentation/pages/auth/register/register_page.dart'
    as _i16;
import 'package:enaklo/presentation/pages/draw/draw_page.dart' as _i3;
import 'package:enaklo/presentation/pages/draw/pages/draw_detail/draw_detail_page.dart'
    as _i2;
import 'package:enaklo/presentation/pages/main/main_page.dart' as _i6;
import 'package:enaklo/presentation/pages/main/pages/home/home_page.dart'
    as _i4;
import 'package:enaklo/presentation/pages/main/pages/order/order_page.dart'
    as _i10;
import 'package:enaklo/presentation/pages/main/pages/profile/profile_page.dart'
    as _i15;
import 'package:enaklo/presentation/pages/main/pages/voucher/voucher_page.dart'
    as _i19;
import 'package:enaklo/presentation/pages/merchant/merchant_page.dart' as _i8;
import 'package:enaklo/presentation/pages/merchant/pages/merchant_detail/merchant_detail_page.dart'
    as _i7;
import 'package:enaklo/presentation/pages/onboarding/onboarding_page.dart'
    as _i9;
import 'package:enaklo/presentation/pages/reward/pages/product_redeem/product_redeem_page.dart'
    as _i14;
import 'package:enaklo/presentation/pages/reward/reward_page.dart' as _i17;
import 'package:enaklo/presentation/pages/splash/splash_page.dart' as _i18;
import 'package:flutter/material.dart' as _i21;

/// generated route for
/// [_i1.CreatePasswordPage]
class CreatePasswordRoute extends _i20.PageRouteInfo<void> {
  const CreatePasswordRoute({List<_i20.PageRouteInfo>? children})
    : super(CreatePasswordRoute.name, initialChildren: children);

  static const String name = 'CreatePasswordRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i1.CreatePasswordPage();
    },
  );
}

/// generated route for
/// [_i2.DrawDetailPage]
class DrawDetailRoute extends _i20.PageRouteInfo<DrawDetailRouteArgs> {
  DrawDetailRoute({
    _i21.Key? key,
    required _i3.DrawEvent drawEvent,
    List<_i20.PageRouteInfo>? children,
  }) : super(
         DrawDetailRoute.name,
         args: DrawDetailRouteArgs(key: key, drawEvent: drawEvent),
         initialChildren: children,
       );

  static const String name = 'DrawDetailRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      final args = data.argsAs<DrawDetailRouteArgs>();
      return _i2.DrawDetailPage(key: args.key, drawEvent: args.drawEvent);
    },
  );
}

class DrawDetailRouteArgs {
  const DrawDetailRouteArgs({this.key, required this.drawEvent});

  final _i21.Key? key;

  final _i3.DrawEvent drawEvent;

  @override
  String toString() {
    return 'DrawDetailRouteArgs{key: $key, drawEvent: $drawEvent}';
  }
}

/// generated route for
/// [_i3.DrawPage]
class DrawRoute extends _i20.PageRouteInfo<void> {
  const DrawRoute({List<_i20.PageRouteInfo>? children})
    : super(DrawRoute.name, initialChildren: children);

  static const String name = 'DrawRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i3.DrawPage();
    },
  );
}

/// generated route for
/// [_i4.HomePage]
class HomeRoute extends _i20.PageRouteInfo<void> {
  const HomeRoute({List<_i20.PageRouteInfo>? children})
    : super(HomeRoute.name, initialChildren: children);

  static const String name = 'HomeRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i4.HomePage();
    },
  );
}

/// generated route for
/// [_i5.LoginPage]
class LoginRoute extends _i20.PageRouteInfo<void> {
  const LoginRoute({List<_i20.PageRouteInfo>? children})
    : super(LoginRoute.name, initialChildren: children);

  static const String name = 'LoginRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i5.LoginPage();
    },
  );
}

/// generated route for
/// [_i6.MainPage]
class MainRoute extends _i20.PageRouteInfo<void> {
  const MainRoute({List<_i20.PageRouteInfo>? children})
    : super(MainRoute.name, initialChildren: children);

  static const String name = 'MainRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i6.MainPage();
    },
  );
}

/// generated route for
/// [_i7.MerchantDetailPage]
class MerchantDetailRoute extends _i20.PageRouteInfo<MerchantDetailRouteArgs> {
  MerchantDetailRoute({
    _i21.Key? key,
    required _i8.MerchantModel merchant,
    List<_i20.PageRouteInfo>? children,
  }) : super(
         MerchantDetailRoute.name,
         args: MerchantDetailRouteArgs(key: key, merchant: merchant),
         initialChildren: children,
       );

  static const String name = 'MerchantDetailRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      final args = data.argsAs<MerchantDetailRouteArgs>();
      return _i7.MerchantDetailPage(key: args.key, merchant: args.merchant);
    },
  );
}

class MerchantDetailRouteArgs {
  const MerchantDetailRouteArgs({this.key, required this.merchant});

  final _i21.Key? key;

  final _i8.MerchantModel merchant;

  @override
  String toString() {
    return 'MerchantDetailRouteArgs{key: $key, merchant: $merchant}';
  }
}

/// generated route for
/// [_i8.MerchantPage]
class MerchantRoute extends _i20.PageRouteInfo<void> {
  const MerchantRoute({List<_i20.PageRouteInfo>? children})
    : super(MerchantRoute.name, initialChildren: children);

  static const String name = 'MerchantRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i8.MerchantPage();
    },
  );
}

/// generated route for
/// [_i9.OnboardingPage]
class OnboardingRoute extends _i20.PageRouteInfo<void> {
  const OnboardingRoute({List<_i20.PageRouteInfo>? children})
    : super(OnboardingRoute.name, initialChildren: children);

  static const String name = 'OnboardingRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i9.OnboardingPage();
    },
  );
}

/// generated route for
/// [_i10.OrderPage]
class OrderRoute extends _i20.PageRouteInfo<void> {
  const OrderRoute({List<_i20.PageRouteInfo>? children})
    : super(OrderRoute.name, initialChildren: children);

  static const String name = 'OrderRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i10.OrderPage();
    },
  );
}

/// generated route for
/// [_i11.OtpPage]
class OtpRoute extends _i20.PageRouteInfo<void> {
  const OtpRoute({List<_i20.PageRouteInfo>? children})
    : super(OtpRoute.name, initialChildren: children);

  static const String name = 'OtpRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i11.OtpPage();
    },
  );
}

/// generated route for
/// [_i12.PasswordPage]
class PasswordRoute extends _i20.PageRouteInfo<void> {
  const PasswordRoute({List<_i20.PageRouteInfo>? children})
    : super(PasswordRoute.name, initialChildren: children);

  static const String name = 'PasswordRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i12.PasswordPage();
    },
  );
}

/// generated route for
/// [_i13.PinPage]
class PinRoute extends _i20.PageRouteInfo<PinRouteArgs> {
  PinRoute({
    _i21.Key? key,
    bool isCreatePin = true,
    String? title,
    List<_i20.PageRouteInfo>? children,
  }) : super(
         PinRoute.name,
         args: PinRouteArgs(key: key, isCreatePin: isCreatePin, title: title),
         initialChildren: children,
       );

  static const String name = 'PinRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      final args = data.argsAs<PinRouteArgs>(
        orElse: () => const PinRouteArgs(),
      );
      return _i13.PinPage(
        key: args.key,
        isCreatePin: args.isCreatePin,
        title: args.title,
      );
    },
  );
}

class PinRouteArgs {
  const PinRouteArgs({this.key, this.isCreatePin = true, this.title});

  final _i21.Key? key;

  final bool isCreatePin;

  final String? title;

  @override
  String toString() {
    return 'PinRouteArgs{key: $key, isCreatePin: $isCreatePin, title: $title}';
  }
}

/// generated route for
/// [_i14.ProductRedeemPage]
class ProductRedeemRoute extends _i20.PageRouteInfo<ProductRedeemRouteArgs> {
  ProductRedeemRoute({
    _i21.Key? key,
    required _i17.Product product,
    required _i17.Merchant merchant,
    required _i17.PointCard pointCard,
    List<_i20.PageRouteInfo>? children,
  }) : super(
         ProductRedeemRoute.name,
         args: ProductRedeemRouteArgs(
           key: key,
           product: product,
           merchant: merchant,
           pointCard: pointCard,
         ),
         initialChildren: children,
       );

  static const String name = 'ProductRedeemRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      final args = data.argsAs<ProductRedeemRouteArgs>();
      return _i14.ProductRedeemPage(
        key: args.key,
        product: args.product,
        merchant: args.merchant,
        pointCard: args.pointCard,
      );
    },
  );
}

class ProductRedeemRouteArgs {
  const ProductRedeemRouteArgs({
    this.key,
    required this.product,
    required this.merchant,
    required this.pointCard,
  });

  final _i21.Key? key;

  final _i17.Product product;

  final _i17.Merchant merchant;

  final _i17.PointCard pointCard;

  @override
  String toString() {
    return 'ProductRedeemRouteArgs{key: $key, product: $product, merchant: $merchant, pointCard: $pointCard}';
  }
}

/// generated route for
/// [_i15.ProfilePage]
class ProfileRoute extends _i20.PageRouteInfo<void> {
  const ProfileRoute({List<_i20.PageRouteInfo>? children})
    : super(ProfileRoute.name, initialChildren: children);

  static const String name = 'ProfileRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i15.ProfilePage();
    },
  );
}

/// generated route for
/// [_i16.RegisterPage]
class RegisterRoute extends _i20.PageRouteInfo<void> {
  const RegisterRoute({List<_i20.PageRouteInfo>? children})
    : super(RegisterRoute.name, initialChildren: children);

  static const String name = 'RegisterRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i16.RegisterPage();
    },
  );
}

/// generated route for
/// [_i17.RewardPage]
class RewardRoute extends _i20.PageRouteInfo<void> {
  const RewardRoute({List<_i20.PageRouteInfo>? children})
    : super(RewardRoute.name, initialChildren: children);

  static const String name = 'RewardRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i17.RewardPage();
    },
  );
}

/// generated route for
/// [_i18.SplashPage]
class SplashRoute extends _i20.PageRouteInfo<void> {
  const SplashRoute({List<_i20.PageRouteInfo>? children})
    : super(SplashRoute.name, initialChildren: children);

  static const String name = 'SplashRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i18.SplashPage();
    },
  );
}

/// generated route for
/// [_i19.VoucherPage]
class VoucherRoute extends _i20.PageRouteInfo<void> {
  const VoucherRoute({List<_i20.PageRouteInfo>? children})
    : super(VoucherRoute.name, initialChildren: children);

  static const String name = 'VoucherRoute';

  static _i20.PageInfo page = _i20.PageInfo(
    name,
    builder: (data) {
      return const _i19.VoucherPage();
    },
  );
}
