PageSourceSearch

https://alphasquare.co.kr/assets/UserSettingEmailAuthWrappingModal-b65928e6.js

js alphasquare.co.kr collected 2026-09-25 02:40:04 UTC 12,380 bytes, 3 lines download raw bytes

1import{_ as R,k as m,l as S,E as Z,o as p,c as g,a as e,d as A,u as s,cS as N,j as E,v as F,dL as O,t as q,w as G,cD as V,p as W,g as D,h as Q,s as I,i as ee,aE as te,a7 as se,U as ae,X as y,aG as ie,q as ne,a5 as le,Z as oe,ab as de}from"./index-1d80ddef.js";import{u as H}from"./use-async-guard-fn-edb9ebb5.js";import{N as ue}from"./NewModal-a5b0f7e7.js";import{t as j}from"./index.esm-ded72dfa.js";import{u as z}from"./use-expiration-time-8fcbcb91.js";import{_ as J}from"./TimerIcon.vue_vue_type_script_setup_true_lang-bcbb5504.js";import{_ as ce}from"./EditIcon.vue_vue_type_script_setup_true_lang-557ecaf8.js";import{_ as re}from"./ALoadingLayout.vue_vue_type_style_index_0_lang-68ff2014.js";import{v as me}from"./validate-190ec15a.js";import"./use-warp-transition-ab5f70dd.js";import"./ALoading-08649980.js";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},u=new Error().stack;u&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[u]="30269cee-8874-45be-9ace-5eaa3ae383cc",i._sentryDebugIdIdentifier="sentry-dbid-30269cee-8874-45be-9ace-5eaa3ae383cc")}catch{}})();const X=i=>(W("data-v-74f8676a"),i=i(),D(),i),pe={class:"email-auth-request"},ve=X(()=>e("h2",{class:"title"},"이메일 인증하기",-1)),_e={class:"email-area"},fe=X(()=>e("p",{class:"input-title"},"인증할 이메일",-1)),he=["value"],be={class:"code-area"},ge=X(()=>e("p",{class:"input-title"},"인증코드",-1)),ke={class:"code-input-box"},ye={key:0,class:"timer"},Ee={class:"timer-time"},$e={key:0,class:"message"},Ce=["disabled"],B=6,Se={__name:"UserSettingEmailAuthRequest",props:{emailAuthInfo:{type:Object,required:!0}},emits:["btn-close-clicked","btn-resend-clicked","email-authenticated"],setup(i,{emit:u}){const c=i,f=m(!1),o=m(!1),l=m(!1),r=m(""),n=m(`이메일로 전송된 ${B}자리 인증코드를 입력해 주세요.`),{remainingMs:v,formattedTime:k}=z({expiredAt:()=>c.emailAuthInfo.expiredAt,onExpired:()=>{n.value="인증코드가 만료되었습니다. 재전송해 주세요."}}),_=S(()=>r.value.length===B),h=S(()=>!_.value||o.value||v.value<=0),$=S(()=>!l.value&&_.value&&v.value>0);Z(()=>{setTimeout(()=>f.value=!0,3e3)});function x(){u("btn-resend-clicked",c.emailAuthInfo.email),r.value="",n.value=`이메일로 재전송된 ${B}자리 인증코드를 입력해 주세요.`}function U(){const b=/[^0-9]/g;b.test(r.value)&&(r.value=r.value.replace(b,"")),o.value&&(o.value=!1,n.value=`이메일로 전송된 ${B}자리 인증코드를 입력해 주세요.`)}const C=j(300,!1,async()=>{var t;l.value=!0;const{email:b,state:a}=c.emailAuthInfo;try{await V.changeEmail({email:b,state:a,code:r.value}),u("email-authenticated")}catch(d){((t=d==null?void 0:d.response)==null?void 0:t.status)===400&&(o.value=!0,n.value="인증코드를 잘못 입력하였습니다.")}finally{l.value=!1}});return(b,a)=>(p(),g("div",pe,[e("button",{class:"btn-close clickable-layer",onClick:a[0]||(a[0]=t=>u("btn-close-clicked"))},[A(s(N))]),ve,e("form",{onSubmit:a[2]||(a[2]=G((...t)=>s(C)&&s(C)(...t),["prevent"]))},[e("div",_e,[fe,e("input",{class:"email-input",value:c.emailAuthInfo.email,disabled:""},null,8,he)]),e("div",be,[ge,f.value?(p(),g("button",{key:0,type:"button",class:"btn-resend clickable-layer",onClick:x}," 재전송 ")):E("",!0),e("div",ke,[F(e("input",{"onUpdate:modelValue":a[1]||(a[1]=t=>r.value=t),maxlength:B,class:"code-input",autofocus:"",onInput:U},null,544),[[O,r.value,void 0,{trim:!0}]]),s(v)>0?(p(),g("div",ye,[A(s(J),{width:20,height:20}),e("span",Ee,q(s(k)),1)])):E("",!0)])]),h.value?(p(),g("p",$e,q(n.value),1)):E("",!0),e("button",{class:"btn-confirm clickable-layer",disabled:!$.value}," 인증 완료 ",8,Ce)],32)]))}},Ae=R(Se,[["__scopeId","data-v-74f8676a"]]);const P=i=>(W("data-v-e1275189"),i=i(),D(),i),we={class:"email-auth-send-code"},Ie=P(()=>e("h2",{class:"title"},"이메일 인증하기",-1)),xe=P(()=>e("p",{class:"input-title"},"현재 이메일",-1)),Ue=["value"],Te={class:"footer-text"},Be=P(()=>e("br",null,null,-1)),Me={__name:"UserSettingEmailAuthSendCode",props:{email:{type:String,required:!0}},emits:["btn-close-clicked","btn-send-clicked","edit-email-clicked"],setup(i,{emit:u}){const c=i;return(f,o)=>(p(),g("div",we,[e("button",{class:"btn-close clickable-layer",onClick:o[0]||(o[0]=l=>u("btn-close-clicked"))},[A(s(N))]),Ie,xe,e("input",{class:"email",value:c.email,disabled:""},null,8,Ue),e("button",{class:"btn-send clickable-layer",onClick:o[1]||(o[1]=l=>u("btn-send-clicked"))}," 인증코드 발송 "),e("p",Te,[Q(" 계정에 문제가 있어 인증이 어려운가요?"),Be,e("span",{class:"edit-email",onClick:o[2]||(o[2]=l=>u("edit-email-clicked"))}," 이메일 변경하기 ")])]))}},qe=R(Me,[["__scopeId","data-v-e1275189"]]);const L=i=>(W("data-v-135b36da"),i=i(),D(),i),Re={class:"email-edit-request"},Ne=L(()=>e("h2",{class:"title"},"이메일 인증하기",-1)),Ve={class:"email"},We=L(()=>e("p",{class:"input-title"},"이전 이메일",-1)),De=["value"],Le={class:"email"},He=L(()=>e("p",{class:"input-title"},"인증할 이메일",-1)),Fe=["value"],Oe={class:"code"},Ge=L(()=>e("p",{class:"input-title"},"인증코드",-1)),je={class:"code-input-box"},Xe={key:0,class:"timer"},Pe={class:"timer-time"},Ke={key:1,class:"message"},Ye=["disabled"],M=6,Ze={__name:"UserSettingEmailEditRequest",props:{emailAuthInfo:{type:Object,required:!0}},emits:["btn-close-clicked","btn-edit-clicked","btn-resend-clicked","email-authenticated"],setup(i,{emit:u}){const c=i,f=m(!1),o=m(!1),l=m(!1),r=m(!1),n=m(""),v=m(`이메일로 전송된 ${M}자리 인증코드를 입력해 주세요.`),{remainingMs:k,formattedTime:_}=z({expiredAt:()=>c.emailAuthInfo.expiredAt,onExpired:()=>{v.value="인증코드가 만료되었습니다. 재전송해 주세요."}}),h=S(()=>n.value.length===M),$=S(()=>!h.value||l.value||k.value<=0),x=S(()=>!r.value&&h.value&&k.value>0);Z(()=>{setTimeout(()=>{f.value=!0,o.value=!0},3e3)});function U(){u("btn-resend-clicked",c.emailAuthInfo.email),n.value="",v.value=`이메일로 재전송된 ${M}자리 인증코드를 입력해 주세요.`}function C(){const a=/[^0-9]/g;a.test(n.value)&&(n.value=n.value.replace(a,"")),l.value&&(l.value=!1,v.value=`이메일로 전송된 ${M}자리 인증코드를 입력해 주세요.`)}const b=j(300,!1,async()=>{var d;r.value=!0;const{email:a,state:t}=c.emailAuthInfo;try{await V.changeEmail({email:a,state:t,code:n.value}),u("email-authenticated")}catch(w){((d=w==null?void 0:w.response)==null?void 0:d.status)===400&&(l.value=!0,v.value="인증코드를 잘못 입력하였습니다.")}finally{r.value=!1}});return(a,t)=>
1(p(),g("div",Re,[e("button",{class:"btn-close clickable-layer",onClick:t[0]||(t[0]=d=>u("btn-close-clicked"))},[A(s(N))]),Ne,e("form",{onSubmit:t[3]||(t[3]=G((...d)=>s(b)&&s(b)(...d),["prevent"]))},[e("div",Ve,[We,e("input",{class:"email-input old",value:c.emailAuthInfo.oldEmail,disabled:""},null,8,De)]),e("div",Le,[He,e("input",{class:"email-input new",value:c.emailAuthInfo.email,disabled:""},null,8,Fe),f.value?(p(),g("button",{key:0,type:"button",class:"btn-edit clickable-layer",onClick:t[1]||(t[1]=d=>u("btn-edit-clicked"))},[A(s(ce),{width:20,height:20})])):E("",!0)]),e("div",Oe,[Ge,o.value?(p(),g("button",{key:0,type:"button",class:"btn-resend clickable-layer",onClick:U}," 재전송 ")):E("",!0),e("div",je,[F(e("input",{"onUpdate:modelValue":t[2]||(t[2]=d=>n.value=d),maxlength:M,class:"code-input",onInput:C},null,544),[[O,n.value,void 0,{trim:!0}]]),s(k)>0?(p(),g("div",Xe,[A(s(J),{width:20,height:20}),e("span",Pe,q(s(_)),1)])):E("",!0)]),$.value?(p(),g("p",Ke,q(v.value),1)):E("",!0)]),e("button",{class:"btn-confirm clickable-layer",disabled:!x.value}," 인증 완료 ",8,Ye)],32)]))}},ze=R(Ze,[["__scopeId","data-v-135b36da"]]);const K=i=>(W("data-v-8c5b1975"),i=i(),D(),i),Je={class:"email-edit-send-code"},Qe=K(()=>e("h2",{class:"title"},"이메일 변경하기",-1)),et={class:"old-email"},tt=K(()=>e("p",{class:"input-title"},"현재 이메일",-1)),st=["value"],at={class:"new-email"},it=K(()=>e("p",{class:"input-title"},"변경할 이메일",-1)),nt={class:"message"},lt=["disabled"],ot={__name:"UserSettingEmailEditSendCode",props:{oldEmail:{type:String,required:!0}},emits:["btn-close-clicked","btn-send-clicked"],setup(i,{emit:u}){const c=i,f=m(""),o=m(""),l=m(!1),r=m(!1),n=S(()=>l.value||o.value.length||!r.value),v=j(300,!1,async()=>{l.value=!0,o.value="";try{if(r.value=me(f.value),r.value){const{message:k}=await V.checkEmail(f.value);k==="already exists"&&(o.value="중복된 이메일입니다. 다른 이메일을 입력해 주세요.")}}finally{l.value=!1}});return(k,_)=>(p(),g("div",Je,[e("button",{class:"btn-close clickable-layer",onClick:_[0]||(_[0]=h=>u("btn-close-clicked"))},[A(s(N))]),Qe,e("form",{onSubmit:_[3]||(_[3]=G(h=>u("btn-send-clicked",f.value),["prevent"]))},[e("div",et,[tt,e("input",{class:"old-email-input",value:c.oldEmail,disabled:""},null,8,st)]),e("div",at,[it,F(e("input",{"onUpdate:modelValue":_[1]||(_[1]=h=>f.value=h),class:"new-email-input",type:"email",placeholder:"변경할 이메일을 입력해 주세요.",onInput:_[2]||(_[2]=(...h)=>s(v)&&s(v)(...h))},null,544),[[O,f.value,void 0,{trim:!0}]]),l.value?(p(),I(re,{key:0,"bg-color":"surface"})):E("",!0),e("p",nt,q(o.value),1)]),e("button",{class:"btn-send clickable-layer",disabled:n.value}," 인증코드 발송 ",8,lt)],32)]))}},dt=R(ot,[["__scopeId","data-v-8c5b1975"]]),kt=ee({__name:"UserSettingEmailAuthWrappingModal",setup(i){const u={width:"36.8rem","border-radius":"8px"},{userInfo:c,refetch:f}=te(),o=se(),l=ae(),r=l.useArgs(y.UserSettingEmailAuthWrappingModal),n=m(r.mode==="edit"?"email-edit-send-code":"email-auth-send-code"),v=m({});async function k(a){if(a.detail.force||n.value==="email-auth-send-code"||le.isVisible())return;a.preventDefault();const t=n.value==="email-auth-request"?"인증":"변경";await oe({title:`${t}이 완료되지 않았습니다.`,html:`페이지를 나가시면, 이메일 ${t}을 재시도해야 합니다.<br />그래도 나가시겠습니까?`,cancelButtonText:"유지하기",confirmButtonText:"나가기",allowEscapeKey:!1})&&l.hide(y.UserSettingEmailAuthWrappingModal,{force:!0})}const{run:_}=H(async a=>{var d;const t=a??((d=c.value)==null?void 0:d.email);t&&(await h(t),n.value==="email-auth-send-code"?$("email-auth-request"):n.value==="email-edit-send-code"&&$("email-edit-request"))}),{run:h}=H(async a=>{const{state:t,expired_at:d}=await V.sendVerificationEmail(a);v.value={email:a,state:t,expiredAt:d}});function $(a){n.value=a}async function x(a){await h(a),l.show(y.AAlertModal,{title:"재전송 완료",body:`메일이 오지 않았다면,
2메일 주소 또는 스팸 메일함을 확인해 주세요.`})}const{run:U}=H(x),C=ie(U,1e3);async function b(){const a=n.value==="email-edit-request";f(),await l.hide(y.UserSettingEmailAuthWrappingModal,{force:!0}),o(de.DEFAULT,{title:a?"이메일이 성공적으로 변경되었습니다":"이메일 인증이 완료되었습니다"})}return(a,t)=>
2(p(),I(ue,{name:s(y).UserSettingEmailAuthWrappingModal,"content-style":u,onBeforeClose:k},{default:ne(()=>{var d,w,Y;return[e("div",null,[n.value==="email-auth-send-code"?(p(),I(qe,{key:0,email:(d=s(c))==null?void 0:d.email,onBtnCloseClicked:t[0]||(t[0]=T=>s(l).hide(s(y).UserSettingEmailAuthWrappingModal)),onBtnSendClicked:s(_),onEditEmailClicked:t[1]||(t[1]=T=>$("email-edit-send-code"))},null,8,["email","onBtnSendClicked"])):n.value==="email-auth-request"?(p(),I(Ae,{key:1,"email-auth-info":v.value,onBtnCloseClicked:t[2]||(t[2]=T=>s(l).hide(s(y).UserSettingEmailAuthWrappingModal)),onBtnResendClicked:s(C),onEmailAuthenticated:b},null,8,["email-auth-info","onBtnResendClicked"])):n.value==="email-edit-send-code"?(p(),I(dt,{key:2,"old-email":(w=s(c))==null?void 0:w.email,onBtnCloseClicked:t[3]||(t[3]=T=>s(l).hide(s(y).UserSettingEmailAuthWrappingModal)),onBtnSendClicked:s(_)},null,8,["old-email","onBtnSendClicked"])):n.value==="email-edit-request"?(p(),I(ze,{key:3,"email-auth-info":{...v.value,oldEmail:(Y=s(c))==null?void 0:Y.email},onBtnCloseClicked:t[4]||(t[4]=T=>s(l).hide(s(y).UserSettingEmailAuthWrappingModal)),onBtnEditClicked:t[5]||(t[5]=T=>$("email-edit-send-code")),onBtnResendClicked:s(C),onEmailAuthenticated:b},null,8,["email-auth-info","onBtnResendClicked"])):E("",!0)])]}),_:1},8,["name"]))}});export{kt as default};
3//# sourceMappingURL=UserSettingEmailAuthWrappingModal-b65928e6.js.map

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.