import{b as M,l as j,cy as f,g as I,r as L,j as e,u as O,Q as A,as as C,jB as P,jC as w,P as y,U as v,V as D,W as E,X as F,Z as H,G as W,jD as $,bn as U,a6 as k}from"./index-E0AVXOTn.js";import{T as q,R as S}from"./index.styled-Urg8APwk.js";import{FIND_METHODS as G}from"./index-D0BT7XkQ.js";import{F as m}from"./index.styled-BAEjAXIb.js";import"./index.styled-CFRhgoQs.js";import"./useProfileMutation-C7f3HxFy.js";const K=()=>{const{openDialog:a}=M();return{sendCertificatedNumber:j({mutationFn:async({data:t})=>await f.sendCertificatedNumber(t),onSuccess:()=>{a({message:"인증번호가 발송되었습니다."})},onError:t=>{var s;a({message:I(t)?(s=t.response)==null?void 0:s.data.message:"알 수 없는 오류가 발생했습니다.
고객 센터에 문의해주세요."})}}),sendSmsForAuth:j({mutationFn:async({data:t})=>await f.sendCertificatedNumberViaSMS(t),onSuccess:()=>{a({message:"인증번호가 발송되었습니다."})},onError:t=>{var s;a({message:I(t)?(s=t.response)==null?void 0:s.data.message:"알 수 없는 오류가 발생했습니다.
고객 센터에 문의해주세요."})}}),sendEmailForAuth:j({mutationFn:async({data:t})=>await f.sendCertificatedNumberViaEmail(t)}),issueAccessToken:j({mutationFn:async({data:t})=>await f.issueOpenIdAccessToken(t)}),issueOpenIdAccessToken:j({mutationFn:async({data:t})=>await f.issueOpenIdAccessToken(t)})}},_=({timer:a,onTimeEnd:t})=>{const[s,r]=L.useState(a);L.useEffect(()=>{if(s<=0){t==null||t();return}const u=setInterval(()=>{r(l=>l-1)},1e3);return()=>clearInterval(u)},[s,t]);const d=Math.floor(s/60),o=s%60;return e.jsxs(q.TimerContainer,{children:[String(d).padStart(2,"0"),":",String(o).padStart(2,"0")]})},Q=({...a})=>{const{close:t,type:s,timerInfo:r}=a,d=O(),{openDialog:o}=M(),u=r.time>0&&!!r.memberNo,l=A({resolver:C(P),defaultValues:{findMethod:s,memberId:r.memberId,memberNo:r.memberNo}}),{register:p,formState:{errors:g,isSubmitting:c},handleSubmit:x}=l,N=x(async({certificatedNumber:b})=>{var i;try{u&&(await f.checkCertificatedNumber({certificatedNumber:b??"",type:s,usage:"FIND_PASSWORD",memberNo:r.memberNo})).status===w.HTTP_OK&&(t(),d(y.MEMBER.FIND_PASSWORD_RESULT,{state:{type:s,certificatedNumber:b,memberId:r.memberId}}))}catch(n){o({message:I(n)?(i=n.response)==null?void 0:i.data.message:"알 수 없는 오류가 발생했습니다.
고객 센터에 문의해주세요."})}});return e.jsx(v,{...a,title:"비밀번호 찾기",type:"partial",children:e.jsxs(S.Form,{onSubmit:N,children:[e.jsx(S.Text,{children:"인증번호를 입력해주세요."}),e.jsxs(D,{children:[e.jsx(E,{type:"text",placeholder:`${s==="EMAIL"?"이메일":"휴대폰"} 인증번호를 입력해주세요.`,...p("certificatedNumber")}),e.jsx(F,{name:"certificatedNumber",errors:g}),e.jsx(_,{timer:r.time,onTimeEnd:()=>{o({message:"인증번호 발송 시간이 만료되었습니다."})}})]}),e.jsx(S.SubmitButton,{type:"submit",disabled:c,children:"확인"})]})})},X=({...a})=>{const{close:t,type:s,timerInfo:r}=a,d=O(),{openDialog:o}=M(),u=r.time>0&&!!r.memberNo,l=A({resolver:C(P),defaultValues:{findMethod:s,memberId:r.memberId,memberNo:r.memberNo}}),{register:p,formState:{errors:g,isSubmitting:c},handleSubmit:x}=l,N=x(async({certificatedNumber:b})=>{var i;try{u&&(await f.checkCertificatedNumber({certificatedNumber:b??"",type:s,usage:"FIND_PASSWORD",memberNo:r.memberNo})).status===w.HTTP_OK&&(t(),d(y.MEMBER.FIND_PASSWORD_RESULT,{state:{type:s,certificatedNumber:b,memberId:r.memberId}}))}catch(n){o({message:I(n)?(i=n.response)==null?void 0:i.data.message:"알 수 없는 오류가 발생했습니다.
고객 센터에 문의해주세요."})}});return e.jsx(H,{...a,title:"비밀번호 찾기",children:e.jsxs(S.Form,{onSubmit:N,children:[e.jsx(S.Text,{children:"인증번호를 입력해주세요."}),e.jsxs(D,{children:[e.jsx(E,{type:"text",placeholder:`${s==="EMAIL"?"이메일":"휴대폰"} 인증번호를 입력해주세요.`,...p("certificatedNumber")}),e.jsx(F,{name:"certificatedNumber",errors:g}),e.jsx(_,{timer:r.time,onTimeEnd:()=>{o({message:"인증번호 발송 시간이 만료되었습니다."})}})]}),e.jsx(S.SubmitButton,{type:"submit",disabled:c,children:"확인"})]})})},re=()=>{const{isMobile:a}=W(),{openDialog:t,openAsyncDialog:s}=M(),r=A({resolver:C($),defaultValues:{findMethod:"EMAIL"}}),{register:d,watch:o,reset:u,formState:{errors:l,isSubmitting:p},handleSubmit:g}=r,c=o("findMethod"),{sendCertificatedNumber:{mutate:x}}=K(),N=i=>{u({findMethod:i,memberId:""})},b=g(async({memberId:i})=>{var n;try{const h=await U.getMaskingAccountInfo({memberId:i});if(!await s({message:c==="EMAIL"?`${h.data.email}으로
인증번호를 발송하시겠습니까?`:`${h.data.mobileNo}으로
인증번호를 발송하시겠습니까?`,iconType:"auth",onConfirmReturnValue:!0,onCloseReturnValue:!1}))return;x({data:{usage:"FIND_PASSWORD",type:c,memberNo:h.data.memberNo}},{onSuccess:(V,B)=>{const R={time:V.data.remainTime,memberNo:B.data.memberNo,memberId:i};if(a){k.open(T=>e.jsx(Q,{...T,type:c,timerInfo:R}));return}k.open(T=>e.jsx(X,{...T,type:c,timerInfo:R}))}})}catch(h){t({message:I(h)?(n=h.response)==null?void 0:n.data.message:"알 수 없는 오류가 발생했습니다.
고객 센터에 문의해주세요."})}});return e.jsxs(m.Form,{onSubmit:b,children:[e.jsxs(m.TabsRoot,{defaultValue:"EMAIL",onValueChange:i=>N(i),children:[e.jsx(m.TabsList,{children:G.map(({label:i,value:n})=>e.jsx(m.TabsTrigger,{value:n,children:e.jsx(m.TabText,{children:i})},n))}),e.jsxs(D,{children:[e.jsx(E,{type:"text",placeholder:"아이디",...d("memberId")}),e.jsx(F,{name:"memberId",errors:l})]})]}),e.jsx(m.SubmitButton,{type:"submit",disabled:p,children:"비밀번호 찾기"}),e.jsxs(m.LinkContainer,{children:[e.jsx(m.StyledLink,{to:y.MEMBER.FIND_ID,children:"아이디 찾기"}),e.jsx(m.StyledLink,{to:y.AUTH.LOGIN,$isDarkGrayColor:!0,children:"로그인하기"})]})]})};export{re as default};