- 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>
1 line
2.5 KiB
JavaScript
1 line
2.5 KiB
JavaScript
import{a as n,j as t}from"./vendor-react-C9dYU-TK.js";import{L as h}from"./vendor-router-Dr0ZB7zf.js";import{A as b,a as g}from"./AuthLayout-JL7y5GL_.js";import{A as j}from"./AuthInput-b0K9khMl.js";import{u as y}from"./usePasswordReset-PwlpCC1O.js";import"./vendor-CjLUfV8Y.js";import"./vendor-security-DsrNJhpn.js";import"./index-BMBS6scK.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 z(){const{handleRequestReset:m,loading:u,error:l,success:c}=y(),[r,d]=n.useState({email:""}),[i,s]=n.useState({}),p=()=>{const e={};return r.email?/\S+@\S+\.\S+/.test(r.email)||(e.email="Email invalide"):e.email="Email requis",s(e),Object.keys(e).length===0},v=(e,a)=>{d({...r,[e]:a}),i[e]&&s({...i,[e]:void 0})},x=e=>{const a=r[e];let o;a?/\S+@\S+\.\S+/.test(a)||(o="Email invalide"):o="Email requis",s(o?{...i,[e]:o}:{...i,[e]:void 0})},f=async e=>{e.preventDefault(),p()&&await m(r)};return t.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:c?t.jsxs("div",{className:"text-center space-y-4",role:"status","aria-live":"polite",children:[t.jsxs("div",{className:"bg-success/10 border border-success text-success px-4 py-4 rounded",role:"alert","aria-live":"assertive",children:[t.jsx("p",{className:"font-medium",children:"Email envoyé !"}),t.jsxs("p",{className:"text-sm mt-1",children:["Un lien de réinitialisation a été envoyé à ",r.email]})]}),t.jsx("p",{className:"text-sm text-muted-foreground",children:"Veuillez vérifier votre boîte mail et cliquer sur le lien pour réinitialiser votre mot de passe."}),t.jsx(h,{to:"/login",className:"text-primary hover:underline text-sm block focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded",children:"Retour à la connexion"})]}):t.jsxs("form",{onSubmit:f,className:"space-y-4","aria-label":"Formulaire de réinitialisation de mot de passe",children:[l&&t.jsx("div",{className:"bg-destructive/10 border border-destructive text-destructive px-4 py-4 rounded",role:"alert","aria-live":"assertive",children:l.message}),t.jsx(j,{type:"email",label:"Email",value:r.email,onChange:e=>v("email",e.target.value),onBlur:()=>x("email"),error:i.email,required:!0,autoComplete:"email"}),t.jsx(g,{type:"submit",loading:u,children:"Envoyer le lien de réinitialisation"})]})})}export{z as ForgotPasswordPage,z as default};
|