// 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 'dart:ui' as _i11;

import 'package:auto_route/auto_route.dart' as _i9;
import 'package:flutter/cupertino.dart' as _i13;
import 'package:flutter/material.dart' as _i12;
import 'package:mnemo_cards/features/tests/test_page.dart' as _i8;
import 'package:mnemo_cards/main.dart' as _i6;
import 'package:mnemo_cards/pages/auth_page.dart' as _i1;
import 'package:mnemo_cards/pages/explore_page.dart' as _i4;
import 'package:mnemo_cards/pages/home_page.dart' as _i5;
import 'package:mnemo_cards/pages/profile_page.dart' as _i7;
import 'package:mnemo_cards/widgets/card_game/card_game_page.dart' as _i2;
import 'package:mnemo_cards/widgets/card_pack/card_pack_page.dart' as _i3;
import 'package:mnemo_cards_common/mnemo_cards_common.dart' as _i10;

abstract class $AppRouter extends _i9.RootStackRouter {
  $AppRouter({super.navigatorKey});

  @override
  final Map<String, _i9.PageFactory> pagesMap = {
    AuthPage.name: (routeData) {
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i1.AuthPage(),
      );
    },
    CardGamePage.name: (routeData) {
      final args = routeData.argsAs<CardGamePageArgs>();
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i2.CardGamePage(
          cards: args.cards,
          color: args.color,
          startCardId: args.startCardId,
          infinite: args.infinite,
          shuffle: args.shuffle,
          key: args.key,
        ),
      );
    },
    CardPackPage.name: (routeData) {
      final args = routeData.argsAs<CardPackPageArgs>();
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i3.CardPackPage(
          args.previewDto,
          key: args.key,
        ),
      );
    },
    ExplorePage.name: (routeData) {
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i4.ExplorePage(),
      );
    },
    HomePage.name: (routeData) {
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i5.HomePage(),
      );
    },
    MainTabsPage.name: (routeData) {
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: const _i6.MainTabsPage(),
      );
    },
    ProfilePage.name: (routeData) {
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i7.ProfilePage(),
      );
    },
    TestPage.name: (routeData) {
      final args = routeData.argsAs<TestPageArgs>();
      return _i9.AutoRoutePage<dynamic>(
        routeData: routeData,
        child: _i8.TestPage(args.testId),
      );
    },
  };
}

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

  static const String name = 'AuthPage';

  static const _i9.PageInfo<void> page = _i9.PageInfo<void>(name);
}

/// generated route for
/// [_i2.CardGamePage]
class CardGamePage extends _i9.PageRouteInfo<CardGamePageArgs> {
  CardGamePage({
    required List<_i10.GameCardDto> cards,
    required _i11.Color? color,
    int? startCardId,
    bool infinite = false,
    bool shuffle = true,
    _i12.Key? key,
    List<_i9.PageRouteInfo>? children,
  }) : super(
          CardGamePage.name,
          args: CardGamePageArgs(
            cards: cards,
            color: color,
            startCardId: startCardId,
            infinite: infinite,
            shuffle: shuffle,
            key: key,
          ),
          initialChildren: children,
        );

  static const String name = 'CardGamePage';

  static const _i9.PageInfo<CardGamePageArgs> page =
      _i9.PageInfo<CardGamePageArgs>(name);
}

class CardGamePageArgs {
  const CardGamePageArgs({
    required this.cards,
    required this.color,
    this.startCardId,
    this.infinite = false,
    this.shuffle = true,
    this.key,
  });

  final List<_i10.GameCardDto> cards;

  final _i11.Color? color;

  final int? startCardId;

  final bool infinite;

  final bool shuffle;

  final _i12.Key? key;

  @override
  String toString() {
    return 'CardGamePageArgs{cards: $cards, color: $color, startCardId: $startCardId, infinite: $infinite, shuffle: $shuffle, key: $key}';
  }
}

/// generated route for
/// [_i3.CardPackPage]
class CardPackPage extends _i9.PageRouteInfo<CardPackPageArgs> {
  CardPackPage({
    required _i10.CardPackPreviewDto previewDto,
    _i13.Key? key,
    List<_i9.PageRouteInfo>? children,
  }) : super(
          CardPackPage.name,
          args: CardPackPageArgs(
            previewDto: previewDto,
            key: key,
          ),
          initialChildren: children,
        );

  static const String name = 'CardPackPage';

  static const _i9.PageInfo<CardPackPageArgs> page =
      _i9.PageInfo<CardPackPageArgs>(name);
}

class CardPackPageArgs {
  const CardPackPageArgs({
    required this.previewDto,
    this.key,
  });

  final _i10.CardPackPreviewDto previewDto;

  final _i13.Key? key;

  @override
  String toString() {
    return 'CardPackPageArgs{previewDto: $previewDto, key: $key}';
  }
}

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

  static const String name = 'ExplorePage';

  static const _i9.PageInfo<void> page = _i9.PageInfo<void>(name);
}

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

  static const String name = 'HomePage';

  static const _i9.PageInfo<void> page = _i9.PageInfo<void>(name);
}

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

  static const String name = 'MainTabsPage';

  static const _i9.PageInfo<void> page = _i9.PageInfo<void>(name);
}

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

  static const String name = 'ProfilePage';

  static const _i9.PageInfo<void> page = _i9.PageInfo<void>(name);
}

/// generated route for
/// [_i8.TestPage]
class TestPage extends _i9.PageRouteInfo<TestPageArgs> {
  TestPage({
    required String testId,
    List<_i9.PageRouteInfo>? children,
  }) : super(
          TestPage.name,
          args: TestPageArgs(testId: testId),
          initialChildren: children,
        );

  static const String name = 'TestPage';

  static const _i9.PageInfo<TestPageArgs> page =
      _i9.PageInfo<TestPageArgs>(name);
}

class TestPageArgs {
  const TestPageArgs({required this.testId});

  final String testId;

  @override
  String toString() {
    return 'TestPageArgs{testId: $testId}';
  }
}
