mb672038's picture
می خوام که واقعا برنامه لاگین داشته باشه و ورود همچنین با توضیحا نی که دادم نمی خوام نمایشی باشه می خوام واقعی کار کنه
aa06156 verified
Raw
History Blame Contribute Delete
611 Bytes
import { useAuth } from '../context/AuthContext';
import { Navigate, Outlet } from 'react-router-dom';
import { toast } from 'react-toastify';
export default function PrivateRoute({ roles, children }) {
const { user, isAuthenticated, hasRole } = useAuth();
if (!isAuthenticated()) {
toast.error('لطفا ابتدا وارد شوید');
return <Navigate to="/login" />;
}
if (roles && !roles.some(role => hasRole(role))) {
toast.error('شما مجوز دسترسی به این صفحه را ندارید');
return <Navigate to="/" />;
}
return children ? children : <Outlet />;
}