protected route

This commit is contained in:
amNobodyyy
2025-01-28 12:03:22 +05:30
parent b2f44b66a3
commit ef4355dfb8
5 changed files with 41 additions and 18 deletions

View File

@@ -1,9 +1,7 @@
import React from "react";
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import CourseForm from "./Pages/CourseForm";
import FacultyForm from "./Pages/FacultyForm";
import './App.css';
import Welcome from "./Pages/Welcome"
import AuthPage from "./Pages/Login";
import HomePage from "./Pages/HomePage";
import ForgetPwPage from "./Pages/ForgetPw";
@@ -12,26 +10,23 @@ import FilterPage from "./Pages/FilterPage";
import WelcomeWithFilter from "./Pages/WelcomeWithFilter";
import "react-toastify/dist/ReactToastify.css";
import CourseTable from "./Pages/CourseTable";
import GenerateCSV from "./Pages/GenerateCSV";
import ConsolidatedTable from "./Pages/ConsolidatedTable";
import CourseConsolidated from "./Pages/courseConsolidated";
import PrivateRoute from "./components/PrivateRoute";
function App() {
return (
<Routes>
<Route path="/" element={<AuthPage />}></Route>
<Route path="/generate-csv" element={<GenerateCSV />} />
<Route path="/course-form/:id" element={<CourseForm />} />
<Route path="/faculty-form/:id" element={<FacultyForm />} />
<Route path="/Welcom" element={<WelcomeWithFilter />} />
<Route path="/AuthPage" element={<AuthPage />}></Route>
<Route path="/course-form/:id" element={<PrivateRoute element={<CourseForm />} />} />
<Route path="/Welcom" element={<PrivateRoute element={<WelcomeWithFilter />} />} />
<Route path="/Home" element={<HomePage />}></Route>
<Route path="/ForgetPw" element={<ForgetPwPage />}></Route>
<Route path="/ResetPw/:token" element={<ResetPwPage />}></Route>
<Route path="/Filter" element={<FilterPage />} />
<Route path="/courses" element={<CourseTable />} />
<Route path="/consolidated" element={<ConsolidatedTable />} />
<Route path="/courseConsolidated" element={<CourseConsolidated />} />
<Route path="/Filter" element={<PrivateRoute element={<FilterPage />} />} />
<Route path="/courses" element={<PrivateRoute element={<CourseTable />} />} />
<Route path="/consolidated" element={<PrivateRoute element={<ConsolidatedTable />} />} />
<Route path="/courseConsolidated" element={<PrivateRoute element={<CourseConsolidated />} />} />
</Routes>
);
}

View File

@@ -0,0 +1,12 @@
import React from 'react';
import { Navigate } from 'react-router-dom'; // Use Navigate for redirect
import Cookies from "js-cookie";
const PrivateRoute = ({ element: Element, ...rest }) => {
const token = Cookies.get("token");
// If token exists, render the element. Otherwise, redirect to the login page
return token ? Element : <Navigate to="/" />;
};
export default PrivateRoute;