diff --git a/src/pages/ConfirmEmailChange/ConfirmEmailChangePage.module.css b/src/pages/ConfirmEmailChange/ConfirmEmailChangePage.module.css new file mode 100644 index 0000000..c99cebc --- /dev/null +++ b/src/pages/ConfirmEmailChange/ConfirmEmailChangePage.module.css @@ -0,0 +1,26 @@ +.title { + color: white; + font-size: xx-large; + margin-bottom: 20px; +} + +.content { + display: flex; + flex-direction: column; + z-index: 2; + padding: 10px; +} + +.container { + padding: 20px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 15px; + + p { + font-size: large; + white-space: pre-line; + } +} \ No newline at end of file diff --git a/src/pages/ConfirmEmailChange/ConfirmEmailChangePage.tsx b/src/pages/ConfirmEmailChange/ConfirmEmailChangePage.tsx new file mode 100644 index 0000000..aeca838 --- /dev/null +++ b/src/pages/ConfirmEmailChange/ConfirmEmailChangePage.tsx @@ -0,0 +1,41 @@ +import { useEffect, useState } from "react"; +import { useSearchParams, useNavigate } from "react-router"; +import confirmEmailChange from "../../utils/users/confirmEmailChange"; +import styles from "./ConfirmEmailChangePage.module.css"; +import Background from "../../components/Background/Background"; + +export default function ConfirmEmailChange() { + const [searchParams] = useSearchParams(); + const navigate = useNavigate(); + const [message, setMessage] = useState('Validation en cours...'); + const [success, setSuccess] = useState(null); + + useEffect(() => { + const token = searchParams.get('token'); + if (!token) { + setMessage('Token manquant.'); + setSuccess(false); + return; + } + + confirmEmailChange(token) + .then(() => { + setMessage('Votre adresse email a bien été mise à jour.\nVous allez être redirigé vers la page de connexion...'); + setSuccess(true); + setTimeout(() => navigate('/login'), 3000); + }) + .catch(() => { + setMessage('Token invalide ou expiré.'); + setSuccess(false); + }); + }, []); + + return +
+

Validation de votre adresse email

+
+

{message}

+
+
+
+} \ No newline at end of file