Spaces:
Running
Running
File size: 864 Bytes
a3629ae | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import { createBrowserRouter, Navigate } from "react-router";
import Login from "./components/Login";
import Main from "./components/Main";
const isAuthenticated = () => {
return localStorage.getItem("chatbot_user") !== null;
};
const ProtectedRoute = ({ children }: { children: React.ReactNode }) => {
return isAuthenticated() ? children : <Navigate to="/login" replace />;
};
const PublicRoute = ({ children }: { children: React.ReactNode }) => {
return !isAuthenticated() ? children : <Navigate to="/" replace />;
};
export const router = createBrowserRouter([
{
path: "/login",
element: (
<PublicRoute>
<Login />
</PublicRoute>
),
},
{
path: "/",
element: (
<ProtectedRoute>
<Main />
</ProtectedRoute>
),
},
{
path: "*",
element: <Navigate to="/" replace />,
},
]);
|