import 'package:get/get.dart';
import 'package:mypoint_flutter_app/screen/news/news_list_screen.dart';
import 'package:mypoint_flutter_app/screen/qr_code/qr_code_screen.dart';
import '../screen/achievement/achievement_list_screen.dart';
import '../screen/affiliate/affiliate_tab_screen.dart';
import '../screen/affiliate_brand_detail/affiliate_brand_detail_screen.dart';
import '../screen/affiliate_brand_detail/affiliate_brand_list_screen.dart';
import '../screen/affiliate_brand_detail/affiliate_category_grid_screen.dart';
import '../screen/bank_account_manager/bank_account_manager_screen.dart';
import '../screen/campaign7day/campaign_7day_screen.dart';
import '../screen/contacts/contacts_list_screen.dart';
import '../screen/daily_checkin/daily_checkin_screen.dart';
import '../screen/data_network_service/data_network_service_screen.dart';
import '../screen/device_manager/device_manager_screen.dart';
import '../screen/electric_payment/electric_payment_history_screen.dart';
import '../screen/electric_payment/electric_payment_screen.dart';
import '../screen/flash_sale/flash_sale_screen.dart';
import '../screen/game/game_cards/game_card_screen.dart';
import '../screen/game/game_tab_screen.dart';
import '../screen/health_book/health_book_card_detail.dart';
import '../screen/health_book/health_book_screen.dart';
import '../screen/history_point/history_point_screen.dart';
import '../screen/history_point_cashback/history_point_cashback_screen.dart';
import '../screen/interested_categories/interestied_categories_screen.dart';
import '../screen/invite_friend_campaign/invite_friend_campaign_screen.dart';
import '../screen/location_address/location_address_screen.dart';
import '../screen/login/login_screen.dart';
import '../screen/main_tab_screen/main_tab_screen.dart';
import '../screen/membership/membership_screen.dart';
import '../screen/mobile_card/product_mobile_card_screen.dart';
import '../screen/notification/notification_detail_screen.dart';
import '../screen/notification/notification_screen.dart';
import '../screen/onboarding/onboarding_screen.dart';
import '../screen/order_menu/order_menu_screen.dart';
import '../screen/pageDetail/campaign_detail_screen.dart';
import '../screen/personal/personal_edit_screen.dart';
import '../screen/quiz_campaign/quiz_campaign_screen.dart';
import '../screen/register_campaign/register_form_input_screen.dart';
import '../screen/setting/setting_screen.dart';
import '../screen/splash/splash_screen.dart';
import '../screen/support/support_screen.dart';
import '../screen/topup/topup_screen.dart';
import '../screen/traffic_service/traffic_service_detail_screen.dart';
import '../screen/traffic_service/traffic_service_screen.dart';
import '../screen/transaction/history/transaction_history_detail_screen.dart';
import '../screen/transaction/transaction_detail_screen.dart';
import '../screen/transaction/transactions_history_screen.dart';
import '../screen/voucher/detail/voucher_detail_screen.dart';
import '../screen/voucher/mobile_card/my_mobile_card_detail_widget.dart';
import '../screen/voucher/mobile_card/my_mobile_card_list_widget.dart';
import '../screen/voucher/my_voucher/my_product_list_widget.dart';
import '../screen/voucher/voucher_list/voucher_list_screen.dart';
import '../screen/vplay_game_center/vplay_game_center_screen.dart';
import '../screen/webview/payment_web_view_screen.dart';
import '../screen/webview/web_view_screen.dart';
const splashScreen = '/splash';
const onboardingScreen = '/onboarding';
const loginScreen = '/login';
const mainScreen = '/main';
const settingScreen = '/setting';
const flashSaleScreen = '/flashSale';
const vouchersScreen = '/vouchers';
const voucherDetailScreen = '/voucherDetail';
const gameCardScreen = '/gameCardScreen';
const registerFormInputScreen = '/registerFormInputScreen';
const transactionDetailScreen = '/transactionDetailScreen';
const baseWebViewScreen = '/baseWebViewScreen';
const paymentWebViewScreen = '/paymentWebViewScreen';
const transactionHistoryDetailScreen = '/transactionHistoryDetailScreen';
const supportScreen = '/supportScreen';
const notificationScreen = '/notificationScreen';
const campaignDetailScreen = '/campaignDetailScreen';
const newsListScreen = '/newsListScreen';
const achievementListScreen = '/achievementListScreen';
const vplayGameCenterScreen = '/vplayGameCenterScreen';
const myVoucherListScreen = '/myVoucherListScreen';
const personalEditScreen = '/personalEditScreen';
const orderMenuScreen = '/orderMenuScreen';
const locationAddressScreen = '/locationAddressScreen';
const membershipScreen = '/membershipScreen';
const phoneTopUpScreen = '/phoneTopUpScreen';
const productMobileCardScreen = '/productMobileCardScreen';
const dataNetworkServiceScreen = '/dataNetworkServiceScreen';
const affiliateTabScreen = '/affiliateTabScreen';
const gameTabScreen = '/gameTabScreen';
const historyPointCashBackScreen = '/historyPointCashBackScreen';
const affiliateBrandDetailScreen = '/affiliateBrandDetailScreen';
const affiliateBrandListScreen = '/affiliateBrandListScreen';
const affiliateCategoryGridScreen = '/affiliateCategoryGridScreen';
const inviteFriendCampaignScreen = '/inviteFriendCampaignScreen';
const contactsListScreen = '/contactsListScreen';
const dailyCheckInScreen = '/dailyCheckInScreen';
const transactionHistoryScreen = '/transactionHistoryScreen';
const electricPaymentScreen = '/electricPaymentScreen';
const electricPaymentHistoryScreen = '/electricPaymentHistoryScreen';
const trafficServiceScreen = '/trafficServiceScreen';
const trafficServiceDetailScreen = '/trafficServiceDetailScreen';
const healthBookScreen = '/healthBookScreen';
const campaignSevenDayScreen = '/campaignSevenDayScreen';
const surveyQuestionScreen = '/surveyQuestionScreen';
const deviceManagerScreen = '/deviceManagerScreen';
const interestCategoriesScreen = '/interestCategoriesScreen';
const myMobileCardListScreen = '/myMobileCardListScreen';
const bankAccountManagerScreen = '/bankAccountManagerScreen';
const historyPointScreen = '/historyPointScreen';
const qrCodeScreen = '/qrCodeScreen';
const myMobileCardDetailScreen = '/myMobileCardDetailScreen';
const healthBookCardDetail = '/healthBookCardDetail';
const notificationDetailScreen = '/notificationDetailScreen';

