Files
2026-04-16 19:45:03 +03:00

99 lines
3.0 KiB
Dart

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(),
),
],
),
];
}