frontend_adaptive_learning/src/utils/ProtectedRoute.jsx
2024-10-31 09:32:14 +07:00

31 lines
664 B
JavaScript

import { Navigate, Outlet } from 'react-router-dom';
import useAuth from '../roles/guest/auth/hooks/useAuth';
const ProtectedRoute = ({ role }) => {
const { user, getUserFromToken } = useAuth();
// console.log(user);
if (!user) {
getUserFromToken();
}
if (!user) {
return <Navigate to="/login" />;
}
if (user.ROLE !== role) {
let path = "";
if (user.role == 'student') {
path = '/learning';
}else if (user.role == 'teacher') {
path = '/teacher';
}else if (user.role == 'admin') {
path = '/admin';
}
return <Navigate to={`/${path}`} />;
}
return <Outlet />;
};
export default ProtectedRoute;