Skip to content
Snippets Groups Projects
Commit 292a178d authored by Cross, Liam (UG - Comp Sci & Elec Eng)'s avatar Cross, Liam (UG - Comp Sci & Elec Eng)
Browse files

Ensure logged in users can't go to login or register pages

parent 2d8ca6b3
No related branches found
No related tags found
No related merge requests found
import { Navigate, Outlet } from 'react-router-dom';
import { useAuth } from '../../hooks/useAuth';
function InverseProtectedRoute() {
const { isAuth } = useAuth();
if (!isAuth) {
return <Outlet></Outlet>
}
return <Navigate to={'/'}></Navigate>
}
export default InverseProtectedRoute;
...@@ -6,6 +6,7 @@ import Login from './components/Login/Login.tsx'; ...@@ -6,6 +6,7 @@ import Login from './components/Login/Login.tsx';
import Register from './components/Register/Register.tsx'; import Register from './components/Register/Register.tsx';
import Logout from './components/Logout/Logout.tsx'; import Logout from './components/Logout/Logout.tsx';
import ProtectedRoute from './components/ProtectedRoute/ProtectedRoute.tsx'; import ProtectedRoute from './components/ProtectedRoute/ProtectedRoute.tsx';
import InverseProtectedRoute from './components/ProtectedRoute/InverseProtectedRoute.tsx';
import Dashboard from './components/Dashboard/Dashboard.tsx'; import Dashboard from './components/Dashboard/Dashboard.tsx';
import BookingQuery from './components/BookingQuery/BookingQuery.tsx'; import BookingQuery from './components/BookingQuery/BookingQuery.tsx';
import BookingList from './components/BookingList/BookingList.tsx'; import BookingList from './components/BookingList/BookingList.tsx';
...@@ -23,21 +24,26 @@ const router = createBrowserRouter([ ...@@ -23,21 +24,26 @@ const router = createBrowserRouter([
element: <App></App>, element: <App></App>,
children: [ children: [
{ {
path: 'login', element: <InverseProtectedRoute></InverseProtectedRoute>,
element: <Login></Login> children: [
}, {
{ path: 'login',
path: 'register', element: <Login></Login>
element: <Register></Register> },
}, {
{ path: 'register',
path: 'logout', element: <Register></Register>
loader: LogoutUser, }
element: <Logout></Logout> ]
}, },
{ {
element: <ProtectedRoute></ProtectedRoute>, element: <ProtectedRoute></ProtectedRoute>,
children: [ children: [
{
path: 'logout',
loader: LogoutUser,
element: <Logout></Logout>
},
{ {
path: 'customer-dashboard', path: 'customer-dashboard',
loader: GetCustomerDashboardData, loader: GetCustomerDashboardData,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment