diff --git a/frontend/src/pages/InvitationRegister.jsx b/frontend/src/pages/InvitationRegister.jsx index e809840..ae14ada 100644 --- a/frontend/src/pages/InvitationRegister.jsx +++ b/frontend/src/pages/InvitationRegister.jsx @@ -1,6 +1,30 @@ import { useState, useEffect } from 'react'; import { useParams, useNavigate, Link } from 'react-router-dom'; +// Wrap défini en dehors du composant pour éviter le remontage à chaque frappe +function Wrap({ appInfo, children }) { + return ( +
+
+ { e.target.style.display = 'none'; }} + style={{ position: 'absolute', inset: 0, width: '100%', height: '100%', objectFit: 'cover', opacity: 0.85 }} /> +
+ {appInfo.iconUrl && } + {appInfo.appName} +
+
+
+
+ {appInfo.iconUrl && {appInfo.appName}} + {appInfo.appName} +
+
{children}
+
+ +
+ ); +} + export default function InvitationRegister() { const { token } = useParams(); const navigate = useNavigate(); @@ -50,32 +74,10 @@ export default function InvitationRegister() { finally { setBusy(false); } }; - // ── Layout commun ──────────────────────────────────────────────────────── - const Wrap = ({ children }) => ( -
-
- { e.target.style.display = 'none'; }} - style={{ position: 'absolute', inset: 0, width: '100%', height: '100%', objectFit: 'cover', opacity: 0.85 }} /> -
- {appInfo.iconUrl && } - {appInfo.appName} -
-
-
-
- {appInfo.iconUrl && {appInfo.appName}} - {appInfo.appName} -
-
{children}
-
- -
- ); - // ── Chargement ─────────────────────────────────────────────────────────── if (status === 'loading') { return ( - +

Vérification du lien…

); @@ -84,7 +86,7 @@ export default function InvitationRegister() { // ── Lien invalide / expiré ─────────────────────────────────────────────── if (status === 'invalid') { return ( - +
@@ -104,7 +106,7 @@ export default function InvitationRegister() { // ── Succès ─────────────────────────────────────────────────────────────── if (status === 'done') { return ( - +
@@ -127,7 +129,7 @@ export default function InvitationRegister() { const roleLabel = inv?.role === 'admin' ? 'Administrateur' : 'Utilisateur'; return ( - +

Finaliser votre inscription