Popups working

This commit is contained in:
Maxime Lalo 2023-12-20 16:56:49 +01:00
parent 762f96a163
commit a4e3dd9d23
2 changed files with 51 additions and 14 deletions

View File

@ -36,17 +36,18 @@ export default function Login() {
setIsErrorModalOpen(0); setIsErrorModalOpen(0);
}, []); }, []);
const closeNoEmailModal = useCallback(() => {
setIsErrorModalOpen(0);
router.push("https://connexion.idnot.fr/");
}, [router]);
const closeContactAdminModal = useCallback(() => {
setIsErrorModalOpen(0);
router.push("mailto:gtexier@notaires.fr");
}, [router]);
useEffect(() => { useEffect(() => {
switch (error) { openErrorModal(parseInt(error as string));
case "1":
openErrorModal(1);
break;
case "2":
openErrorModal(2);
break;
default:
break;
}
}, [error, openErrorModal]); }, [error, openErrorModal]);
return ( return (
@ -94,6 +95,36 @@ export default function Login() {
</Typography> </Typography>
</div> </div>
</Confirm> </Confirm>
<Confirm
isOpen={isErrorModalOpen === 3}
onClose={closeErrorModal}
onAccept={closeNoEmailModal}
closeBtn
header={"Echec de connexion"}
confirmText={"Accéder à mon compte ID.not"}
cancelText={"OK"}>
<div className={classes["modal-content"]}>
<Typography typo={ITypo.P_16} className={classes["text"]}>
Votre compte ID.not doit être associé à une adresse email @notaires.fr (onglet Mettre à jour mes données
professionnelles)
</Typography>
</div>
</Confirm>
<Confirm
isOpen={isErrorModalOpen === 4}
onClose={closeErrorModal}
onAccept={closeContactAdminModal}
closeBtn
header={"Vous nêtes pas bêta-testeur"}
confirmText={"Contacter l'administrateur"}
cancelText={"OK"}>
<div className={classes["modal-content"]}>
<Typography typo={ITypo.P_16} className={classes["text"]}>
L'accès à la version bêta de lecoffre.io est limité à un groupe restreint d'utilisateurs autorisés. Si vous êtes
intéressé par la participation à notre programme de bêta-test, veuillez nous contacter par email.
</Typography>
</div>
</Confirm>
</DefaultDoubleSidePage> </DefaultDoubleSidePage>
); );
} }

View File

@ -27,13 +27,19 @@ export default function LoginCallBack() {
if (!token) return router.push(Module.getInstance().get().modules.pages.Login.props.path); if (!token) return router.push(Module.getInstance().get().modules.pages.Login.props.path);
await UserStore.instance.connect(token.accessToken, token.refreshToken); await UserStore.instance.connect(token.accessToken, token.refreshToken);
return router.push(Module.getInstance().get().modules.pages.Folder.props.path); return router.push(Module.getInstance().get().modules.pages.Folder.props.path);
} catch (e) { } catch (e: any) {
router.push(Module.getInstance().get().modules.pages.Login.props.path + "?error=1"); console.log("Log error : ", e);
return; if (e.http_status === 401 && e.message === "Email not found") {
return router.push(Module.getInstance().get().modules.pages.Login.props.path + "?error=3");
}
if (e.http_status === 409) {
return router.push(Module.getInstance().get().modules.pages.Login.props.path + "?error=4");
}
return router.push(Module.getInstance().get().modules.pages.Login.props.path + "?error=1");
} }
} }
const refreshToken = CookieService.getInstance().getCookie("leCoffreRefreshToken"); const refreshToken = CookieService.getInstance().getCookie("leCoffreRefreshToken");
if(!refreshToken) return router.push(Module.getInstance().get().modules.pages.Login.props.path + "?error=1"); if (!refreshToken) return router.push(Module.getInstance().get().modules.pages.Login.props.path + "?error=1");
const isTokenRefreshed = await JwtService.getInstance().refreshToken(refreshToken); const isTokenRefreshed = await JwtService.getInstance().refreshToken(refreshToken);
if (isTokenRefreshed) { if (isTokenRefreshed) {
return router.push(Module.getInstance().get().modules.pages.Folder.props.path); return router.push(Module.getInstance().get().modules.pages.Folder.props.path);