1import{c as L,r as g,j as a,E,aR as D,t as R,I,aS as V}from"./index-CaB-1DxL.js";import{I as y}from"./InputField-F2uiwEdU.js";import{B as k}from"./button-Bj7ZlM7T.js";import"./input-C3fLVWIe.js";function G(){const e=L.c(18),[P,r]=g.useState(!1);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s={currentPassword:"",newPassword:"",newPasswordRepeat:""},e[0]=s):s=e[0];const[t,_]=g.useState(s);let d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d=v(),e[1]=d):d=e[1];const[c,S]=g.useState(d);let f;if(e[2]===Symbol.for("react.memo_cache_sentinel")){const o=n=>S(C=>({...C,...n}));f=n=>{_(n),q(n,o)},e[2]=f}else f=e[2];const b=f;if(P){let o;return e[3]===Symbol.for("react.memo_cache_sentinel")?(o=a.jsx(E,{}),e[3]=o):o=e[3],o}let m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=async o=>{r(!0);const n=await D(o);n.ok?(R.success("Contraseña actualizada"),_({currentPassword:"",newPassword:"",newPasswordRepeat:""}),S(v())):R.error(n.msg||"Error al actualizar la contraseña"),r(!1)},e[4]=m):m=e[4];const N=m;let w;e[5]!==t?(w=o=>{o.preventDefault(),N(t)},e[5]=t,e[6]=w):w=e[6];const j=w;let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=a.jsx("h1",{className:"text-xl font-bold",children:"Mi cuenta"}),e[7]=u):u=e[7];let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=a.jsx("span",{className:"text-lg font-extralight",children:"Cambiar contraseña"}),e[8]=p):p=e[8];let l;e[9]!==t||e[10]!==c?(l=a.jsxs("div",{className:"flex flex-col gap-2",children:[p,a.jsxs("div",{className:"flex w-full grow flex-col items-center gap-2",children:[a.jsx(y,{label:"Contraseña actual",type:"password",data:t,required:!0,fieldKey:"currentPassword",validation:c,onChange:b,disposition:"vertical"}),a.jsx(y,{label:"Nueva contraseña",type:"password",data:t,required:!0,fieldKey:"newPassword",validation:c,onChange:b,disposition:"vertical"}),a.jsx(y,{label:"Repetir contraseña",type:"password",data:t,required:!0,fieldKey:"newPasswordRepeat",validation:c,onChange:b,disposition:"vertical"})]})]}),e[9]=t,e[10]=c,e[11]=l):l=e[11];let x;e[12]===Symbol.for("react.memo_cache_sentinel")?(x=a.jsx("div",{className:"flex justify-center",children:a.jsxs(k,{variant:"crm",className:"w-48 cursor-pointer text-white",type:"submit",children:[a.jsx(I,{icon:"material-symbols:save"}),a.jsx("span",{children:"Guardar"})]})}),e[12]=x):x=e[12];let i;e[13]!==l?(i=a.jsxs("div",{className:"flex flex-col gap-6",children:[l,x]}),e[13]=l,e[14]=i):i=e[14];let h;return e[15]!==j||e[16]!==i?(h=a.jsxs("div",{className:"flex flex-col gap-4 px-4",children:[u,a.jsx("form",{onSubmit:j,children:i})]}),e[15]=j,e[16]=i,e[17]=h):h=e[17],h}function v(){return{currentPassword:"",newPassword:"",newPasswordRepeat:""}}function q(e,P){const r=v();let s=!0;e.currentPassword||(r.currentPassword="La contraseña actual es obligatoria",s=!1),e.newPassword||(r.currentPassword="La nueva contraseña es obligatoria",s=!1);const t=V(e.newPassword);return t.ok||(r.newPassword=t.errors.join(` 2`),s=!1),e.newPasswordRepeat?e.newPassword!==e.newPasswordRepeat&&(r.newPasswordRepeat="Las contraseñas no coinciden",s=!1):(r.newPasswordRepeat="La confirmación de contraseña es obligatoria",s=!1),P(r),s}export{G as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.