import 'package:auto_route/auto_route.dart';
import 'package:cpt_services/modules/services/service_order_confirm/service_order_confirm_vm.dart';
import 'package:flutter/material.dart';
import 'package:router/ext/auto_router_extensions.dart';
import 'package:router/path/router_path.dart';

import '../../modules/services/repair_homeService/home_service_page.dart';
import '../../modules/services/services_main_page.dart';

import '../../modules/services/homeService/home_service_page.dart';
import '../../modules/services/inProgress/in_progress_page.dart';
import '../../modules/services/history/history_page.dart';
import '../../modules/services/service_clean_detail/service_clean_detail_page.dart';
import '../../modules/services/service_evaluate_create/service_evaluate_create_page.dart';
import '../../modules/services/service_evaluate_create_success/evaluate_create_success_page.dart';
import '../../modules/services/service_evaluate_list/service_evaluate_list_page.dart';
import '../../modules/services/service_order_confirm/service_order_confirm_page.dart';
import '../../modules/services/service_pay_success/service_pay_success_page.dart';
import '../../modules/services/service_repair_detail/service_repair_detail_page.dart';
import '../../modules/services/services_page.dart';
import '../../modules/services/clean_order_detail/clean_order_detail_page.dart';
import '../../modules/services/clean_order_cancel_success/clean_order_cancel_success_page.dart';


import '../../modules/services/repair/repair_page.dart';
import '../../modules/services/repair_history/history_page.dart';
import '../../modules/services/repair_homeService/home_service_page.dart';
import '../../modules/services/repair_inProgress/in_progress_page.dart';


part 'services_page_router.gr.dart';

/*\
 * services模块的路由
 */
@AutoRouterConfig(replaceInRouteName: 'Page|Screen,PageRoute')
class ServicesPageRouter extends _$ServicesPageRouter {
  @override
  List<AutoRoute> get routes => [
    CustomRoute(
      page: ServicesMainPageRoute.page,
      path: RouterPath.servicesMain,
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
        page: RepairPageRoute.page,
        path: RouterPath.repairServices,
        transitionsBuilder: applySlideTransition,
        children: [
          CustomRoute(
              page: RepairHomeServicePageRoute.page,
              path: RouterPath.repairServicesHomeService,
              transitionsBuilder: applySlideTransition
          ),
          CustomRoute(
            page: RepairInProgressPageRoute.page,
            path: RouterPath.repairServicesInProgress,
            transitionsBuilder: applySlideTransition,
          ),
          CustomRoute(
            page: RepairHistoryPageRoute.page,
            path: RouterPath.repairServicesHistory,
            transitionsBuilder: applySlideTransition,
          ),
        ]
    ),
    CustomRoute(
        page: ServicesPageRoute.page,
        path: RouterPath.services,
        transitionsBuilder: applySlideTransition,
        children: [
          CustomRoute(
              page: HomeServicePageRoute.page,
              path: RouterPath.servicesHomeService,
              transitionsBuilder: applySlideTransition
          ),
          CustomRoute(
              page: InProgressPageRoute.page,
              path: RouterPath.servicesInProgress,
              transitionsBuilder: applySlideTransition,
          ),
          CustomRoute(
            page: HistoryPageRoute.page,
            path: RouterPath.servicesHistory,
            transitionsBuilder: applySlideTransition,
          ),
        ]
    ),
    CustomRoute(
      page: ServiceCleanDetailPageRoute.page,
      path: "${RouterPath.servicesCleanDetail}:id/:serviceTypeCode",
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: ServiceRepairDetailPageRoute.page,
      path: "${RouterPath.servicesRepairDetail}:id/:serviceTypeCode",
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: ServiceOrderConfirmPageRoute.page,
      path: "${RouterPath.servicesOrderConfirm}:id/:serviceTypeCode",
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: CleanOrderDetailPageRoute.page,
      path: "${RouterPath.servicesOrderDetail}:id/:serviceTypeCode/:serviceStatusCode",
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: ServicePaySuccessPageRoute.page,
      path: "${RouterPath.servicesOrderPaySuccess}:id/:serviceTypeCode",
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: CleanOrderCancelSuccessPageRoute.page,
      path: RouterPath.servicesOrderCancelSuccess,
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: ServiceEvaluateCreatePageRoute.page,
      path: "${RouterPath.servicesEvaluateCreate}:id/:serviceTypeCode",
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: EvaluateCreateSuccessPageRoute.page,
      path: RouterPath.servicesEvaluateCreateSuccess,
      transitionsBuilder: applySlideTransition,
    ),
    CustomRoute(
      page: ServiceEvaluateListPageRoute.page,
      path: "${RouterPath.servicesEvaluateList}:id/:serviceTypeCode",
      transitionsBuilder: applySlideTransition,
    ),
  ];
}
