import 'package:get/get.dart';
import 'package:get/get_navigation/src/routes/get_route.dart';
import 'package:gifunavi/pages/changepassword/change_password_page.dart';
import 'package:gifunavi/pages/city/city_page.dart';
import 'package:gifunavi/pages/gps/gps_page.dart';
import 'package:gifunavi/pages/history/history_page.dart';
import 'package:gifunavi/pages/home/home_binding.dart';
import 'package:gifunavi/pages/home/home_page.dart';

import 'package:gifunavi/pages/index/index_page.dart';
import 'package:gifunavi/pages/landing/landing_page.dart';
import 'package:gifunavi/pages/loading/loading_page.dart';
import 'package:gifunavi/pages/login/login_page.dart';
import 'package:gifunavi/pages/progress/progress.dart';
import 'package:gifunavi/pages/register/register_page.dart';
import 'package:gifunavi/pages/search/search_binding.dart';
import 'package:gifunavi/pages/search/search_page.dart';
import 'package:gifunavi/pages/settings/settings_page.dart';
import 'package:gifunavi/pages/settings/settings_binding.dart';
import 'package:gifunavi/pages/debug/debug_page.dart';
import 'package:gifunavi/pages/debug/debug_binding.dart';
import 'package:gifunavi/widgets/permission_handler_screen.dart';

import 'package:gifunavi/pages/team/team_binding.dart';
import 'package:gifunavi/pages/team/team_list_page.dart';
import 'package:gifunavi/pages/team/team_detail_page.dart';
import 'package:gifunavi/pages/team/member_binding.dart';
import 'package:gifunavi/pages/team/member_detail_page.dart';
import 'package:gifunavi/pages/entry/entry_list_page.dart';
import 'package:gifunavi/pages/entry/entry_detail_page.dart';
import 'package:gifunavi/pages/entry/entry_binding.dart';

import 'package:gifunavi/pages/entry/event_entries_page.dart';
import 'package:gifunavi/pages/entry/event_entries_binding.dart';
import 'package:gifunavi/pages/register/user_detail_page.dart';

part 'app_routes.dart';

class AppPages {
  // ignore: constant_identifier_names
  static const INDEX = Routes.INDEX;
  // ignore: constant_identifier_names
  static const SPA = Routes.SPA;
  static const LANDING = Routes.LANDING;
  static const LOGIN = Routes.LOGIN;
  static const REGISTER = Routes.REGISTER;
  static const TRAVEL = Routes.TRAVEL;
  static const LOADING = Routes.LOADING;
  static const DESTINATION_MAP = Routes.DESTINATION_MAP;
  static const HOME = Routes.HOME;
  static const PERMISSION = Routes.PERMISSION;
  //static const PERMISSION = Routes.HOME;
  static const SEARCH = Routes.SEARCH;
  static const MAINPERF = Routes.MAINPERF;
  static const SUBPERF = Routes.SUBPERF;
  static const CITY = Routes.CITY;
  static const CATEGORY = Routes.CATEOGORY;
  static const CHANGE_PASSWORD = Routes.CHANGE_PASSWORD;
  static const CAMERA_PAGE = Routes.CAMERA_PAGE;
  static const PROGRESS = Routes.PROGRESS;
  static const HISTORY = Routes.HISTORY;
  static const GPS = Routes.GPS;
  static const SETTINGS = Routes.SETTINGS;
  static const DEBUG = Routes.DEBUG;
  static const TEAM_LIST = Routes.TEAM_LIST;
  static const TEAM_DETAIL = Routes.TEAM_DETAIL;
  static const MEMBER_DETAIL = Routes.MEMBER_DETAIL;
  static const ENTRY_LIST = Routes.ENTRY_LIST;
  static const ENTRY_DETAIL = Routes.ENTRY_DETAIL;
  static const EVENT_ENTRY = Routes.EVENT_ENTRIES;
  static const USER_DETAILS_EDIT = Routes.USER_DETAILS_EDIT;


  static final routes = [
    GetPage(
      name: Routes.INDEX,
      page: () => const IndexPage(),
      //binding: IndexBinding(),
    ),
    GetPage(
      name: Routes.LANDING,
      page: () => const LandingPage(),
      //binding: SpaBinding(),
    ),
    GetPage(
      name: Routes.LOGIN,
      page: () => const LoginPage(),
      //binding: SpaBinding(),
    ),
    GetPage(
      name: Routes.REGISTER,
      page: () => const RegisterPage(),
      //binding: SpaBinding(),
    ),
    GetPage(
      name: Routes.LOADING,
      page: () => const LoadingPage(),
      //binding: DestinationBinding(),
    ),
    GetPage(
      name: Routes.HOME,
      page: () => const HomePage(),
      binding: HomeBinding(),
    ),
    GetPage(
      name: Routes.PERMISSION,
      page: () =>  const PermissionHandlerScreen(),
    ),
    GetPage(
      name: Routes.SEARCH,
      page: () => SearchPage(),
      binding: SearchBinding(),
    ),
    GetPage(
      name: Routes.CITY,
      page: () => const CityPage(),
    ),
    GetPage(
      name: Routes.CHANGE_PASSWORD,
      page: () => ChangePasswordPage(),
    ),
    GetPage(
      name: Routes.PROGRESS,
      page: () => const ProgressPage(),
    ),
    GetPage(
      name: Routes.HISTORY,
      page: () => const HistoryPage(),
    ),
    GetPage(
      name: Routes.GPS,
      page: () => const GpsPage(),
    ),
    GetPage(
      name: Routes.SETTINGS,
      page: () => const SettingsPage(),
      binding: SettingsBinding(),
    ),
    GetPage(
      name: Routes.DEBUG,
      page: () => const DebugPage(),
      binding: DebugBinding(),
    ),
    GetPage(
      name: Routes.TEAM_LIST,
      page: () => const TeamListPage(),
      binding: TeamBinding(),
    ),
    GetPage(
      name: Routes.TEAM_DETAIL,
      page: () => const TeamDetailPage(),
      binding: TeamBinding(),
    ),
    GetPage(
      name: Routes.MEMBER_DETAIL,
      page: () => const MemberDetailPage(),
      binding: MemberBinding(),
    ),
    GetPage(
      name: Routes.ENTRY_LIST,
      page: () => const EntryListPage(),
      binding: EntryBinding(),
    ),
    GetPage(
      name: Routes.ENTRY_DETAIL,
      page: () => const EntryDetailPage(),
      binding: EntryBinding(),
    ),
    GetPage(
      name: Routes.EVENT_ENTRIES,
      page: () => const EventEntriesPage(),
      binding: EventEntriesBinding(),
    ),
    GetPage(
      name: Routes.USER_DETAILS_EDIT,
      page: () => const UserDetailsEditPage(),
    ),
  ];

}