class RouterPage {
  static List<GetPage> pages() {
    List<GetPage> list = [];
    list.addAll(_pages());
    return list;
  }

  static List<GetPage> _pages() {
    return [
      GetPage(name: splashScreen, page: () => SplashScreen()),
      GetPage(name: onboardingScreen, page: () => OnboardingScreen()),
      GetPage(name: loginScreen, page: () => LoginScreen()),
      GetPage(
        name: mainScreen,
        page: () => MainTabScreen(),
        participatesInRootNavigator: true,
        fullscreenDialog: true,
        binding: BindingsBuilder(() {}),
      ),
      GetPage(name: settingScreen, page: () => SettingScreen()),
      GetPage(name: vouchersScreen, page: () => VoucherListScreen()),
      GetPage(name: flashSaleScreen, page: () => const FlashSaleScreen()),
      GetPage(name: voucherDetailScreen, page: () => VoucherDetailScreen()),
      GetPage(name: gameCardScreen, page: () => GameCardScreen()),
      GetPage(name: registerFormInputScreen, page: () => RegisterFormInputScreen()),
      GetPage(name: transactionDetailScreen, page: () => TransactionDetailScreen()),
      GetPage(name: baseWebViewScreen, page: () => BaseWebViewScreen()),
      GetPage(name: paymentWebViewScreen, page: () => PaymentWebViewScreen()),
      GetPage(name: transactionHistoryDetailScreen, page: () => TransactionHistoryDetailScreen()),
      GetPage(name: supportScreen, page: () => SupportScreen()),
      GetPage(name: notificationScreen, page: () => NotificationScreen()),
      GetPage(name: campaignDetailScreen, page: () => CampaignDetailScreen()),
      GetPage(name: newsListScreen, page: () => NewsListScreen()),
      GetPage(name: achievementListScreen, page: () => AchievementListScreen()),
      GetPage(name: vplayGameCenterScreen, page: () => VplayGameCenterScreen()),
      GetPage(name: myVoucherListScreen, page: () => MyVoucherListScreen()),
      GetPage(name: personalEditScreen, page: () => PersonalEditScreen()),
      GetPage(name: orderMenuScreen, page: () => OrderMenuScreen()),
      GetPage(name: locationAddressScreen, page: () => LocationAddressScreen()),
      GetPage(name: membershipScreen, page: () => MembershipScreen()),
      GetPage(name: phoneTopUpScreen, page: () => PhoneTopUpScreen()),
      GetPage(name: productMobileCardScreen, page: () => ProductMobileCardScreen()),
      GetPage(name: dataNetworkServiceScreen, page: () => DataNetworkServiceScreen()),
      GetPage(name: affiliateTabScreen, page: () => AffiliateTabScreen()),
      GetPage(name: gameTabScreen, page: () => GameTabScreen()),
      GetPage(name: historyPointCashBackScreen, page: () => HistoryPointCashBackScreen()),
      GetPage(name: affiliateBrandDetailScreen, page: () => AffiliateBrandDetailScreen()),
      GetPage(name: affiliateBrandListScreen, page: () => AffiliateBrandListScreen()),
      GetPage(name: affiliateCategoryGridScreen, page: () => AffiliateCategoryGridScreen()),
      GetPage(name: inviteFriendCampaignScreen, page: () => InviteFriendCampaignScreen()),
      GetPage(name: contactsListScreen, page: () => ContactsListScreen()),
      GetPage(name: dailyCheckInScreen, page: () => DailyCheckInScreen()),
      GetPage(name: transactionHistoryScreen, page: () => TransactionHistoryScreen()),
      GetPage(name: electricPaymentScreen, page: () => ElectricPaymentScreen()),
      GetPage(name: electricPaymentHistoryScreen, page: () => ElectricPaymentHistoryScreen()),
      GetPage(name: trafficServiceScreen, page: () => TrafficServiceScreen()),
      GetPage(name: trafficServiceDetailScreen, page: () => TrafficServiceDetailScreen()),
      GetPage(name: campaignSevenDayScreen, page: () => Campaign7DayScreen()),
      GetPage(name: surveyQuestionScreen, page: () => SurveyQuestionScreen()),
      GetPage(name: deviceManagerScreen, page: () => DeviceManagerScreen()),
      GetPage(name: myMobileCardListScreen, page: () => MyMobileCardListScreen()),
      GetPage(name: interestCategoriesScreen, page: () => InterestCategoriesScreen()),
      GetPage(name: bankAccountManagerScreen, page: () => BankAccountManagerScreen()),
      GetPage(name: historyPointScreen, page: () => HistoryPointScreen()),
      GetPage(name: qrCodeScreen, page: () => QRCodeScreen()),
      GetPage(name: myMobileCardDetailScreen, page: () => MyMobileCardDetailScreen()),
      GetPage(name: healthBookScreen, page: () => HealthBookScreen()),
      GetPage(name: healthBookCardDetail, page: () => HealthBookCardDetail()),
      GetPage(name: notificationDetailScreen, page: () => NotificationDetailScreen()),
    ];
  }
}