veza/apps/web/dist_verification/assets/ResetPasswordPage-Doc7zcwQ.js

2 lines
4 KiB
JavaScript
Raw Normal View History

2026-02-07 19:36:48 +00:00
import{j as s,a as n}from"./vendor-react-YMhRUmcb.js";import{c as y,u as L}from"./vendor-router-DX94Iu-2.js";import{A as m}from"./AuthLayout-CeiHDQMs.js";import{A as h}from"./AuthInput-CLUfktvv.js";import{A as N}from"./AuthButton-C1maCyAI.js";import{E as k}from"./index-D2uzyr9g.js";import{P as E}from"./PasswordStrengthIndicator-foHQcebK.js";import{u as R}from"./usePasswordReset-BHItX07X.js";import"./vendor-fFnFILYR.js";import"./vendor-tanstack-CoFNL2zy.js";import"./vendor-utils-4BWoYre8.js";import"./vendor-icons-DINCNwpk.js";function C({message:i,className:l,id:c}){return i?s.jsx("div",{id:c,children:s.jsx(k,{error:i,variant:"inline",severity:"error",className:l,context:{action:"authenticating",resource:"auth"},dismissible:!1})}):null}function G(){const[i]=y(),l=L(),{handleReset:c,loading:g,error:p,success:u}=R(),[f,j]=n.useState(null),[r,v]=n.useState({token:"",password:"",confirmPassword:""}),[o,d]=n.useState({});n.useEffect(()=>{const e=i.get("token");e&&(j(e),v(t=>({...t,token:e})))},[i]),n.useEffect(()=>{if(u){const e=setTimeout(()=>{l("/login",{replace:!0})},3e3);return()=>clearTimeout(e)}},[u,l]);const b=()=>{const e={};return r.password?r.password.length<8&&(e.password="Le mot de passe doit contenir au moins 8 caractères"):e.password="Mot de passe requis",r.confirmPassword?r.password!==r.confirmPassword&&(e.confirmPassword="Les mots de passe ne correspondent pas"):e.confirmPassword="Confirmation du mot de passe requise",d(e),Object.keys(e).length===0},x=(e,t)=>{v({...r,[e]:t}),o[e]&&d({...o,[e]:void 0})},w=e=>{const t=r[e];let a;e==="password"?t?t.length<8&&(a="Le mot de passe doit contenir au moins 8 caractères"):a="Mot de passe requis":e==="confirmPassword"&&(t?r.password!==t&&(a="Les mots de passe ne correspondent pas"):a="Confirmation du mot de passe requise"),d(a?{...o,[e]:a}:{...o,[e]:void 0})},P=async e=>{e.preventDefault(),f&&b()&&await c(r)};return f?u?s.jsx(m,{title:"Mot de passe réinitialisé",subtitle:"Votre mot de passe a été modifié avec succès",footerLinks:[{label:"Retour à la connexion",to:"/login"}],children:s.jsx("div",{className:"text-center space-y-4",role:"status","aria-live":"polite",children:s.jsxs("div",{className:"bg-success/10 border border-success text-success px-4 py-4 rounded",role:"alert",children:[s.jsx("p",{className:"font-medium",children:"Succès !"}),s.jsx("p",{className:"text-sm mt-1",children:"Votre mot de passe a été réinitialisé avec succès. Vous allez être redirigé vers la page de connexion..."})]})})}):s.jsx(m,{title:"Réinitialiser le mot de passe",subtitle:"Entrez votre nouveau mot de passe",footerLinks:[{label:"Retour à la connexion",to:"/login"}],children:s.jsxs("form",{onSubmit:P,className:"space-y-4","aria-label":"Formulaire de réinitialisation de mot de passe",children:[p&&s.jsx(C,{message:p.message}),s.jsx(h,{type:"password",label:"Nouveau mot de passe",value:r.password,onChange:e=>x("password",e.target.value),onBlur:()=>w("password"),error:o.password,required:!0,autoComplete:"new-password"}),s.jsx("div",{"aria-live":"polite","aria-atomic":"true",children:s.jsx(E,{password:r.password})}),s.jsx(h,{type:"password",label:"Confirmer le mot de passe",value:r.confirmPassword,onChange:e=>x("confirmPassword",e.target.value),onBlur:()=>w("confirmPassword"),error:o.confirmPassword,required:!0,autoComplete:"new-password"}),s.jsx(N,{type:"submit",loading:g,children:"Réinitialiser le mot de passe"})]})}):s.jsx(m,{title:"Lien de réinitialisation invalide",subtitle:"Le lien de réinitialisation est invalide ou a expiré",footerLinks:[{label:"Demander un nouveau lien",to:"/forgot-password"},{label:"Retour à la connexion",to:"/login"}],children:s.jsx("div",{className:"text-center space-y-4",role:"alert","aria-live":"assertive",children:s.jsxs("div",{className:"bg-destructive/10 border border-destructive text-destructive px-4 py-4 rounded",children:[s.jsx("p",{className:"font-medium",children:"Lien invalide"}),s.jsx("p",{className:"text-sm mt-1",children:"Le lien de réinitialisation est invalide ou a expiré. Veuillez demander un nouveau lien."})]})})})}export{