1import{o as e,n as i,d0 as t}from"./index.CskpvDEf.js";import{a}from"./react-vendor.DkNVG-am.js";import{u as r,b as o}from"./redux-vendor.D6yGEbAP.js";import{a as s}from"./utils-vendor.Cwt67yDr.js";import{t as n}from"./index.xVT_H_pm.js";import{l,M as c,a as p,B as d,V as u,H as f,T as h,ag as m,af as g,f as b,X as x,y as w,G as k,b as v,k as y}from"./ui-vendor.C-Hyu-r2.js";import{u as S}from"./i18n-vendor.D76Wczy_.js";import{B as j}from"./target.BvFB54Lb.js";import{M as C}from"./mail-check.BbhXsFML.js";import{c as F}from"./user.BjsJmJMf.js";const z=y` 2 0% { text-shadow: 0 0 5px #FF0080; } 3 50% { text-shadow: 0 0 20px #FF0080, 0 0 30px #FF0080; } 4 100% { text-shadow: 0 0 5px #FF0080; } 5`,A=y` 6 0% { transform: translateY(0px); } 7 50% { transform: translateY(-10px); } 8 100% { transform: translateY(0px); } 9`,P=({email:y,isOpen:P,onClose:R})=>{const{t:O}=S("EmailVerify"),E=l(),$=r(),{forgotPassword:I}=o(e=>e.auth),[V,D]=a.useState(!1),[G,Y]=a.useState(60),[T,_]=a.useState({i1:"",i2:"",i3:"",i4:"",i5:"",i6:""}),B={i1:a.useRef(null),i2:a.useRef(null),i3:a.useRef(null),i4:a.useRef(null),i5:a.useRef(null),i6:a.useRef(null)},W=e=>{const{name:i,value:t}=e.target;if("+"!==t&&(""===T[i]||""===t)&&/^\d*$/.test(t)&&(_({...T,[i]:t}),""!==t&&/^[0-9]$/.test(t))){const e="i6"===i?null:B[`i${parseInt(i[1],10)+1}`];e?.current?.focus()}},K=e=>{e.preventDefault();const i=e.clipboardData.getData("text/plain").slice(0,6);/^\d*$/.test(i)&&_({i1:i[0]||"",i2:i[1]||"",i3:i[2]||"",i4:i[3]||"",i5:i[4]||"",i6:i[5]||""})},L=e=>{const{name:i,value:t}=e.target;if("Backspace"===e.code&&""===t){const e="i1"===i?null:B["i"+(parseInt(i[1],10)-1)];e?.current?.focus()}else"Enter"===e.key&&M()},M=a.useCallback(n(async()=>{const e=Object.values(T).join("");D(!0);try{201===(await s.post(`/api/user/verifyEmail?forgotPassword=${I}`,{otp:e,email:y})).status&&(E({title:I?O("toastResetSuccess"):"Email Verified Successfully!",description:I?void 0:"You can now log in to your account.",status:"success",duration:5e3,isClosable:!0,position:"top"}),R(),$(t(!0)))}catch(i){E({title:"Verification Failed",description:i?.response?.data?.error||"Please try again.",status:"error",duration:5e3,isClosable:!0,position:"top"})}finally{D(!1)}},1e3),[T]);return a.useEffect(()=>{let e;return G>0&&(e=setInterval(()=>Y(e=>e-1),1e3)),()=>{clearInterval(e),M.cancel()}},[G,M]),e(v,{isOpen:P,onClose:R,size:{base:"full",md:"md"},motionPreset:"slideInBottom",children:[i(c,{bg:"blackAlpha.700",backdropFilter:"blur(10px)"}),e(p,{bg:"#0f0d15",backgroundImage:"linear-gradient(to bottom, #1a1527, #0e0c16 88%, #0e0c16 99%)",borderRadius:"xl",border:"1px solid",borderColor:"whiteAlpha.100",boxShadow:"0 0 20px rgba(255, 0, 128, 0.2)",children:[i(d,{position:"absolute",top:"0",left:"0",right:"0",h:"4px",bgGradient:"linear(to-r, pink.500, purple.500)"}),i(m,{pt:8,children:e(u,{spacing:4,children:[e(f,{spacing:2,children:[i(d,{as:j,size:"30px",color:"pink.400",animation:`${A} 3s infinite`}),i(h,{fontSize:"3xl",fontWeight:"bold",bgGradient:"linear(to-r, pink.400, purple.400)",bgClip:"text",animation:`${z} 2s infinite`,children:"Verify Email"})]}),i(d,{as:C,size:"48px",color:"pink.400"})]})}),i(g,{color:"white"}),i(k,{pb:6,children:e(u,{spacing:6,children:[i(d,{w:"full",children:i(b,{value:Object.values(T).filter(e=>""!==e).length/6*100,size:"sm",colorScheme:"pink",hasStripe:!0,isAnimated:!0,borderRadius:"full"})}),e(u,{spacing:2,children:[i(h,{color:"whiteAlpha.900",textAlign:"center",children:"We've sent a verification code to:"}),i(h,{color:"pink.400",fontWeight:"bold",fontSize:"lg",children:(()=>{const e=y.indexOf("@");return y.slice(0,2)+y.slice(2,e).replace(/./g,"*")+y.slice(e)})()}),i(h,{color:"whiteAlpha.600",fontSize:"sm",children:"Enter the 6-digit code below"})]}),i(f,{spacing:2,justify:"center",children:Object.keys(T).map((e,t)=>i(x,{ref:B[e],name:e,value:T[e],onChange:W,onPaste:K,onKeyDown:L,type:"number",maxLength:1,w:12,h:12,textAlign:"center",fontSize:"xl",p:0,bg:"whiteAlpha.50",border:"1px solid",borderColor:"whiteAlpha.200",color:"white",_hover:{borderColor:"pink.400"},_focus:{borderColor:"pink.500",boxShadow:"0 0 0 1px #FF0080"}},t))}),i(w,{w:"full",size:"lg",onClick:M,isLoading:V,loadingText:"Verifying...",leftIcon:i(F,{size:18}),bgGradient:"linear(to-r, pink.500, purple.500)",color:"white",_hover:{bgGradient:"linear(to-r, pink.600, purple.600)",transform:"translateY(-2px)"},_active:{bgGradient:"linear(to-r, pink.700, purple.700)",transform:"translateY(0)"},transition:"all 0.2s",children:"Verify Email"}),e(u,{spacing:1,children:[i(h,{color:"whiteAlpha.600",fontSize:"sm",children:"Didn't receive the code?"}),i(w,{variant:"ghost",size:"sm",color:"pink.400",isDisabled:G>0,onClick:async()=>{D(!0);try{201===(await s.post("/api/user/resendOTP",{email:y})).status&&(Y(60),E({title:"OTP Sent Successfully",description:"Please check your email for the new code.",status:"success",duration:5e3,isClosable:!0,position:"top"}))}catch(e){E({title:"Failed to Send OTP",description:e.response?.data?.error||"Please try again.",status:"error",duration:5e3,isClosable:!0,position:"top"})}finally{D(!1)}},_hover:{bg:"whiteAlpha.100"},children:G>0?`Resend code in ${G}s`:"Resend code"})]})]})})]})]})};export{P 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.