import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:router/ext/auto_router_extensions.dart';
import 'package:router/path/router_path.dart';

import '../../modules/facility/facility_page.dart';
import '../../modules/facility/active/facility_active_screen.dart';
import '../../modules/facility/book/facility_book_screen.dart';
import '../../modules/facility/deposit/facility_deposit_screen.dart';
import '../../modules/facility/history/facility_history_screen.dart';
import '../../modules/detail/facility_detail_page.dart';
import '../../modules/booking/facility_booking_page.dart';
import '../../modules/book_confirm/book_confirm_page.dart';
import '../../modules/location/facility_location_page.dart';
import 'package:domain/entity/facility_index_entity.dart';

part 'facility_page_router.gr.dart';

/*\
 * Facility模块的路由
 */
@AutoRouterConfig(replaceInRouteName: 'Page|Screen,PageRoute')
class FacilityPageRouter extends _$FacilityPageRouter {
  @override
  List<AutoRoute> get routes => [
        CustomRoute(
          page: FacilityPageRoute.page,
          path: RouterPath.facility,
          transitionsBuilder: applySlideTransition,
          children: [
            AutoRoute(page: FacilityBookPageRoute.page, path: 'book'),
            AutoRoute(page: FacilityActivePageRoute.page, path: 'active'),
            AutoRoute(page: FacilityDepositPageRoute.page, path: 'deposit'),
            AutoRoute(page: FacilityHistoryPageRoute.page, path: 'history'),
          ],
        ),
        CustomRoute(page: FacilityDetailPageRoute.page, path: RouterPath.facilityDetail, transitionsBuilder: applySlideTransition),
        CustomRoute(page: FacilityBookingPageRoute.page, path: RouterPath.facilityBook, transitionsBuilder: applySlideTransition),
        CustomRoute(page: BookConfirmPageRoute.page, path: RouterPath.facilityBookConfirm, transitionsBuilder: applySlideTransition),
        CustomRoute(page: FacilityLocationPageRoute.page, path: RouterPath.facilityLocation, transitionsBuilder: applySlideTransition),
      ];
}
