fix: correction des refresh des protected routes [#36]

This commit is contained in:
Luc SORIGNET
2025-04-07 17:44:51 +02:00
parent 5a7661db93
commit 839a26257b
7 changed files with 6705 additions and 1558 deletions

View File

@ -39,16 +39,18 @@ export default function Page() {
function handleFormLogin(formData) {
setIsLoading(true);
setErrorMessage("");
login({
email: formData.get('login'),
password: formData.get('password'),
role_type: selectedProfile // Utilisez le profil sélectionné
role_type: selectedProfile
}).then(result => {
logger.debug('Sign In Result', result);
setIsLoading(false);
if (result.error) {
setErrorMessage(result.error);
setIsLoading(false);
} else {
getSession().then(session => {
if (!session || !session.user) {
@ -59,30 +61,30 @@ export default function Page() {
const roles = user.roles.filter(role => role.role_type === selectedProfile);
if (roles.length > 0) {
// const establishment = roles[0].establishment;
// localStorage.setItem('establishment_id', establishment);
// Redirection en fonction du rôle
// Ne pas désactiver le loader avant la redirection
if (roles[0].role_type === 1) {
router.push(FE_ADMIN_SUBSCRIPTIONS_URL);
} else if (roles[0].role_type === 2) {
router.push(FE_PARENTS_HOME_URL);
} else {
// Cas anormal
setIsLoading(false);
setErrorMessage('Type de rôle non géré');
}
} else {
setErrorMessage('No roles found for the specified role type.');
setIsLoading(false);
setErrorMessage('Aucun rôle trouvé pour le profil sélectionné.');
}
}).catch(error => {
logger.error('Error during session retrieval:', error);
logger.error('Erreur lors de la récupération de la session:', error);
setIsLoading(false);
setErrorMessage('An error occurred during session retrieval.');
setErrorMessage('Une erreur est survenue lors de la récupération de la session.');
});
}
}).catch(error => {
logger.error('Error during sign in:', error);
logger.error('Erreur lors de la connexion:', error);
setIsLoading(false);
setErrorMessage('An error occurred during sign in.');
setErrorMessage('Une erreur est survenue lors de la connexion.');
});
}