veza/apps/web/dist_verification/assets/VerifyEmailPage-aMulf8Pk.js
senke 670282989b chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification
- apps/web: test updates (Vitest/setup), playbackAnalyticsService, TrackGrid, serviceErrorHandler
- veza-common: logging, metrics, traits, validation, random
- veza-stream-server: audio pipeline, codecs, cache, monitoring, routes
- apps/web/dist_verification: refresh build assets (content-hashed filenames)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 19:39:18 +01:00

1 line
4 KiB
JavaScript

import{a as t,j as e}from"./vendor-react-C9dYU-TK.js";import{u as V,a as R}from"./vendor-router-Dr0ZB7zf.js";import{A as c,a as g}from"./AuthLayout-JL7y5GL_.js";import{a as j}from"./index-BMBS6scK.js";import"./vendor-CjLUfV8Y.js";import"./vendor-security-DsrNJhpn.js";import"./vendor-tanstack-C4XaEYj2.js";import"./vendor-http-CctT3C58.js";import"./vendor-utils-D0JLFg89.js";import"./vendor-icons-BSV6HBy1.js";import"./vendor-motion-CbAtAbUE.js";import"./vendor-i18n-PN7w4axr.js";function M(){const[u]=V(),d=R(),[n,o]=t.useState("verifying"),[l,a]=t.useState("Vérification de votre email en cours..."),[b,m]=t.useState(!1),[f,v]=t.useState(!1),[s,p]=t.useState(0),i=t.useRef(null),[x,E]=t.useState(null);t.useEffect(()=>{const r=u.get("token");r?(E(r),h(r)):(o("error"),a("Lien de vérification invalide ou manquant"))},[u]),t.useEffect(()=>()=>{i.current&&clearInterval(i.current)},[]),t.useEffect(()=>(s>0?i.current=setInterval(()=>{p(r=>r<=1?(i.current&&clearInterval(i.current),0):r-1)},1e3):i.current&&(clearInterval(i.current),i.current=null),()=>{i.current&&clearInterval(i.current)}),[s]),t.useEffect(()=>{if(n==="success"){const r=setTimeout(()=>{d("/login",{replace:!0})},3e3);return()=>clearTimeout(r)}},[n,d]);const h=async r=>{try{m(!0),o("verifying"),a("Vérification de votre email en cours..."),await j.verifyEmail({token:r}),o("success"),a("Votre email a été vérifié avec succès !")}catch(y){o("error"),a(y.message||"La vérification a échoué")}finally{m(!1)}},N=async()=>{if(!(s>0||f))try{v(!0);const r=localStorage.getItem("pendingVerificationEmail");if(!r){a("Email non trouvé. Veuillez vous réinscrire ou contacter le support.");return}await j.resendVerification({email:r}),p(60),a("Email de vérification envoyé ! Veuillez vérifier votre boîte mail.")}catch(r){a(r.message||"Échec de l'envoi de l'email")}finally{v(!1)}};return n==="verifying"?e.jsx(c,{title:"Vérification de l'email",subtitle:"Vérification en cours...",footerLinks:[{label:"Retour à la connexion",to:"/login"}],children:e.jsxs("div",{className:"text-center space-y-4",role:"status","aria-live":"polite","aria-busy":"true",children:[e.jsx("div",{className:"flex justify-center","aria-hidden":"true",children:e.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary"})}),e.jsx("p",{className:"text-muted-foreground",children:l}),e.jsx("span",{className:"sr-only",children:"Vérification de votre email en cours, veuillez patienter"})]})}):n==="success"?e.jsx(c,{title:"Email vérifié",subtitle:"Votre email a été vérifié avec succès",footerLinks:[{label:"Retour à la connexion",to:"/login"}],children:e.jsx("div",{className:"text-center space-y-4",role:"status","aria-live":"polite",children:e.jsxs("div",{className:"bg-success/10 border border-success text-success px-4 py-4 rounded",role:"alert",children:[e.jsx("p",{className:"font-medium",children:"Succès !"}),e.jsx("p",{className:"text-sm mt-1",children:l}),e.jsx("p",{className:"text-xs mt-2 text-muted-foreground",children:"Vous allez être redirigé vers la page de connexion..."})]})})}):e.jsx(c,{title:"Vérification de l'email",subtitle:"Une erreur s'est produite",footerLinks:[{label:"Retour à la connexion",to:"/login"}],children:e.jsxs("div",{className:"text-center space-y-4",children:[e.jsxs("div",{className:"bg-destructive/10 border border-destructive text-destructive px-4 py-4 rounded",role:"alert","aria-live":"assertive",children:[e.jsx("p",{className:"font-medium",children:"Erreur"}),e.jsx("p",{className:"text-sm mt-1",children:l})]}),e.jsxs("div",{className:"space-y-2",children:[x&&e.jsx(g,{onClick:()=>h(x),loading:b,type:"button",children:"Réessayer"}),e.jsx(g,{onClick:N,loading:f,disabled:s>0,type:"button",variant:"secondary","aria-label":s>0?`Renvoyer l'email de vérification dans ${s} secondes`:"Renvoyer l'email de vérification",children:s>0?e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"sr-only",children:["Renvoyer dans ",s," secondes"]}),e.jsxs("span",{"aria-hidden":"true",children:["Renvoyer dans ",s,"s"]})]}):"Renvoyer l'email de vérification"})]})]})})}export{M as VerifyEmailPage,M as default};