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