Files
n3wt-school/Front-End/src/components/ProtectedRoute.js
2025-02-22 10:52:50 +01:00

25 lines
704 B
JavaScript

import React, { useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { useSession } from 'next-auth/react';
import Loader from '@/components/Loader'; // Importez le composant Loader
import { FE_USERS_LOGIN_URL } from '@/utils/Url';
const ProtectedRoute = ({ children }) => {
const { data: session, status } = useSession({
required: true,
onUnauthenticated() {
router.push(`${FE_USERS_LOGIN_URL}`);
}
});
const router = useRouter();
// Ne vérifier que si le statut est définitif
if (status === 'loading') {
return <Loader />;
}
// Autoriser l'affichage si authentifié
return session ? children : null;
};
export default ProtectedRoute;