app_pages.dart 2.39 KB
import 'package:flutter/foundation.dart';
import 'package:get/get.dart';

import '../modules/bind_partner/bindings/bind_partner_binding.dart';
import '../modules/bind_partner/views/bind_partner_view.dart';
import '../modules/home/bindings/home_binding.dart';
import '../modules/home/views/home_page.dart';
import '../modules/login/bindings/login_binding.dart';

import '../modules/login/views/debug_environment_view.dart';
import '../modules/login/views/login_view.dart';
import '../modules/login/views/phone_login_view.dart';
import '../modules/splash/bindings/splash_binding.dart';
import '../modules/splash/views/splash_page.dart';
import '../modules/user_onboarding/bindings/user_onboarding_binding.dart';
import '../modules/user_onboarding/views/user_onboarding_view.dart';
import '../modules/webview/bindings/webview_binding.dart';
import '../modules/webview/views/webview_page.dart';

/// Route path constants.
abstract final class AppRoutes {
  static const initial = splash;
  static const splash = '/splash';
  static const login = '/login';
  static const phoneLogin = '/phoneLogin';
  static const debugEnvironment = '/debugEnvironment';
  static const userOnboarding = '/userOnboarding';
  static const bindPartner = '/bindPartner';
  static const home = '/home';
  static const webview = '/webview';
}

abstract final class AppPages {
  static const initialRoute = AppRoutes.splash;

  static final routes = [
    GetPage(
      name: AppRoutes.splash,
      page: () => const SplashPage(),
      binding: SplashBinding(),
    ),
    GetPage(
      name: AppRoutes.login,
      page: () => const LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: AppRoutes.phoneLogin,
      page: () => const PhoneLoginView(),
      binding: LoginBinding(),
    ),
    if (kDebugMode)
      GetPage(
        name: AppRoutes.debugEnvironment,
        page: () => const DebugEnvironmentView(),
      ),
    GetPage(
      name: AppRoutes.home,
      page: () => const HomePage(),
      binding: HomeBinding(),
    ),
    GetPage(
      name: AppRoutes.webview,
      page: () => const WebviewPage(),
      binding: WebviewBinding(),
    ),
    GetPage(
      name: AppRoutes.userOnboarding,
      page: () => const UserOnboardingView(),
      binding: UserOnboardingBinding(),
    ),
    GetPage(
      name: AppRoutes.bindPartner,
      page: () => const BindPartnerView(),
      binding: BindPartnerBinding(),
    ),
  ];
}