veza/apps/web/dist_verification/assets/ForgotPasswordPage-YxRqJouX.js

1 line
2.4 KiB
JavaScript

import{a as n,j as i}from"./vendor-react-BHG7lGYR.js";import{L as h}from"./vendor-router-D-s5vIeO.js";import{A as b,a as g}from"./AuthButton-ByJY1yM3.js";import{u as j,A as y}from"./usePasswordReset-CY5zVo2R.js";import"./vendor-IYr-MHu4.js";import"./index-BWcMVITa.js";import"./vendor-tanstack-BzWBL1hV.js";import"./vendor-utils-CgOSfOkx.js";import"./vendor-icons-DaGlTw4_.js";function B(){const{handleRequestReset:m,loading:d,error:l,success:u}=j(),[t,c]=n.useState({email:""}),[r,o]=n.useState({}),p=()=>{const e={};return t.email?/\S+@\S+\.\S+/.test(t.email)||(e.email="Email invalide"):e.email="Email requis",o(e),Object.keys(e).length===0},x=(e,a)=>{c({...t,[e]:a}),r[e]&&o({...r,[e]:void 0})},v=e=>{const a=t[e];let s;a?/\S+@\S+\.\S+/.test(a)||(s="Email invalide"):s="Email requis",o(s?{...r,[e]:s}:{...r,[e]:void 0})},f=async e=>{e.preventDefault(),p()&&await m(t)};return i.jsx(b,{title:"Mot de passe oublié",subtitle:"Entrez votre email pour recevoir un lien de réinitialisation",footerLinks:[{label:"Retour à la connexion",to:"/login"}],children:u?i.jsxs("div",{className:"text-center space-y-4",role:"status","aria-live":"polite",children:[i.jsxs("div",{className:"bg-kodo-lime/10 border border-kodo-lime text-kodo-lime px-4 py-4 rounded",role:"alert","aria-live":"assertive",children:[i.jsx("p",{className:"font-medium",children:"Email envoyé !"}),i.jsxs("p",{className:"text-sm mt-1",children:["Un lien de réinitialisation a été envoyé à ",t.email]})]}),i.jsx("p",{className:"text-sm text-kodo-content-dim",children:"Veuillez vérifier votre boîte mail et cliquer sur le lien pour réinitialiser votre mot de passe."}),i.jsx(h,{to:"/login",className:"text-kodo-cyan hover:underline text-sm block focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 rounded",children:"Retour à la connexion"})]}):i.jsxs("form",{onSubmit:f,className:"space-y-4","aria-label":"Formulaire de réinitialisation de mot de passe",children:[l&&i.jsx("div",{className:"bg-kodo-red/10 border border-kodo-red text-kodo-red px-4 py-4 rounded",role:"alert","aria-live":"assertive",children:l.message}),i.jsx(y,{type:"email",label:"Email",value:t.email,onChange:e=>x("email",e.target.value),onBlur:()=>v("email"),error:r.email,required:!0,autoComplete:"email"}),i.jsx(g,{type:"submit",loading:d,children:"Envoyer le lien de réinitialisation"})]})})}export{B as ForgotPasswordPage,B as default};