import { createBrowserRouter, Navigate } from "react-router-dom"; import { ApplicationLayout } from "@/components/auth/application-layout"; import { AuthLayout } from "@/components/auth/auth-layout"; import { RouteGuard } from "@/components/auth/route-guard"; import DashboardError from "@/components/dashboard-error"; import { isAuthenticated } from "@/lib/auth-store"; // Auth pages import SignIn from "@/pages/auth/SignIn"; import SignUp from "@/pages/auth/SignUp"; import VerifyOtp from "@/pages/auth/VerifyOtp"; import VerifyOtpRegistration from "@/pages/auth/VerifyOtpRegistration"; // User dashboard pages import Devices from "@/pages/Devices"; import DeviceDetail from "@/pages/DeviceDetail"; import DevicesToPay from "@/pages/DevicesToPay"; import ParentalControl from "@/pages/ParentalControl"; import Payments from "@/pages/Payments"; import PaymentDetail from "@/pages/PaymentDetail"; import TopUps from "@/pages/TopUps"; import TopupDetail from "@/pages/TopupDetail"; import WalletPage from "@/pages/WalletPage"; import Agreements from "@/pages/Agreements"; import PriceCalculator from "@/pages/PriceCalculator"; import Profile from "@/pages/Profile"; // Admin pages import Users from "@/pages/admin/Users"; import UserDetails from "@/pages/admin/UserDetails"; import UserUpdate from "@/pages/admin/UserUpdate"; import UserAgreement from "@/pages/admin/UserAgreement"; import UserDevices from "@/pages/admin/UserDevices"; import UserPayments from "@/pages/admin/UserPayments"; import UserTopups from "@/pages/admin/UserTopups"; function RootRedirect() { return ; } export const router = createBrowserRouter([ { path: "/", element: }, { element: , children: [ { path: "/auth/signin", element: }, { path: "/auth/signup", element: }, { path: "/auth/verify-otp", element: }, { path: "/auth/verify-otp-registration", element: , }, ], }, { element: ( ), errorElement: , children: [ { path: "/devices", element: }, { path: "/devices/:deviceId", element: }, { path: "/devices-to-pay", element: }, { path: "/parental-control", element: }, { path: "/payments", element: }, { path: "/payments/:paymentId", element: }, { path: "/top-ups", element: }, { path: "/top-ups/:topupId", element: }, { path: "/wallet", element: }, { path: "/agreements", element: }, { path: "/price-calculator", element: }, { path: "/profile", element: }, // Admin { path: "/users", element: }, { path: "/users/:userId/details", element: }, { path: "/users/:userId/update", element: }, { path: "/users/:userId/agreement", element: }, { path: "/user-devices", element: }, { path: "/user-payments", element: }, { path: "/user-topups", element: }, ], }, { path: "*", element: }, ]);