1import{r as t,t as b,j as s,y as x,aq as N,ar as v,as as k,a_ as y,at as C,x as S,a$ as g,aE as m,b0 as p,B as w,am as u,v as h,ak as R,w as E}from"./index-BXgPXFzE.js";import{A as j}from"./arrow-left-CDBs66zT.js";function A(e){const[r,o]=t.useState(0),l=t.useCallback(()=>{o(e)},[e]);return t.useEffect(()=>{if(r<=0)return;const d=setInterval(()=>o(i=>Math.max(0,i-1)),1e3);return()=>clearInterval(d)},[r]),[r,l]}function D(){const[e,r]=t.useState(""),[o,l]=t.useState(""),[d,i]=t.useState(!1),[n,F]=A(60),a=b.customAuth.requestPasswordReset.useMutation({onSuccess:()=>{i(!0),F()},onError:c=>{l(c.message)}}),P=c=>{c.preventDefault(),l(""),a.mutate({email:e})},f=()=>{n>0||a.mutate({email:e})};return s.jsxs(s.Fragment,{children:[a.isPending&&s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:59",className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",children:s.jsxs("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:60",className:"flex flex-col items-center gap-3",children:[s.jsx(x,{"data-loc":"client/src/pages/ForgotPassword.tsx:61",className:"h-10 w-10 animate-spin text-primary"}),s.jsx("p",{"data-loc":"client/src/pages/ForgotPassword.tsx:62",className:"text-sm text-muted-foreground font-medium",children:"Sending reset linkâ¦"})]})}),s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:67",className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-blue-50 to-indigo-100 dark:from-gray-900 dark:to-gray-800 p-4",children:s.jsxs(N,{"data-loc":"client/src/pages/ForgotPassword.tsx:68",className:"w-full max-w-md
1shadow-xl",children:[s.jsxs(v,{"data-loc":"client/src/pages/ForgotPassword.tsx:69",className:"space-y-2 pb-4",children:[s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:70",className:"flex justify-center mb-1",children:s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:71",className:"w-10 h-10 rounded-xl bg-[#1a56db] flex items-center justify-center",children:s.jsx("span",{"data-loc":"client/src/pages/ForgotPassword.tsx:72",className:"text-white font-bold text-lg",children:"M"})})}),s.jsx(k,{"data-loc":"client/src/pages/ForgotPassword.tsx:75",className:"text-2xl font-bold text-center",children:"Reset your password"}),s.jsx(y,{"data-loc":"client/src/pages/ForgotPassword.tsx:76",className:"text-center",children:"Enter your email and we'll send you a reset link"})]}),s.jsx(C,{"data-loc":"client/src/pages/ForgotPassword.tsx:81",children:d?s.jsxs("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:83",className:"space-y-5",children:[s.jsxs("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:85",className:"flex flex-col items-center gap-3 py-4",children:[s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:86",className:"w-14 h-14 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:s.jsx(S,{"data-loc":"client/src/pages/ForgotPassword.tsx:87",className:"h-7 w-7 text-green-600 dark:text-green-400"})}),s.jsxs("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:89",className:"text-center",children:[s.jsx("p",{"data-loc":"client/src/pages/ForgotPassword.tsx:90",className:"font-semibold text-base",children:"Reset link sent!"}),s.jsxs("p",{"data-loc":"client/src/pages/ForgotPassword.tsx:91",className:"text-sm text-muted-foreground mt-1",children:["Check ",s.jsx("strong",{"data-loc":"client/src/pages/ForgotPassword.tsx:92",children:e})," for a password reset link.",s.jsx("br",{"data-loc":"client/src/pages/ForgotPassword.tsx:92"}),"It expires in 30 minutes."]})]})]}),s.jsxs(g,{"data-loc":"client/src/pages/ForgotPassword.tsx:98",className:"border-amber-200 bg-amber-50 dark:bg-amber-950/20 dark:border-amber-800",children:[s.jsx(m,{"data-loc":"client/src/pages/ForgotPassword.tsx:99",className:"h-4 w-4 text-amber-600"}),s.jsx(p,{"data-loc":"client/src/pages/ForgotPassword.tsx:100",className:"text-amber-800 dark:text-amber-200 text-xs",children:"Didn't receive it? Check your spam folder, or resend below."})]}),s.jsx(w,{"data-loc":"client/src/pages/ForgotPassword.tsx:106",variant:"outline",className:"w-full gap-2",onClick:f,disabled:n>0||a.isPending,children:a.isPending?s.jsxs(s.Fragment,{children:[s.jsx(x,{"data-loc":"client/src/pages/ForgotPassword.tsx:113",className:"h-4 w-4 animate-spin"})," Sendingâ¦"]}):n>0?s.jsxs(s.Fragment,{children:[s.jsx(u,{"data-loc":"client/src/pages/ForgotPassword.tsx:115",className:"h-4 w-4"})," Resend in ",n,"s"]}):s.jsxs(s.Fragment,{children:[s.jsx(u,{"data-loc":"client/src/pages/ForgotPassword.tsx:117",className:"h-4 w-4"})," Resend reset link"]})}),s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:121",className:"text-center",children:s.jsx(h,{"data-loc":"client/src/pages/ForgotPassword.tsx:122",href:"/login",children:s.jsxs("a",{"data-loc":"client/src/pages/ForgotPassword.tsx:123",className:"text-sm text-primary hover:underline inline-flex items-center gap-1",children:[s.jsx(j,{"data-loc":"client/src/pages/ForgotPassword.tsx:124",className:"h-3 w-3"}),"Back to login"]})})})]}):s.jsxs("form",{"data-loc":"client/src/pages/ForgotPassword.tsx:131",onSubmit:P,className:"space-y-4",children:[o&&s.jsx(g,{"data-loc":"client/src/pages/ForgotPassword.tsx:133",variant:"destructive",children:s.jsx(p,{"data-loc":"client/src/pages/ForgotPassword.tsx:134",children:o})}),s.jsxs("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:138",className:"space-y-2",children:[s.jsx(R,{"data-loc":"client/src/pages/ForgotPassword.tsx:139",htmlFor:"email",children:"Email address"}),s.jsxs("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:140",className:"relative",children:[s.jsx(m,{"data-loc":"client/src/pages/ForgotPassword.tsx:141",className:"absolute left-3 top-3 h-4 w-4 text-muted-foreground"}),s.jsx(E,{"data-loc":"client/src/pages/ForgotPassword.tsx:142",id:"email",type:"email",placeholder:"[email protected]",value:e,onCh
1ange:c=>r(c.target.value),className:"pl-10",required:!0,autoFocus:!0,disabled:a.isPending})]})]}),s.jsx(w,{"data-loc":"client/src/pages/ForgotPassword.tsx:156",type:"submit",className:"w-full",disabled:a.isPending||!e.trim(),children:a.isPending?s.jsxs(s.Fragment,{children:[s.jsx(x,{"data-loc":"client/src/pages/ForgotPassword.tsx:162",className:"mr-2 h-4 w-4 animate-spin"})," Sending reset linkâ¦"]}):"Send reset link"}),s.jsx("div",{"data-loc":"client/src/pages/ForgotPassword.tsx:168",className:"text-center",children:s.jsx(h,{"data-loc":"client/src/pages/ForgotPassword.tsx:169",href:"/login",children:s.jsxs("a",{"data-loc":"client/src/pages/ForgotPassword.tsx:170",className:"text-sm text-primary hover:underline inline-flex items-center gap-1",children:[s.jsx(j,{"data-loc":"client/src/pages/ForgotPassword.tsx:171",className:"h-3 w-3"}),"Back to login"]})})})]})})]})})]})}export{D as default};
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.