import 'package:get/get.dart';
import 'package:terepi_seged/pages/bleutooth/bindings/bluetooth_bindings.dart';
import 'package:terepi_seged/pages/bleutooth/presentation/views/bluetooth_test_view.dart';
import 'package:terepi_seged/pages/contacts/presentation/views/contacts_view.dart';
import 'package:terepi_seged/pages/field_trip/bindings/field_trip_bindings.dart';
import 'package:terepi_seged/pages/field_trip/presentations/views/fiels_trip_view.dart';
import 'package:terepi_seged/pages/home/bindings/home_bindings.dart';
import 'package:terepi_seged/pages/home/presentation/views/home_view.dart';
import 'package:terepi_seged/pages/map/bindings/map_bindings.dart';
import 'package:terepi_seged/pages/map/presentation/views/map_add_point_dialog.dart';
import 'package:terepi_seged/pages/map/presentation/views/map_view.dart';
import 'package:terepi_seged/pages/map_survey/bindings/map_survey_bindings.dart';
import 'package:terepi_seged/pages/map_survey/presentations/views/map_survey_view.dart';
import 'package:terepi_seged/pages/measured_data/bindings/measured_data_bindings.dart';
import 'package:terepi_seged/pages/measured_data/presentation/views/measured_data_view.dart';
import 'package:terepi_seged/pages/navigation/bindings/navigation_bindings.dart';
import 'package:terepi_seged/pages/navigation/presentation/views/navigation_view.dart';
import 'package:terepi_seged/pages/property_list/bindings/property_list_bindings.dart';
import 'package:terepi_seged/pages/property_list/presentations/views/property_list_view.dart';
import 'package:terepi_seged/pages/rtcm_test/bindings/rtcm_test_bindings.dart';
import 'package:terepi_seged/pages/rtcm_test/presentation/views/rtcm_test_view.dart';
import 'package:terepi_seged/pages/settings/presentation/views/settings_view.dart';
import 'package:terepi_seged/pages/socket_test/bindings/socket_test_bindings.dart';
import 'package:terepi_seged/pages/socket_test/presentation/views/socket_test_view.dart';
import 'package:terepi_seged/pages/stakeout_import/presentation/views/stakeout_import_view.dart';
import 'package:terepi_seged/pages/start/bindings/start_page_bindings.dart';
import 'package:terepi_seged/pages/start/presentation/views/start_page.dart';
import 'package:terepi_seged/pages/tracking/bindings/tracking_bindings.dart';
import 'package:terepi_seged/pages/tracking/presentation/views/tracking_view.dart';

import '../pages/map_test/bindings/map_test_bindings.dart';
import '../pages/map_test/presentation/views/map_test_view.dart';

import '../pages/shell/bindings/shell_binding.dart';
import '../pages/shell/presentations/views/shell_view.dart';

part 'app_routes.dart';

// ignore: avoid_classes_with_only_static_members
class AppPages {
  AppPages._();

  static const INITIAL = Routes.STARTPAGE;

  static final routes = [
    GetPage(
      name: Routes.HOME,
      page: () => const HomeView(),
      binding: HomeBinding(),
    ),
    GetPage(
        name: Routes.STARTPAGE,
        page: () => const StartPage(),
        binding: StartPageBinding()),
    GetPage(
      name: Routes.SHELL,
      page: () => const ShellView(),
      binding: ShellBinding(),
    ),
    GetPage(
        name: Routes.MAP, page: () => const MapView(), binding: MapBinding()),
    GetPage(
        name: Routes.BLUETOOTH,
        page: () => const BluetoothTestView(),
        binding: BluetoothTestBinding()),
    GetPage(
        name: Routes.SOCKETTEST,
        page: () => const SocketTestView(),
        binding: SocketTestBinding()),
    GetPage(
        name: Routes.RTCMTEST,
        page: () => const RtcmTestView(),
        binding: RtcmTestBinding()),
    GetPage(
        name: Routes.MAPADDPOINTDIALOG,
        page: () => const MapAddPointDialog(),
        binding: MapBinding()),
    GetPage(
        name: Routes.NAVIGATION,
        page: () => const NavigationView(),
        binding: NavigationViewBinding()),
    GetPage(
        name: Routes.MAPTEST,
        page: () => const MapTestView(),
        binding: MapTestBinding()),
    GetPage(
        name: Routes.PROPERTYLIST,
        page: () => const PropertyListView(),
        binding: PropertyListBinding()),
    GetPage(
        name: Routes.MEASUREDDATA,
        binding: MeasuredDataBinding(),
        page: () => const MeasuredDataView()),
    GetPage(
        name: Routes.MAPSURVEY,
        binding: MapSurveyBinding(),
        page: () => const MapSurveyView()),
    GetPage(
        name: Routes.FIELDTRIP,
        binding: FieldTripBinding(),
        page: () => const FieldTripView()),
    GetPage(
        name: Routes.TRACKING,
        binding: TrackingBinding(),
        page: () => const TrackingView()),
    GetPage(name: Routes.SETTINGS, page: () => const SettingsView()),
    GetPage(
        name: Routes.STAKEOUT_IMPORT, page: () => const StakeoutImportView()),
    GetPage(name: Routes.CONTACTS, page: () => const ContactsView())
  ];
}
