PageSourceSearch

https://snapbox.ai/assets/WidgetSetting-XrzZNC98.js

js snapbox.ai collected 2026-10-05 12:40:45 UTC 39,741 bytes, 16 lines download raw bytes

1import{_ as nt,o as at,m as dt,B as P,A as rt,c as u,b as e,h as S,d as U,e as m,w as d,s as V,I as y,q as g,k as j,t as x,i as C,n as q,F as E,f as D,x as ut,u as bt,j as R,g as b,bM as gt}from"./index-GRB8Jcml.js";import{a as ct,S as ft,b as pt}from"./snap_footer-B9eSqtLO.js";import{S as mt}from"./spinner-CjlHwONo.js";import{W as F}from"./WidgetService-BiJBsAn7.js";import{V as vt}from"./vue-draggable-next.esm-bundler-DNdHFEyD.js";import{C as _t}from"./compressor.esm-FeJMiU6q.js";import"./UserService-B39Vk0W_.js";const xt={name:"WidgetSettings",components:{SNAP_HEADER:ct,SNAP_MENU:ft,SNAP_FOOTER:pt,SNAP_SPINNER:mt,draggable:vt},setup(){at(()=>{console.log("Widget Settings page mounted!"),G(),O()});const o=dt({is_loading:!1,main_upload_btn:!1,upload_btn_disabled:!1,floating_btn_enabled:!1,floating_btn_dissolution:!1,widget_position:"tl",point:"1000",theme:"light",corner:"none",selectedColor:"#000000",selectedColorHex:"#000000",selectedColorRGB:"rgb(0, 0, 0)",showColorPicker:!1,cornerRadiusValue:8,cornerRadius:"8px",borderValue:1,border:"1px",fontsizeValue:14,fontsize:"14px",right:3,bottom:7,button_text:"스냅 업로드",options:[{value:""},{value:""},{value:""}],use_custom_input:!1,floating_icon_url:"",floating_icon_file:null,brandName:"",brandLink:"",event:"",showcase_photos_data:[],deleted_showcase_photos:[],showcase_photos_count:0,title:"",sub_title:"",guide:"",additional_point:"1000",verification_title:"",verification_guide:""}),t=["키","몸무게","사이즈","피부타입","색상/호수","제품번호","크기","색상","수량","선택 안함"],T=bt(),l=P(()=>`https://snapbox.ai/user-content-upload?brand_name=${encodeURIComponent(o.brandName)}&product_id=&is_logged_in=&product_name=&product_image=null&link=${encodeURIComponent(o.brandLink)}`),N=n=>{o.selectedColor=n,o.selectedColorHex=n;const s=parseInt(n.slice(1,3),16),a=parseInt(n.slice(3,5),16),r=parseInt(n.slice(5,7),16);o.selectedColorRGB=`rgb(${s}, ${a}, ${r})`},W=()=>{o.showColorPicker=!0},I=()=>{o.showColorPicker=!1},z=n=>{const s=n.target.value;N(s)},A=n=>{const s=n.target.value;o.cornerRadiusValue=s,o.cornerRadius=s+"px"},M=n=>{const s=n.target.value;o.borderValue=s,o.border=s+"px"},L=n=>{const s=n.target.value;o.fontsizeValue=s,o.fontsize=s+"px"},i=n=>{const s=n.target.value;o.right=s},w=n=>{const s=n.target.value;o.bottom=s},f=n=>{o.button_text=n.target.value},Q=n=>{o.event=n.target.value},Y=()=>{navigator.clipboard.writeText(l.value).then(()=>{alert("링크가 클립보드에 복사되었습니다.")}).catch(n=>{console.error("클립보드 복사 실패: ",n),alert("링크 복사에 실패했습니다.")})},K=n=>{const s=n.target.files[0];if(!s)return;if(!["image/png","image/jpeg","image/gif"].includes(s.type)){alert("PNG, JPG 또는 GIF 파일만 업로드 가능합니다.");return}if(s.size>2*1024*1024){alert("파일 크기는 2MB 이하여야 합니다.");return}const a=new FileReader;a.onload=r=>{o.floating_icon_url=r.target.result,o.floating_icon_file=s;const p=new Image;p.onload=()=>{(p.width!==52||p.height!==52)&&alert("권장 사이즈는 52×52px입니다. 이미지가 자동으로 조정될 수 있습니다.")},p.src=r.target.result},a.readAsDataURL(s)},Z=()=>{confirm(`아이콘을 삭제하시겠습니까?
2기본 아이콘으로 변경됩니다.`)&&(o.floating_icon_url="",o.floating_icon_file=null,document.getElementById("icon_upload").value="")},$=()=>{confirm("테마 관련 설정을 기본값으로 복원하시겠습니까?")&&(o.theme="light",o.selectedColor="#000000",o.selectedColorHex="#000000",o.selectedColorRGB="rgb(0, 0, 0)",o.cornerRadiusValue=8,o.cornerRadius="8px",o.borderValue=1,o.border="1px",o.fontsizeValue=14,o.fontsize="14px")},tt=P(()=>o.theme==="light"?{backgroundColor:"#ffffff",color:o.selectedColor,borderColor:o.selectedColor,borderStyle:"solid",borderWidth:`${o.border}`,borderRadius:`${o.cornerRadius}`,fontSize:`${o.fontsize}`,padding:"10px 16px"}:{color:"#ffffff",backgroundColor:o.selectedColor,borderColor:o.selectedColor,borderStyle:"solid",borderWidth:`${o.border}`,borderRadius:`${o.cornerRadius}`,fontSize:`${o.fontsize}`,padding:"10px 16px"}),et=P(()=>o.theme==="light"?{backgroundColor:"#ffffff",color:o.selectedColor,borderColor:o.selectedColor,borderStyle:"solid",borderWidth:`${o.border}`,borderRadius:`${o.cornerRadius}`,fontSize:"14px"}:{color:"#ffffff",backgroundColor:o.selectedColor,borderColor:o.selectedColor,borderStyle:"solid",borderWidth:`${o.border}`,borderRadius:`${o.cornerRadius}`,fontSize:"14px"}),ot=()=>{const n=[{value:o.point,name:"참여 지급 포인트"}
2,{value:o.additional_point,name:"추가 적립금"}];for(const s of n){const a=Number(s.value);if(!s.value||a<1e3){alert(`${s.name}은(는) 최소 1,000원 이상이어야 합니다.`);return}if(a>1e5){alert(`${s.name}은(는) 최대 100,000원을 초과할 수 없습니다.`);return}}if(!o.point){alert("참여 포인트 지급액을 입력해주세요.");return}if(confirm("저장하시겠습니까?")){o.is_loading=!0;const s=new FormData;s.append("main_upload_btn",o.main_upload_btn),s.append("upload_btn_disabled",o.upload_btn_disabled),s.append("floating_btn_enabled",o.floating_btn_enabled),s.append("floating_btn_dissolution",o.floating_btn_dissolution),s.append("floating_right",o.right),s.append("floating_bottom",o.bottom),s.append("theme",o.theme),s.append("main_color",o.selectedColor),s.append("button_corner",o.cornerRadius),s.append("border_width",o.border),s.append("fontsize",o.fontsize),s.append("widget_position",o.widget_position),s.append("button_text",o.button_text),s.append("point",o.point),s.append("title",o.title),s.append("sub_title",o.sub_title),s.append("guide",o.guide),o.floating_icon_file&&s.append("floating_btn_icon",o.floating_icon_file),s.append("use_custom_option",o.use_custom_input),o.options.forEach((a,r)=>{const p=a.value.trim()===""?"선택 안함":a.value;s.append(`option${r+1}`,p)}),s.append("event",o.event),s.append("additional_point",o.additional_point),s.append("verification_title",o.verification_title),s.append("verification_guide",o.verification_guide),F.saveWidgetSetting(s).then(a=>{a.data.code==="S"?alert("저장되었습니다."):alert(a.data.msg||"저장에 실패하였습니다.")}).catch(a=>{console.error("Error saving settings:",a),alert("저장에 실패하였습니다.")}).finally(()=>{o.is_loading=!1})}},G=()=>{o.is_loading=!0,F.widgetSetting().then(n=>{if(n.data.code==="S"){const s=n.data.data,a=n.data.link;o.brandLink=a.mall_url||"",o.brandName=rt.getNickname(),s&&(o.main_upload_btn=s.main_upload_btn||!1,o.upload_btn_disabled=s.upload_btn_disabled||!1,o.floating_btn_enabled=s.floating_btn_enabled||!1,o.floating_btn_dissolution=s.floating_btn_dissolution||!1,o.theme=s.theme||"light",N(s.main_color||"#000000"),o.widget_position=s.widget_position||"tl",o.cornerRadius=s.button_corner||"8px",o.cornerRadiusValue=s.button_corner.replace("px",""),o.border=s.border_width||"1px",o.borderValue=s.border_width.replace("px",""),o.button_text=s.button_text??"스냅 업로드",o.right=s.floating_right||3,o.bottom=s.floating_bottom||7,o.floating_icon_url=s.floating_btn_icon||"",o.point=s.point||1e3,o.use_custom_input=s.use_custom_option||!1,s.option1!==void 0&&(o.options[0].value=s.option1||""),s.option2!==void 0&&(o.options[1].value=s.option2||""),s.option3!==void 0&&(o.options[2].value=s.option3||""),o.event=s.event||"",o.title=s.title||`JUST TAG #${o.brandName}📸`,o.sub_title=s.sub_title||`${o.brandName}와 함께한 나의 일상을 공유해주세요!`,o.guide=s.guide||`1. ${o.brandName}을 착용한 나만의 콘텐츠를 자유롭게 인스타그램 스토리 또는 피드에 업로드해주세요.
3
4(@${o.brandName}_official 태그 + #${o.brandName} 해시태그 필수)
5
62. 업로드 한 콘텐츠 링크를 아래에 첨부해 주세요`,o.additional_point=s.additional_point||1e3,o.verification_title=s.verification_title||"이렇게 인증해주세요",o.verification_guide=s.verification_guide||`야외에서 신고있는 신발 사진 찍기
7(딱 바닥이 보여야 하며 실외여야 합니다.
8지하철, 아파트 복도, 실내, 자동차 안, 주차장
9내부 모두 안되며 야외 땅바닥만 가능)`),console.log("상점 주소 "),console.log(a.mall_url)}}).catch(n=>{console.error("Error fetching settings:",n)}).finally(()=>{o.is_loading=!1})},lt=P(()=>o.showcase_photos_data.length),H=()=>{let n=new Date,s=n.getFullYear()*1e10,a=(n.getMonth()+1)*1e8,r=n.getDate()*1e6,p=n.getHours()*1e4,c=n.getMinutes()*100,_=n.getSeconds(),h=n.getMilliseconds();return s+a+r+p+c+_+h},st=n=>{if(o.showcase_photos_data.length>=6){alert("판매사진은 최대 6개까지만 등록할 수 있습니다."),n.target.value="";return}const s=n.target.files;for(let a=0;a<s.length;a++){let r=s[a];if(r)if(r.type==="image/png"||r.type==="image/jpeg"||r.type==="image/jpg")J(r);else if(r.type.includes("video/")){if(r.type!=="video/mp4")return alert("MP4 파일ì
9„ 선택해주세요."),!1;if(r.size*95367e-11>20)return alert("20MB 이하인 파일을 선택해주세요."),!1;X(r)}else return alert("이미지 또는 비디오 파일을 선택해주세요."),!1}},it=n=>{const s=o.showcase_photos_data[n];s.id&&!s.is_new&&o.deleted_showcase_photos.push(s.id),o.showcase_photos_data.splice(n,1)},O=()=>{F.showcase().then(n=>{n.data.code==="S"&&(o.showcase_photos_data=n.data.data||[])}).catch(n=>{console.error("Error fetching showcase photos:",n)})},J=async n=>{if(o.showcase_photos_data.length>=6)return;function s(a){return new Promise((r,p)=>{let h=.5;const B=k=>{new _t(a,{quality:k,maxWidth:1080,maxHeight:1920,success(v){v.size>419430.4&&k>.1?(h-=.05,B(h)):r(v)},error(v){p(v)}})};B(h)})}try{const a=await s(n);let p={id:H(),price:3e4,description:"",is_video:0,photo:URL.createObjectURL(a),thumbnail:null,file:a,is_new:!0};o.showcase_photos_data.push(p)}catch(a){console.error("Compression failed:",a),alert("이미지 압축 중 오류가 발생했습니다.")}},X=async n=>{if(o.showcase_photos_data.length>=6)return;let s=H(),a=null,r=null;try{const c=document.createElement("video"),_=document.createElement("canvas"),h=_.getContext("2d");c.preload="metadata",c.src=URL.createObjectURL(n),c.currentTime=1,await new Promise((B,k)=>{c.onseeked=()=>{_.width=c.videoWidth,_.height=c.videoHeight,h.drawImage(c,0,0,_.width,_.height),_.toBlob(v=>{v?(r=new File([v],n.name.split(".")[0]+"_thumbnail.jpg",{type:"image/jpeg",lastModified:Date.now()}),a=URL.createObjectURL(v),B()):k("Failed to create thumbnail blob.")},"image/jpeg",.8)},c.onerror=v=>{console.error("Error loading video for thumbnail:",v),k("Failed to load video for thumbnail.")},c.readyState>=2&&c.onseeked()})}catch(c){console.error("Error generating thumbnail:",c),a=null,r=null}let p={id:s,price:3e4,description:"",is_video:1,photo:URL.createObjectURL(n),thumbnail:a,file:n,thumbnail_file:r,is_new:!0};o.showcase_photos_data.push(p)};return{state:o,selectColor:N,showColorPickerModal:W,closeColorPicker:I,updateColor:z,updateCorner:A,updateBorder:M,updateFontsize:L,updateRight:i,updateBottom:w,widgetButtonStyle:tt,uploadFormButtonStyle:et,save:ot,fetchSettings:G,updateButtonText:f,updateEvent:Q,resetThemeSettings:$,router:T,optionsList:t,handleIconUpload:K,removeIcon:Z,copyWidgetUrl:Y,generatedWidgetUrl:l,showcase_photos_count:lt,onShowcasePhotoChange:st,handleShowcaseImage:J,handleShowcaseVideo:X,removeShowcasePhoto:it,saveShowcasePhotos:()=>{if(confirm("판매사진을 저장하시겠습니까?")){o.is_loading=!0;const n=new FormData;n.append("showcase_photos",JSON.stringify(o.showcase_photos_data)),n.append("deleted_showcase_photos",JSON.stringify(o.deleted_showcase_photos)),o.showcase_photos_data.forEach((s,a)=>{s.file?n.append(`showcase_files[${a}]`,s.file):n.append(`showcase_files[${a}]`,"null"),s.thumbnail_file&&n.append(`showcase_thumbnails[${a}]`,s.thumbnail_file)}),console.log("FormData entries:");for(let[s,a]of n.entries())console.log(s,a);F.saveShowcasePhotos(n).then(s=>{s.data.code==="S"?(alert("판매사진이 저장되었습니다."),O(),o.deleted_showcase_photos=[]):alert(s.data.msg||"저장에 실패하였습니다.")}).catch(s=>{console.error("Error saving showcase photos:",s),alert("저장에 실패하였습니다.")}).finally(()=>{o.is_loading=!1})}},fetchShowcasePhotos:O}}},ht={class:"dashboard_body flex flex-col"},wt={class:"contents_box w-full flex justify-start grow"},yt={class:"contents_area grow p-8"},Ct={class:"con grow"},kt={class:"box mb-6"},St={class:"mt-8 mb-8 p-5 border border-gray-200 rounded-lg bg-gray-50"},Ut={class:"flex items-center"},Vt=["value"],Rt={class:"mt-8 mb-8 p-5 border border-gray-200 rounded-lg bg-gray-50"},Nt={class:"flex items-center"},Bt=["value"],Pt={class:"flex flex-col gap-6 mt-8"},jt={class:"flex justify-between items-center"},Et={class:"toggle"},Ft={class:"flex justify-between items-center"},It={class:"toggle"},zt={class:"flex justify-between items-center"},At={class:"box mb-6"},Mt={class:"mb-8"},Lt={class:"flex items-center gap-4"},Ot=["value"],Dt={class:"flex gap-12"},Tt={class:"w-2/3"},Wt={class:"mb-8"},Gt={class:"text-lg font-bold mb-4 flex justify-between items-center"},Ht={class:"snapBuy grid grid-cols-2 gap-4"},Jt={class:"mb-8"},Xt={class:"flex items-center gap-3"},qt={class:"flex items-center gap-2 cursor-pointer"},Qt={class:"relative w-8 h-8"},Yt={class:"mb-8"},Kt={class:"flex flex-col gap-4"},Zt={class:"flex items-center gap-4"}
9,$t={class:"min-w-[60px] text-right"},te={class:"mb-8"},ee={class:"flex flex-col gap-4"},oe={class:"flex items-center gap-4"},le={class:"min-w-[60px] text-right"},se={class:"mb-8"},ie={class:"flex flex-col gap-4"},ne={class:"flex items-center gap-4"},ae={class:"min-w-[60px] text-right"},de={class:"mb-8"},re={class:"snapBuy grid grid-cols-4 gap-4"},ue={class:"mb-8"},be={class:"flex items-start gap-6"},ge={class:"w-28 h-28 border border-gray-300 rounded-lg flex items-center justify-center bg-gray-50"},ce=["src"],fe={key:1,src:"https://creatormarket.cafe24.com/web/upload/snapfloating.png",class:"max-w-full max-h-full object-contain",alt:"기본 플로팅 버튼 아이콘"},pe={class:"flex flex-col gap-3"},me={class:"flex justify-between items-center mb-8"},ve={class:"toggle"},_e={class:"flex justify-between items-center mb-8"},xe={class:"toggle"},he={class:"mb-8"},we={class:"flex flex-col gap-4"},ye={class:"flex items-center gap-4"},Ce={class:"min-w-[60px] text-right"},ke={class:"mb-8"},Se={class:"flex flex-col gap-4"},Ue={class:"flex items-center gap-4"},Ve={class:"min-w-[60px] text-right"},Re={class:"w-1/3 pl-12"},Ne={class:"mb-6"},Be={class:"bg-gray-100 rounded-lg p-4 h-48 relative flex items-center justify-center"},Pe={class:"mb-6"},je={class:"bg-gray-100 rounded-lg p-4 h-96 flex flex-col items-center justify-center gap-6"},Ee={class:"mb-6"},Fe={class:"bg-gray-100 rounded-lg p-4 h-96 relative"},Ie={class:"w-full h-full border-2 border-dashed border-gray-300 relative"},ze=["src"],Ae={key:1,src:"https://creatormarket.cafe24.com/web/upload/snapfloating.png",class:"w-full h-full object-contain",alt:"기본 아이콘"},Me={key:2,class:"absolute top-full left-1/2 -translate-x-1/2 whitespace-nowrap text-xs text-red-500 mt-1"},Le={class:"box mb-6"},Oe={class:"mb-8"},De={class:"flex gap-6"},Te={class:"w-1/2"},We={class:"relative"},Ge={class:"w-1/2"},He={class:"relative"},Je={class:"mb-8"},Xe={class:"text-lg font-bold mb-1 flex items-center"},qe={class:"flex items-center ml-4"},Qe={class:"flex gap-6"},Ye={class:"text-base mb-2"},Ke={class:"relative"},Ze=["onUpdate:modelValue"],$e=["onUpdate:modelValue"],to=["value"],eo={class:"box mb-6"},oo={class:"mb-8"},lo={class:"mb-4"},so={class:"mb-4"},io={class:"mb-8"},no={class:"mb-4"},ao={class:"box mb-8"},ro={class:"mb-4"},uo={class:"mb-4"},bo={class:"box mb-6"},go={class:"mb-8"},co={class:"snap_preview"},fo={class:"flex items-center justify-between"},po={class:"quantity"},mo={class:"snap_wrap"},vo={"aria-disabled":"false"},_o=["src"],xo=["poster"],ho=["src"],wo=["onClick"],yo={class:"snap_info flex flex-col"},Co=["onUpdate:modelValue"],ko=["onUpdate:modelValue"],So={key:0},Uo={class:"upload-container",style:{display:"flex","flex-direction":"column","align-items":"center"}},Vo={class:"btn_area mt-4"},Ro={class:"btn_area mt-8"};function No(o,t,T,l,N,W){const I=R("SNAP_HEADER"),z=R("SNAP_MENU"),A=R("draggable"),M=R("SNAP_FOOTER"),L=R("SNAP_SPINNER");return b(),u(E,null,[e("div",ht,[S(I),e("div",wt,[S(z),e("div",yt,[e("div",Ct,[t[118]||(t[118]=e("div",{class:"contents_title flex justify-between"},[e("div",null,[e("h1",null,"위젯 설정"),e("h2",null,"위젯과 업로드 폼의 모든 설정을 관리합니다.")])],-1)),e("div",kt,[t[56]||(t[56]=U('<div class="contents_title text-2xl font-bold mb-1" data-v-082639c3> 기본기능 </div><div class="flex flex-col gap-1" data-v-082639c3><div class="text-base" data-v-082639c3> 위젯의 주요 기능을 활성화하거나 비활성화 합니다. </div><div class="text-gray-400 flex items-center gap-1 text-base" data-v-082639c3><i class="fa-regular fa-circle-question" data-v-082639c3></i><span data-v-082639c3>설정 변경시 모든 사용자에게 영향을 미칩니다.</span></div></div>',2)),e("div",St,[t[48]||(t[48]=e("div",{class:"text-lg font-bold mb-4"},"위젯 URL",-1)),t[49]||(t[49]=e("div",{class:"text-base mb-4"}," 아래 URL을 사용하여 외부에서 위젯에 접근할 수 있습니다. ",-1)),e("div",Ut,[e("input",{type:"text",value:l.generatedWidgetUrl,class:"flex-1 h-12 px-4 rounded-l-lg border border-gray-300 focus:outline-none bg-white",readonly:""},null,8,Vt),e("button",{onClick:t[0]||(t[0]=(...i)=>
9l.copyWidgetUrl&&l.copyWidgetUrl(...i)),class:"h-12 px-4 rounded-r-lg bg-gray-800 text-white hover:bg-gray-700 flex items-center"},t[47]||(t[47]=[e("i",{class:"fa-regular fa-copy mr-2 text-white"},null,-1),m(" 복사 ")]))])]),e("div",Rt,[t[50]||(t[50]=e("div",{class:"text-lg font-bold mb-4"}," 이벤트 안내 URL ",-1)),e("div",Nt,[e("input",{type:"text",value:l.state.event,class:"flex-1 h-12 px-4 rounded-l-lg border border-gray-300 focus:outline-none bg-white",onInput:t[1]||(t[1]=(...i)=>l.updateEvent&&l.updateEvent(...i))},null,40,Bt)])]),e("div",Pt,[e("div",jt,[t[52]||(t[52]=e("div",null,[e("div",{class:"text-lg font-bold mb-2"}," 콘텐츠 업로드 버튼 비활성화 "),e("div",{class:"text-base"}," 메인페이지를 포함한 모든 위젯 업로드 버튼을 비활성화 합니다. ")],-1)),e("div",Et,[d(e("input",{type:"checkbox",role:"switch",id:"toggle_radio04",class:"toggle_radio","onUpdate:modelValue":t[2]||(t[2]=i=>l.state.upload_btn_disabled=i)},null,512),[[V,l.state.upload_btn_disabled]]),t[51]||(t[51]=e("label",{for:"toggle_radio04"},null,-1))])]),e("div",Ft,[t[54]||(t[54]=e("div",null,[e("div",{class:"text-lg font-bold mb-2"}," 메인페이지 업로드 "),e("div",{class:"text-base"}," 메인페이지 위젯에서의 콘텐츠 업로드 기능을 관리합니다. ")],-1)),e("div",It,[d(e("input",{type:"checkbox",role:"switch",id:"toggle_radio01",class:"toggle_radio","onUpdate:modelValue":t[3]||(t[3]=i=>l.state.main_upload_btn=i)},null,512),[[V,l.state.main_upload_btn]]),t[53]||(t[53]=e("label",{for:"toggle_radio01"},null,-1))])]),e("div",zt,[t[55]||(t[55]=e("div",null,[e("div",{class:"text-lg font-bold mb-2"}," 콘텐츠 업로드 "),e("div",{class:"text-base"}," 사용자의 콘텐츠 업로드 기능을 관리합니다. ")],-1)),e("div",null,[e("button",{onClick:t[4]||(t[4]=i=>l.router.push("/snap-list"))}," 업로드 관리하기 ")])])])]),e("div",At,[t[91]||(t[91]=e("div",{class:"contents_title text-2xl font-bold mb-1"}," 디자인 ",-1)),t[92]||(t[92]=e("div",{class:"text-base mb-8"}," 위젯과 업로드 폼의 디자인을 설정합니다. ",-1)),e("div",Mt,[t[57]||(t[57]=e("div",{class:"text-lg font-bold mb-4"}," 버튼 텍스트 ",-1)),e("div",Lt,[e("input",{type:"text",value:l.state.button_text,onInput:t[5]||(t[5]=(...i)=>l.updateButtonText&&l.updateButtonText(...i)),class:"w-full h-12 px-4 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"버튼에 표시할 텍스트를 입력하세요",maxlength:"20"},null,40,Ot)]),t[58]||(t[58]=e("div",{class:"text-sm text-gray-500 mt-2"}," 최대 20자까지 입력 가능합니다 ",-1))]),e("div",Dt,[e("div",Tt,[e("div",Wt,[e("div",Gt,[t[60]||(t[60]=m(" 테마 ")),e("button",{onClick:t[6]||(t[6]=(...i)=>l.resetThemeSettings&&l.resetThemeSettings(...i)),class:"text-sm text-gray-500 hover:text-gray-700 flex items-center gap-1"},t[59]||(t[59]=[e("i",{class:"fas fa-undo"},null,-1),m(" 기본값 복원 ")]))]),e("div",Ht,[d(e("input",{type:"radio",id:"theme_light",name:"theme",value:"light","onUpdate:modelValue":t[7]||(t[7]=i=>l.state.theme=i)},null,512),[[y,l.state.theme]]),t[61]||(t[61]=e("label",{for:"theme_light"},[e("div",{class:"flex flex-col gap-2 items-center"},[e("div",{class:"w-full h-16 bg-white border border-solid border-black rounded-lg flex items-center justify-center"}," Light Mode "),e("div",{class:"font-bold"}," 라이트 모드 ")])],-1)),d(e("input",{type:"radio",id:"theme_dark",name:"theme",value:"dark","onUpdate:modelValue":t[8]||(t[8]=i=>l.state.theme=i)},null,512),[[y,l.state.theme]]),t[62]||(t[62]=e("label",{for:"theme_dark"},[e("div",{class:"flex flex-col gap-2 items-center"},[e("div",{class:"w-full h-16 bg-gray-900 text-white border rounded-lg flex items-center justify-center"}," Dark Mode "),e("div",{class:"font-bold"}," 다크 모드 ")])],-1))])]),e("div",Jt,[t[65]||(t[65]=e("div",{class:"text-lg font-bold mb-4"}," 메인 컬러 ",-1)),e("div",Xt,[e("div",{class:"w-8 h-8 rounded-full bg-[#FF4747] cursor-pointer",onClick:t[9]||(t[9]=i=>l.selectColor("#FF4747"))}),e("div",{class:"w-8 h-8 rounded-full bg-[#3B82F6] cursor-pointer",onClick:t[10
9]||(t[10]=i=>l.selectColor("#3B82F6"))}),e("div",{class:"w-8 h-8 rounded-full bg-[#10B981] cursor-pointer",onClick:t[11]||(t[11]=i=>l.selectColor("#10B981"))}),e("div",{class:"w-8 h-8 rounded-full bg-[#F59E0B] cursor-pointer",onClick:t[12]||(t[12]=i=>l.selectColor("#F59E0B"))}),e("div",{class:"w-8 h-8 rounded-full bg-[#8B5CF6] cursor-pointer",onClick:t[13]||(t[13]=i=>l.selectColor("#8B5CF6"))}),e("div",{class:"w-8 h-8 rounded-full bg-[#EC4899] cursor-pointer",onClick:t[14]||(t[14]=i=>l.selectColor("#EC4899"))}),e("div",{class:"w-8 h-8 rounded-full bg-black cursor-pointer",onClick:t[15]||(t[15]=i=>l.selectColor("#000000"))}),t[64]||(t[64]=e("div",{class:"text-gray-400 mx-2"},"|",-1)),e("label",qt,[e("div",Qt,[d(e("input",{type:"color","onUpdate:modelValue":t[16]||(t[16]=i=>l.state.selectedColor=i),onInput:t[17]||(t[17]=(...i)=>l.updateColor&&l.updateColor(...i)),class:"absolute w-8 h-8 opacity-0 cursor-pointer"},null,544),[[g,l.state.selectedColor]]),e("div",{class:"w-8 h-8 rounded-full",style:j({backgroundColor:l.state.selectedColor})},null,4)]),t[63]||(t[63]=e("span",{class:"text-sm text-gray-600"},"사용자 지정",-1))])])]),e("div",Yt,[t[66]||(t[66]=e("div",{class:"text-lg font-bold mb-4"}," 버튼 모서리 ",-1)),e("div",Kt,[e("div",Zt,[d(e("input",{type:"range",min:"0",max:"32","onUpdate:modelValue":t[18]||(t[18]=i=>l.state.cornerRadiusValue=i),class:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",onInput:t[19]||(t[19]=(...i)=>l.updateCorner&&l.updateCorner(...i))},null,544),[[g,l.state.cornerRadiusValue]]),e("span",$t,x(l.state.cornerRadius),1)])])]),e("div",te,[t[67]||(t[67]=e("div",{class:"text-lg font-bold mb-4"}," 태두리 굵기 ",-1)),e("div",ee,[e("div",oe,[d(e("input",{type:"range",min:"0",max:"5","onUpdate:modelValue":t[20]||(t[20]=i=>l.state.borderValue=i),class:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",onInput:t[21]||(t[21]=(...i)=>l.updateBorder&&l.updateBorder(...i))},null,544),[[g,l.state.borderValue]]),e("span",le,x(l.state.border),1)])])]),e("div",se,[t[68]||(t[68]=e("div",{class:"text-lg font-bold mb-4"}," 폰트 크기 ",-1)),e("div",ie,[e("div",ne,[d(e("input",{type:"range",min:"7",max:"28","onUpdate:modelValue":t[22]||(t[22]=i=>l.state.fontsizeValue=i),class:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",onInput:t[23]||(t[23]=(...i)=>l.updateFontsize&&l.updateFontsize(...i))},null,544),[[g,l.state.fontsizeValue]]),e("span",ae,x(l.state.fontsize),1)])])]),e("div",de,[t[73]||(t[73]=e("div",{class:"text-lg font-bold mb-4"}," 위젯 위치 ",-1)),e("div",re,[d(e("input",{type:"radio",id:"pos_br",name:"position",value:"br","onUpdate:modelValue":t[24]||(t[24]=i=>l.state.widget_position=i)},null,512),[[y,l.state.widget_position]]),t[69]||(t[69]=U('<label for="pos_br" data-v-082639c3><div class="flex flex-col gap-2 items-center" data-v-082639c3><div class="w-32 h-24 bg-gray-100 rounded-lg relative" data-v-082639c3><div class="w-3 h-3 bg-black rounded-full absolute bottom-2 right-2" data-v-082639c3></div></div><div class="font-bold" data-v-082639c3> 우측하단 </div></div></label>',1)),d(e("input",{type:"radio",id:"pos_bl",name:"position",value:"bl","onUpdate:modelValue":t[25]||(t[25]=i=>l.state.widget_position=i)},null,512),[[y,l.state.widget_position]]),t[70]||(t[70]=U('<label for="pos_bl" data-v-082639c3><div class="flex flex-col gap-2 items-center" data-v-082639c3><div class="w-32 h-24 bg-gray-100 rounded-lg relative" data-v-082639c3><div class="w-3 h-3 bg-black rounded-full absolute bottom-2 left-2" data-v-082639c3></div></div><div class="font-bold" data-v-082639c3> 좌측하단 </div></div></label>',1)),d(e("input",{type:"radio",id:"pos_tr",name:"position",value:"tr","onUpdate:modelValue":t[26]||(t[26]=i=>l.state.widget_position=i)},null,512),[[y,l.state.widget_position]]),t[71]||(t[71]=U('<label for="pos_tr" data-v-082639c3><div class="flex flex-col gap-2 items-center" data-v-082639c3><div class="w-32 h-24 bg-gray-100 rounded-lg relative" data-v-082639c3><div class="w-3 h-3 bg-black rounded-full absolute top-2 right-2" data-v-082639c3></div></div><div class="font-bold" data-v-082639c3> 우측상단 </div></div></label>',1)),d(e("input",{type:"radio",id:"pos_tl",name:"position",value:"tl","onUpdate:modelValue":t[27]||(t[27]=i=>l.state.widget_position=i)},null,512),[[y,l.state.widget_position]]),t[72]||(t[72]=U('<label for="pos_tl" data-v-082639c3><div class="flex flex-col gap-2 items-center" data-v-082639c3><div class="w-32 h-24 bg-gray-100 rounded-lg relative" data-v-082639c3><div class="w-3 h-3 bg-black rounded-full absolute top-2 left-2" data-v-082639c3></div></div><div class="font-bold" data-v-082639c3> 좌측상단 </div></div></label>
9',1))])]),e("div",ue,[t[76]||(t[76]=e("div",{class:"text-lg font-bold mb-2"}," 플로팅 버튼 아이콘 ",-1)),t[77]||(t[77]=e("div",{class:"text-base mb-4"}," 플로팅 버튼에 사용할 아이콘을 업로드합니다. (권장 사이즈: 52×52px) ",-1)),e("div",be,[e("div",ge,[l.state.floating_icon_url?(b(),u("img",{key:0,src:l.state.floating_icon_url,class:"max-w-full max-h-full object-contain",alt:"플로팅 버튼 아이콘"},null,8,ce)):(b(),u("img",fe))]),e("div",pe,[t[75]||(t[75]=e("label",{for:"icon_upload",class:"w-36 h-10 flex items-center justify-left border border-gray-300 rounded-lg bg-white text-gray-700 cursor-pointer hover:bg-gray-50"},[e("i",{class:"fa-solid fa-upload mr-2"}),m(" 아이콘 업로드 ")],-1)),e("input",{type:"file",id:"icon_upload",onChange:t[28]||(t[28]=(...i)=>l.handleIconUpload&&l.handleIconUpload(...i)),accept:"image/png, image/jpeg, image/gif",class:"hidden"},null,32),l.state.floating_icon_url?(b(),u("button",{key:0,onClick:t[29]||(t[29]=(...i)=>l.removeIcon&&l.removeIcon(...i)),class:"w-36 h-10 flex items-center justify-left border border-gray-300 rounded-lg bg-white text-red-500 hover:bg-gray-50"},t[74]||(t[74]=[e("i",{class:"fa-solid fa-trash-can mr-2"},null,-1),m(" 아이콘 삭제 ")]))):C("",!0)])])]),e("div",me,[t[79]||(t[79]=e("div",null,[e("div",{class:"text-lg font-bold mb-2"}," 플로팅 버튼 "),e("div",{class:"text-base"}," 플로팅 버튼을 끄고 켤 수 있습니다. ")],-1)),e("div",ve,[d(e("input",{type:"checkbox",role:"switch",id:"toggle_radio02",class:"toggle_radio","onUpdate:modelValue":t[30]||(t[30]=i=>l.state.floating_btn_enabled=i)},null,512),[[V,l.state.floating_btn_enabled]]),t[78]||(t[78]=e("label",{for:"toggle_radio02"},null,-1))])]),e("div",_e,[t[81]||(t[81]=e("div",null,[e("div",{class:"text-lg font-bold mb-2"}," 스냅 업로드 바로 표시 "),e("div",{class:"text-base"}," + 버튼을 누르지 않고도 스냅 업로드 버튼이 바로 보이도록 설정합니다. ")],-1)),e("div",xe,[d(e("input",{type:"checkbox",role:"switch",id:"toggle_radio03",class:"toggle_radio","onUpdate:modelValue":t[31]||(t[31]=i=>l.state.floating_btn_dissolution=i)},null,512),[[V,l.state.floating_btn_dissolution]]),t[80]||(t[80]=e("label",{for:"toggle_radio03"},null,-1))])]),e("div",he,[t[82]||(t[82]=e("div",{class:"text-lg font-bold mb-4"}," 우측위치 ",-1)),e("div",we,[e("div",ye,[d(e("input",{type:"range",min:"0",max:"100","onUpdate:modelValue":t[32]||(t[32]=i=>l.state.right=i),class:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",onInput:t[33]||(t[33]=(...i)=>l.updateRight&&l.updateRight(...i))},null,544),[[g,l.state.right]]),e("span",Ce,x(l.state.right)+"%",1)])])]),e("div",ke,[t[83]||(t[83]=e("div",{class:"text-lg font-bold mb-4"}," 하단위치 ",-1)),e("div",Se,[e("div",Ue,[d(e("input",{type:"range",min:"0",max:"50","onUpdate:modelValue":t[34]||(t[34]=i=>l.state.bottom=i),class:"w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer",onInput:t[35]||(t[35]=(...i)=>l.updateBottom&&l.updateBottom(...i))},null,544),[[g,l.state.bottom]]),e("span",Ve,x(l.state.bottom)+"%",1)])])])]),e("div",Re,[t[90]||(t[90]=e("div",{class:"text-lg font-bold mb-4 flex justify-between items-center"},[m(" 미리보기 "),e("div",{class:"flex gap-4"},[e("i",{class:"fa-solid fa-desktop cursor-pointer"}),e("i",{class:"fa-solid fa-mobile-screen cursor-pointer"})])],-1)),e("div",Ne,[t[85]||(t[85]=e("div",{class:"font-bold mb-2"},"위젯 버튼",-1)),e("div",Be,[e("div",{class:q(["border flex items-center justify-center",o.cornerClass]),style:j(l.widgetButtonStyle)},[t[84]||(t[84]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M12 5V19M5 12H19",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),m(" "+x(l.state.button_text),1)],6)])]),e("div",Pe,[t[87]||(t[87]=e("div",{class:"font-bold mb-2"},"업로드폼",-1)),e("div",je,[t[86]||(t[86]=e("div",{class:"w-64 h-64 flex items-center justify-center border border-dashed border-gray-300 bg-white"},[e("span",{class:"text-gray-600"}," 여기 사진 올리기 ")],-1)),e("button",{class:q(["border flex items-center justify-center w-64 h-14",o.cornerClass]),style:j(l.uploadFormButtonStyle)}," 사진 업로드 ",6)])]),e("div",Ee,[t[88]||(t[88]=e("div",{class:"font-bold mb-2"}," 플로팅 버튼 ",-1)),e("div",Fe,[e("div",Ie,[e("div",{class:"absolute w-6 h-6 transition-all duration-300",style:j({bottom:`${l.state.bottom}%`,right:`${l.state.right}%`,opacity:l.state.right>97?"0.3":"1"})},[l.state.floating_icon_url?(b(),u("img",{key:0,src:l.state.floating_icon_url,class:"w-full h-full object-contain",alt:"사용자 설
9정 아이콘"},null,8,ze)):(b(),u("img",Ae)),l.state.right>97?(b(),u("div",Me," 버튼이 화면 밖으로 나갈 수 있습니다 ")):C("",!0)],4)])]),t[89]||(t[89]=e("div",{class:"text-sm text-gray-500 mt-2"}," * 점선 영역은 브라우저 창을 나타냅니다. 실제 화면에서의 버튼 위치를 참고하세요. ",-1))])])])]),e("div",Le,[e("div",Oe,[t[97]||(t[97]=e("div",{class:"text-lg font-bold mb-1"}," 지급포인트 설정 ",-1)),t[98]||(t[98]=e("div",{class:"text-base mb-6"}," 사용자가 UGC 참여시 브랜드가 지급할 수 있는 포인트의 최소/최대치를 설정합니다. ",-1)),e("div",De,[e("div",Te,[t[94]||(t[94]=e("div",{class:"text-base font-bold mb-2"}," 참여 지급 포인트 ",-1)),e("div",We,[l.state.point!==void 0?d((b(),u("input",{key:0,type:"number","onUpdate:modelValue":t[36]||(t[36]=i=>l.state.point=i),class:"w-full h-12 px-4 pr-12 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"최소 적립금 입력",min:"1000",max:"100000",step:"1000"},null,512)),[[g,l.state.point]]):C("",!0),t[93]||(t[93]=e("span",{class:"absolute right-4 top-1/2 -translate-y-1/2 text-gray-500"},"원",-1))])]),e("div",Ge,[t[96]||(t[96]=e("div",{class:"text-base font-bold mb-2"}," 추가 지급 포인트 ",-1)),e("div",He,[l.state.additional_point!==void 0?d((b(),u("input",{key:0,type:"number","onUpdate:modelValue":t[37]||(t[37]=i=>l.state.additional_point=i),class:"w-full h-12 px-4 pr-12 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"최대 적립금 입력",min:"1000",max:"100000",step:"1000"},null,512)),[[g,l.state.additional_point]]):C("",!0),t[95]||(t[95]=e("span",{class:"absolute right-4 top-1/2 -translate-y-1/2 text-gray-500"},"원",-1))])])])]),e("div",Je,[e("div",Xe,[t[100]||(t[100]=m(" 구매자 입력 정보 설정 ")),e("div",qe,[d(e("input",{type:"checkbox",id:"custom_input","onUpdate:modelValue":t[38]||(t[38]=i=>l.state.use_custom_input=i),class:"mr-2"},null,512),[[V,l.state.use_custom_input]]),t[99]||(t[99]=e("label",{for:"custom_input"},"직접 입력 사용",-1))])]),e("div",Qe,[(b(!0),u(E,null,D(l.state.options,(i,w)=>(b(),u("div",{class:"w-1/3",key:w},[e("div",Ye,x(w+1)+"번째 옵션 ",1),e("div",Ke,[l.state.use_custom_input?d((b(),u("input",{key:0,type:"text","onUpdate:modelValue":f=>i.value=f,class:"w-full h-12 px-4 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"직접 입력 (예: 키, 색상 등)"},null,8,Ze)),[[g,i.value]]):d((b(),u("select",{key:1,"onUpdate:modelValue":f=>i.value=f,class:"w-full h-12 px-4 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500"},[(b(!0),u(E,null,D(l.optionsList,f=>(b(),u("option",{key:f,value:f},x(f),9,to))),128))],8,$e)),[[gt,i.value]])])]))),128))])])]),e("div",eo,[e("div",oo,[t[103]||(t[103]=e("div",{class:"text-lg font-bold mb-1"}," UGC 텍스트 설정 ",-1)),t[104]||(t[104]=e("div",{class:"text-base mb-6"}," 사용자에게 표시될 타이틀과 참여 방법 안내 문구를 설정합니다. ",-1)),e("div",lo,[t[101]||(t[101]=e("div",{class:"text-base font-bold mb-2"}," UGC 타이틀 설정 ",-1)),d(e("textarea",{"onUpdate:modelValue":t[39]||(t[39]=i=>l.state.title=i),class:"w-full h-20 px-4 py-3 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"예: JUST TAG #SNAPBOX📸"},null,512),[[g,l.state.title]])]),e("div",so,[t[102]||(t[102]=e("div",{class:"text-base font-bold mb-2"}," UGC 서브 타이틀 설정 ",-1)),d(e("textarea",{"onUpdate:modelValue":t[40]||(t[40]=i=>l.state.sub_title=i),class:"w-full h-20 px-4 py-3 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"예:SNAPBOX와 함께한 나의 일상을 공유해주세요!"},null,512),[[g,l.state.sub_title]])])]),e("div",io,[e("div",no,[t[105]||(t[105]=e("div",{class:"text-base font-bold mb-2"}," 참여 방법 설정 ",-1)),d(e("textarea",{"onUpdate:modelValue":t[41]||(t[41]=i=>l.state.guide=i),class:"w-full h-32 px-4 py-3 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:`예: 1. SNAPBOX를 착용한 나만의 콘텐츠를 자유롭게 인스타그램 스토리 또는 피드에 업로드해주세요.\r
10\r
11(@SNAPBOX_OFFICIAL 태그 + #SNAPBOX 해시태그 필수)\r
12\r
132. 업로드 한 콘텐츠 링크를 아래에 첨부해 주세요`},null,512),[[g,l.state.guide]])])])]),e("div",ao,[t[108]||(t[108]=e("div",{class:"text-lg font-bold mb-1"},"인증 안내 설정",-1)),t[109]||(t[109]=e("div",{class:"text-base mb-6"}," 사용자에게 표시될 인증 방법 안내 문구를 설정합니다. ",-1)),e("div",ro,[t[106]||(t[106]=e("div",{class:"text-base font-bold mb-2"}," 인증 제목 설정 ",-1)),d(e("input",{type:"text","onUpdate:modelValue":t[42]||(t[42]=i=>
13l.state.verification_title=i),class:"w-full h-12 px-4 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:"예: 이렇게 인증해주세요",maxlength:"50"},null,512),[[g,l.state.verification_title]])]),e("div",uo,[t[107]||(t[107]=e("div",{class:"text-base font-bold mb-2"}," 인증 안내 문구 설정 ",-1)),d(e("textarea",{"onUpdate:modelValue":t[43]||(t[43]=i=>l.state.verification_guide=i),class:"w-full h-32 px-4 py-3 rounded-lg border border-gray-300 focus:outline-none focus:border-blue-500",placeholder:`예: 야외에서 신고있는 신발 사진 찍기\r
14(딱 바닥이 보여야 하며 실외여야 합니다.\r
15지하철, 아파트 복도, 실내, 자동차 안, 주차장\r
16내부 모두 안되며 야외 땅바닥만 가능)`},null,512),[[g,l.state.verification_guide]])])]),e("div",bo,[e("div",go,[t[116]||(t[116]=e("div",{class:"text-lg font-bold mb-1"}," 판매사진 설정 ",-1)),t[117]||(t[117]=e("div",{class:"text-base mb-6"}," 사용자에게 보여줄 판매된 사진과 가격을 설정합니다. 동기부여 및 가격 참고용으로 활용됩니다. ",-1)),e("div",co,[e("div",fo,[e("div",po,x(l.showcase_photos_count),1)]),e("div",mo,[S(A,{class:"snap_slide sortable",list:l.state.showcase_photos_data},{default:ut(()=>[(b(!0),u(E,null,D(l.state.showcase_photos_data,(i,w)=>(b(),u("div",{class:"snap_feed",key:i.id},[e("a",vo,[i.is_video===0?(b(),u("img",{key:0,src:i.photo,style:{width:"100%",height:"100%","object-fit":"cover","background-color":"white","border-radius":"8px"}},null,8,_o)):i.is_video===1?(b(),u("video",{key:1,loop:"",controls:"",class:"main_videos",style:{width:"100%",height:"100%","object-fit":"cover","background-color":"black","border-radius":"8px"},poster:i.thumbnail||null},[e("source",{src:i.photo,type:"video/mp4"},null,8,ho),t[110]||(t[110]=m(" 현재 브라우저에서 지원되지 않는 형식입니다. "))],8,xo)):C("",!0)]),e("button",{type:"button",class:"btn_delete",onClick:f=>l.removeShowcasePhoto(w)},t[111]||(t[111]=[e("i",{class:"fa-solid fa-xmark fa-xl drop-shadow-md text-white"},null,-1)]),8,wo),e("div",yo,[t[112]||(t[112]=e("div",{class:"text-sm text-gray-500"}," 판매 가격 ",-1)),d(e("input",{type:"number",placeholder:"가격을 입력하세요","onUpdate:modelValue":f=>i.price=f,class:"w-full px-2 py-1 border rounded",min:"1000",step:"1000"},null,8,Co),[[g,i.price]])]),e("div",null,[t[113]||(t[113]=e("div",{class:"text-sm text-gray-500"}," 설명 텍스트 ",-1)),d(e("input",{type:"text",placeholder:"","onUpdate:modelValue":f=>i.description=f,class:"w-full px-2 py-1 border rounded",maxlength:"50"},null,8,ko),[[g,i.description]])])]))),128)),l.state.showcase_photos_data.length<6?(b(),u("div",So,[e("div",Uo,[t[114]||(t[114]=e("span",{style:{"margin-bottom":"5px","text-align":"center",width:"70px"}},[m(" 사진 또는"),e("br"),m("동영상 추가 ")],-1)),e("input",{type:"file",class:"btn_snapfeed_file",multiple:"",onChange:t[44]||(t[44]=(...i)=>l.onShowcasePhotoChange&&l.onShowcasePhotoChange(...i)),ref:"file_showcase",id:"file_showcase",style:{display:"none"}},null,544),t[115]||(t[115]=e("label",{for:"file_showcase"},[e("i",{class:"fa-solid fa-plus text-white","aria-hidden":"true"})],-1))])])):C("",!0)]),_:1},8,["list"])])]),e("div",Vo,[e("button",{type:"button",class:"btn_save",onClick:t[45]||(t[45]=(...i)=>l.saveShowcasePhotos&&l.saveShowcasePhotos(...i))}," 판매사진 저장 ")])])]),e("div",Ro,[e("button",{type:"button",class:"btn_save",onClick:t[46]||(t[46]=(...i)=>l.save&&l.save(...i))}," 저장 ")])]),S(M)])])]),S(L,{loading:o.is_loading,"dark-background":o.useDarkBackground},null,8,["loading","dark-background"])],64)}const Mo=nt(xt,[["render",No],["__scopeId","data-v-082639c3"]]);export{Mo 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.