import 'package:get/get_navigation/src/routes/get_route.dart';
import '../screen/game/game_cards/game_card_screen.dart';
import '../screen/login/login_screen.dart';
import '../screen/main_tab_screen/main_tab_screen.dart';
import '../screen/notification/notification_screen.dart';
import '../screen/onboarding/onboarding_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/transaction/history/transaction_history_detail_screen.dart';
import '../screen/transaction/transaction_detail_screen.dart';
import '../screen/voucher/detail/voucher_detail_screen.dart';
import '../screen/voucher/voucher_list/voucher_list_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 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';

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

  static List<GetPage> _pages() {
    return [
      GetPage(name: splashScreen, page: () => const SplashScreen()),
      GetPage(name: onboardingScreen, page: () => const OnboardingScreen()),
      GetPage(name: loginScreen, page: () => const LoginScreen()),
      GetPage(name: mainScreen, page: () => const MainTabScreen()),
      GetPage(name: settingScreen, page: () => const SettingScreen()),
      GetPage(name: vouchersScreen, page: () => VoucherListScreen(),),
      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(),),
    ];
  }
}