PageSourceSearch

https://event-us.kr/Content/dist/js/EvIntroduce-HostSetting-vue.fc948b575633dd0c.js

js event-us.kr collected 2026-10-01 10:19:18 UTC 16,997 bytes, 1 lines download raw bytes

1"use strict";(self["webpackChunkeventus_ui"]=self["webpackChunkeventus_ui"]||[]).push([[2630],{36074:function(e,t,l){l.r(t),l.d(t,{default:function(){return K}});l(57658);var o=l(70821);const n=e=>((0,o.pushScopeId)("data-v-51438c78"),e=e(),(0,o.popScopeId)(),e),r={class:"flex min-h-0 flex-1 flex-col overflow-hidden xl:flex-row"},a={class:"w-full overflow-y-auto px-5 py-6 lg:px-6 lg:py-8 xl:w-1/2 xl:border-r xl:border-gray-200"},i=n((()=>(0,o.createElementVNode)("div",{class:"mb-6"},[(0,o.createElementVNode)("div",{class:"text-xl"},"연사소개")],-1))),s={class:"space-y-6"},d={class:"rounded-lg border border-gray-200 bg-white shadow-sm"},c={class:"flex flex-col space-y-4 px-4 py-6"},u=n((()=>(0,o.createElementVNode)("h3",{class:"text-gray-900"},"기본 정보",-1))),m=n((()=>(0,o.createElementVNode)("div",{class:"mb-2.5 text-xs text-gray-900"},"프로필 이미지",-1))),p={key:0,class:"text-xs text-danger-500"},f={class:"rounded-lg border border-gray-200 bg-white shadow-sm"},v={class:"flex flex-col space-y-4 px-4 py-6"},g=n((()=>(0,o.createElementVNode)("h3",{class:"text-gray-900"},"상세 소개",-1))),x={class:"rounded-lg border border-gray-200 bg-white shadow-sm"},k={class:"flex flex-col space-y-4 px-4 py-6"},h=n((()=>(0,o.createElementVNode)("span",{class:"text-gray-900"},"링크 버튼",-1))),y={key:0,class:"space-y-3 rounded-md border border-gray-200 bg-gray-50 p-4"},V={key:0,class:"text-xs text-danger-500"},w={key:0,class:"text-xs text-danger-500"},E={key:0,class:"rounded-lg border border-gray-200 bg-white shadow-sm"},N={class:"flex flex-col space-y-4 px-4 py-6"},b=n((()=>(0,o.createElementVNode)("span",{class:"text-gray-900"},"참가자 정보 받기",-1))),C={key:0,class:"space-y-3 rounded-md border border-gray-200 bg-gray-50 p-4"},S={key:0,class:"text-xs text-danger-500"},T=n((()=>(0,o.createElementVNode)("div",{class:"mb-2.5 text-xs text-gray-900"},"대상 그룹",-1))),B=n((()=>(0,o.createElementVNode)("option",{value:"all"},"전체",-1))),_=["value"],I={key:0,class:"text-xs text-danger-500"},L={class:"hidden flex-col items-center overflow-hidden bg-gray-50 px-5 py-6 lg:px-6 xl:flex xl:w-1/2"},U=n((()=>(0,o.createElementVNode)("div",{class:"mb-4 text-center"},[(0,o.createElementVNode)("div",{class:"text-gray-500"},"참가자 화면 미리보기")],-1))),D={class:"mx-auto flex min-h-0 w-[375px] flex-1 flex-col overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-sm"},j={class:"truncate"},z=n((()=>(0,o.createElementVNode)("div",{class:"flex shrink-0 items-center gap-1"},[(0,o.createElementVNode)("span",null,"세션 이동"),(0,o.createElementVNode)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},[(0,o.createElementVNode)("path",{d:"M11 2H5.5v3M5.5 11v3H11V2",stroke:"currentColor","stroke-width":"1.2"}),(0,o.createElementVNode)("path",{d:"M1.4 8h9.6M8.5 5.5 11 8l-2.5 2.5",stroke:"currentColor","stroke-width":"1.2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1))),F={class:"preview-content flex-1 overflow-y-auto"},M={class:"border-b border-gray-100 px-5 pb-6 pt-8 text-center"},R=["src"],A={key:1,class:"text-2xl"},G={class:"mt-4 text-lg font-bold text-gray-900"},q={key:0,class:"mt-1 whitespace-pre-wrap text-sm text-gray-500"},O=n((()=>(0,o.createElementVNode)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[(0,o.createElementVNode)("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"}
1)],-1))),P={key:0,class:"preview-contents prose prose-sm max-w-none px-5 py-6"},$={key:1,class:"px-5 py-12 text-center text-xs text-gray-300"},H={key:0,class:"shrink-0 space-y-2 border-t border-gray-100 p-3"};var W={__name:"HostSetting",props:{meta:{type:Object,default:()=>({})},componentTitle:{type:String,default:"연사소개"},previewColor:{type:String,default:"#5c3fbf"},isUserProject:{type:Boolean,default:!1},likeCount:{type:Number,default:0},setting:{type:Object,default:()=>({})},groups:{type:Array,default:()=>[]},urls:{type:Object,default:()=>({})}},setup(e,{expose:t}){const l=e,n=128,W=/^[^\s@]+@[^\s@]+\.[a-z]{2,}$/i,Z=(0,o.reactive)({title:l.setting.title||"",description:l.setting.description||"",contents:l.setting.contents||"",faceImageUrl:l.setting.faceImageUrl||"",issueCheck:!!l.setting.issueCheck,useEmailSend:!!l.setting.useEmailSend,emailAddress:l.setting.emailAddress||"",isLink:!!l.setting.isLink,urlTitle:l.setting.urlTitle||"",urlLink:l.setting.urlLink||"",isInfomationSend:!!l.setting.isInfomationSend,infoSendTitle:l.setting.infoSendTitle||"",selectGroup:l.setting.selectGroup||"all",infoSendEmail:l.setting.infoSendEmail||""}),J=l.setting.faceImageSrc||null,K=(0,o.ref)(l.setting.faceImageSrc||""),Q=(0,o.ref)(!1),X=(0,o.ref)(!1),Y=(0,o.ref)(!1);let ee=null;const te=(0,o.computed)((()=>window.eventusComputeDarkText&&window.eventusComputeDarkText(l.previewColor)||"#ffffff")),le=(0,o.computed)((()=>window.eventusComputeDarkText&&window.eventusComputeDarkText(l.previewColor)||l.previewColor)),oe=(0,o.computed)((()=>{const e=Z.contents;return!e||!/<(img|iframe|video)/i.test(e)&&0===e.replace(/<[^>]*>/g,"").replace(/&nbsp;/gi,"").replace(/\s/g,"").length})),ne=(0,o.computed)((()=>Y.value&&!Z.title.trim())),re=(0,o.computed)((()=>Y.value&&Z.isLink&&!Z.urlTitle.trim()));function ae(e){const t=(e||"").trim();if(!t)return"";let l,o=t;o.startsWith("//")?o=`https:${o}`:/^[a-z][a-z0-9+.-]*:/i.test(o)||(o=`https://${o}`);try{l=new URL(o)}catch(a){return""}if("http:"!==l.protocol&&"https:"!==l.protocol)return"";const n=l.hostname.lastIndexOf(".");if(n<0)return"";const r=l.hostname.slice(n+1);return r.length<2||!/^[a-z]/i.test(r)?"":o}const ie=(0,o.computed)((()=>{if(!Z.urlLink.trim())return"링크 주소를 입력해주세요.";const e=ae(Z.urlLink);return e?e.length>n?`링크 주소는 ${n}자를 넘을 수 없습니다.`:"":"링크 주소 형식이 올바르지 않습니다. 예: https://example.com"})),se=(0,o.computed)((()=>Y.value&&Z.isLink&&!!ie.value)),de=(0,o.computed)((()=>Y.value&&Z.isInfomationSend&&!Z.infoSendTitle.trim())),ce=(0,o.computed)((()=>{const e=Z.infoSendEmail.trim();return e?W.test(e)?"":"이메일 형식이 올바르지 않습니다. 예: [email protected]":"수신 이메일을 입력해주세요."})),ue=(0,o.computed)((()=>Y.value&&Z.isInfomationSend&&!!ce.value)),me=(0,o.ref)(null),pe=(0,o.ref)(null),fe=(0,o.ref)(null),ve=(0,o.ref)(null),ge=(0,o.ref)(null);function xe(){const e=[[ne,me],[re,pe],[se,fe],[de,ve],[ue,ge]],t=e.find((([e])=>e.value));if(!t)return;const l=t[1].value;if(!l)return;l.scrollIntoView({behavior:"smooth",block:"center"});const o=l.querySelector("input");o&&o.focus({preventScroll:!0})}const ke=(0,o.computed)((()=>{const e=[];return Z.isLink&&Z.urlTitle.trim()&&e.push(Z.urlTitle),l.isUserProject&&Z.isInfomationSend&&Z.infoSendTitle.trim()&&e.push(Z.infoSendTitle),Z.issueCheck&&e.push(Z.useEmailSend?"문의하기":"질문하기"),e}));function he(e,t){window.mixpanel&&mixpanel.track(e,{event_id:l.meta.eventId,component_id:l.meta.componentId,feature:l.meta.feature,user_email:l.meta.userEmail,page_path:location.pathname,...t||{}})}function ye(){const e=document.querySelector('input[name="__RequestVerificationToken"]');return e?e.value:""}function Ve(e,t){K.value=e,ee=t||null,Q.value=!1}function we(){K.value="",Z.faceImageUrl="",ee=null,Q.value=!0}async function Ee(){if(X.value)return;const e=ae(Z.urlLink),t=!Z.title.trim()||Z.isLink&&(!Z.urlTitle.trim()||!!ie.value)||Z.isInfomationSend&&(!Z.infoSendTitle.trim()||!!ce.value);if(t)return Y.value=!0,await(0,o.nextTick)(),void xe();X.value=!0;try{if(ee){const e=new FormData;e.append("file",ee),e.append("__RequestVerificationToken",ye());const t=await axios.post(l.urls.upload,e,{headers:{"Content-Type":"multipart/form-data"}});if(!t.data.success)throw new Error(t.data.message||"이미지 업로드에 실패했습니다.");Z.faceImageUrl=t.data.url,ee=null}e&&(Z.urlLink=e);
1const t={title:Z.title,description:Z.description,faceImageUrl:Z.faceImageUrl,removeImage:Q.value,contents:Z.contents,issueCheck:Z.issueCheck,useEmailSend:Z.issueCheck&&Z.useEmailSend,emailAddress:Z.emailAddress,isLink:Z.isLink,urlTitle:Z.urlTitle,urlLink:e,isInfomationSend:Z.isInfomationSend,infoSendTitle:Z.infoSendTitle,selectGroup:Z.selectGroup,infoSendEmail:Z.infoSendEmail,__RequestVerificationToken:ye()},o=new URLSearchParams;Object.keys(t).forEach((e=>{const l=t[e];o.append(e,null===l||void 0===l?"":l)}));const n=await axios.post(l.urls.save,o);n.data&&n.data.success?(Q.value=!1,Y.value=!1,he("Solution_IntroduceSetting_Saved",{issue_linked:Z.issueCheck,has_link_button:Z.isLink,info_send_enabled:Z.isInfomationSend}),ui.alert({title:"저장되었습니다.",confirmTheme:"success",hideCloseButton:!0})):ui.alert({title:n.data&&n.data.message||"저장을 실패했습니다.",confirmTheme:"warning",hideCloseButton:!0})}catch(n){console.error(n),ui.alert({title:"저장 중 오류가 발생했습니다.",confirmTheme:"danger",hideCloseButton:!0})}finally{X.value=!1}}return(0,o.onMounted)((()=>{he("Solution_IntroduceSetting_Viewed")})),t({save:Ee}),(t,l)=>{const n=(0,o.resolveComponent)("ev-input-thumbnail"),W=(0,o.resolveComponent)("ev-input"),Q=(0,o.resolveComponent)("ev-editor"),X=(0,o.resolveComponent)("ev-toggle"),Y=(0,o.resolveDirective)("dompurify-html");return(0,o.openBlock)(),(0,o.createElementBlock)("div",r,[(0,o.createElementVNode)("div",a,[i,(0,o.createElementVNode)("div",s,[(0,o.createElementVNode)("div",d,[(0,o.createElementVNode)("div",c,[u,(0,o.createElementVNode)("div",null,[m,(0,o.createVNode)(n,{crop:"",accept:"image/*","stencil-props":{aspectRatio:1},src:(0,o.unref)(J),"custom-type":"panel",class:"h-[120px]","image-name":"프로필 이미지",onCropped:Ve,onRemoved:we},null,8,["src"])]),(0,o.createElementVNode)("div",{ref_key:"titleField",ref:me},[(0,o.createVNode)(W,{modelValue:Z.title,"onUpdate:modelValue":l[0]||(l[0]=e=>Z.title=e),invalid:(0,o.unref)(ne),placeholder:"연사 이름을 입력하세요",maxlength:"64"},{default:(0,o.withCtx)((()=>[(0,o.createTextVNode)(" 이름 ")])),_:1},8,["modelValue","invalid"]),(0,o.unref)(ne)?((0,o.openBlock)(),(0,o.createElementBlock)("p",p,"이름을 입력해주세요.")):(0,o.createCommentVNode)("",!0)],512),(0,o.createElementVNode)("div",null,[(0,o.createVNode)(W,{modelValue:Z.description,"onUpdate:modelValue":l[1]||(l[1]=e=>Z.description=e),placeholder:"소속/직함 등 한 줄 소개를 입력하세요",maxlength:"128"},{default:(0,o.withCtx)((()=>[(0,o.createTextVNode)(" 한 줄 소개 ")])),_:1},8,["modelValue"])])])]),(0,o.createElementVNode)("div",f,[(0,o.createElementVNode)("div",v,[g,(0,o.createVNode)(Q,{modelValue:Z.contents,"onUpdate:modelValue":l[2]||(l[2]=e=>Z.contents=e),"min-height":"240","max-height":"420"},null,8,["modelValue"])])]),(0,o.createElementVNode)("div",x,[(0,o.createElementVNode)("div",k,[(0,o.createVNode)(X,{modelValue:Z.isLink,"onUpdate:modelValue":l[3]||(l[3]=e=>Z.isLink=e)},{description:(0,o.withCtx)((()=>[(0,o.createTextVNode)("참가자 화면 하단에 외부 링크로 이동하는 버튼을 표시합니다.")])),default:(0,o.withCtx)((()=>[h])),_:1},8,["modelValue"]),Z.isLink?((0,o.openBlock)(),(0,o.createElementBlock)("div",y,[(0,o.createElementVNode)("div",{ref_key:"urlTitleField",ref:pe},[(0,o.createVNode)(W,{modelValue:Z.urlTitle,"onUpdate:modelValue":l[4]||(l[4]=e=>Z.urlTitle=e),invalid:(0,o.unref)(re),placeholder:"예: 발표자료 보기",maxlength:"32"},{default:(0,o.withCtx)((()=>[(0,o.createTextVNode)(" 버튼 이름 ")])),_:1},8,["modelValue","invalid"]),(0,o.unref)(re)?((0,o.openBlock)(),(0,o.createElementBlock)("p",V,"버튼 이름을 입력해주세요.")):(0,o.createCommentVNode)("",!0)],512),(0,o.createElementVNode)("div",{ref_key:"urlLinkField",ref:fe},[(0,o.createVNode)(W,{modelValue:Z.urlLink,"onUpdate:modelValue":l[5]||(l[5]=e=>Z.urlLink=e),invalid:(0,o.unref)(se),type:"url",placeholder:"https://"},{default:(0,o.withCtx)((()=>[(0,o.createTextVNode)(" 링크 주소 ")])),_:1},8,["modelValue","invalid"]),(0,o.unref)(se)?((0,o.openBlock)(),(0,o.createElementBlock)("p",w,(0,o.toDisplayString)((0,o.unref)(ie)),1)):(0,o.createCommentVNode)("",!0)],512)])):(0,o.createCommentVNode)("",!0)])]),e.isUserProject?((0,o.openBlock)(),(0,o.createElementBlock)("div",E,[(0,o.createElementVNode)("div",N,[(0,o.createVNode)(X,{modelValue:Z.isInfomationSend,"onUpdate:modelValue":l[6]||(l[6]=e=>Z.isInfomationSend=e)},{description:(0,o.withCtx)((()=>[(0,o.createTextVNode)("참가자가 버튼을 누르면(동의 후) 신청 정보가 설정한 이메일로 전송됩니다.")])),default:(0,o.withCtx)((()=>[b])),_:1},8,["modelValue"]),Z.isInfomationSend?((0,o.openBlock)(),(0,o.createElementBlock)("div",C,[(0,o.createElementVNode)("div",{ref_key:"infoTitleField",ref:ve},[(0,o.createVNode)(W,{modelValue:Z.infoSendTitle,"onUpdate:modelValue":l[7]||
1(l[7]=e=>Z.infoSendTitle=e),invalid:(0,o.unref)(de),placeholder:"예: 연사에게 내 정보 전달하기",maxlength:"32"},{default:(0,o.withCtx)((()=>[(0,o.createTextVNode)(" 버튼 이름 ")])),_:1},8,["modelValue","invalid"]),(0,o.unref)(de)?((0,o.openBlock)(),(0,o.createElementBlock)("p",S,"버튼 이름을 입력해주세요.")):(0,o.createCommentVNode)("",!0)],512),(0,o.createElementVNode)("div",null,[T,(0,o.withDirectives)((0,o.createElementVNode)("select",{"onUpdate:modelValue":l[8]||(l[8]=e=>Z.selectGroup=e),class:"h-10 w-full rounded-md border border-gray-200 bg-white pl-3 pr-8 text-sm text-gray-700 focus:border-primary-500 focus:ring-1 focus:ring-primary-500"},[B,((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(e.groups,(e=>((0,o.openBlock)(),(0,o.createElementBlock)("option",{key:e.groupId,value:e.groupId},(0,o.toDisplayString)(e.groupName),9,_)))),128))],512),[[o.vModelSelect,Z.selectGroup]])]),(0,o.createElementVNode)("div",{ref_key:"infoEmailField",ref:ge},[(0,o.createVNode)(W,{modelValue:Z.infoSendEmail,"onUpdate:modelValue":l[9]||(l[9]=e=>Z.infoSendEmail=e),invalid:(0,o.unref)(ue),type:"email",maxlength:"128",placeholder:"[email protected]"},{default:(0,o.withCtx)((()=>[(0,o.createTextVNode)(" 정보를 수신할 이메일 ")])),_:1},8,["modelValue","invalid"]),(0,o.unref)(ue)?((0,o.openBlock)(),(0,o.createElementBlock)("p",I,(0,o.toDisplayString)((0,o.unref)(ce)),1)):(0,o.createCommentVNode)("",!0)],512)])):(0,o.createCommentVNode)("",!0)])])):(0,o.createCommentVNode)("",!0)])]),(0,o.createElementVNode)("div",L,[U,(0,o.createElementVNode)("div",D,[(0,o.createElementVNode)("div",{class:"flex h-[56px] shrink-0 items-center justify-between px-5",style:(0,o.normalizeStyle)({backgroundColor:e.previewColor,color:(0,o.unref)(te)})},[(0,o.createElementVNode)("span",j,(0,o.toDisplayString)(e.componentTitle),1),z],4),(0,o.createElementVNode)("div",F,[(0,o.createElementVNode)("div",M,[(0,o.createElementVNode)("div",{class:(0,o.normalizeClass)(["mx-auto flex h-[88px] w-[88px] items-center justify-center overflow-hidden rounded-full shadow-md",K.value?"border border-gray-100 bg-white":""]),style:(0,o.normalizeStyle)(K.value?null:{backgroundColor:e.previewColor,color:(0,o.unref)(te)})},[K.value?((0,o.openBlock)(),(0,o.createElementBlock)("img",{key:0,src:K.value,alt:"프로필 이미지",class:"h-full w-full object-cover"},null,8,R)):((0,o.openBlock)(),(0,o.createElementBlock)("span",A,(0,o.toDisplayString)((Z.title||"?").charAt(0)),1))],6),(0,o.createElementVNode)("div",G,(0,o.toDisplayString)(Z.title||"연사 이름"),1),Z.description?((0,o.openBlock)(),(0,o.createElementBlock)("div",q,(0,o.toDisplayString)(Z.description),1)):(0,o.createCommentVNode)("",!0),(0,o.createElementVNode)("div",{class:"mt-4 inline-flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-xs tabular-nums",style:(0,o.normalizeStyle)({borderColor:(0,o.unref)(le),color:(0,o.unref)(le)})},[O,(0,o.createTextVNode)(" 좋아요 "+(0,o.toDisplayString)(e.likeCount),1)],4)]),(0,o.unref)(oe)?((0,o.openBlock)(),(0,o.createElementBlock)("div",$,"상세 소개를 입력해주세요.")):(0,o.withDirectives)(((0,o.openBlock)(),(0,o.createElementBlock)("div",P,null,512)),[[Y,Z.contents]])]),(0,o.unref)(ke).length>0?((0,o.openBlock)(),(0,o.createElementBlock)("div",H,[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)((0,o.unref)(ke),((t,l)=>((0,o.openBlock)(),(0,o.createElementBlock)("div",{key:l,class:"w-full cursor-default rounded-lg border py-3 text-center text-sm",style:(0,o.normalizeStyle)(l===(0,o.unref)(ke).length-1?{backgroundColor:e.previewColor,color:(0,o.unref)(te),borderColor:e.previewColor}:{backgroundColor:"#ffffff",color:(0,o.unref)(le),borderColor:(0,o.unref)(le)})},(0,o.toDisplayString)(t),5)))),128))])):(0,o.createCommentVNode)("",!0)])])])}}},Z=l(83744);const J=(0,Z.Z)(W,[["__scopeId","data-v-51438c78"]]);var K=J}}]);

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.