import 'package:get/get.dart'; import '../middleware/auth_middleware.dart'; import '../modules/dashboard/bindings/dashboard_binding.dart'; import '../modules/dashboard/views/dashboard_view.dart'; import '../modules/home/bindings/home_binding.dart'; import '../modules/home/views/home_view.dart'; import '../modules/login/bindings/login_binding.dart'; import '../modules/login/views/login_view.dart'; import '../modules/product_details/bindings/product_details_binding.dart'; import '../modules/product_details/views/product_details_view.dart'; import '../modules/products/bindings/products_binding.dart'; import '../modules/products/views/products_view.dart'; import '../modules/profile/bindings/profile_binding.dart'; import '../modules/profile/views/profile_view.dart'; import '../modules/root/bindings/root_binding.dart'; import '../modules/root/views/root_view.dart'; import '../modules/settings/bindings/settings_binding.dart'; import '../modules/settings/views/settings_view.dart'; part 'app_routes.dart'; class AppPages { AppPages._(); static const INITIAL = Routes.HOME; static final routes = [ GetPage( name: '/', page: () => RootView(), binding: RootBinding(), participatesInRootNavigator: true, preventDuplicates: true, children: [ GetPage( middlewares: [ //only enter this route when not authed EnsureNotAuthedMiddleware(), ], name: _Paths.LOGIN, page: () => LoginView(), binding: LoginBinding(), ), GetPage( preventDuplicates: true, name: _Paths.HOME, page: () => HomeView(), bindings: [ HomeBinding(), ], title: null, children: [ GetPage( name: _Paths.DASHBOARD, page: () => DashboardView(), binding: DashboardBinding(), ), GetPage( middlewares: [ //only enter this route when authed EnsureAuthMiddleware(), ], name: _Paths.PROFILE, page: () => ProfileView(), title: 'Profile', transition: Transition.size, binding: ProfileBinding(), ), GetPage( name: _Paths.PRODUCTS, page: () => ProductsView(), title: 'Products', transition: Transition.zoom, binding: ProductsBinding(), children: [ GetPage( name: _Paths.PRODUCT_DETAILS, page: () => ProductDetailsView(), binding: ProductDetailsBinding(), middlewares: [ //only enter this route when authed EnsureAuthMiddleware(), ], ), ], ), ], ), GetPage( name: _Paths.SETTINGS, page: () => SettingsView(), binding: SettingsBinding(), ), ], ), ]; }