PageSourceSearch

https://snapbox.ai/assets/JoinCreatorKakao-DoNsywhM.js

js snapbox.ai collected 2026-10-05 12:39:14 UTC 10,024 bytes, 3 lines download raw bytes

1import{_ as I,m as L,B as x,r as O,o as E,a as J,p as R,c as p,b as a,t as u,w as s,q as _,F as U,n as b,v as y,f as T,i as X,s as C,e as f,y as V,A as M,g as v}from"./index-GRB8Jcml.js";import{K as P}from"./KakaoService-BeqN20Z4.js";const F={name:"JoinCreatorKakao",props:{isCreator:{type:Boolean,default:!1}},setup(t){let e=L({email:"[email protected]",link_id:"",phone:"",type:"일반",nickname:"",payload:"",event_agree:!1,check_modal_event:!1,modal_event:!1,alert_display:!1,join_success:!1,alert_confirm:!1,msg:"",rule:!1,privacy:!1,is_loading:!1,go_normal_join:!1,creator_apply:t.isCreator,creator_channel:"",creator_channel_id:"",creator_status:null});const d=x(()=>({instagram:"인스타그램 아이디 (@제외) *",youtube:"유튜브 채널 URL 또는 핸들 *",tiktok:"틱톡 아이디 (@제외) *",twitter:"X(구 트위터) 아이디 (@제외) *",etc:"플랫폼 : 아이디 형식 (예: 네이버 블로그 : yourname) *"})[e.creator_channel]||"SNS 아이디 또는 채널 링크 *"),n=[{value:"instagram",label:"인스타그램"},{value:"youtube",label:"유튜브"},{value:"tiktok",label:"틱톡"},{value:"twitter",label:"트위터 / X"},{value:"etc",label:"기타"}],k=O(!1),g=O(null),l=x(()=>{if(!e.creator_channel)return"주 소셜 채널 선택 *";const o=n.find(r=>r.value===e.creator_channel);return o?o.label:""}),w=o=>{e.creator_channel=o,k.value=!1},j=o=>{g.value&&!g.value.contains(o.target)&&(k.value=!1)};E(()=>document.addEventListener("click",j)),J(()=>document.removeEventListener("click",j));const K=()=>{e.modal_event=!1,e.event_agree=!0,e.check_modal_event=!0},N=()=>{e.modal_event=!1,e.event_agree=!1,e.check_modal_event=!0},A=()=>{if(e.alert_confirm){if(e.is_loading==!1){e.is_loading=!0,t.isCreator&&(e.creator_status="pending");let o=new FormData;o.append("email",e.email),o.append("link_id",e.link_id),o.append("phone",e.phone),o.append("nickname",e.nickname),o.append("payload",e.payload),o.append("event_agree",e.event_agree===!0?1:0),t.isCreator&&(o.append("creator_apply",1),o.append("creator_channel",e.creator_channel),o.append("creator_channel_id",e.creator_channel_id),o.append("creator_status",e.creator_status||"")),P.join(o).then(r=>{console.log(r);let i=r.data.code,m=r.data.msg;i=="S"&&r.status==200?(e.alert_display=!0,e.alert_confirm=!1,e.join_success=!0,e.msg=t.isCreator?`가입 신청이 접수되었습니다.
2현재 승인 대기 중이며, 승인이 완료되면 알림톡으로 안내드립니다.`:"가입되었습니다."):(e.alert_display=!0,e.alert_confirm=!1,e.msg=m,i=="E"&&(e.go_normal_join=!0)),e.is_loading=!1}).catch(r=>{if(r.message=="Network Error")e.alert_display=!0,e.alert_confirm=!1,e.msg="서버 응답이 없습니다. 관리자에게 문의해주세요.";else{let i=r.response.status;console.log(i),e.alert_display=!0,e.alert_confirm=!1,e.msg="예상치 못한 오류가 발생했습니다.",e.go_normal_join=!0}e.is_loading=!1})}}else e.join_success?M.login("","",e.payload):e.go_normal_join?window.location.href=t.isCreator?"/join-creator":"/join-normal":e.alert_display=!1},B=()=>{if(!e.payload)return e.alert_display=!0,e.alert_confirm=!1,e.msg=`카카오 인증 정보가 만료되었어요.
3카카오 로그인을 다시 진행해주세요.`,!1;if(!e.phone)return e.alert_display=!0,e.alert_confirm=!1,e.msg="전화번호를 입력해주세요.",!1;if(!e.nickname)return e.alert_display=!0,e.alert_confirm=!1,e.msg="닉네임을 입력해주세요.",!1;if(e.rule==!1)return e.alert_display=!0,e.alert_confirm=!1,e.msg="이용약관에 동의해주세요.",!1;if(e.privacy==!1)return e.alert_display=!0,e.alert_confirm=!1,e.msg="개인정보처리방침에 동의해주세요.",!1;if(t.isCreator){if(!e.creator_channel)return e.alert_display=!0,e.alert_confirm=!1,e.msg="주 소셜 채널을 선택해주세요.",!1;if(!e.creator_channel_id)return e.alert_display=!0,e.alert_confirm=!1,e.msg="채널 아이디를 입력해주세요.",!1}if(e.event_agree==!1&&e.check_modal_event==!1)return e.modal_event=!0,!1;e.alert_confirm=!0,A()};return E(()=>{var o,r;try{const i=localStorage.getItem("kakao_join_info");if(i){const c=JSON.parse(i);e.email=c.email,e.nickname=c.nickname,e.payload=c.payload,localStorage.removeItem("kakao_join_info");return}if(!((r=(o=window.Kakao)==null?void 0:o.Auth)!=null&&r.getAccessToken)){console.warn("Kakao SDK not loaded");return}let m=window.Kakao.Auth.getAccessToken();const h=m==null?void 0:m.split(".")[1],S=h==null?void 0:h.replace(/-/g,"+").replace(/_/g,"/");if(S){const c=JSON.parse(decodeURIComponent(window.atob(S).split("").map(function(D){return"%"+("00"+D.charCo
3deAt(0).toString(16)).slice(-2)}).join("")));console.log(c),e.email=c.email,e.nickname=c.nickname,e.payload=h}}catch(i){console.error("Kakao info parse failed:",i)}}),{user:e,join:B,...R(e),clickConfirm:A,checkEventAgree:K,cancelEventAgree:N,channelIdPlaceholder:d,channelOptions:n,isChannelOpen:k,channelDropdownRef:g,selectedChannelLabel:l,selectChannel:w}}},z={class:"join-container"},q={class:"join-wrapper"},W={class:"join-header"},G={class:"join-form"},H={class:"channel-dropdown-wrap",ref:"channelDropdownRef"},Q={class:"channel-dropdown-panel"},Y=["onClick"],Z=["placeholder"],$={class:"terms-section"},ee={class:"term-item"},ae={class:"term-item"},ne={class:"term-item"},le=["disabled"],oe={class:"alert-header"},te={class:"alert-body"},re={class:"alert-footer"},se={class:"popup-overlay"},ie={class:"alert-footer"};function ce(t,e,d,n,k,g){return v(),p("section",z,[a("div",q,[e[22]||(e[22]=a("div",{class:"logo-section"},[a("div",{class:"logo-snapbox","aria-label":"SNAPBOX"})],-1)),a("div",W,[a("h2",null,u((d.isCreator,"회원가입")),1),a("p",null,u(d.isCreator?"SNAPBOX에서 활동을 시작해보세요":"SNAPBOX와 함께 시작해보세요"),1)]),a("div",G,[s(a("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=l=>n.user.email=l),placeholder:"이메일",class:"form-input",disabled:""},null,512),[[_,n.user.email]]),s(a("input",{type:"text","onUpdate:modelValue":e[1]||(e[1]=l=>n.user.link_id=l),placeholder:"아이디 (선택)",class:"form-input"},null,512),[[_,n.user.link_id]]),s(a("input",{type:"text","onUpdate:modelValue":e[2]||(e[2]=l=>n.user.phone=l),placeholder:"전화번호 *",class:"form-input",oninput:"this.value = this.value.replace(/[^0-9.]/g, '')",maxlength:"12"},null,512),[[_,n.user.phone,void 0,{lazy:!0}]]),s(a("input",{type:"text","onUpdate:modelValue":e[3]||(e[3]=l=>n.user.nickname=l),placeholder:"닉네임 *",class:"form-input"},null,512),[[_,n.user.nickname]]),d.isCreator?(v(),p(U,{key:0},[a("div",H,[a("button",{type:"button",class:"channel-dropdown-btn",onClick:e[4]||(e[4]=l=>n.isChannelOpen=!n.isChannelOpen)},[a("span",{class:b(["channel-label",{"channel-label-placeholder":!n.user.creator_channel}])},u(n.selectedChannelLabel),3),(v(),p("svg",{class:b(["channel-chevron",{"channel-chevron-open":n.isChannelOpen}]),width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},e[18]||(e[18]=[a("polyline",{points:"6 9 12 15 18 9"},null,-1)]),2))]),s(a("div",Q,[(v(!0),p(U,null,T(n.channelOptions,l=>(v(),p("button",{key:l.value,type:"button",class:b(["channel-option",{"channel-option-active":n.user.creator_channel===l.value}]),onClick:w=>n.selectChannel(l.value)},u(l.label),11,Y))),128))],512),[[y,n.isChannelOpen]])],512),s(a("input",{type:"text","onUpdate:modelValue":e[5]||(e[5]=l=>n.user.creator_channel_id=l),placeholder:n.channelIdPlaceholder,class:"form-input"},null,8,Z),[[_,n.user.creator_channel_id]])],64)):X("",!0),a("div",$,[a("div",ee,[s(a("input",{type:"checkbox",id:"rule01","onUpdate:modelValue":e[6]||(e[6]=l=>n.user.rule=l),class:"custom-checkbox"},null,512),[[C,n.user.rule]]),e[19]||(e[19]=a("label",{for:"rule01"},[f(" [필수] "),a("a",{href:"/rule",target:"_blank"},"이용약관"),f(" 동의 ")],-1))]),a("div",ae,[s(a("input",{type:"checkbox",id:"rule02","onUpdate:modelValue":e[7]||(e[7]=l=>n.user.privacy=l),class:"custom-checkbox"},null,512),[[C,n.user.privacy]]),e[20]||(e[20]=a("label",{for:"rule02"},[f(" [필수] "),a("a",{href:"/privacy",target:"_blank"},"개인정보처리방침"),f(" 동의 ")],-1))]),a("div",ne,[s(a("input",{type:"checkbox",id:"rule03","onUpdate:modelValue":e[8]||(e[8]=l=>n.user.event_agree=l),class:"custom-checkbox"},null,512),[[C,n.user.event_agree]]),e[21]||(e[21]=a("label",{for:"rule03"},"[선택] 이벤트 수신 동의",-1))])]),a("button",{type:"button",class:"btn-join",disabled:t.is_loading,onClick:e[9]||(e[9]=(...l)=>n.join&&n.join(...l))},u((d.isCreator,"회원가입")),9,le)])]),s(a("div",{class:"popup-overlay",onClick:e[14]||(e[14]=(...l)=>n.clickConfirm&&n.clickConfirm(...l))},[a("div",{class:"alert-modal",onClick:e[13]||(e[13]=V(()=>{},["stop"]))},[a("div",oe,[e[23]||(e[23]=a("h3",null,"알림",-1)),a("button",{type:"button",class:"btn-close",onClick:e[10]||(e[10]=(...l)=>n.clickConfirm&&n.clickConfirm(...l))}," ✕ ")]),a("div",te,u(t.msg),1),a("div",re,[s(a("button",{type:"button",class:"btn-cancel",onClick:e[11]||(e[11]=l=>t.alert_display=!1)}," 취소 ",512),[[y,t.alert_confirm]]),a("button",{type:"button",class:"btn-confirm",onClick:e[12]||(e[12]=(...l)=>n.clickConfirm&&n.clickConfirm(...l))}," 확인 ")])])],512),[[y,t.alert_display]]),s(a("div",se,[a("div",{class:"alert-modal",onClick:e[17]||(e[17]=V(()=>{},["stop"]))},[e[24]||(e[24]=a("div",{class:"alert-header"},[a("h3",null,"이벤트 수신 동의")],-1)),e[25]||(e[25]=a("div",{class:"alert-body"},[f(" 브랜드 혜택 및 다양한 이벤트 참여를 위해"),a("br"),f("이벤트 수신 동의를 진행해 주세요. ")],-1)),a("div",ie,[a("button",{type:"button",class:"btn-cancel",onClick:e[15]||(e[15]=(...l)=>n.cancelEventAgree&&n.cancelEventAgree(...l))}," 취소 "),a("button",{type:"button",class:"btn-confirm",onClick:e[16]||(e[16]=(...l)=>n.checkEventAgree&&n.checkEventAgree(...l))}," 수신동의 ")])])],512),[[y,t.modal_event]])])}const fe=I(F,[["render",ce],["__scopeId","data-v-716b6fe7"]]);export{fe 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.