PageSourceSearch

https://rainy-season-in-shinjuku.web.app/4269.8ccbfebb.chunk.js

js rainy-season-in-shinjuku.web.app collected 2026-10-03 12:36:03 UTC 1,424,105 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkts_boilerplate=self.webpackChunkts_boilerplate||[]).push([[4269,5283],{1151:function(e,t,n){n.d(t,{EJ:function(){return p},IF:function(){return m},_g:function(){return v}}),n(12064),n(44465),n(31863);var r,a,l,o,i,c=n(18858),u=n(14375),s=n(84136);function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var f={transparent:(0,s.AH)(r||(r=d(["\n    font-size: 20px;\n    font-weight: 700;\n    padding: 12px 14px;\n  "]))),default:(0,s.AH)(a||(a=d(["\n    font-size: 15px;\n    font-weight: 700;\n    background-color: var(--subColor);\n    color: var(--subTextColor);\n    border-radius: var(--cardBorderRadius);\n  "])))},m=s.Ay.div(l||(l=d(["\n  padding: 6px;\n  width: 100%;\n  font-family: var(--headerFontFamily);\n  ","\n"])),function(e){var t=e.type;return t&&f[t]}),p=s.Ay.div(o||(o=d(["\n  width: 100%;\n  height: 100%;\n  padding: ",";\n  ",";\n  ",";\n  overflow-y: auto;\n  \n  ","\n  @media (max-width: 480px) {\n    max-height: ",";\n    overflow-y: auto;\n  }\n"])),function(e){var t=e.$isBackground;return void 0===t||t?"8px":"0"},function(e){var t=e.$isBackground;return(void 0===t||t)&&c.pB},function(e){var t=e.$isBackground;return!(void 0===t||t)&&"\n    background: transparent;\n    border: none;\n    box-shadow: none;\n  "},u.bB,function(e){return e.mobileMaxHeight}),v=s.Ay.div(i||(i=d(["\n",";\noverflow:unset; // 드롭다운 막힘 방지\n  height: fit-content;\n  padding: 16px 0;\n  z-index: 2; // UserInfoSec이 zindex 1이라서 2로 설정\n"])),c.pB)},11437:function(e,t,n){n.d(t,{ZS:function(){return a}});var r,a={alchemy:"연금",sewing:"재봉",cooking:"요리"};!function(e){e.EQUIPMENT="equipment",e.CONSUMABLE="consumable",e.MATERIAL="material",e.UPGRADE="upgrade",e.ENCHANT="enchant",e.FUSION="fusion",e.ALCHEMY="alchemy",e.COOKING="cooking",e.SPECIAL="special"}(r||(r={}))},14271:function(e,t,n){n.d(t,{E:function(){return i}}),n(82185),n(61445),n(34068);var r=n(59352),a=n(42457);function l(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}var o=r.default.firestore();function i(e){return c.apply(this,arguments)}function c(){var e;return e=regeneratorRuntime.mark(function e(t){var n,r,l,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collectionPath,r=t.docId,l=t.imgURL,i=o.collection(n),l&&(0,a.deleteImgStorage)(l),e.abrupt("return",i.doc(r).delete());case 4:case"end":return e.stop()}},e)}),c=function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function i(e){l(o,r,a,i,c,"next",e)}function c(e){l(o,r,a,i,c,"throw",e)}i(void 0)})},c.apply(this,arguments)}},15543:function(e,t,n){n.d(t,{k:function(){return i}}),n(65114),n(61445),n(94513),n(32242),n(60039),n(93116),n(77135),n(51163),n(82758),n(43732),n(77654),n(32145),n(74277),n(57045),n(3940),n(12064),n(75868),n(42652);var r=n(2355);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}var o=new Set(Object.values(r.J));function i(e,t){if(!e||"object"!==l(e))return{};var n=new Map;(t||[]).forEach(function(e){null!=e&&e.id&&n.set(e.id,e.key||e.id)});var r={};return Object.entries(e).forEach(function(e){var t,l,i=(l=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,l)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}
1(t,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=o.has(c)?c:n.get(c)||c;s&&(r[s]=Number(u)||0)}),r}},17378:function(e,t,n){var r,a,l;function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{ck:function(){return c},iO:function(){return i}}),n(10475),function(e){e.active="active",e.calm="calm",e.curious="curious",e.shy="shy",e.playful="playful",e.sleepy="sleepy",e.hungry="hungry",e.snappy="snappy",e.loyal="loyal",e.smart="smart",e.timid="timid",e.witty="witty",e.taciturn="taciturn"}(l||(l={}));var i=(o(r={},l.active,"활동적"),o(r,l.calm,"차분함"),o(r,l.curious,"호기심 많음"),o(r,l.shy,"소극적"),o(r,l.playful,"장난꾸러기"),o(r,l.sleepy,"잠이 많음"),o(r,l.hungry,"많이 먹음"),o(r,l.snappy,"까칠함"),o(r,l.loyal,"충성스러움"),o(r,l.smart,"똑똑함"),o(r,l.timid,"무서움"),o(r,l.witty,"능글맞음"),o(r,l.taciturn,"과묵한"),r),c=(o(a={},l.active,["나랑 같이 놀러 갈 사람?","산책하러 나가고 싶어!","오늘도 신나게 놀자!","가만히 못 있겠어!","뛰어다니는 게 세상에서 제일 좋아!","나랑 공놀이 할 사람, 여기 모여라!","새로운 장난감을 찾아 모험을 떠나자!","몸이 근질근질해! 얼른 나가자!","날씨가 너무 좋아! 밖에서 놀기 딱이야!","자, 이제 놀 시간이야!"]),o(a,l.calm,["오늘도 평화로운 하루네.","조용히 앉아 있는 시간이 좋아.","햇살을 쬐며 낮잠을 자고 싶어.","바람 소리가 참 듣기 좋구나.","이렇게 가만히 있으면 마음이 편안해져.","시끄럽게 굴지 않아도 괜찮아.","따뜻한 자리에서 쉬고 싶어.","서두르지 않아도 괜찮아.","모두가 잠든 밤이 제일 좋아.","잠깐 눈 좀 붙일게."]),o(a,l.curious,["이게 뭐지? 냄새가 신기해!","저기 구석에 뭐가 숨어 있을까?","새로운 소리가 들려! 어디서 나는 거지?","어디 한 번 올라가 볼까?","세상은 온통 신기한 것투성이야!","숨겨진 보물을 찾고 싶어.","이 길 끝에는 뭐가 있을까?","자꾸만 궁금한 게 생겨.","저 문 뒤에는 뭐가 있을지 궁금해.","모든 걸 다 알고 싶어!"]),o(a,l.shy,["저기, 나한테 말 걸지 마...","모르는 사람이 많아서 조금 무서워.","숨어 있을 곳을 찾아봐야겠어.","괜히 부끄럽네...","먼저 다가가는 건 역시 어려워.","조용히 혼자 있는 게 좋아.","날 빤히 쳐다보지 말아줘.","조심스럽게 다가가 볼까?","가까이 오지 마, 부끄럽단 말이야!","작은 목소리로 말해줘."]),o(a,l.playful,["나랑 놀자! 놀아줘!","방금 네 장난감 숨겨놨지롱!","까꿍! 내가 여기 있지!","헤헤, 내가 제일 좋아하는 장난은 이거야!","어디로 숨었는지 알아맞혀 봐!","장난치다 들켜도 괜찮아!","내 엉뚱한 행동에 놀랐어?","누가누가 더 재밌게 노나 내기할까?","나 잡을 수 있으면 잡아 봐!","간지럼 태우는 게 제일 재밌어!"]),o(a,l.sleepy,["zzz...","오늘은 푹 자고 싶어.","아침부터 잠이 쏟아지네.","지금부터 낮잠 시간이야.","잠자리가 제일 편해.","하품이 멈추지 않아...","따뜻한 이불 속에서 나가고 싶지 않아.","꿈속에서 산책하고 올게.","잠깐만, 5분만 더 자고 일어날게.","졸려... Zzz..."]),o(a,l.snappy,["말 걸지 마, 귀찮아.","가까이 오지 마.","내버려 둬!","내 심기 건드리지 마.","이리 와, 말 안 듣게.","흥, 뭐 어쩌라고.","투덜투덜...","건드리면 물어버릴 거야!","네가 뭔데 나한테 이래라저래라야?","저리 가."]),o(a,l.loyal,["난 오직 너만을 따를 거야.","너의 곁을 지키는 것이 내 기쁨이야.","너만 있으면 돼.","내가 널 보호해 줄게.","언제나 네 편이야.","어딜 가든 항상 네 옆에 있을게.","넌 나에게 전부야.","나에게 명령해줘.","걱정 마, 내가 있으니까.","난 절대 널 배신하지 않아."]),o(a,l.smart,["그건 그렇게 하는 게 아니야.","내가 먼저 계산했어야 했는데.","이 상황의 핵심은 그거지!","내가 뭘 원하는지 알아?","내가 이럴 줄 알았어!","이건 그냥 단순한 문제가 아냐.","그렇게 하면 효율이 떨어진다고.","내가 설명해 줄게.","나의 지혜가 필요할 거야.","생각은 내가 할게, 넌 그냥 따라와."]),o(a,l.timid,["나 여기 있어도 될까?","혹시 나한테 화났어?","무서워... 누가 도와줬으면 좋겠어.","나 때문에 모두가 불편해하는 건 아닐까?","너무 놀라게 하지 마세요...","내가 잘못한 건가...?","아무도 나를 찾아내지 못했으면 좋겠어.","조용히 있었으면 좋겠어.","나... 그냥 여기 있을래.","나를... 나를 봐줘..."]),o(a,l.witty,["이거 실화냐?","지금 농담하는 거야?","너 지금 장난치는 거지?","나만 아는 비밀이 있어!","내 이야기 들어봐, 웃다가 배꼽 빠질 걸?","말해줄 수 없는 비밀이 있어!","재밌는 이야기 해줄까?","나는 언제나 특별한 일을 해!","나랑 놀면 지루하지 않아!","나는 누구도 따라올 수 없는 특별한 매력이 있지!"]),o(a,l.taciturn,["....","글쎄.","몰라.","아니.","응.","알았어.","그래.","흠.","....(조용히 생각에 잠김)","....(빤히 쳐다만 본다)"]),a)},19129:function(e,t,n){n.d(t,{DG:function(){return c},ry:function(){return o}}),n(86608),n(82106),n(10475);var r,a=n(67668);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o={FREE:"free",SLIDE:"slide",MYROOM:"2myroom",CARD:"3card",CUSTOM:"custom",CHARACTER:"character"},i=(l(r={},o.FREE,"자유보드형"),l(r,o.SLIDE,"슬라이드형"),l(r,o.MYROOM,"마이룸형"),l(r,o.CARD,"카드형"),l(r,o.CUSTOM,"커스텀형"),l(r,o.CHARACTER,"스탠딩 캐릭터형"),r),c=Object.keys(i).map(function(e){return e!==o.CHARACTER||a.l.gameUi?{key:e,value:i[e]}:null})},21190:function(e,t,n){n(12064),n(44465),n(31863),n(10475),n(82106),n(32145),n(85062),n(3233),n(51163),n(82758),n(20884);var r,a=n(37953),l=n(84136),o=n(1712),i=n.n(o),c=n(29081);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?u(Object(n),!0).forEach(function(t){d(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f,m,p=l.Ay.div(r||(f=["\n  padding: 8px 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  .pagination {\n    display: flex;\n    gap: 4px;\n  }\n\n  li a {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 28px;\n    height: 28px;\n    padding: 12px;\n    border-radius: var(--buttonBorderRadius);\n    background-color: var(--cardBackgroundColor);\n    color: var(--subTextColor);\n    size: 12px;\n    &:hover {\n      background-color: var(--inkColor);\n      cursor: var(--hoverCursorURL), pointer;\n    }\n  }\n\n  .active {\n    color: var(--primaryColor);\n    border-radius: var(--buttonBorderRadius);\n    border: 0.4px solid var(--primaryColor);\n    font-weight: 800;\n    a {\n      background-color: var(--subColor) !important;\n    }\n  }\n\n  .previous,\n  .next {\n    a {\n      background-color: transparent !important;\n    }\n  }\n\n  @media (max-width: 460px) {\n    padding: 8px 0;\n    margin-left: 0 !important;\n  }\n"],m||(m=f.slice(0)),r=Object.freeze(Object.defineProperties(f,{raw:{value:Object.freeze(m)}}))));t.A=function(e){var t=e.offset,n=e.handlePageClick,r=e.totalPages,l=e.style,o=Math.min(Math.max(0,t),Math.max(0,r-1));return a.createElement(a.Fragment,null,a.createElement(p,{style:s({},l)},a.createElement(i(),{key:"pagination-".concat(o),breakLabel:"...",nextLabel:a.createElement(c.A,{name:"RightArrowO"}),previousLabel:a.createElement(c.A,{name:"LeftArrowO"}),onPageChange:n,pageCount:r,pageRangeDisplayed:5,marginPagesDisplayed:2,containerClassName:"pagination",activeClassName:"active",forcePage:o})))}},24842:function(e,t,n){n(12064),n(44465),n(31863);var r,a,l,o=n(37953),i=n(84136).Ay.span(r||(a=["\n  display: inline-flex;\n  align-items: center;\n  border-radius: 9999px;\n  font-size: 12px;\n  font-weight: 500;\n  padding: 2px 8px;\n  transition: all 0.3s ease;\n  \n  &:hover {\n    transform: scale(1.05);\n  }\n  \n  &:active {\n    transform: scale(0.95);\n  }\n  \n  ","\n"],l||(l=a.slice(0)),r=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(l)}}))),function(e){switch(e.variant){case"outline":return"\n          border: 1px solid var(--lineColor);\n          color: var(--textColor);\n          background: transparent;\n        ";case"secondary":return"\n          background: var(--inkColor);\n          color: var(--textColor);\n        ";default:return"\n          background: var(--primaryColor);\n          color: var(--subColor);\n        "}});t.A=function(e){var t=e.children,n=e.variant,r=void 0===n?"default":n,a=e.className,l=e.style;return o.createElement(i,{variant:r,className:a,style:l},t)}},25933:function(e,t,n){n.d(t,{_:function(){return qae},X:function(){return Xae}}),n(10475),n(3940),n(32145),n(74277),n(61445),n(57045),n(65114),n(32242),n(60039),n(42652),n(12064),n(75868),n(90252),n(62469),n(49374),n(4031),n(82106),n(51163),n(82758),n(97152);var r=n(37953),a=n(67668),l=n(83483),o=n(19730),i=n(38190),c=n(79661),u=n(94330);function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e){var t=s((0,c.L4)(u.EI),2),n=t[0],a=t[1],l=s((0,r.useState)(null!=n?n:e),2),o=l[0],i=l[1];return(0,r.useEffect)(function(){null!==n&&(i(n),a(null))},[n,a]),[o,i]}n(82185),n(34068);var m,p,v,y,g,b=n(44173),h=n(80762),E=n(7855),x=n(19563),w=n(51788),A=n(28902),C=(n(44465),n(31863),n(84136)),k=(n(3233),n(20884),n(66706),n(42575),n(24075),n(86608),n(85062),n(70300)),S=n(79390),O=n(21551),I=n(53942),j=n(14375);function P(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach(function(t){L(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function D(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function U(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){D(l,r,a,o,i,"next",e)}function i(e){D(l,r,a,o,i,"throw",e)}o(void 0)})}}function M(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||N(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var F,G,H,$,V,W=C.Ay.div(m||(m=B(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  max-height: 500px;\n  overflow-y: auto;\n  ","\n"])),j.kM),_=C.Ay.div(p||(p=B(["\n  padding: 12px 16px;\n  background-color: var(--cardBackgroundColor);\n  border: 2px solid ",";\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 12px;\n  transition: all 0.2s ease;\n\n  ","\n"])),function(e){return e.isActive?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.isActive&&"\n    box-shadow: 0 4px 12px rgba(var(--primaryColorRGB), 0.15);\n  "}),q=C.Ay.h4(v||(v=B(["\n  font-size: 14px;\n  font-weight: 600;\n  color: ",";\n  margin: 0;\n  flex: 1;\n"])),function(e){return e.isActive?"var(--primaryColor)":"var(--textColor)"}),K=C.Ay.div(y||(y=B(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),Y=C.Ay.div(g||(g=B(["\n  text-align: center;\n  padding: 40px 20px;\n  color: var(--subTextColor);\n  font-size: 14px;\n"]))),J=function(e){var t=e.isOpen,n=e.onClose,a=e.value,l=e.onChange,o=e.onSave,i=M((0,r.useState)(null),2),c=i[0],u=i[1],s=M((0,r.useState)({title:"",projectId:"",width:"1440",height:"900"}),2),d=s[0],f=s[1];if(!t)return null;var m=a.presets||[],p=function(){var e=U(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;
1)switch(e.prev=e.next){case 0:if(d.title&&d.projectId){e.next=3;break}return alert("제목과 프로젝트 ID를 입력해주세요."),e.abrupt("return");case 3:return t={id:Date.now().toString(),title:d.title,projectId:d.projectId,width:d.width||"1440",height:d.height||"900",params:{}},n=R(R({},a),{},{presets:[].concat(P(m),[t])}),l(n),e.next=8,o(n);case 8:f({title:"",projectId:"",width:"1440",height:"900"}),alert("프리셋이 추가되었습니다.");case 10:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),v=function(){var e=U(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=R(R({},a),{},{enabled:!0,activePresetId:t}),l(n),e.next=4,o(n);case 4:alert("WebGL 배경이 적용되었습니다.");case 5:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),y=function(){var e=U(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=R(R({},a),{},{enabled:!1,activePresetId:void 0}),l(t),e.next=4,o(t);case 4:alert("WebGL 배경이 해제되었습니다.");case 5:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),g=function(e,t){l(R(R({},a),{},{presets:m.map(function(n){return n.id===e?R(R({},n),t):n})}))},b=function(){var e=U(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u(null),e.next=3,o(a);case 3:alert("프리셋이 수정되었습니다.");case 4:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),E=function(){var e=U(regeneratorRuntime.mark(function e(t){var n,r,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(confirm("이 프리셋을 삭제하시겠습니까?")){e.next=2;break}return e.abrupt("return");case 2:return n=m.filter(function(e){return e.id!==t}),r=a.activePresetId===t?void 0:a.activePresetId,i=R(R({},a),{},{enabled:!!r&&a.enabled,activePresetId:r,presets:n}),l(i),e.next=8,o(i);case 8:alert("프리셋이 삭제되었습니다.");case 9:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}();return r.createElement(k.A,{outsideClick:n,contentStyle:{maxWidth:600,height:"80vh"}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:n}),r.createElement("div",{style:{textAlign:"left"}},r.createElement("h6",null,"WebGL 프리셋 관리")),r.createElement("div",{style:{width:40}})),r.createElement(S.sC,{style:{height:"100%"}},r.createElement(W,null,m.map(function(e){var t=e.id===a.activePresetId;return e.id===c?r.createElement(_,{key:e.id,isActive:t,style:{flexDirection:"column",alignItems:"stretch"}},r.createElement(I.A,{name:"presetTitle",label:"제목",value:e.title,onChange:function(t){return g(e.id,{title:t.target.value})},placeholder:"프리셋 제목"}),r.createElement(I.A,{name:"presetProjectId",label:"프로젝트 ID",value:e.projectId,onChange:function(t){return g(e.id,{projectId:t.target.value})},placeholder:"pQPTujDxmEKOcQkhnDLX"}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8}},r.createElement(I.A,{name:"presetWidth",label:"가로 (px)",value:e.width||"1440",onChange:function(t){return g(e.id,{width:t.target.value})}}),r.createElement(I.A,{name:"presetHeight",label:"세로 (px)",value:e.height||"900",onChange:function(t){return g(e.id,{height:t.target.value})}})),r.createElement(K,null,r.createElement(h.A,{size:"sm",onClick:function(){return b(e.id)}},"저장"),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return u(null)}},"취소"))):r.createElement(_,{key:e.id,isActive:t},r.createElement(q,{isActive:t},e.title,t&&" ✓"),r.createElement(K,null,r.createElement(h.A,{size:"sm",color:t?"warning":"primary",onClick:function(){return t?y():v(e.id)}},t?"적용 해제":"적용"),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return u(e.id)}},"수정"),r.createElement(h.A,{size:"sm",color:"warning",onClick:function(){return E(e.id)}},"삭제")))}),"new"===c?r.createElement(_,{style:{flexDirection:"column",alignItems:"stretch"}},r.createElement(I.A,{name:"newPresetTitle",label:"제목",value:d.title||"",onChange:function(e){return f(R(R({},d),{},{title:e.target.value}))},placeholder:"예: 내 커스텀 배경"}),r.createElement(I.A,{name:"newPresetProjectId",label:"프로젝트 ID",value:d.projectId||"",onChange:function(e){return f(R(R({},d),{},{projectId:e.target.value}))},placeholder:"pQPTujDxmEKOcQkhnDLX"}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8}},r.createElement(I.A,{name:"newPresetWidth",label:"가로 (px)",value:d.width||"1440",onChange:function(e){return f(R(R({},d),{},{width:e.target.value}))}}),r.createElement(I.A,{name:"newPresetHeight",label:"세로 (px)",value:d.height||"900",onChange:function(e){return f(R(R({},d),{},{height:e.target.value}))}})),r.createElement(K,null,r.createElement(h.A,{onClick:p},"추가"),r.createElement(h.A,{shape:"stroke",onClick:function(){u(null),f({title:"",projectId:"",width:"1440",height:"900"})}},"취소"))):r.createElement(h.A,{onClick:function(){return u("new")},block:!0},"+ 새 프리셋 추가"),0===m.length&&r.createElement(Y,null,"프리셋이 없습니다.",r.createElement("br",null),"새로운 WebGL 프리셋을 추가해주세요."))))},Q=n(93589);function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function X(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ee,te,ne,re,ae,le,oe=C.Ay.div(F||(F=X(["\n  padding: 12px 16px;
1\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--primaryColor);\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 12px;\n"]))),ie=C.Ay.div(G||(G=X(["\n  display: flex;\n  flex-direction: row;\n  gap: 8px;\n"]))),ce=C.Ay.span(H||(H=X(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--primaryColor);\n"]))),ue=C.Ay.code($||($=X(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  background: var(--backgroundColor);\n  padding: 2px 6px;\n  border-radius: 4px;\n"]))),se=C.Ay.span(V||(V=X(["\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),de=function(e){var t,n,a=e.value,l=e.onChange,o=e.onSave,i=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Z(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(a.presets||[]).find(function(e){return e.id===a.activePresetId}),d=a.enabled&&s;return r.createElement(r.Fragment,null,r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"WebGL 배경"),r.createElement(b.PF,null,"Unicorn Studio 프로젝트를 관리하고 적용합니다.")),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},r.createElement(Q.A,{linkto:"https://candle-caboc-ce7.notion.site/unicorn-studio-webGL-2d21ce32694c80beb79cc6e93c17cfc7?source=copy_link",title:"Unicorn Studio WebGL 가이드",tooltip:"가이드 바로가기"}),d&&s?r.createElement(oe,null,r.createElement(ie,null,r.createElement(ue,null,"적용중"),r.createElement(ce,null,s.title)),r.createElement(h.A,{size:"sm",onClick:function(){return u(!0)}},"템플릿 목록 관리")):r.createElement(oe,null,r.createElement(se,null,"적용된 템플릿이 없습니다"),r.createElement(h.A,{size:"sm",onClick:function(){return u(!0)}},"편집")))),r.createElement(J,{isOpen:c,onClose:function(){return u(!1)},value:a,onChange:l,onSave:o}))},fe=(n(59334),n(61066),n(77654),n(79974),n(72575)),me=n(42457);function pe(e){return pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pe(e)}function ve(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function ye(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ve(l,r,a,o,i,"next",e)}function i(e){ve(l,r,a,o,i,"throw",e)}o(void 0)})}}function ge(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function be(e){var t=function(e){if("object"!==pe(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==pe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===pe(t)?t:String(t)}function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?he(Object(n),!0).forEach(function(t){xe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):he(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function we(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||Ae(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ae(e,t){if(e){if("string"==typeof e)return Ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ce(e,t):void 0}}function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ke(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Se=C.Ay.div(ee||(ee=ke(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),Oe=C.Ay.div(te||(te=ke(["\n  padding: 16px;\n  background-color: var(--cardBackgroundColor);\n  border: 2px solid ",";\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  transition: all 0.2s ease;\n"])),function(e){return e.isActive?"var(--primaryColor)":"var(--lineColor)"}),Ie=C.Ay.div(ne||(ne=ke(["\n  width: 40px;\n  height: 40px;\n  background: ",";\n  background-size: contain;\n  background-position: center;\n  background-repeat: no-repeat;\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n"])),function(e){return e.imgUrl?"url('".concat(e.imgUrl,"')"):"var(--lineColor)"}),je=C.Ay.div(re||(re=ke(["\n  display: flex;\n  gap: 12px;\n  align-items: center;
1\n"]))),Pe=C.Ay.div(ae||(ae=ke(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n"])));C.Ay.div(le||(le=ke(["\n  background: var(--backgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 12px;\n  font-family: 'Courier New', monospace;\n  font-size: 12px;\n  color: var(--textColor);\n  max-height: 200px;\n  overflow-y: auto;\n  ","\n"])),j.kM);var Te=function(e){var t=e.homeSet,n=(e.set,we((0,r.useState)([]),2)),a=n[0],i=n[1],c=we((0,r.useState)(null),2),u=c[0],s=c[1],d=we((0,r.useState)(!1),2),f=d[0],m=d[1],p=we((0,r.useState)({}),2),v=p[0],y=p[1];(0,r.useEffect)(function(){var e;null!=t&&null!==(e=t.background)&&void 0!==e&&e.decorations&&i(t.background.decorations)},[t]);var g=function(e,t){i(a.map(function(n){return n.id===e?Ee(Ee({},n),t):n}))},E=function(){var e=ye(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(confirm("이 꾸밈 요소를 삭제하시겠습니까?")){e.next=2;break}return e.abrupt("return");case 2:return n=a.filter(function(e){return e.id!==t}),i(n),y(function(e){return e[t],ge(e,[t].map(be))}),e.next=7,x(n);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),x=function(){var e=ye(regeneratorRuntime.mark(function e(){var t,n,r=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:a,m(!0),e.prev=2,e.next=5,Promise.all(t.map(function(){var e=ye(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=v[t.id])){e.next=6;break}return e.next=4,(0,me.saveAndGetImgURL)(o.Mb.HOMEPAGE,n);case 4:return r=e.sent,e.abrupt("return",Ee(Ee({},t),{},{imgURL:r}));case 6:return e.abrupt("return",t);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()));case 5:return n=e.sent,e.next=8,l.fuego.db.doc(o.Mb.HOMEPAGE).set({background:{decorations:n}},{merge:!0});case 8:y({}),i(n),alert("꾸밈 요소가 저장되었습니다."),e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.error("저장 실패:",e.t0),alert("저장에 실패했습니다.");case 17:return e.prev=17,m(!1),e.finish(17);case 20:case"end":return e.stop()}},e,null,[[2,13,17,20]])}));return function(){return e.apply(this,arguments)}}();return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"배경 꾸밈 요소"),r.createElement(b.PF,null,"배경에 애니메이션되는 이미지를 추가할 수 있습니다. (예: 회전하는 헤일로, 떠다니는 별 등)"),r.createElement(Se,null,a.map(function(e){var t=u===e.id;return r.createElement(Oe,{key:e.id},r.createElement(je,null,r.createElement(Ie,{imgUrl:e.imgURL}),r.createElement("div",{style:{flex:1}},t?r.createElement(I.A,{name:"decorationName",value:e.name,onChange:function(t){return g(e.id,{name:t.target.value})},placeholder:"꾸밈 요소 이름"}):r.createElement("h6",{style:{margin:0}},e.name)),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:16}},r.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},r.createElement("span",{style:{fontSize:13,color:"var(--subTextColor)"}},!1!==e.isVisible?"표시":"숨김"),r.createElement(w.A,{isChecked:!1!==e.isVisible,handleSwitch:function(){return g(e.id,{isVisible:!1===e.isVisible})}})),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},r.createElement("span",{style:{fontSize:13,color:"var(--subTextColor)"}},"모바일 숨김"),r.createElement(w.A,{isChecked:!0===e.hideOnMobile,handleSwitch:function(){return g(e.id,{hideOnMobile:!e.hideOnMobile})}}))),r.createElement(Pe,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return s(t?null:e.id)}},t?"완료":"수정"),r.createElement(h.A,{size:"sm",color:"warning",onClick:function(){return E(e.id)}},"삭제"))),t&&r.createElement(r.Fragment,null,r.createElement(b.N9,null,r.createElement("label",null,"이미지 업로드"),r.createElement(A.A,{id:"decoration-img-".concat(e.id),prevImgURL:e.imgURL,setSelectedFile:function(t){return function(e,t){y(t?function(n){return Ee(Ee({},n),{},xe({},e,t))}:function(t){return t[e],ge(t,[e].map(be))})}(e.id,t)}})),r.createElement(b.N9,null,r.createElement("label",null,"CSS 스타일 (위치, 애니메이션, keyframes 포함)"),r.createElement(fe.A,{name:"decorationCSS",value:e.css,onChange:function(t){return g(e.id,{css:t.target.value})},placeholder:"/* 예시 */\nleft: 50%;\ntop: 50%;\nanimation: rotate 50s linear infinite; @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }\n}",minRows:10}))))}),r.createElement(h.A,{block:!0,onClick:function(){var e,t={id:Date.now().toString(),name:"새 꾸밈 요소",imgURL:"",isVisible:!0,css:"/* 위치 */\nleft: 50%;\ntop: 50%;\ntransform: translate(-50%, -50%);\nz-index: -1;\n\n/* 애니메이션 */\nanimation: rotate 10s linear infinite;\n\n/* Keyframes */\n@keyframes rotate {\n  0% { transform: translate(-50%, -50%) rotate(0deg); }\n  100% { transform: translate(-50%, -50%) rotate(360deg); }\n}"};i([].concat(function(e){if(Array.isArray(e))return Ce(e)}(e=a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ae(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[t])),s(t.id)}},"+ 꾸밈 요소 추가")),r.createElement(b.TT,null,r.createElement(h.A,{onClick:function(){return x()},pending:f},"저장")))},Re=n(40348),Le=n(34388);function De(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Me(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Me(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ne,ze=function(e){var t=e.homeSet,n=e.set;if(!t)return r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(b.fA,null,"배경 컬러 & 배경 이미지 설정"),r.createElement("p",{style:{color:"var(--subTextColor)"}},"홈 설정을 불러오는 중입니다."));var a=Ue((0,r.useState)(t.background.backgroundColor||"#ffffff"),2),i=a[0],c=a[1],u=Ue((0,r.useState)(t.background.backgroundColor2||"#ffffff"),2),s=u[0],d=u[1],f=Ue((0,r.useState)(t.background.backgroundGradientDir||"135deg"),2),m=f[0],p=f[1],v=Ue((0,r.useState)(null),2),y=v[0],g=v[1],C=Ue((0,r.useState)(t.background.backgroundImgURL||null),2),k=C[0],S=C[1],O=Ue((0,r.useState)(!1!==t.background.showBackgroundImage),2),I=O[0],j=O[1],P=Ue((0,r.useState)(!1),2),T=(P[0],P[1],Ue((0,r.useState)(!1),2)),R=T[0],L=T[1],D=Ue((0,r.useState)({enabled:!1,activePresetId:void 0,presets:[]}),2),U=D[0],M=D[1];(0,r.useEffect)(function(){t||(0,Le.tU)("backgroundImgURL","none")},[]),(0,r.useEffect)(function(){var e;t&&(S(t.background.backgroundImgURL),j(!1!==t.background.showBackgroundImage),t.background.webgl&&M({enabled:t.background.webgl.enabled||!1,activePresetId:t.background.webgl.activePresetId,presets:(null===(e=t.background.webgl)||void 0===e?void 0:e.presets)||[]}))},[t]),(0,r.useEffect)(function(){if(t){var e=I&&(k||t.background.backgroundImgURL)||"";(0,Le.tU)("backgroundImgURL",e?"url('".concat(e,"')"):"none")}else(0,Le.tU)("backgroundImgURL","none")},[t,I,k]),(0,r.useEffect)(function(){if(t){var e=s?"linear-gradient(".concat(m,", ").concat(i," 0%, ").concat(s," 100%)"):i;(0,Le.tU)("backgroundColor",e)}},[t,i,s,m]);var N=(0,r.useCallback)(function(){g(null),S(""),t&&t.background.backgroundImgURL&&(0,Re.RI)(t.background.backgroundImgURL),(0,Le.tU)("backgroundImgURL","none")},[t]),z=(0,r.useCallback)(function(){var e,t=(e=regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,l.fuego.db.doc(o.Mb.HOMEPAGE).set({background:{webgl:{enabled:t.enabled,activePresetId:t.activePresetId||"",presets:t.presets||[]}}},{merge:!0});case 3:e.next=9;break;case 5:e.prev=5,e.t0=e.catch(0),console.error("WebGL 설정 저장 실패:",e.t0),alert("저장에 실패했습니다.");case 9:case"end":return e.stop()}},e,null,[[0,5]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){De(l,r,a,o,i,"next",e)}function i(e){De(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),[]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(b.fA,null,"배경 컬러 & 배경 이미지 설정"),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"배경색"),r.createElement(b.PF,null,"기본으로 지정해주세요.")),r.createElement(E.A,{name:"backgroundColor",value:i,onChange:function(e){c(e)}})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"배경색 2"),r.createElement(b.PF,null,"그라데이션 보조 색상입니다.")),r.createElement(E.A,{name:"backgroundColor2",value:s,onChange:function(e){d(e)}})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"그라데이션 방향"),r.createElement(b.PF,null,"배경 색상 그라데이션의 진행 방향을 선택하세요.")),r.createElement(x.l,{selectedKey:m,setSelectedKey:p,selectList:[{key:"to right",value:"→ 오른쪽"},{key:"to left",value:"← 왼쪽"},{key:"to bottom",value:"↓ 아래"},{key:"to top",value:"↑ 위"},{key:"to bottom right",value:"↘ 대각선 (우하향)"},{key:"to bottom left",value:"↙ 대각선 (좌하향)"},{key:"to top right",value:"↗ 대각선 (우상향)"},{key:"to top left",value:"↖ 대각선 (좌상향)"},{key:"135deg",value:"135° (기본)"}],dropdownStyle:{width:200,maxHeight:280},dropdownDirection:"topLeft"})),r.createElement(de,{value:U,onChange:M,onSave:z}),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"배경 이미지 표시"),r.createElement(b.PF,null,"배경 이미지를 표시하거나 숨길 수 있습니다.")),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},r.createElement("span",{style:{fontSize:14,color:"var(--textColor)"}},I?"표시":"숨김"),r.createElement(w.A,{isChecked:I,handleSwitch:function(){return j(!I)}}))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"배경 이미지"),r.createElement(b.PF,null,"전체 홈페이지 배경으로 기본 배경색을 덮습니다.")),r.createElement(A.A,{id:"background-image",prevImgURL:k||t.background.backgroundImgURL,setSelectedFile:g,customDelete:N})),r.createElement(b.TT,null,r.createElement(h.A,{shape:"stroke",onClick:function(){var e,n,r;c(t.background.backgroundColor||"#ffffff"),d(t.background.backgroundColor2||"#ffffff"),p(t.background.backgroundGradientDir||"135deg"),S(t.background.backgroundImgURL),j(!1!==t.background.showBackgroun
1dImage),M({enabled:(null===(e=t.background.webgl)||void 0===e?void 0:e.enabled)||!1,activePresetId:null===(n=t.background.webgl)||void 0===n?void 0:n.activePresetId,presets:(null===(r=t.background.webgl)||void 0===r?void 0:r.presets)||[]})}},"초기화"),r.createElement(h.A,{onClick:function(){(0,Re.J3)({backgroundColor:i,backgroundColor2:s,backgroundGradientDir:m,showBackgroundImage:I,webgl:U,selectedFile:y,prevImgURL:t.background.backgroundImgURL}).then(function(){return L(!1)})},pending:R},"저장"))),r.createElement(Te,{homeSet:t,set:n}))},Be=n(68532),Fe=n(70768),Ge=n(66987),He={12:"12px",14:"14px",15:"15px",16:"16px",17:"17px",18:"18px"};function $e(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||We(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(e){return function(e){if(Array.isArray(e))return _e(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||We(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function We(e,t){if(e){if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(e,t):void 0}}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qe,Ke,Ye,Je,Qe=C.Ay.div(Ne||(qe=["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  grid-gap: 12px;\n"],Ke||(Ke=qe.slice(0)),Ne=Object.freeze(Object.defineProperties(qe,{raw:{value:Object.freeze(Ke)}})))),Ze=function(e){var t=e.homeSet,n=e.set,a=(0,l.useDocument)(o.Mb.FONT_MANAGER,{listen:!0}).data,i=(0,r.useMemo)(function(){var e=((null==a?void 0:a.customFonts)||[]).map(function(e){return{key:e.fontFamily,value:"".concat(e.name," (커스텀)")}});return[].concat(Ve(e),Ve(Ge.zs))},[null==a?void 0:a.customFonts]),c=$e((0,Be.Ge)({textColor:null==t?void 0:t.font.textColor,subTextColor:null==t?void 0:t.font.subTextColor},{}),3),u=c[0],s=u.textColor,d=u.subTextColor,f=c[1],m=(c[2],$e((0,r.useState)(t.font.textSize||He[14]),2)),p=m[0],v=m[1],y=$e((0,r.useState)(t.font.defaultFontFamily||""),2),g=y[0],w=y[1],A=$e((0,r.useState)(t.font.headerFontFamily||""),2),C=A[0],k=A[1];(0,r.useEffect)(function(){k(C),(0,Le.tU)("headerFontFamily",C)},[C,t]),(0,r.useEffect)(function(){w(g),(0,Le.tU)("defaultFontFamily",g)},[g]);var S=(0,r.useCallback)(function(){n({font:{textColor:s,subTextColor:d,textSize:p,headerFontFamily:C,defaultFontFamily:g}},{merge:!0})},[s,d,p,C,g]),O=(0,r.useCallback)(function(e){var t=e.target.value;(0,Le.tU)("textSize",t),v(t)},[]);return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"폰트 설정"),r.createElement(b.i,null,r.createElement("h3",null,"제목 또는 메뉴명 Title Almost"),r.createElement("p",null,"본문 서체 및 크기 미리보기 기본문장 12345 Paragraph"),r.createElement("p",{style:{color:"var(--subTextColor)"}},"서브 폰트 미리보기 123 Description")),r.createElement(b.N9,null,r.createElement("label",null,"메인 폰트색"),r.createElement(E.A,{name:"textColor",value:s,onChange:f})),r.createElement(b.N9,null,r.createElement("label",null,"서브 폰트색"),r.createElement(E.A,{name:"subTextColor",value:d,onChange:f})),r.createElement(b.N9,null,r.createElement("label",null,"큰 제목 서체"),r.createElement(x.l,{selectedKey:C,setSelectedKey:k,selectList:i,dropdownStyle:{width:220,maxHeight:300},dropdownDirection:"topLeft"})),r.createElement(b.N9,null,r.createElement("label",null,"본문 서체"),r.createElement(x.l,{selectedKey:g,setSelectedKey:w,selectList:i,dropdownStyle:{width:220,maxHeight:300},dropdownDirection:"topLeft"})),r.createElement(b.N9,null,r.createElement("label",null,"기본 폰트 크기"),r.createElement(Qe,null,Object.keys(He).map(function(e,t){return r.createElement(Fe.A,{key:t,value:He[e],id:"textSizeGroup-".concat(e),name:"textSizeGroup",checked:p===He[e],onChange:O},r.createElement("span",null,He[e]))}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:S},"저장")))},Xe={0:"0px",6:"6px",16:"16px",100:"100px"},et=n(8084),tt=n(40768),nt=n(96635),rt=(n(93116),Object.values({round:"roun
1d",scoop:"scoop",bevel:"bevel",notch:"notch",square:"square",squircle:"squircle"}));function at(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ot(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var it,ct=C.Ay.div(Ye||(Ye=ot(["\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-gap: 12px;\n"]))),ut=C.Ay.div(Je||(Je=ot(["\n  display: inline-flex;\n  gap: 6px;\n  position: relative;\n  margin-top: 16px;\n"]))),st=function(e){var t,n=e.homeSet,a=e.set,l=at((0,Be.Ge)({buttonBackgroundColor:n?n.button.buttonBackgroundColor:"",buttonTextColor:n?n.button.buttonTextColor:""},{}),3),o=l[0],i=o.buttonBackgroundColor,c=o.buttonTextColor,u=l[1],s=l[2],d=at((0,r.useState)(n?n.button.buttonBorderRadius:Xe[6]),2),f=d[0],m=d[1],p=at((0,r.useState)(null),2),v=p[0],y=p[1],g=at((0,r.useState)(""),2),x=g[0],w=g[1],C=at((0,r.useState)((null==n?void 0:n.button.buttonBorderWidth)||0),2),k=C[0],S=C[1],O=at((0,r.useState)((null==n?void 0:n.button.buttonBorderOffset)||0),2),I=O[0],j=O[1],P=at((0,r.useState)((null==n||null===(t=n.button)||void 0===t?void 0:t.buttonCornerShape)||"round"),2),T=P[0],R=P[1];(0,r.useEffect)(function(){(0,Le.tU)("buttonCornerShape",T)},[T]),(0,r.useEffect)(function(){if(n){var e;w(n.button.buttonBorderImage||""),S(n.button.buttonBorderWidth||0),j(n.button.buttonBorderOffset||0),(0,Le.tU)("buttonBorderImgURL",n.button.buttonBorderImage?"url('".concat(n.button.buttonBorderImage,"')"):"none"),(0,Le.tU)("buttonImgBorderWidth","".concat((0,nt.R$)(n.button.buttonBorderWidth||0))),(0,Le.tU)("buttonBorderOffset","".concat(n.button.buttonBorderOffset||0));var t=(null==n||null===(e=n.button)||void 0===e?void 0:e.buttonCornerShape)||"round";R(t),(0,Le.tU)("buttonCornerShape",t)}},[n]),(0,r.useEffect)(function(){v&&((0,me.updateSettingImg)({fileList:{selectedFile:v,prevImgURL:(null==n?void 0:n.button.buttonBorderImage)||""},parentKey:"button",key:"buttonBorderImage",collectionPath:"setting",docId:"homepageSetting"}),y(null))},[v,n]),(0,r.useEffect)(function(){(0,Le.tU)("buttonBorderImgURL",x?"url('".concat(x,"')"):"none")},[x]);var L=(0,r.useCallback)(function(){a({button:{buttonBackgroundColor:i,buttonTextColor:c,buttonBorderRadius:f,buttonBorderWidth:k,buttonBorderOffset:I,buttonCornerShape:T}},{merge:!0})},[i,c,f,k,I,T]),D=(0,r.useCallback)(function(){s(),m(n.button.buttonBorderRadius),(0,Le.tU)("buttonBorderRadius",n.button.buttonBorderRadius),w(n.button.buttonBorderImage||""),(0,Le.tU)("buttonBorderImgURL",n.button.buttonBorderImage?"url('".concat(n.button.buttonBorderImage,"')"):"none"),S(n.button.buttonBorderWidth||0),(0,Le.tU)("buttonImgBorderWidth","".concat((0,nt.R$)(n.button.buttonBorderWidth||0))),j(n.button.buttonBorderOffset||0),(0,Le.tU)("buttonBorderOffset","".concat(n.button.buttonBorderOffset||0)),R("round"),(0,Le.tU)("buttonCornerShape","round")},[n,s]),U=(0,r.useCallback)(function(e){var t=e.target.value;(0,Le.tU)("buttonBorderRadius",t),m(t)},[]),M=(0,r.useCallback)(function(e){S(e||0),(0,Le.tU)("buttonImgBorderWidth","".concat((0,nt.R$)(e||0)))},[]),N=(0,r.useCallback)(function(e){j(e||0),(0,Le.tU)("buttonBorderOffset","".concat(e||0))},[]),z=(0,r.useCallback)(function(){n&&n.button.buttonBorderImage&&((0,me.deleteSettingImg)({imgURL:n.button.buttonBorderImage,key:"buttonBorderImage",parentKey:"button",collectionPath:"setting",docId:"homepageSetting"}),w(""))},[n]);return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"버튼 테마 설정"),r.createElement(b.i,null,r.createElement(h.A,null,"버튼 미리보기"),r.createElement(ut,null,r.createElement(et.A,{value:"태그"}),r.createElement(et.A,{value:"태그"}),r.createElement(et.A,{value:"태그"}))),r.createElement(b.N9,null,r.createElement("label",null,"버튼 배경색"),r.createElement(E.A,{name:"buttonBackgroun
1dColor",value:i,onChange:u})),r.createElement(b.N9,null,r.createElement("label",null,"버튼 폰트색"),r.createElement(E.A,{name:"buttonTextColor",value:c,onChange:u})),r.createElement(b.N9,null,r.createElement("label",null,"버튼 모서리 둥글기"),r.createElement(ct,null,Object.keys(Xe).map(function(e,t){return r.createElement(Fe.A,{key:t,value:Xe[e],id:"buttonBorderRadiusGroup-".concat(e),name:"buttonBorderRadiusGroup",checked:f===Xe[e],onChange:U},r.createElement("span",null,Xe[e]))}))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",null,"버튼 코너 모양 (corner-shape)"),r.createElement(b.PF,null,"일부 브라우저에서는 corner-shape가 적용되지 않을 수 있습니다. Chrome 최신 버전에서 우선 적용됩니다.")),r.createElement(ct,{style:{gridTemplateColumns:"repeat(3, 1fr)"}},rt.map(function(e){return r.createElement(Fe.A,{key:e,value:e,id:"buttonCornerShape-".concat(e),name:"buttonCornerShape",checked:T===e,onChange:function(e){return R(e.target.value)}},r.createElement("span",null,e))}))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"버튼 이미지 설정 (옵션)"),r.createElement(b.PF,null,"권장 90 X 90 ",r.createElement("br",null),"이미지가 안보일 시 ",r.createElement("br",null),"버튼 모서리 둥글기를 0으로 지정")),r.createElement(A.A,{id:"button-border-image",prevImgURL:x,customDelete:z,setSelectedFile:y,customSetPreviewImgURL:w})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"버튼 보더 굵기"),r.createElement(tt.A,{value:k,onChange:M,max:50,step:1,id:"buttonBorderWidth"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"버튼 이미지 오프셋"),r.createElement(b.PF,null,"밖으로 튀어나가기 정도")),r.createElement(tt.A,{value:I,onChange:N,max:10,step:1,id:"buttonBorderOffset"})),r.createElement(b.TT,null,r.createElement(h.A,{shape:"stroke",onClick:D},"초기화"),r.createElement(h.A,{onClick:L},"저장")))},dt={0:"0px",6:"6px",12:"12px",24:"24px",52:"52px"},ft=n(92951);function mt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return pt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var vt,yt,gt,bt=C.Ay.div(it||(it=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-gap: 12px;\n"]))),ht=function(e){var t,n,a=e.homeSet,l=e.set,o=mt((0,r.useState)(null),2),i=o[0],c=o[1],u=mt((0,r.useState)(""),2),s=u[0],d=u[1],f=mt((0,Be.Ge)({cardBackgroundColor:a?a.card.cardBackgroundColor:"",cardLineColor:a?a.card.cardLineColor:""},{}),3),m=f[0],p=m.cardBackgroundColor,v=m.cardLineColor,y=f[1],g=(f[2],mt((0,r.useState)(1),2)),x=g[0],w=g[1],C=mt((0,r.useState)(0),2),k=C[0],S=C[1],O=mt((0,r.useState)(a?a.card.cardBorderRadius:dt[6]),2),j=O[0],P=O[1],T=mt((0,r.useState)(a?a.card.cardBorderType:ft.tf.default),2),R=T[0],L=T[1],D=mt((0,r.useState)((null==a||null===(t=a.card)||void 0===t?void 0:t.cardBlur)||"4px"),2),U=D[0],M=D[1],N=mt((0,r.useState)((null==a||null===(n=a.card)||void 0===n?void 0:n.cardCornerShape)||"round"),2),z=N[0],B=N[1];(0,r.useEffect)(function(){var e;a&&(d(a.card.cardBorderImage||""),w(a.card.cardBorderWidth||1),S(a.card.cardBorderOffset||0),B(a.card.cardCornerShape||"round"),M((null==a||null===(e=a.c
1ard)||void 0===e?void 0:e.cardBlur)||"4px"))},[a]);var F=(0,r.useCallback)(function(){l({card:{cardBackgroundColor:p,cardLineColor:v,cardBorderRadius:j,cardBorderType:R,cardBorderWidth:x,cardBorderOffset:k,cardCornerShape:z,cardBlur:U}},{merge:!0})},[p,j,v,R,x,k,z,U]),G=(0,r.useCallback)(function(e){var t=e.target.value;(0,Le.tU)("cardBorderRadius",t),P(t)},[]),H=(0,r.useCallback)(function(e){(0,Le.tU)("cardBorderWidth","".concat((0,nt.R$)(e||"1px"))),(0,Le.tU)("cardBorderWithImgWidth",a.card.cardBorderImage?"0px":"".concat((0,nt.R$)(e||"1px"))),(0,Le.tU)("cardImgBorderWidth",a.card.cardBorderImage?"".concat((0,nt.R$)(e||"1px")):"0px"),w(e)},[a]),$=(0,r.useCallback)(function(e){(0,Le.tU)("cardBorderOffset",e),S(e||0)},[]),V=(0,r.useCallback)(function(e){var t=e.target.value;M(t),(0,Le.tU)("cardBlur",(0,nt.R$)(t||"4px"))},[]),W=(0,r.useCallback)(function(e){(0,Le.tU)("cardBorderType",e),L(e)},[]);(0,r.useEffect)(function(){i&&((0,me.updateSettingImg)({fileList:{selectedFile:i,prevImgURL:(null==a?void 0:a.card.cardBorderImage)||""},parentKey:"card",key:"cardBorderImage",collectionPath:"setting",docId:"homepageSetting"}),c(null))},[i,a]);var _=(0,r.useCallback)(function(){a&&a.card.cardBorderImage&&(0,me.deleteSettingImg)({imgURL:a.card.cardBorderImage,key:"cardBorderImage",parentKey:"card",collectionPath:"setting",docId:"homepageSetting"})},[a]);return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"카드 테마 설정"),r.createElement(b.CD,null,r.createElement("h4",null,"기본 카드 미리보기"),r.createElement("p",null,"내용")),r.createElement(b.i,null,r.createElement("h4",null,"보더 이미지 미리보기"),r.createElement("p",null,"내용")),r.createElement(b.N9,null,r.createElement("label",null,"카드 배경색"),r.createElement(E.A,{name:"cardBackgroundColor",value:p,onChange:y})),r.createElement(b.N9,null,r.createElement("label",null,"카드 라인색"),r.createElement(E.A,{name:"cardLineColor",value:v,onChange:y})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",null,"카드 블러 수치"),r.createElement(b.PF,null,"예: 4px (px)")),r.createElement(I.A,{name:"cardBlur",value:U,onChange:V,placeholder:"4px"})),r.createElement(b.N9,null,r.createElement("label",null,"카드 모서리 둥글기"),r.createElement(bt,{style:{gridTemplateColumns:"repeat(5, 1fr)"}},Object.keys(dt).map(function(e,t){return r.createElement(Fe.A,{key:t,value:dt[e],id:"cardBorderRadiusGroup-".concat(e),name:"cardBorderRadiusGroup",checked:j===dt[e],onChange:G},r.createElement("span",null,dt[e]))}))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",null,"카드 코너 모양 (corner-shape)"),r.createElement(b.PF,null,"일부 브라우저에서는 corner-shape가 적용되지 않을 수 있습니다. Chrome 최신 버전에서 우선 적용됩니다.")),r.createElement(bt,{style:{gridTemplateColumns:"repeat(3, 1fr)"}},rt.map(function(e){return r.createElement(Fe.A,{key:e,value:e,id:"cardCornerShape-".concat(e),name:"cardCornerShape",checked:z===e,onChange:function(e){B(e.target.value),(0,Le.tU)("cardCornerShape",e.target.value)}},r.createElement("span",null,e))}))),r.createElement(b.N9,null,r.createElement("label",null,"카드 라인 타입"),r.createElement(bt,null,ft.RI.map(function(e,t){return r.createElement(Fe.A,{key:t,value:e.value,id:"cardBorderGroup-".concat(e.key),name:"cardBorderGroup",checked:R===e.key,onChange:function(){return W(e.key)}},r.createElement("span",null,e.value))}))),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"카드 보더 굵기"),r.createElement(tt.A,{value:x,onChange:H,max:10,step:1,id:"borderWidth"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"카드 보더 이미지 (옵션)"),r.createElement(b.PF,null,"권장 90 X 90 ",r.createElement("br",null),"이미지가 안보일 시 ",r.createElement("br",null),"카드 모서리 둥글기를 0으로 지정")),r.createElement(A.A,{id:"border-image",prevImgURL:s,customDelete:_,setSelectedFile:c,customSetPreviewImgURL:d})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 이미지 오프셋"),r.createElement(b.PF,null,"밖으로 튀어나가기 정도")),r.createElement(tt.A,{value:k,onChange:$,max:10,step:1,id:"borderOffset"})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:F},"저장")))},Et=n(9843),xt=n(49005),wt=n(92432),At=n(1151);function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function kt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var St,Ot,It,jt,Pt,Tt,Rt,Lt,Dt,Ut,Mt=C.Ay.div(vt||(vt=kt(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n"]))),Nt=(C.Ay.div(yt||(yt=kt(["\n  background-color: var(--primaryColor);\n  color: var(--subColor);\n  padding: 12px;\n  width: fit-content;\n  border-radius: var(--cardBorderRadius);\n\n  &:hover {\n    background-color: var(--inkColor);\n  }\n"]))),C.Ay.div(gt||(gt=kt(["\n  background-color: var(--subColor);\n  color: var(--textColor);\n  padding: 12px;\n  width: fit-content;\n  border-radius: var(--cardBorderRadius);\n  &:hover {\n    background-color: var(--inkColor);\n  }\n"]))),[{value:"탭 버튼",order:0,id:"11"},{value:"탭 버튼",order:1,id:"22"},{value:"탭 버튼",order:2,id:"33"}]),zt=function(e){var t,n,a=e.homeSet,l=e.set,o=(t=(0,Be.Ge)(a?a.primary:{},{}),n=3,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ct(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],c=i.primaryColor,u=i.subColor,s=i.inkColor,d=i.lineColor,f=o[1],m=(o[2],(0,r.useCallback)(function(){l({primary:{primaryColor:c,subColor:u,inkColor:s,lineColor:d}},{merge:!0})},[c,u,s,d]));return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"기본 컬러 세팅"),r.createElement(b.i,null,r.createElement(Mt,null,r.createElement("div",null,r.createElement(et.A,{value:"#Hashtag"})),r.createElement("div",null,r.createElement(wt.vw,null,"Tags")),r.createElement(At.IF,{type:"default"},"Title Label")),r.createElement(xt.A,{value:"체크박스1",defaultChecked:!1,checked:!1},"체크박스1"),r.createElement(xt.A,{value:"체크박스2",defaultChecked:!0,checked:!0},"체크박스2"),r.createElement(Et.A,{tabList:Nt})),r.createElement(b.N9,null,r.createElement("label",null,"포인트 컬러"),r.createElement(E.A,{name:"primaryColor",value:c,onChange:f})),r.createElement(b.N9,null,r.createElement("label",null,"서브 컬러"),r.createElement(E.A,{name:"subColor",value:u,onChange:f})),r.createElement(b.N9,null,r.createElement("label",null,"잉크 컬러"),r.createElement(E.A,{name:"inkColor",value:s,onChange:f})),r.createElement(b.N9,null,r.createElement("label",null,"라인 컬러"),r.createElement(E.A,{name:"lineColor",value:d,onChange:f})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:m},"저장")),r.createElement("div",{style:{width:1,height:200}}))};function Bt(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Ft(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ht(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var $t,Vt,Wt,_t,qt=C.Ay.div(St||(St=Ht(["\n  padding: 40px;\n  background: var(--backgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 20px;\n  min-height: 200px;\n"]))),Kt=C.Ay.div(Ot||(Ot=Ht(["\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n  gap: 16px;\n  margin-top: 16px;\n"]))),Yt=C.Ay.div(It||(It=Ht(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Jt=C.Ay.div(jt||(jt=Ht(["\n  width: 40px;\n  height: 40px;\n  border: 4px solid var(--lineColor);\n  border-top-color: ",";\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n\n  @keyframes spin {\n    to { transform: rotate(360deg); }\n  }\n"])),function(e){return e.color||"var(--primaryColor)"}),Qt=C.Ay.div(Pt||(Pt=Ht(["\n  width: 200px;\n  height: 8px;\n  background-color: ",";\n  border-radius: 10px;\n  overflow: hidden;\n  position: relative;\n\n  &::after {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    height: 100%;\n    width: 40%;\n    background-color: ",";\n    border-radius: 10px;\n    animation: slide 1.5s ease-in-out infinite;\n  }\n\n  @keyframes slide {\n    0%, 100% { left: -40%; }\n    50% { left: 100%; }\n  }\n"])),function(e){return e.bgColor||"var(--lineColor)"},function(e){return e.color||"var(--primaryColor)"}),Zt=C.Ay.div(Tt||(Tt=Ht(["\n  display: flex;\n  gap: 8px;\n\n  span {\n    width: 12px;\n    height: 12px;\n    background-color: ",";\n    border-radius: 50%;\n    animation: bounce 1.4s infinite ease-in-out both;\n\n    &:nth-child(1) { animation-delay: -0.32s; }\n    &:nth-child(2) { animation-delay: -0.16s; }\n  }\n\n  @keyframes bounce {\n    0%, 80%, 100% { transform: scale(0); }\n    40% { transform: scale(1); }\n  }\n"])),function(e){return e.color||"var(--primaryColor)"}),Xt=C.Ay.div(Rt||(Rt=Ht(["\n  width: 50px;\n  height: 50px;\n  background-color: ",";\n  border-radius: 50%;\n  animation: pulse 1.2s cubic-bezier(0, 0, 0.2, 1) infinite;\n\n  @keyframes pulse {\n    0%, 100% { opacity: 1; transform: scale(0); }\n    50% { opacity: 0.5; transform: scale(1); }\n  }\n"])),function(e){return e.color||"var(--primaryColor)"}),en=C.Ay.div(Lt||(Lt=Ht(["\n  width: 50px;\n  height: 50px;\n  border-radius: 50%;\n  border: 5px solid transparent;\n  border-top-color: ",";\n  border-bottom-color: ",";\n  animation: rotate 1s linear infinite;\n\n  @keyframes rotate {\n    to { transform: rotate(360deg); }\n  }\n"])),function(e){return e.color||"var(--primaryColor)"},function(e){return e.color||"var(--primaryColor)"}
1),tn=C.Ay.div(Dt||(Dt=Ht(["\n  display: flex;\n  gap: 4px;\n  align-items: center;\n\n  span {\n    width: 6px;\n    height: 40px;\n    background-color: ",";\n    border-radius: 4px;\n    animation: wave 1s ease-in-out infinite;\n\n    &:nth-child(1) { animation-delay: 0s; }\n    &:nth-child(2) { animation-delay: 0.1s; }\n    &:nth-child(3) { animation-delay: 0.2s; }\n    &:nth-child(4) { animation-delay: 0.3s; }\n    &:nth-child(5) { animation-delay: 0.4s; }\n  }\n\n  @keyframes wave {\n    0%, 100% { height: 20px; }\n    50% { height: 40px; }\n  }\n"])),function(e){return e.color||"var(--primaryColor)"}),nn=C.Ay.div(Ut||(Ut=Ht(["\n  font-size: 16px;\n  font-weight: 500;\n  color: var(--textColor);\n"]))),rn=function(e){var t=e.homeSet,n=(e.set,Ft((0,r.useState)("spinner"),2)),a=n[0],i=n[1],c=Ft((0,r.useState)("로딩 중..."),2),u=c[0],s=c[1],d=Ft((0,r.useState)("#4ecdc4"),2),f=d[0],m=d[1],p=Ft((0,r.useState)("rgba(0, 0, 0, 0.9)"),2),v=p[0],y=p[1],g=Ft((0,r.useState)(!1),2),x=g[0],w=g[1];(0,r.useEffect)(function(){null!=t&&t.loading&&(i(t.loading.design||"spinner"),s(t.loading.text||"로딩 중..."),m(t.loading.color||"#4ecdc4"),y(t.loading.backgroundColor||"rgba(0, 0, 0, 0.9)"))},[t]);var A=function(){var e,t=(e=regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return w(!0),e.prev=1,e.next=4,l.fuego.db.doc(o.Mb.HOMEPAGE).set({loading:{design:a,text:u,color:f,backgroundColor:v}},{merge:!0});case 4:alert("로딩 디자인이 저장되었습니다."),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("저장 실패:",e.t0),alert("저장에 실패했습니다.");case 11:return e.prev=11,w(!1),e.finish(11);case 14:case"end":return e.stop()}},e,null,[[1,7,11,14]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Bt(l,r,a,o,i,"next",e)}function i(e){Bt(l,r,a,o,i,"throw",e)}o(void 0)})});return function(){return t.apply(this,arguments)}}(),C=function(e){switch(e){case"spinner":default:return r.createElement(Jt,{color:f});case"bar":return r.createElement(Qt,{color:f,bgColor:v});case"dots":return r.createElement(Zt,{color:f},r.createElement("span",null),r.createElement("span",null),r.createElement("span",null));case"pulse":return r.createElement(Xt,{color:f});case"ring":return r.createElement(en,{color:f});case"wave":return r.createElement(tn,{color:f},r.createElement("span",null),r.createElement("span",null),r.createElement("span",null),r.createElement("span",null),r.createElement("span",null))}};return r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(b.fA,null,"로딩 디자인 설정"),r.createElement(b.N9,null,r.createElement("label",null,"미리보기"),r.createElement(qt,{style:{backgroundColor:v}},C(a),r.createElement(nn,{style:{color:f}},u))),r.createElement(b.N9,null,r.createElement("label",null,"로딩 디자인"),r.createElement(Kt,null,[{type:"spinner",name:"Spinner"},{type:"bar",name:"Progress Bar"},{type:"dots",name:"Dots"},{type:"pulse",name:"Pulse"},{type:"ring",name:"Ring"},{type:"wave",name:"Wave"}].map(function(e){return r.createElement(b.r$,{key:e.type,selected:a===e.type,onClick:function(){return i(e.type)},$padding:"40px 20px",$bg:"var(--cardBackgroundColor)",$hoverLift:!0},C(e.type),r.createElement(Yt,null,e.name))}))),r.createElement(b.N9,null,r.createElement("label",null,"로딩 텍스트"),r.createElement(I.A,{name:"loadingText",value:u,onChange:function(e){return s(e.target.value)},placeholder:"로딩 중..."})),r.createElement(b.N9,null,r.createElement("label",null,"로딩바 컬러"),r.createElement(E.A,{name:"loaderColor",value:f,onChange:m})),r.createElement(b.N9,null,r.createElement("label",null,"로딩 배경 컬러"),r.createElement(E.A,{name:"loaderBgColor",value:v,onChange:y})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:A,pending:x},"저장")))},an=n(59672);function ln(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function on(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return cn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cn(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function un(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var sn,dn,fn,mn,pn,vn=C.Ay.div($t||($t=un(["\n  padding: 40px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  min-height: 120px;\n"]))),yn=C.Ay.div(Vt||(Vt=un(["\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n  gap: 16px;\n  margin-top: 16px;\n"]))),gn=C.Ay.div(Wt||(Wt=un(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),bn=C.Ay.div(_t||(_t=un(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-top: 4px;\n"]))),hn=function(e){var t=e.homeSet,n=(e.set,on((0,r.useState)("diaArrow"),2)),a=n[0],i=n[1],c=on((0,r.useState)(""),2),u=c[0],s=c[1],d=on((0,r.useState)(""),2),f=d[0],m=d[1],p=on((0,r.useState)(""),2),v=p[0],y=p[1],g=on((0,r.useState)(!1),2),x=g[0],w=g[1];(0,r.useEffect)(function(){null!=t&&t.arrowButton&&(i(t.arrowButton.design||"diaArrow"),s(t.arrowButton.color||""),m(t.arrowButton.backgroundColor||""),y(t.arrowButton.pointColor||""))},[t]);var A=function(){var e,t=(e=regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return w(!0),e.prev=1,e.next=4,l.fuego.db.doc(o.Mb.HOMEPAGE).set({arrowButton:{design:a,color:u,backgroundColor:f,pointColor:v}},{merge:!0});case 4:alert("화살표 버튼 디자인이 저장되었습니다."),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("저장 실패:",e.t0),alert("저장에 실패했습니다.");case 11:return e.prev=11,w(!1),e.finish(11);case 14:case"end":return e.stop()}},e,null,[[1,7,11,14]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ln(l,r,a,o,i,"next",e)}function i(e){ln(l,r,a,o,i,"throw",e)}o(void 0)})});return function(){return t.apply(this,arguments)}}();return r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(b.fA,null,"화살표 버튼 디자인 설정"),r.createElement(b.N9,null,r.createElement("label",null,"미리보기"),r.createElement(vn,null,function(){var e=an.V.find(function(e){return e.type===a});if(!e)return null;var t=e.component;return r.createElement(t,{color:u||void 0,backgroundColor:f||void 0,pointColor:v||void 0})}(),r.createElement(bn,null,"호버해서 애니메이션을 확인하세요"))),r.createElement(b.N9,null,r.createElement("label",null,"화살표 버튼 디자인"),r.createElement(yn,null,an.V.map(function(e){var t=e.component;return r.createElement(b.r$,{key:e.type,selected:a===e.type,onClick:function(){return i(e.type)}},r.createElement(t,{color:u||void 0,backgroundColor:f||void 0,pointColor:v||void 0}),r.createElement(gn,null,e.name))}))),r.createElement(b.N9,null,r.createElement("label",null,"화살표 컬러 (기본)"),r.createElement(E.A,{name:"btnColor",value:u||"var(--textColor)",onChange:function(e){s(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"포인트 컬러 (장식)"),r.createElement(E.A,{name:"btnPointColor",value:v||"var(--textColor)",onChange:function(e){y(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"배경 컬러"),r.createElement(E.A,{name:"btnBgColor",value:f||"transparent",onChange:function(e){m(e)}})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:A,pending:x},"저장")))},En=n(15439);function xn(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function wn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return An(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?An(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function An(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Cn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var kn=C.Ay.div(sn||(sn=Cn(["\n  padding: 40px;\n  background: ",";\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  min-height: 100px;\n"])),function(e){return e.$bg||"transparent"}),Sn=C.Ay.div(dn||(dn=Cn(["\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n  gap: 16px;\n  margin-top: 16px;\n"]))),On=C.Ay.div(fn||(fn=Cn(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),In=C.Ay.div(mn||(mn=Cn(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  opacity: 0.7;\n"]))),jn=C.Ay.div(pn||(pn=Cn(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-top: 4px;\n"]))),Pn=function(e){var t=e.homeSet,n=(e.set,wn((0,r.useState)("default"),2)),a=n[0],i=n[1],c=wn((0,r.useState)(""),2),u=c[0],s=c[1],d=wn((0,r.useState)(""),2),f=d[0],m=d[1],p=wn((0,r.useState)(""),2),v=p[0],y=p[1],g=wn((0,r.useState)(!1),2),x=g[0],w=g[1];(0,r.useEffect)(function(){null!=t&&t.buttonDesign&&(i(t.buttonDesign.design||"default"),s(t.buttonDesign.color||""),m(t.buttonDesign.backgroundColor||""),y(t.buttonDesign.pointColor||""))},[t]);var A=function(){var e,t=(e=regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return w(!0),e.prev=1,e.next=4,l.fuego.db.doc(o.Mb.HOMEPAGE).set({buttonDesign:{design:a,color:u,backgroundColor:f,pointColor:v}},{merge:!0});case 4:alert("버튼 디자인이 저장되었습니다."),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("저장 실패:",e.t0),alert("저장에 실패했습니다.");case 11:return e.prev=11,w(!1),e.finish(11);case 14:case"end":return e.stop()}},e,null,[[1,7,11,14]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){xn(l,r,a,o,i,"next",e)}function i(e){xn(l,r,a,o,i,"throw",e)}o(void 0)})});return function(){return t.apply(this,arguments)}}();return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"버튼 디자인 설정"),r.createElement(b.N9,null,r.createElement("label",null,"미리보기"),r.createElement(kn,{$bg:f||void 0},function(){var e=En.d.find(function(e){return e.type===a});if(!e)return null;var t=e.component;return r.createElement(t,{color:u||void 0,backgroundColor:f||void 0,pointColor:v||void 0})}(),r.createElement(jn,null,"호버해서 애니메이션을 확인하세요"))),r.createElement(b.N9,null,r.createElement("label",null,"버튼 디자인"),r.createElement(Sn,null,En.d.map(function(e){var t=e.component;return r.createElement(b.r$,{key:e.type,selected:a===e.type,onClick:function(){return i(e.type)},$padding:"28px 16px 16px",$gap:"14px",$hoverLift:!0},r.createElement(t,{color:u||void 0,backgroundColor:f||void 0,pointColor:v||void 0}),r.createElement(On,null,e.name))}))),"default"===a?r.createElement(In,{style:{padding:"8px 0"}},"[기본] 선택 시 색상은 ",r.createElement("strong",null,"버튼 테마 설정"),"을 따릅니다."):r.createElement(r.Fragment,null,r.createElement(b.N9,null,r.createElement("label",null,"텍스트 · 선 컬러 (기본)"),r.createElement(E.A,{name:"btnColor",value:u||"var(--buttonTextColor)",onChange:function(e){return s(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"포인트 컬러 (장식)"),r.createElement(E.A,{name:"btnPointColor",value:v||"var(--buttonTextColor)",onChange:function(e){return y(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"배경 컬러"),r.createElement(E.A,{name:"btnBgColor",value:f||"var(--buttonBackgroundColor)",onChange:function(e){return m(e)}}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:A,pending:x},"저장")))};function Tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Rn=function(){var e,t,n=(e=f("background"),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tn(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],c=n[1],u=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),s=u.data,d=u.set;if(!s)return r.createElement("div",{style:{padding:"20px",color:"var(--subTextColor)"}},"설정을 불러오는 중...");var m=[{label:"배경",value:"background",isShow:!0,drawView:r.createElement(ze,{homeSet:s,set:d})},{label:"폰트",value:"font",isShow:!0,drawView:r.createElement(Ze,{homeSet:s,set:d})},{label:"버튼",value:"button",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(st,{homeSet:s,set:d}),r.createElement(Pn,{homeSet:s,set:d}))},{label:"카드",value:"card",isShow:!0,drawView:r.createElement(ht,{homeSet:s,set:d})},{label:"컬러",value:"primary",isShow:!0,drawView:r.createElement(zt,{homeSet:s,set:d})},{label:"로딩",value:"loading",isShow:!0,drawView:r.createElement(rn,{homeSet:s,set:d})},{label:"화살표 버튼",value:"arrowButton",isShow:!0,drawView:r.createElement(hn,{homeSet:s,set:d})}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:m,defaultViewType:a,customSetViewType:c}))};function Ln(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Dn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Dn(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Un=function(e){var t=e.homeSet,n=e.set,a=Ln((0,r.useState)(!1),2),l=(a[0],a[1],Ln((0,r.useState)(!1),2)),o=l[0],i=l[1];return(0,r.useEffect)(function(){t&&i(t.userResiter||!1)},[t]),r.createElement(b.YO,{wrap:"row",id:"sec-login-setting"},r.createElement(b.fA,null,"로그인/회원가입 설정"),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"회원가입 막기"),r.createElement(w.A,{isChecked:o,handleSwitch:function(){i(!o),n({userResiter:!o},{merge:!0})}})))},Mn=n(88382),Nn=n(77828);function zn(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Bn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Fn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fn(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Gn,Hn=function(e){var t=e.homeSet,n=e.set,a=Bn((0,Mn.zN)({homepageTitle:null==t?void 0:t.homepageSet.homepageTitle,homepageDescription:null==t?void 0:t.homepageSet.homepageDescription}),3),l=a[0],o=l.homepageTitle,i=l.homepageDescription,c=a[1],u=(a[2],Bn((0,r.useState)(null),2)),s=u[0],d=u[1],f=Bn((0,r.useState)(""),2),m=f[0],p=f[1],v=Bn((0,r.useState)(null),2),y=v[0],g=v[1],E=Bn((0,r.useState)(""),2),x=E[0],w=E[1],C=Bn((0,r.useState)(null),2),k=C[0],S=C[1],O=Bn((0,r.useState)(""),2),j=O[0],P=O[1],T=Bn((0,r.useState)(null),2),R=T[0],L=T[1],D=Bn((0,r.useState)(""),2),U=D[0],M=D[1],N=Bn((0,r.useState)(!1!==(null==t?void 0:t.homepageSet.pwaInstallPromptEnabled)),2),z=N[0],B=N[1],F=Bn((0,r.useState)(!1),2),G=F[0],H=F[1];function $(){return V.apply(this,arguments)}function V(){var e;return e=regeneratorRuntime.mark(function e(){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return H(!0),r={set:n,homepageTitle:o,homepageDescription:i,faviconFile:s,selectedFile:R,pwaIconFile:y,pwaIcon192File:k,pwaInstallPromptEnabled:z,prevImgURL:t.homepageSet.ogImgURL,prevFaviconURL:t.homepageSet.faviconURL,prevPwaIconURL:t.homepageSet.pwaIconURL,prevPwaIcon192URL:t.homepageSet.pwaIcon192URL},e.next=4,(0,Re.bA)(r);case 4:H(!1);case 5:case"end":return e.stop()}},e)}),V=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){zn(l,r,a,o,i,"next",e)}function i(e){zn(l,r,a,o,i,"throw",e)}o(void 0)})},V.apply(this,arguments)}(0,r.useEffect)(function(){B(!1!==(null==t?void 0:t.homepageSet.pwaInstallPromptEnabled))},[null==t?void 0:t.homepageSet.pwaInstallPromptEnabled]);var W=(0,r.useCallback)(function(){m&&(p(""),d(null)),t.homepageSet.faviconURL&&(d(null),(0,Re.EY)(t.homepageSet.faviconURL))},[t,m]),_=(0,r.useCallback)(function(){x&&(w(""),g(null)),t.homepageSet.pwaIconURL&&(g(null),(0,Re.vH)(t.homepageSet.pwaIconURL))},[t,x]),q=(0,r.useCallback)(function(){j&&(P(""),S(null)),t.homepageSet.pwaIcon192URL&&(S(null),(0,Re.dI)(t.homepageSet.pwaIcon192URL))},[t,j]),K=(0,r.useCallback)(function(){U&&(M(""),L(null)),t.homepageSet.ogImgURL&&(L(null),(0,Re.cs)(t.homepageSet.ogImgURL))},[t,U]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0,wrap:"row",id:"sec-homepage-basic"},r.createElement(b.fA,null,"홈페이지 설정"),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"홈페이지 타이틀"),r.createElement(I.A,{name:"homepageTitle",value:o,onChange:c,placeholder:"홈페이지 타이틀 입력"})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"홈페이지 설명"),r.createElement(I.A,{name:"homepageDescription",value:i,onChange:c,placeholder:"홈페이지 설명 입력"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"파비콘 (64x64)"),r.createElement(b.PF,null,"브라우저 옆에 띄우는 작은 아이콘"),r.createElement(b.PF,{style:{color:"#e57373",marginTop:4}},"⚠ 파일명은 반드시 영문으로 저장 후 업로드하세요. (예: favicon.png)")),r.createElement(A.A,{id:"home-favicon",prevImgURL:m||t.homepageSet.faviconURL,customDelete:W,setSelectedFile:d,customSetPreviewImgURL:p}
1)),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"url 공유 이미지"),r.createElement(b.PF,null,"1200 * 630 권장")),r.createElement(A.A,{id:"home-image",prevImgURL:U||t.homepageSet.ogImgURL||"",customDelete:K,setSelectedFile:L,customSetPreviewImgURL:M})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:$,pending:G},"저장"))),r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"PWA 설치 앱 아이콘 설정",r.createElement("div",null,r.createElement(Q.A,{linkto:"https://moogongan-guide.notion.site/3101ce32694c80cd835ffb3cf6d49ca3",title:"PWA 안내 및 설정 가이드 보기",tooltip:"PWA 설정 가이드 열기"}),r.createElement(b.PF,null,"PWA는 모바일 또는 데스크톱에서 홈페이지를 앱처럼 홈 화면에 추가해 바로 실행할 수 있는 기능입니다."))),r.createElement(Nn.A,{label:"PWA 설치 유도 팝업 표시",description:"꺼두면 PWA 설치 기능은 유지하되, 하단 설치 안내 팝업만 숨깁니다.",isChecked:z,onToggle:function(){return B(function(e){return!e})}}),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"PWA 앱 아이콘 512 - 모바일용"),"51"," ",r.createElement(b.PF,null,"모바일 홈 화면에 설치될 때 사용하는 아이콘."),r.createElement(b.PF,{style:{color:"#e57373",marginTop:4}},"⚠ 파일명은 반드시 영문(예: icon-512.png)"),r.createElement(b.PF,{style:{color:"#e57373",marginTop:2}},"⚠ 정사각형 이미지 (512×512px) 가로세로가 다르면 설치 오류가 발생합니다.")),r.createElement(A.A,{id:"home-pwa-icon",prevImgURL:x||t.homepageSet.pwaIconURL||"",customDelete:_,setSelectedFile:g,customSetPreviewImgURL:w})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"PWA 앱 아이콘 192 - 데스크탑용"),r.createElement(b.PF,{style:{color:"#e57373",marginTop:4}},"⚠ 파일명은 반드시 영문(예: icon-512.png)"),r.createElement(b.PF,{style:{color:"#e57373",marginTop:2}},"⚠ 정사각형 이미지 (512×512px) 가로세로가 다르면 설치 오류가 발생합니다.")),r.createElement(A.A,{id:"home-pwa-icon-192",prevImgURL:j||t.homepageSet.pwaIcon192URL||"",customDelete:q,setSelectedFile:S,customSetPreviewImgURL:P})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:$,pending:G},"저장"))))};function $n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vn(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Wn=C.Ay.div(Gn||(Gn=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 40px auto;\n  align-items: center;\n  gap: 12px;\n"])));function _n(){var e=(0,l.useDocument)(o.Mb.JUKEBOX,{listen:!0}),t=e.data,n=e.set,a=$n((0,r.useState)(!0),2),i=a[0],c=a[1],u=$n((0,r.useState)(!1),2),s=u[0],d=u[1],f=$n((0,r.useState)((null==t?void 0:t.defaultVolume)||.5),2),m=f[0],p=f[1],v=$n((0,r.useState)(""),2),y=v[0],g=v[1],E=(0,r.useCallback)(function(e){return g(e.target.value)},[]);return(0,r.useEffect)(function(){t&&(g(t.youtubeURL),c(t.isActive),p(t.defaultVolume||.5),d(t.useCustomPlaylist||!1))},[t]),r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0,id:"sec-jukebox-setting"},r.createElement(b.fA,null,"기본 bgm 설정"),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"Youtube 재생목록 URL"),r.createElement(b.PF,null,"개인 재생목록의 경우 반드시 '공개' 또는 '일부공개' 설정해주세요.")),r.createElement(Wn,null,r.createElement(w.A,{isChecked:i,handleSwitch:function(){c(!i),n({isActive:!i},{merge:!0})}}),r.createElement(I.A,{name:"URLInput",placeholder:"youtube 링크 https://...",value:y,onChange:E}))),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"기본 볼륨"),r.createElement(tt.A,{value:m,onChange:function(e){n({defaultVolume:Number(e)},{merge:!0})},max:1,step:.1})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"커스텀 플레이리스트 사용"),r.createElement(b.PF,null,"활성화하면 기본 BGM 대신 커스텀 플레이리스트의 음악이 순차적으로 재생됩니다.")),r.createElement(w.A,{isChecked:s,handleSwitch:function(){d(!s),n({useCustomPlaylist:!s},{merge:!0})}})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:function(){n({youtubeURL:y},{merge:!0})}},"저장"))))}var qn=r.memo(_n);function Kn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Yn=function(e){var t,n,a=e.homeSet,l=e.set,o=(t=(0,r.useState)(!0),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Kn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kn(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],c=o[1];return(0,r.useEffect)(function(){a&&c(a.pageEffect)},[a]),r.createElement(b.YO,{id:"sec-page-effect"},r.createElement(b.fA,null,"애니메이션 효과 설정"),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"애니메이션 활성화"),r.createElement(w.A,{isChecked:i,handleSwitch:function(){c(!i),l({pageEffect:!i},{merge:!0})}})))};function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Qn,Zn=function(e){var t,n,a=e.homeSet,l=e.set,o=(t=(0,r.useState)(!0),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jn(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],c=o[1];return(0,r.useEffect)(function(){a&&c(!1!==a.updateNotification)},[a]),r.createElement(b.YO,{id:"sec-update-notification"},r.createElement(b.fA,null,"업데이트 알림 설정"),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"업데이트 알림 팝업 활성화"),r.createElement(b.PF,null,"새로운 버전 업데이트 시 하단에 알림 팝업을 표시합니다.")),r.createElement(w.A,{isChecked:i,handleSwitch:function(){c(!i),l({updateNotification:!i},{merge:!0})}})))},Xn=n(58960),er=n(34996),tr=C.Ay.button(Qn||(Qn=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  height: 40px;\n  padding: 0 8px;\n  border-radius: var(--buttonBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  color: var(--textColor);\n  border: 1px solid var(--primaryColor);\n  transition: background-color 0.2s;\n\n  &:hover {\n    background-color: var(--inkColor);\n  }\n"])));function nr(e){var t=e.type,n=e.children;return r.createElement(tr,{"data-sound-type":t},n)}var rr,ar=r.memo(nr),lr=n(73044);function or(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ir(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ir(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var cr=C.Ay.div(rr||(rr=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  gap: 8px;\n"])));function ur(){var e,t,n,a,i,u,s,d,f,m=or((0,r.useState)(!0),2),p=m[0],v=m[1],y=(0,l.useDocument)(o.Mb.SOUNDEFFECT,{listen:!0}),g=y.data,E=y.set,x=or((0,r.useState)(),2),A=x[0],C=x[1],k=or((0,r.useState)(),2),S=k[0],O=k[1],I=or((0,r.useState)(),2),j=I[0],P=I[1],T=or((0,r.useState)(.5),2),R=T[0],L=T[1],D=(0,c.vc)(lr.U);(0,r.useEffect)(function(){g&&(v(g.isActive),L(g.volume))},[g]);var U=(0,r.useCallback)(function(e,t){var n;t&&(0,er.hm)({key:e,file:t,prevURL:(null==g||null===(n=g[e])||void 0===n?void 0:n.url)||""})},[g]),M=(0,r.useCallback)(function(e){var t;(0,er.Mm)({key:e,prevURL:(null==g||null===(t=g[e])||void 0===t?void 0:t.url)||""})},[g]);return null==D||D.isActive,null==D||D.volume,null==D||null===(e=D.buttonSound)||void 0===e||e.url,null==D||null===(t=D.cardSound)||void 0===t||t.url,null==D||null===(n=D.listSound)||void 0===n||n.url,r.createElement(b.YO,null,r.createElement(b.fA,null,"사운드 이펙트 설정",r.createElement(b.PF,null,"파일 저장 후, 천천히 새로고침 해주세요.")),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"사운드 이펙트 활성화"),r.createElement(w.A,{isChecked:
1p,handleSwitch:function(){E({isActive:!p},{merge:!0})}})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 볼륨"),r.createElement(tt.A,{id:"effVolume",value:R,onChange:function(e){E({volume:e},{merge:!0})},max:1,step:.1})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"버튼 효과음"),r.createElement(cr,null,r.createElement(h.A,{onClick:function(){}},"버튼 TEST"),r.createElement(Xn.A,{id:"button-effect",accept:".mp3,audio/*",prevFile:(null==g||null===(a=g.buttonSound)||void 0===a?void 0:a.url)||"",prevFileName:null==g||null===(i=g.buttonSound)||void 0===i?void 0:i.name,setSelectedFile:C,deleteFile:function(){return M("buttonSound")}}),r.createElement(h.A,{onClick:function(e){return U("buttonSound",A)}},"저장"))),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"카드 효과음"),r.createElement(cr,null,r.createElement(ar,{type:"card"},"카드 TEST"),r.createElement(Xn.A,{id:"card-effect",accept:".mp3,audio/*",prevFile:(null==g||null===(u=g.cardSound)||void 0===u?void 0:u.url)||"",prevFileName:null==g||null===(s=g.cardSound)||void 0===s?void 0:s.name,setSelectedFile:O,deleteFile:function(){return M("cardSound")}}),r.createElement(h.A,{onClick:function(e){return U("cardSound",S)}},"저장"))),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"메뉴 클릭 효과음"),r.createElement(cr,null,r.createElement(ar,{type:"menu"},"메뉴 TEST"),r.createElement(Xn.A,{id:"list-effect",accept:".mp3,audio/*",prevFile:(null==g||null===(d=g.listSound)||void 0===d?void 0:d.url)||"",prevFileName:null==g||null===(f=g.listSound)||void 0===f?void 0:f.name,setSelectedFile:P,deleteFile:function(){return M("listSound")}}),r.createElement(h.A,{onClick:function(e){return U("listSound",j)}},"저장"))))}var sr=r.memo(ur);function dr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var fr,mr=function(){var e,t,n=(e=(0,r.useState)("soundEffect"),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return dr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],l=n[1],o=[{label:"사운드 이펙트",value:"soundEffect",isShow:!0,drawView:r.createElement(sr,null)}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:o,defaultViewType:a,customSetViewType:l}))},pr=n(4667),vr=n(40213);function yr(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function gr(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){yr(l,r,a,o,i,"next",e)}function i(e){yr(l,r,a,o,i,"throw",e)}o(void 0)})}}function br(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return hr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hr(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Er,xr=C.Ay.div(fr||(fr=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  grid-gap: 12px;\n"]))),wr=function(){var e=br((0,r.useState)(null),2),t=e[0],n=e[1],a=br((0,r.useState)(null),2),i=a[0],c=a[1],u=br((0,r.useState)(""),2),s=u[0],d=u[1],f=br((0,r.useState)(""),2),m=f[0],p=f[1],v=br((0,r.useState)(!1),2),y=v[0],g=v[1],E=br((0,r.useState)("default"),2),x=E[0],w=E[1],C=(0,l.useDocument)(o.Mb.MOUSE,{listen:!0}).data,k=(0,r.useCallback)(function(){s&&(d(s||""),n(null)),null!=C&&C.cursor.defaultImgURL&&(d(""),n(null),(0,vr.fV)((null==C?void 0:C.cursor.defaultImgURL)||""))},[s,C]),S=(0,r.useCallback)(function(){m&&(p(m||""),c(null)),null!=C&&C.cursor.hoverImgURL&&(c(null),(0,vr.SW)(C.cursor.hoverImgURL||""))},[m,C]),O=(0,r.useCallback)(function(e){w(e)},[x]),I=(0,r.useCallback)(gr(regeneratorRuntime.mark(function e(){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(g(!0),C){e.next=3;break}return e.abrupt("return");case 3:return a={cursorType:x,defaultImgFile:t,hoverImgFile:i,prevDefaultImgURL:(null===(n=C.cursor)||void 0===n?void 0:n.defaultImgURL)||"",prevHoverImgURL:(null===(r=C.cursor)||void 0===r?void 0:r.hoverImgURL)||""},e.next=6,(0,vr.v9)(a);case 6:g(!1);case 7:case"end":return e.stop()}},e)})),[i,t,x,C]);return(0,r.useEffect)(function(){"default"===x&&(document.documentElement.style.setProperty("--defaultCursorURL","url('')"),document.documentElement.style.setProperty("--hoverCursorURL","url('')")),"custom"===x&&(s||m)&&(document.documentElement.style.setProperty("--defaultCursorURL","url('".concat(s||"","')")),document.documentElement.style.setProperty("--hoverCursorURL","url('".concat(m||"","')")))},[s,m,x]),(0,r.useEffect)(function(){C&&C.cursor&&(d(C.cursor.defaultImgURL||""),p(C.cursor.hoverImgURL||""),w(C.cursor.type||"default"))},[C]),r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0,id:"sec-cursor-custom"},r.createElement(b.fA,null,"마우스 커서 설정"),r.createElement(b.N9,null,r.createElement("label",null,"커서 타입"),r.createElement(xr,null,Object.keys(pr.BF).map(function(e,t){return r.createElement(Fe.A,{key:t,value:pr.BF[e],id:"cursorTypeGroup-".concat(e),name:"cursorTypeGroup",checked:x===e,onChange:function(){return O(e)}},r.createElement("span",null,pr.BF[e]))}))),"custom"===x&&r.createElement(r.Fragment,null,r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"커서 기본 이미지"),r.createElement(b.PF,null,"권장 32px * 32px ",r.createElement("br",null)," 최대 128px * 128px ",r.createElement("br",null),"애니메이션 커서 지원 안됨")),r.createElement(A.A,{id:"mouse-default-img",prevImgURL:s,customDelete:k,setSelectedFile:n,customSetPreviewImgURL:d,accept:".jpg, .png, .gif, .cur, .svg, .jpeg"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"커서 hover 이미지"),r.createElement(b.PF,null,"권장 32px * 32px ",r.createElement("br",null)," 너무 큰 이미지는 적용 안됨 ",r.createElement("br",null),"애니메이션 커서 지원 안됨")),r.createElement(A.A,{id:"mouse-hover-img",prevImgURL:m,customDelete:S,setSelectedFile:c,customSetPreviewImgURL:p,accept:".jpg, .png, .gif, .cur, .svg, .jpeg"}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:I,pending:y},"저장"))))},Ar=n(56548);function Cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Cr(Object(n),!0).forEach(function(t){Sr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Sr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Or(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Ir(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Or(l,r,a,o,i,"next",e)}function i(e){Or(l,r,a,o,i,"throw",e)}o(void 0)})}}function jr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Pr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Tr=C.Ay.div(Er||(Er=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-gap: 12px;\n"]))),Rr=Object.keys(pr.sn).map(function(e,t){return{value:e,key:e}}),Lr=function(e){var t,n,a,i,u,s;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var d=(0,l.useDocument)(o.Mb.MOUSE,{listen:!0}),f=d.data,m=d.set,p=jr((0,r.useState)(!1),2),v=p[0],y=p[1],g=jr((0,c.L4)(Ar.O),2),A=g[0],C=g[1],k=jr((0,r.useState)(!(null==f||!f.mouseEffect)&&f.mouseEffect.isActive),2),S=k[0],O=k[1],j=jr((0,r.useState)((null==f||null===(t=f.mouseEffect)||void 0===t?void 0:t.direction)||pr.RD.goUp),2),P=j[0],T=j[1],R=jr((0,r.useState)((null==f||null===(n=f.mouseEffect)||void 0===n?void 0:n.shape)||(null==A?void 0:A.shape)||"bubble"),2),L=R[0],D=R[1],U=jr((0,Be.Ge)({color:(null==f||null===(a=f.mouseEffect)||void 0===a?void 0:a.color)||"#000",color2:(null==f||null===(i=f.mouseEffect)||void 0===i?void 0:i.color2)||"#000"},{}),3),M=U[0],N=M.color,z=M.color2,B=U[1],F=(U[2],jr((0,Mn.zN)({number:(null==f||null===(u=f.mouseEffect)||void 0===u?void 0:u.number)||(null==A?void 0:A.number)||50,minSize:(null==f||null===(s=f.mouseEffect)||void 0===s?void 0:s.minSize)||(null==A?void 0:A.minSize)||16}),3)),G=F[0],H=G.number,$=G.minSize,V=F[1],W=(F[2],(0,r.useCallback)(Ir(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:A&&(O(!S),m({mouseEffect:kr(kr({},A),{},{isActive:!S})},{merge:!0}));case 1:case"end":return e.stop()}},e)})),[A,S,m])),_=(0,r.useCallback)(Ir(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:y(!0),m({mouseEffect:kr(kr({},A),{},{isActive:S})},{merge:!0}),y(!1);case 3:case"end":return e.stop()}},e)})),[A,S,m]);return(0,r.useEffect)(function(){C({shape:L,color:N,color2:z,direction:P,isActive:S,minSize:$,number:H})},[L,$,H,N,z,S,P]),r.createElement(b.YO,null,r.createElement(b.fA,null,"마우스 이펙트 설정"),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이펙트 on/off")),r.createElement(w.A,{isChecked:S,handleSwitch:W})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이펙트 모양")),r.createElement(x.A,{defaultValue:L,selectedKey:L,setSelectedKey:D,selectList:Rr,dropdownStyle:{width:180},disabled:!S})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이펙트 방향")),r.createElement(Tr,null,Object.keys(pr.RD).map(function(e,t){return r.createElement(Fe.A,{key:t,value:pr.RD[e],id:"directionTypeGroup-".concat(e),name:"directionTypeGroup",checked:P===e,onChange:function(){return T(e)},disabled:!S},r.createElement("span",null,pr.RD[e]))}))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이펙트 최소 크기"),r.createElement(b.PF,null,"0.5 ~ 2 권장")),r.createElement(I.A,{type:"number",name:"minSize",value:$,onChange:V,disabled:!S})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이펙트 개수"),r.createElement(b.PF,null,"5 ~ 40 권장")),r.createElement(I.A,{type:"number",name:"number",value:H,onChange:V,disabled:!S})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 컬러"),r.createElement(Tr,null,r.createElement(E.A,{name:"color",value:N,onChange:B,disabled:!S,rgbNumber:!0}),r.createElement(E.A,{name:"color2",value:z,onChange:B,disabled:!S,rgbNumber:!0}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:_,pending:v},"저장")))},Dr=n(40778),Ur=n(43844),Mr=n(64315);function Nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Nr(Object(n),!0).forEach(function(t){Br(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Br(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fr(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Gr(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Fr(l,r,a,o,i,"next",e)}function i(e){Fr(l,r,a,o,i,"throw",e)}o(void 0)})}}function Hr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return $r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Vr=function(){var e=(0,l.useDocument)(o.Mb.BACKGROUNDEFFECT,{listen:!0}),t=e.data,n=e.set,a=Hr((0,c.L4)(Dr.ZC),2),i=a[0],u=a[1],s=Hr((0,r.useState)(null),2),d=s[0],f=s[1],m=Hr((0,Mn.zN)({number:t?t.options.number:20,size:t?t.options.size:1.5,speed:t?t.options.speed:2,distance:(null==t?void 0:t.options.distance)||40}),3),p=m[0],v=p.number,y=p.size,g=p.speed,C=p.distance,k=m[1],S=(m[2],Hr((0,Be.Ge)({color:(null==t?void 0:t.options.color)||"#fff"},{}),3)),O=S[0].color,j=S[1],P=(S[2],Hr((0,Mr.A)((null==t?void 0:t.options.lineLinked)||!1),2)),T=P[0],R=P[1],L=Hr((0,r.useState)(!0),2),D=L[0],U=L[1],M=Hr((0,r.useState)(t?t.options.direction:Ur.T.TOP_RIGHT),2),N=M[0],z=M[1],B=(0,r.useCallback)(function(){t&&t.options.shapeImageURL&&(0,me.deleteOptionsImg)({imgURL:(null==t?void 0:t.options.shapeImageURL)||"",key:"shapeImageURL",docId:"backgroundEffect",collectionPath:o.Gf.SETTING})},[t]);(0,r.useEffect)(function(){t&&U(t.isActive)},[t]),(0,r.useLayoutEffect)(function(){u({color:O,number:v,size:y,speed:g,lineLinked:T,distance:C,shapeImageURL:(null==t?void 0:t.options.shapeImageURL)||"",direction:N})},[v,y,g,O,N,T,C,t]);var F=(0,r.useCallback)(Gr(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n({isActive:D,options:zr(zr({},i),{},{shapeImageURL:(null==t?void 0:t.options.shapeImageURL)||""})},{merge:!0}),!d){e.next=5;break}return e.next=4,(0,me.updateOptionImg)({fileList:{selectedFile:d,prevImgURL:(null==t?void 0:t.options.shapeImageURL)||""},collectionPath:o.Gf.SETTING,docId:"backgroundEffect",key:"shapeImageURL",prevOptions:i});case 4:f(null);case 5:case"end":return e.stop()}},e)})),[D,i,d,t]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0,id:"sec-background-effect"},r.createElement(b.fA,null,"배경 이펙트 설정"),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 활성화"),r.createElement(w.A,{isChecked:D,handleSwitch:function(){U(!D),n({isActive:!D,options:i},{merge:!0})}})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 방향"),r.createElement(x.l,{selectedKey:N,setSelectedKey:z,selectList:Ur.k,disabled:!D,dropdownStyle:{width:180}})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 수"),r.createElement(I.A,{type:"number",name:"number",value:v,onChange:k,disabled:!D})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 스피드"),r.createElement(I.A,{type:"number",name:"speed",value:g,onChange:k,disabled:!D})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 크기"),r.createElement(I.A,{type:"number",name:"size",value:y,onChange:k,disabled:!D})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 컬러"),r.createElement(E.A,{name:"color",value:O,onChange:j,disabled:!D,hexCode:!0})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"라인 연결하기"),r.createElement(w.A,{isChecked:T,handleSwitch:R})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"라인 거리"),r.createElement(I.A,{type:"number",name:"distance",placeholder:"권장 40~140",value:C,onChange:k,disabled:!D})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"커스텀 파티클 이미지"),r.createElement(A.A,{id:"particle-img",setSelectedFile:f,prevImgURL:(null==t?void 0:t.options.shapeImageURL)||"",text:"이미지 추가",customDelete:B,style:{height:80}})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:F},"저장"))))},Wr=n(31222);function _r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return qr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qr(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Kr,Yr=function(e){var t,n;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var i=(0,c.lZ)(Wr.IX),u=(0,l.useDocument)(o.Mb.BACKGROUNDEFFECT,{listen:!0}),s=u.data,d=u.set,f=_r((0,Be.Ge)({color:(null==s||null===(t=s.shootingStar)||void 0===t?void 0:t.color)||"#fff"},{}),3),m=f[0].color,p=f[1],v=(f[2],_r((0,r.useState)(null===(n=a.l.shootingStar)||void 0===n||n),2)),y=v[0],g=v[1],x=(0,r.useCallback)(function(e,t,n){var r;return{isActive:null!==(r=null==e?void 0:e.isActive)&&void 0!==r&&r,options:(null==e?void 0:e.options)||{},shootingStar:{color:n,isActive:t}}},[]),A=(0,r.useCallback)(function(){var e=!y;g(e),i(function(t){return x(t,e,m)}),d({shootingStar:{color:m,isActive:e}},{merge:!0})},[m,y,i,x,d]);(0,r.useEffect)(function(){i(function(e){return x(e,y,m)}),d({shootingStar:{color:m,isActive:y}},{merge:!0})},[m]);var C=(0,r.useCallback)(function(){d({shootingStar:{color:m,isActive:y}},{merge:!0})},[m,y,d]);return(0,r.useEffect)(function(){var e,t;s&&g(!!(null!==(e=null==s||null===(t=s.shootingStar)||void 0===t?void 0:t.isActive)&&void 0!==e?e:null==s?void 0:s.isActive))},[s]),r.createElement(b.YO,{id:"sec-shooting-star"},r.createElement(b.fA,null,"배경 별똥별 설정"),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 활성화"),r.createElement(w.A,{isChecked:y,handleSwitch:A})),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이펙트 컬러"),r.createElement(E.A,{name:"color",value:m,onChange:p,disabled:!y,hexCode:!0})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:C},"저장")))},Jr=n(36681),Qr=n(57584),Zr=n(51915),Xr=n(4278);function ea(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function ta(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ea(l,r,a,o,i,"next",e)}function i(e){ea(l,r,a,o,i,"throw",e)}o(void 0)})}}function na(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ra(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?na(Object(n),!0).forEach(function(t){aa(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):na(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function aa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function la(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return oa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oa(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ia=C.Ay.div(Kr||(Kr=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  justify-content: flex-end;\n  margin-top: 16px;\n"]))),ca=function(e){var t,n,l=e.homeSet,u=e.set,s=la((0,r.useState)("basic"),2),d=s[0],f=s[1],m=la((0,r.useState)(!1),2),p=m[0],v=m[1],y=la((0,r.useState)(!1),2),g=y[0],E=y[1],x=la((0,r.useState)(null),2),C=x[0],k=x[1],S=la((0,r.useState)(null),2),O=S[0],I=S[1],j=la((0,r.useState)(!1),2),P=j[0],T=j[1],R=la((0,r.useState)(Qr.pA.TOPRIGHT),2),L=R[0],D=R[1],U=la((0,r.useState)("left"),2),M=U[0],N=U[1],z=la((0,r.useState)({profile:!0,myHome:!0,pet:!0,inventory:!0,quest:!0}),2),B=z[0],F=z[1],G=la((0,c.L4)(Xr.vG),1)[0],H=la((0,r.useState)(!1),2),$=H[0],V=H[1],W=(0,r.useCallback)(function(){v(!p),u({cummuMode:{isActive:!p}},{merge:!0})}
1,[p]),_=(0,r.useCallback)(function(e){F(function(t){return ra(ra({},t),{},aa({},e,!t[e]))})},[]);(0,r.useEffect)(function(){var e,t,n,r,a,o,i,c,u,s,d,f;l&&l.cummuMode&&(v(null!==(e=l.cummuMode.isActive)&&void 0!==e&&e),I(l.cummuMode.panelBgImgURL||""),T(null!==(t=l.cummuMode.isPanelBgImgActive)&&void 0!==t?t:!!l.cummuMode.panelBgImgURL),D(l.cummuMode.panelDir||Qr.pA.TOPRIGHT),N(l.cummuMode.panelAlign||"left"),F({profile:null===(n=null===(r=l.cummuMode.panelSections)||void 0===r?void 0:r.profile)||void 0===n||n,myHome:null===(a=null===(o=l.cummuMode.panelSections)||void 0===o?void 0:o.myHome)||void 0===a||a,pet:null===(i=null===(c=l.cummuMode.panelSections)||void 0===c?void 0:c.pet)||void 0===i||i,inventory:null===(u=null===(s=l.cummuMode.panelSections)||void 0===s?void 0:s.inventory)||void 0===u||u,quest:null===(d=null===(f=l.cummuMode.panelSections)||void 0===f?void 0:f.quest)||void 0===d||d}))},[l]);var q=(0,r.useCallback)(ta(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(E(!0),!C){e.next=7;break}return e.next=4,(0,me.saveAndGetImgURL)(o.Gf.SETTING,C);case 4:return t=e.sent,e.next=7,u({cummuMode:{panelBgImgURL:t}},{merge:!0});case 7:L&&u({cummuMode:{panelDir:L}},{merge:!0}),M&&u({cummuMode:{panelAlign:M}},{merge:!0}),u({cummuMode:{panelSections:B}},{merge:!0}),E(!1);case 11:case"end":return e.stop()}},e)})),[C,L,M,B]),K=(0,r.useCallback)(function(){var e=!P;T(e),u({cummuMode:{isPanelBgImgActive:e}},{merge:!0})},[P]),Y=(0,r.useCallback)(ta(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(V(!0),!C){e.next=8;break}return e.next=4,(0,me.saveAndGetImgURL)(o.Gf.SETTING,C);case 4:return t=e.sent,e.next=7,u({cummuMode:{panelBgImgURL:t,isPanelBgImgActive:P}},{merge:!0});case 7:k(null);case 8:return e.next=10,u({cummuMode:{themeSet:G}},{merge:!0});case 10:V(!1);case 11:case"end":return e.stop()}},e)})),[G,u,C,P]),J=(0,r.useCallback)(function(){var e;O&&(k(null),I("")),l&&null!==(e=l.cummuMode)&&void 0!==e&&e.panelBgImgURL&&(k(null),(0,me.deleteImgStorage)(l.cummuMode.panelBgImgURL),u({cummuMode:{panelBgImgURL:""}},{merge:!0}))},[O,l]),Q=[{label:"기본 설정",value:"basic",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"캐릭터 패널 설정"),r.createElement(b.R2,{style:{marginBottom:12}},"패널 테마는 [메뉴]의 컬러 테마를 따릅니다.",r.createElement("br",null),"[메뉴 레이아웃- 메뉴 디자인] 설정에서 패널 테마색을 변경할 수 있습니다."),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"캐릭터 패널 활성화",r.createElement(b.PF,null,"보다 빠르게 캐릭터 관련 설정으로 접근하는 패널 활성화")),r.createElement("param",{name:"",value:""}),r.createElement(w.A,{isChecked:p,handleSwitch:W})),r.createElement(b.N9,null,r.createElement("label",null,"패널 정렬 위치"),r.createElement(Fe.z,null,Qr.nL.map(function(e,t){return r.createElement(Fe.A,{key:t,value:e.value,id:"menuTextGroup-".concat(e.key),name:"menuTextGroup",checked:L===e.key,onChange:function(){return D(e.key)}},r.createElement("span",null,e.value))}))),r.createElement(b.N9,null,r.createElement("label",null,"패널 레이아웃"),r.createElement(Fe.z,null,r.createElement(Fe.A,{value:"left",id:"panelAlign-left",name:"panelAlign",checked:"left"===M,onChange:function(){return N("left")}},r.createElement("span",null,"왼쪽정렬")),r.createElement(Fe.A,{value:"center",id:"panelAlign-center",name:"panelAlign",checked:"center"===M,onChange:function(){return N("center")}},r.createElement("span",null,"중앙정렬")),r.createElement(Fe.A,{value:"right",id:"panelAlign-right",name:"panelAlign",checked:"right"===M,onChange:function(){return N("right")}},r.createElement("span",null,"오른쪽정렬")))),r.createElement(h.A,{onClick:q,pending:g,block:!0},"저장")))},{label:"버튼 설정",value:"buttonSetting",isShow:!0,drawView:r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"패널 버튼 설정",r.createElement(b.PF,null,"캐릭터 패널에 표시할 버튼을 선택하세요. ",r.createElement("br",null),"모든 유저에게 공통 적용됩니다.")),r.createElement(b.N9,null,r.createElement("label",null,"프로필"),r.createElement("param",{name:"",value:""}),r.createElement(w.A,{isChecked:B.profile,handleSwitch:function(){return _("profile")}})),r.createElement(b.N9,null,r.createElement("label",null,"마이룸"),r.createElement("param",{name:"",value:""}),r.createElement(w.A,{isChecked:B.myHome,handleSwitch:function(){return _("myHome")}})),a.l.petSystem&&r.createElement(b.N9,null,r.createElement("label",null,"펫"),r.createElement("param",{name:"",value:""}),r.createElement(w.A,{isChecked:B.pet,handleSwitch:function(){return _("pet")}})),r.createElement(b.N9,null,r.createElement("label",null,"인벤토리"),r.createElement("param",{name:"",value:""}),r.createElement(w.A,{isChecked:B.inventory,handleSwitch:function(){return _("inventory")}})),r.createElement(b.N9,null,r.createElement("label",null,"퀘스트"),r.createElement("param",{name:"",value:""}),r.createElement(w.A,{isChecked:B.quest,handleSwitch:function(){return _("quest")}})),r.createElement(h.A,{onClick:q,pending:g,block:!0},"저장"))},{label:"디자인 설정",value:"designSetting",isShow:!0,drawView:r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"디자인 설정",r.createElement(b.PF,null,"캐릭터 패널의 배경, 색상 등을 커스텀합니다.")),r.createElement(b.N9,null,r.createElement(Jr.A,{label:"패널 배경 이미지 사용"}),r.createElement(w.A,{isChecked:P,handleSwitch:K})),r.createElement(b.N9,null,r.createElement(Jr.A,{label:"패널 배경 이미지",infoLink:{title:"패널 배경 디자인 가이드",linkto:"https://moogongan-guide.notion.site/25d1ce32694c8034a97ef0b6cf664a01?source=copy_link",tooltip:"노션 링크 바로가기"}}),r.createElement(A.A,{id:"panel-bg-image-basic",prevImgURL:O||(null==l||null===(t=l.cummuMode)||void 0===t?void 0:t.panelBgImgURL)||"",customDelete:J,setSelectedFile:k,customSetPreviewImgURL:I})),r.createElement(Zr.A,{data:(null==l||null===(n=l.cummuMode)||void 0===n?void 0:n.themeSet)||null,collectionPath:"setting",docId:"homepageSetting",options:{themeColors:!0,bgm:!1,bgImg:!1,bgColor:!0,setCustomTheme:!0,font:!1,bgEffect:!1,panelBorderRadius:!0},setGlobal:!1}),r.createElement(ia,null,r.createElement(h.A,{shape:"filled",onClick:Y,pending:$},"디자인 저장")))}];return r.createElement(i.A,{viewOptions:Q,defaultViewType:d,customSetViewType:f})},ua=n(82372);function sa(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function da(e){return fa.apply(this,arguments)}function fa(){var e;return e=regeneratorRuntime.mark(function e(t){var n,r,a,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collectionPath,r=l.fuego.db.collection(n||o.Gf.SLIDE),e.next=4,(0,ua.B)(n||o.Gf.SLIDE);case 4:return a=e.sent,i={order:a||0,title:"",imgURL:"",linkto:""},e.abrupt("return",r.add(i));case 7:case"end":return e.stop()}},e)}),fa=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){sa(l,r,a,o,i,"next",e)}function i(e){sa(l,r,a,o,i,"throw",e)}o(void 0)})},fa.apply(this,arguments)}var ma=n(27834);function pa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function va(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?pa(Object(n),!0).forEach(function(t){ya(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pa(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ya(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ga(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function ba(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ga(l,r,a,o,i,"next",e)}function i(e){ga(l,r,a,o,i,"throw",e)}o(void 0)})}}function ha(e){return Ea.apply(this,arguments)}function Ea(){return(Ea=ba(regeneratorRuntime.mark(function e(t){var n,r,a,i,c,u,s,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.data,r=t.docId,a=t.collectionPath,i=t.fileList,c=l.fuego.db.collection(a||o.Gf.SLIDE),u=i.selectedFile,s=i.prevImgURL,e.next=5,(0,me.updateImgAndGetURL)({selectedFile:u,prevImgURL:s,collectionPath:a||o.Gf.SLIDE});case 5:return d=e.sent,f=va(va({},n),{},{imgURL:d}),e.abrupt("return",c.doc(r).set(f,{merge:!0}));case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function xa(e){return wa.apply(this,arguments)}function wa(){return(wa=ba(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,r=t.collectionPath,a=l.fuego.db.collection(r||o.Gf.SLIDEHOME),e.abrupt("return",n.map(function(e,t){return a.doc(e.id).update({order:t})}));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Aa=n(43416);function Ca(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function ka(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Ca(l,r,a,o,i,"next",e)}function i(e){Ca(l,r,a,o,i,"throw",e)}o(void 0)})}}function Sa(e){return Oa.apply(this,arguments)}function Oa(){return(Oa=ka(regeneratorRuntime.mark(function e(t){var n,r,a,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collectionPath,r=t.docId,a=t.imgURL,i=l.fuego.db.collection(n||o.Gf.SLIDE),a&&(0,me.deleteImgStorage)(a),e.abrupt("return",i.doc(r).delete());case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ia(e){return ja.apply(this,arguments)}function ja(){return(ja=ka(regeneratorRuntime.mark(function e(t){var n,r,a,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collectionPath,r=t.docId,a=t.imgURL,i=l.fuego.db.collection(n||o.Gf.SLIDE),a&&(0,me.deleteImgStorage)(a),e.abrupt("return",i.doc(r).set({imgURL:""},{merge:!0}));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Pa,Ta,Ra,La,Da=["data"];function Ua(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ma(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ma(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ma(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Na(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var za=C.Ay.div(Pa||(Pa=Na(["\n  padding: 12px 12px 12px 32px;\n  box-sizing: border-box;\n  width: 100%;\n  color: var(--textColor);\n  border-bottom: 1px solid var(--lineColor);\n  transition: background-color 0.2s;\n  position: relative; // swap icon 고정시키기용\n\n  display: grid;\n  align-items: center;\n  gap: 12px;\n  grid-template-columns: 32px 1fr 0.8fr 100px;\n"]))),Ba=C.Ay.div(Ta||(Ta=Na(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  width: 100%;\n"]))),Fa=C.Ay.div(Ra||(Ra=Na(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 8px;\n  width: 100%;\n"])));function Ga(e,t){var n,a,l=e.data,o=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,Da),i=o.collectionPath,c=o.docId,u=(o.subCol,Ua((0,r.useState)(null),2)),s=u[0],d=u[1],f=Ua((0,Mn.zN)({title:l?l.title:"",linkto:l?l.linkto:""}),3),m=f[0],p=m.title,v=m.linkto,y=f[1],g=(f[2],Ua((0,Mr.A)(null===(n=null==l?void 0:l.isShow)||void 0===n||n),2)),b=g[0],E=g[1],x=Ua((0,Mr.A)(null===(a=null==l?void 0:l.openInNewTab)||void 0===a||a),2),C=x[0],k=x[1],S=(0,r.useCallback)(function(e){l&&Sa({collectionPath:i,docId:l.id,imgURL:l.imgURL||""})},[i,c,l]),O=(0,r.useCallback)(function(){l&&ha({collectionPath:i,data:{title:p,linkto:v,isShow:b,openInNewTab:C},docId:l.id,fileList:{selectedFile:s,prevImgURL:l.imgURL}})},[p,b,v,C,s,l]),j=(0,r.useCallback)(function(){l&&Ia({collectionPath:i,imgURL:l.imgURL,docId:l.id})},[i,l]);return r.createElement(za,{ref:t},r.createElement(Aa.A,o),r.createElement("div",null,r.createElement("h6",null,l.order+1)),r.createElement(A.A,{id:"slide-".concat(l.id),setSelectedFile:d,prevImgURL:null==l?void 0:l.imgURL,text:"이미지 추가",customDelete:j,minHeight:120}),r.createElement(Fa,null,r.createElement(I.A,{name:"title",value:p,onChange:y,placeholder:"타이틀"}
1),r.createElement(I.A,{name:"linkto",value:v,onChange:y,placeholder:"링크 URL"}),r.createElement(w.A,{id:l.id,isChecked:b,handleSwitch:E},"보이기"),r.createElement(w.A,{id:"".concat(l.id,"-newTab"),isChecked:C,handleSwitch:k},"새 창으로 이동")),r.createElement(Ba,null,r.createElement(h.A,{onClick:O,size:"md"},"저장"),r.createElement(h.A,{onClick:S,size:"md",shape:"stroke",color:"warning"},"삭제")))}C.Ay.span(La||(La=Na(["\n  color: var(--subTextColor);\n  font-size: 13px;\n  line-height: 1.3;\n  width: 100%;\n\n  span {\n    font-size: 11px;\n  }\n"])));var Ha,$a,Va=(0,r.forwardRef)(Ga);function Wa(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var _a=C.Ay.p(Ha||(Ha=Wa(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  margin: 4px 0;\n  line-height: 1.5;\n"])));C.Ay.div($a||($a=Wa(["\n  border: 1px solid var(--lineColor);\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  margin-top: 12px;\n"])));var qa=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useCollection)("".concat(o.Gf.SLIDE),{listen:!0,orderBy:["order","asc"]}).data,n=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),a=n.data,i=n.set,c=(0,r.useCallback)(function(){if(t&&50===t.length)return confirm("슬라이드 아이템은 최대 ".concat(50,"개까지 설정 가능합니다."));da({})},[]);return r.createElement(r.Fragment,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"슬라이드 버튼 보이기"),r.createElement(xt.A,{value:"slide-button-show",checked:a.slideButtonShow||!1,onChange:function(){i({slideButtonShow:!a.slideButtonShow},{merge:!0})}},"보여짐")),r.createElement(b.Fd,null,r.createElement(b.O9,null,"슬라이드 보더 표시"),r.createElement(xt.A,{value:"slide-border-show",checked:a.slideBorderShow||!1,onChange:function(){i({slideBorderShow:!a.slideBorderShow},{merge:!0})}},"보여짐")),r.createElement(h.A,{onClick:c,block:!0},"슬라이드 추가"),r.createElement(_a,null,"⚙️ 드래그, 드롭으로 순서 이동이 가능합니다. ",r.createElement("br",null),"📍 기본 최적화 사이즈 (1200px * 310px)",r.createElement("br",null),"미니 슬라이드 최적화 사이즈 (640*400)",r.createElement("br",null),"게임 UI형 슬라이드 최적화 사이즈 (320px * 200px)"),r.createElement(ma.A,{list:t,handleUpdateOrder:xa,collectionPath:o.Gf.SLIDE},r.createElement(Va,null)))},Ka=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),n=t.data,a=t.set;return r.createElement(b.YO,{startSec:!0,id:"sec-neighbor-widget"},r.createElement(b.fA,null,"이웃 랜덤 방문 위젯 설정"),r.createElement(b.N9,null,r.createElement("label",{style:{marginBottom:6}},"이웃 방문 바 보이기"),r.createElement(w.A,{isChecked:(null==n?void 0:n.showRandomNeighbor)||!1,handleSwitch:function(){a({showRandomNeighbor:!n.showRandomNeighbor},{merge:!0})}})))},Ya=n(59352);function Ja(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ja(Object(n),!0).forEach(function(t){Za(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ja(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Za(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xa(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function el(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Xa(l,r,a,o,i,"next",e)}function i(e){Xa(l,r,a,o,i,"throw",e)}o(void 0)})}}function tl(e){return nl.apply(this,arguments)}function nl(){return(nl=el(regeneratorRuntime.mark(function e(t){var n,r,a,l,o,i,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.data,r=t.docId,a=t.collectionPath,l=t.fileList,o=Ya.fuego.db.collection(a),e.next=4,(0,me.updateImgAndGetURL)({selectedFile:null==l?void 0:l.selectedFile,prevImgURL:null==l?void 0:l.prevImgURL,collectionPath:a});case 4:if(i=e.sent,c=r||""){e.next=10;break}return e.next=9,o.add(n).then(function(e){return e.id}).catch(function(e){return console.log(e.message)});case 9:c=e.sent;case 10:if(!c){e.next=12;break}return e.abrupt("return",o.doc(c).set(Qa(Qa({},n),{},{imgURL:i}),{merge:!0}));case 12:case"end":return e.stop()}},e)}))).apply(this,arguments)}function rl(){return(rl=el(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collectionPath,r=t.orderList,a=Ya.fuego.db.collection(n),e.abrupt("return",r.map(function(e,t){return a.doc(e.id).update({order:t})}));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}n(3583);var al,ll,ol,il,cl,ul,sl,dl,fl,ml,pl,vl=n(71553),yl=n(11510),gl=n(89646),bl=n(73968),hl=n(25781),El=n(70790),xl=["data"];function wl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Al(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Al(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Al(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Cl(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var kl,Sl,Ol=C.Ay.div(al||(al=Cl(["\n  padding: 10px 12px 10px 32px;\n  box-sizing: border-box;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  gap: 12px;\n  color: var(--textColor);\n  border-bottom: 1px solid var(--lineColor);\n  position: relative; //swap icon을 위한\n\n  @media (max-width: 480px) {\n    padding-left: 36px;\n  }\n"]))),Il=C.Ay.div(ll||(ll=Cl(["\n  flex: 1;\n  min-width: 0;\n  font-size: 14px;\n  font-weight: 500;\n  text-align: left;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),jl=C.Ay.div(ol||(ol=Cl(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n\n  @media (max-width: 480px) {\n    margin-top: 0;\n  }\n"]))),Pl=C.Ay.div(il||(il=Cl(["\n  display: flex;\n  gap: 12px;\n  width: 100%;\n\n  \n"]))),Tl=C.Ay.div(cl||(cl=Cl(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  margin-left: auto;\n"]))),Rl=C.Ay.div(ul||(ul=Cl(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 12px;\n  padding: 8px 0;\n\n  @media (max-width: 480px) {\n     flex-direction: row;\n  }\n"]))),Ll=C.Ay.div(sl||(sl=Cl(["\n  grid-column: 1 / -1;\n  margin-top: 16px;\n  padding: 16px;\n  background-color: var(--cardBackgroundColor);\n  border-radius: 8px;\n  border: 1px solid var(--borderLineColor);\n"]))),Dl=C.Ay.div(dl||(dl=Cl(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-bottom: 12px;\n  font-weight: 500;\n"]))),Ul=C.Ay.div(fl||(fl=Cl(["\n  max-width: 300px;\n  border-radius: 8px;\n  overflow: hidden;\n"]))),Ml=C.Ay.div(ml||(ml=Cl(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  text-align: left;
1\n"]))),Nl=C.Ay.div(pl||(pl=Cl(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),zl=function(e){var t,n,a,i=e.data,c=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,xl),u=(0,l.useDocument)("".concat(o.Mb.HOMEPAGE),{listen:!0}).data,s="image"===(null==u||null===(t=u.ddayWidget)||void 0===t?void 0:t.designType)?"image":"text",d=(null==u||null===(n=u.ddayWidget)||void 0===n?void 0:n.imageTextAlign)||"right",f=(null==u||null===(a=u.ddayWidget)||void 0===a?void 0:a.imageLayoutDirection)||"row",m=wl((0,r.useState)(""),2),p=m[0],v=m[1],y=wl((0,r.useState)(i.primaryColor||"#FF6B6B"),2),g=y[0],b=y[1],x=(0,r.useCallback)(function(e){v(e.target.value)},[]),w=(0,r.useCallback)(function(e){b(e)},[]),C=wl((0,r.useState)(i.targetDate||null),2),j=C[0],P=C[1],T=wl((0,r.useState)(i.toDate||new Date||null),2),R=T[0],L=T[1],D=wl((0,r.useState)(null),2),U=D[0],M=D[1],N=wl((0,r.useState)(i?i.imgURL:null),2),z=N[0],B=N[1],F=wl((0,r.useState)(!1),2),G=F[0],H=F[1],$={id:i.id,title:p||"디데이 제목",targetDate:j,toDate:R,imgURL:z,primaryColor:g,order:i.order};(0,r.useEffect)(function(){v(i.title),B(i.imgURL),b(i.primaryColor||"var(--primaryColor)");var e=(0,bl.kU)(i.targetDate)||null,t=(0,bl.kU)(i.toDate)||null;P(e),L(t)},[i]);var V=(0,r.useCallback)(function(e){var t=e.docId,n=e.order;t&&tl({data:{order:n,title:p,targetDate:j||null,toDate:R||null,primaryColor:g},collectionPath:"ddayWidget",docId:t,fileList:{selectedFile:U,prevImgURL:z}})},[j,R,p,U,z,g]),W=(0,r.useCallback)(function(e,t){!function(e){var t=e.id,n=e.collectionPath,r=e.imgURL,a=l.fuego.db.collection(n);r&&(0,me.deleteImgStorage)(r),a.doc(t).delete().then(function(){return console.log("삭제")}).catch(function(e){return console.log(e.message)})}({id:e,collectionPath:"ddayWidget",imgURL:t})},[]);return r.createElement(r.Fragment,null,r.createElement(Ol,null,r.createElement(Aa.A,c),r.createElement(Il,null,p||"제목 없음"),r.createElement(Tl,null,r.createElement(h.A,{onClick:function(){return H(!0)},shape:"filled"},"편집"),r.createElement(h.A,{onClick:function(){return W(i.id,i.imgURL)},shape:"stroke"},"삭제"))),G&&r.createElement(k.A,{outsideClick:function(){return H(!1)},contentStyle:{maxWidth:720,width:"92%"}},r.createElement("div",null,r.createElement(S.rQ,null,r.createElement(O.A,{onClick:function(){return H(!1)}}),r.createElement("h6",null,"디데이 위젯 편집"),r.createElement(h.A,{onClick:function(){V({docId:i.id,order:i.order}),H(!1)},shape:"filled"},"저장")),r.createElement(S.sC,null,r.createElement(jl,null,r.createElement(Rl,null,r.createElement(Pl,null,r.createElement(E.A,{name:"primaryColor",value:g,onChange:w,dir:"top",withInput:!1,style:{width:"auto"}}),r.createElement(I.A,{value:p,name:"dday-title-".concat(i.id),placeholder:"디데이 제목",onChange:x,maxLength:100})),r.createElement(hl.A,{label:"날짜수(+0일 시작)",dropdownDir:"bottomLeft",date:j,setDate:P}),r.createElement(hl.A,{label:"디데이(e.g.D-수능일)",dropdownDir:"bottomLeft",date:R,setDate:L})),r.createElement(Nl,null,r.createElement(Ml,null,"위젯 이미지 (권장 1:1 비율)"),r.createElement(A.A,{id:"dday-widget-".concat(i.id),setSelectedFile:M,prevImgURL:z,text:"이미지 추가",customDelete:function(){return B("")},label:"위젯 이미지 (권장 1:1 비율)",style:{minWidth:180,height:60}})),r.createElement(Ll,null,r.createElement(Dl,null,"실시간 프리뷰 (","text"===s?"텍스트형":"이미지형",")","image"===s&&r.createElement("span",{style:{marginLeft:"8px",fontSize:"11px"}},"• ","left"===d?"왼쪽":"center"===d?"중앙":"오른쪽"," 정렬 • ","row"===f?"수평":"수직"," 배치")),r.createElement(Ul,null,r.createElement(El.A,{data:$,designType:s,imageTextAlign:d,imageLayoutDirection:f}))))))))};function Bl(){return Bl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Bl.apply(this,arguments)}function Fl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||Gl(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gl(e,t){if(e){if("string"==typeof e)return Hl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hl(e,t):void 0}}function Hl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $l(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Vl=C.Ay.div(kl||(kl=$l(["\n  width: 100%;\n  position: relative;\n"]))),Wl=C.Ay.div(Sl||(Sl=$l(["\n  width: 100%;\n  height: 100%;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-size: 13px;\n  color: var(--subTextColor);\n"])));function _l(e){var t=(0,yl.gl)({id:e.id}),n=t.listeners,a=t.attributes,l=t.isDragging,o=t.setNodeRef,i=t.transform,c=t.transition,u={transform:gl.Ks.Transform.toString(i),transition:c,cursor:l?"grab":"inherit",background:l?"var(--backgroundColor)":"inherit"};return r.createElement("div",{ref:o,style:u},r.createElement(zl,Bl({data:e.data},a,n)))}var ql,Kl,Yl,Jl,Ql,Zl=function(e){var t=e.list,n=e.collectionPath,a=Fl((0,r.useState)([]),2),l=a[0],o=a[1],i=Fl((0,r.useState)(null),2),c=(i[0],i[1]),u=(0,vl.FR)((0,vl.MS)(vl.cA,{activationConstraint:{delay:0,tolerance:0}}),(0,vl.MS)(vl.IG,{activationConstraint:{delay:0,tolerance:0}}));return(0,r.useEffect)(function(){if(t){var e=t.slice();return o(function(e){if(Array.isArray(e))return Hl(e)}(n=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||Gl(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}var n},[t]),r.createElement(Vl,null,r.createElement(vl.Mp,{sensors:u,collisionDetection:vl.fp,onDragStart:function(e){var t=e.active.data.current.sortable.index;c(l[t])},onDragEnd:function(e){var t=e.active,r=e.over;t.id!==r.id&&o(function(e){var a=t.data.current.sortable.index,l=r.data.current.sortable.index,o=(0,yl.be)(e,a,l);return function(e){rl.apply(this,arguments)}({collectionPath:n,orderList:o}),o}),c(null)},onDragCancel:function(){c(null)}},r.createElement(yl.gB,{items:l,strategy:yl._G},l&&0===l.length?r.createElement(Wl,null,"디데이 위젯 목록이 없습니다."):l.map(function(e,t){return r.createElement(_l,{key:t,id:e.id,data:e})}))))},Xl=n(10678);function eo(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function to(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){eo(l,r,a,o,i,"next",e)}function i(e){eo(l,r,a,o,i,"throw",e)}o(void 0)})}}function no(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ro(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?no(Object(n),!0).forEach(function(t){ao(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):no(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ao(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return oo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oo(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function io(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}!function(e){e.TEXT="text",e.IMAGE="image"}(Yl||(Yl={})),function(e){e.LEFT="left",e.CENTER="center",e.RIGHT="right"}(Jl||(Jl={})),function(e){e.ROW="row",e.COLUMN="column"}(Ql||(Ql={}));var co=[{key:Yl.TEXT,value:"텍스트형"},{key:Yl.IMAGE,value:"이미지형"}],uo=[{key:Jl.LEFT,value:"왼쪽 정렬"},{key:Jl.CENTER,value:"중앙 정렬"},{key:Jl.RIGHT,value:"오른쪽 정렬"}],so=[{key:Ql.ROW,value:"수평 배치"},{key:Ql.COLUMN,value:"수직 배치"}],fo=C.Ay.div(ql||(ql=io(["\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  \n  ","\n"])),function(e){return e.designType===Yl.IMAGE&&"\n    background: linear-gradient(135deg, var(--cardBackgroundColor) 0%, rgba(255,255,255,0.1) 100%);\n    border: 1px solid rgba(255,255,255,0.2);\n  "}),mo=C.Ay.div(Kl||(Kl=io(["\n  ","\n"])),function(e){return e.designType===Yl.TEXT?"\n    /* 텍스트형 스타일 */\n    .dday-text {\n      font-weight: bold;\n      color: var(--primaryColor);\n    }\n  ":"\n    /* 이미지형 스타일 */\n    .dday-image {\n      border-radius: 8px;\n      overflow: hidden;\n      box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n    }\n  "}),po=function(){var e,t,n,a,i,c,u="ddayWidget",s=(0,l.useCollection)("ddayWidget",{orderBy:["order","asc"],listen:!0}).data,d=(0,l.useDocument)("".concat(o.Mb.HOMEPAGE),{listen:!0}),f=d.data,m=d.set,p=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),v=p.data,y=p.set,g=lo((0,r.useState)("image"===(null==f||null===(e=f.ddayWidget)||void 0===e?void 0:e.designType)?Yl.IMAGE:Yl.TEXT),2),E=g[0],x=g[1],w=lo((0,r.useState)((null==f||null===(t=f.ddayWidget)||void 0===t?void 0:t.imageTextAlign)||Jl.RIGHT),2),A=w[0],C=w[1],k=lo((0,r.useState)((null==f||null===(n=f.ddayWidget)||void 0===n?void 0:n.imageLayoutDirection)||Ql.ROW),2),S=k[0],O=k[1],I=lo((0,r.useState)(!1),2),j=I[0],P=I[1];(0,r.useEffect)(function(){if(null!=f&&f.ddayWidget){var e=f.ddayWidget;e.designType&&x("image"===e.designType?Yl.IMAGE:Yl.TEXT),e.imageTextAlign&&C(e.imageTextAlign),e.imageLayoutDirection&&O(e.imageLayoutDirection)}},[null==f?void 0:f.ddayWidget]);var T=(0,r.useCallback)(function(){var e;m({ddayWidget:ro(ro({},null==f?void 0:f.ddayWidget),{},{showDdayWidget:!(null!=f&&null!==(e=f.ddayWidget)&&void 0!==e&&e.showDdayWidget)})},{merge:!0})},[m,null==f||null===(a=f.ddayWidget)||void 0===a?void 0:a.showDdayWidget]),R=(0,r.useCallback)(function(){console.log(!(null!=v&&v.ddayWidgetSet)),y({ddayWidgetSet:!(null!=v&&v.ddayWidgetSet)},{merge:!0})},[y,v]),L=(0,r.useCallback)(to(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return P(!0),e.prev=1,e.next=4,m({ddayWidget:ro(ro({},null==f?void 0:f.ddayWidget),{},{designType:E,imageTextAlign:A,imageLayoutDirection:S})},{merge:!0});case 4:console.log("✅ 디데이 위젯 설정이 저장되었습니다."),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("❌ 저장 중 오류가 발생했습니다:",e.t0);case 10:return e.prev=10,P(!1),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[1,7,10,13]])})),[m,null==f?void 0:f.ddayWidget,E,A,S]),D=(0,r.useCallback)(function(){tl({data:{order:0,leftName:"",rightName:"",title:"",targetDate:new Date},collectionPath:u})},[u]);return r.createElement(b.YO,{id:"sec-dday-widget"},r.createElement(b.fA,null,"디데이 위젯 설정",r.createElement(b.PF,null,"⚙️ 드래그, 드롭으로 순서 이동이 가능합니다.")),r.createElement(b.Fd,null,r.createElement(b.O9,null,"메뉴에 디데이 위젯 표시"),r.createElement(xt.A,{value:"menu-dday-widget",checked:(null==f||null===(i=f.ddayWidget)||void 0===i?void 0:i.showDdayWidget)||!1,onChange:T},"표시 (왼쪽정렬형에만 적용)")),r.createElement(b.Fd,null,r.createElement(b.O9,null,"메인 홈에 위젯 표시"),r.createElement(xt.A,{value:"show-dday-widget",checked:null!==(c=null==v?void 0:v.ddayWidgetSet)&&void 0!==c&&c,onChange:R},"표시")),r.createElement(b.Fd,null,r.createElement(b.O9,null,"디데이 위젯 디자인"),r.createElement("div",null,r.createElement(Xl.A,{list:co,id:"dday-design-type",checkedType:E,handleChange:function(e){x(e)}}),E===Yl.IMAGE&&r.createElement("div",{style:{marginTop:"16px",padding:"16px",backgroundColor:"var(--cardBackgroun
1dColor)",borderRadius:"8px",border:"1px solid var(--borderLineColor)"}},r.createElement("h4",{style:{margin:"0 0 12px 0",fontSize:"14px",color:"var(--textColor)"}},"이미지형 세부 옵션"),r.createElement("div",{style:{marginBottom:"16px"}},r.createElement("div",{style:{fontSize:"12px",color:"var(--subTextColor)",marginBottom:"8px"}},"텍스트 정렬"),r.createElement(Xl.A,{list:uo,id:"image-text-align",checkedType:A,handleChange:function(e){C(e)}})),r.createElement("div",{style:{marginBottom:"16px"}},r.createElement("div",{style:{fontSize:"12px",color:"var(--subTextColor)",marginBottom:"8px"}},"레이아웃 방향"),r.createElement(Xl.A,{list:so,id:"image-layout-direction",checkedType:S,handleChange:function(e){O(e)}}))),r.createElement("div",{style:{marginTop:"16px"}},r.createElement(h.A,{onClick:L,type:"primary",pending:j,disabled:j},j?"저장 중...":"디자인 설정 저장")),s&&s.length>0&&r.createElement("div",{style:{marginBottom:"16px",maxWidth:300,marginTop:16}},r.createElement(mo,{designType:E},r.createElement(fo,{designType:E},r.createElement(El.A,{data:s[0],designType:E,imageTextAlign:A,imageLayoutDirection:S})))))),r.createElement("div",{style:{margin:"16px 0"}},r.createElement(h.A,{onClick:D,block:!0},"+ 디데이 추가")),r.createElement(fo,{designType:E},s&&r.createElement(Zl,{collectionPath:u,list:s})))},vo=n(65459),yo=(n(98832),n(80545),n(43465),n(43732),n(46564));function go(e,t){if(e){if("string"==typeof e)return bo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bo(e,t):void 0}}function bo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ho,Eo,xo,wo,Ao,Co,ko,So,Oo,Io,jo,Po,To,Ro=n(25083),Lo=n(9903),Do=n(29080);function Uo(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Mo(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Uo(l,r,a,o,i,"next",e)}function i(e){Uo(l,r,a,o,i,"throw",e)}o(void 0)})}}function No(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||zo(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zo(e,t){if(e){if("string"==typeof e)return Bo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bo(e,t):void 0}}function Bo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Fo(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Go=C.Ay.div(ho||(ho=Fo(["\n  display: grid;\n  grid-template-columns: 300px 1fr;\n  gap: 16px;\n  height: 700px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n    height: auto;\n  }\n"]))),Ho=C.Ay.div(Eo||(Eo=Fo(["\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  overflow: auto;\n\n  ","\n"])),j.kM),$o=C.Ay.div(xo||(xo=Fo(["\n  padding: 12px 16px;\n  border-bottom: 1px solid var(--lineColor);\n  cursor: var(--hoverCursorURL), pointer;\n  transition: all 0.2s;\n  background: ",";\n\n  &:hover {\n    background: var(--hoverBackgroundColor);\n  }\n\n  .role-name {\n    font-weight: 600;\n    color: var(--textColor);\n    margin-bottom: 4px;\n  }\n\n  .role-label {\n    font-size: 12px;\n    color: var(--subTextColor);\n  }\n\n  .user-count {\n    font-size: 11px;\n    color: var(--primaryColor);\n    margin-top: 4px;\n  }\n"])),function(e){return e.$isSelected?"var(--inkColor)":"transparent"}),Vo=C.Ay.div(wo||(wo=Fo(["\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  display: grid;\n  grid-template-rows: 1fr auto;\n  height: 700px;\n"]))),Wo=C.Ay.div(Ao||(Ao=Fo(["\n  overflow: auto;\n  padding: 24px;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n\n  ","\n"])),j.kM),_o=C.Ay.div(Co||(Co=Fo(["\n  margin-bottom: 24px;\n"]))),qo=C.Ay.div(ko||(ko=Fo(["\n  margin-bottom: 24px;\n\n  .group-title {\n    font-weight: 700;\n    font-size: 15px;\n    color: var(--textColor);\n    margin-bottom: 12px;\n    padding-bottom: 8px;\n    border-bottom: 2px solid var(--lineColor);\n  }\n"]))),Ko=C.Ay.div(So||(So=Fo(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding-left: 8px;\n"]))),Yo=C.Ay.div(Oo||(Oo=Fo(["\n  display: flex;\n  gap: 8px;\n  justify-content: flex-end;\n  padding: 16px;\n  border-top: 1px solid var(--lineColor);\n"]))),Jo=C.Ay.div(Io||(Io=Fo(["\n  text-align: center;\n  padding: 60px 20px;\n  color: var(--subTextColor);\n\n  h6 {\n    margin-bottom: 8px;\n  }\n"]))),Qo=C.Ay.div(jo||(jo=Fo(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 6px;\n"]))),Zo=C.Ay.div(Po||(Po=Fo(["\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 4px;\n"]))),Xo=C.Ay.div(To||(To=Fo(["\n  width: 100%;\n  text-align: center;
1\n  color: var(--subTextColor);\n  font-size: 13px;\n  padding: 12px;\n"]))),ei=function(){var e=No((0,r.useState)(""),2),t=e[0],n=e[1],a=No((0,r.useState)(!1),2),o=a[0],i=a[1],c=(0,l.useCollection)(yo.p,{listen:!0,orderBy:["order","asc"]}),u=c.data,s=c.add,d=(0,r.useMemo)(function(){return function(){var e={};Object.entries(Xae).forEach(function(t){var n,r,a=(r=2,function(e){if(Array.isArray(e))return e}(n=t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,r)||go(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1].filter(function(e){return!e.needsFeature}).map(function(e){return{id:e.id,title:e.title,group:l,path:e.path}});o.length>0&&(e[l]=o)});var t,n="기능 권한",r={id:"chat-admin-mode-access",title:"채팅 관리자 모드 접근",group:n,path:""};return e[n]=[].concat(function(e){if(Array.isArray(e))return bo(e)}(t=e[n]||[])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||go(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[r]),e}()},[]),f=(0,r.useMemo)(function(){return(null==u?void 0:u.find(function(e){return e.id===t}))||null},[u,t]),m=No((0,Mn.zN)({name:"",label:"",description:"",allowedSettings:[]}),5),p=m[0],v=m[1],y=m[2],g=m[3],E=m[4];(0,r.useEffect)(function(){f?(g({name:f.name||"",label:f.label||"",description:f.description||"",allowedSettings:f.allowedSettings||[]}),i(!1)):(g({name:"",label:"",description:"",allowedSettings:[]}),i(!1))},[f,g]),(0,r.useEffect)(function(){if(f){var e=p.name!==(f.name||"")||p.label!==(f.label||"")||p.description!==(f.description||"")||JSON.stringify(p.allowedSettings)!==JSON.stringify(f.allowedSettings||[]);i(e)}},[p,f]);var x=(0,r.useCallback)(function(e){o&&!confirm("저장하지 않은 변경사항이 있습니다. 다른 역할을 선택하시겠습니까?")||n(e)},[o]),w=(0,r.useCallback)(Mo(regeneratorRuntime.mark(function e(){var t,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=((null==u?void 0:u.length)||0)+1,r={name:"role_".concat(t),label:"역할 ".concat(t),description:"이 역할에 대한 설명을 입력하세요",allowedSettings:[],userIds:[],order:(null==u?void 0:u.length)||0},e.prev=2,e.next=5,s(r);case 5:null!=(a=e.sent)&&a.id&&n(a.id),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(2),console.error("역할 추가 실패:",e.t0),alert("역할 추가에 실패했습니다.");case 13:case"end":return e.stop()}},e,null,[[2,9]])})),[u,s]),A=(0,r.useCallback)(Mo(regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(p.name&&""!==p.name.trim()){e.next=5;break}return alert("역할 키는 필수 입력 항목입니다."),e.abrupt("return");case 5:if(p.label&&""!==p.label.trim()){e.next=8;break}return alert("역할 표시명은 필수 입력 항목입니다."),e.abrupt("return");case 8:if(/^[a-zA-Z0-9_]+$/.test(p.name)){e.next=12;break}return alert("역할 키는 영문, 숫자, 언더스코어(_)만 사용 가능합니다."),e.abrupt("return");case 12:if(!(null==u?void 0:u.some(function(e){return e.id!==t&&e.name===p.name}))){e.next=16;break}return alert("이미 존재하는 역할 키입니다. 다른 키를 사용해주세요."),e.abrupt("return");case 16:return e.prev=16,e.next=19,Ya.default.firestore().doc("".concat(yo.p,"/").concat(t)).update({name:p.name.trim(),label:p.label.trim(),description:(null===(n=p.description)||void 0===n?void 0:n.trim())||"",allowedSettings:p.allowedSettings});case 19:i(!1),alert("역할이 저장되었습니다."),e.next=27;break;case 23:e.prev=23,e.t0=e.catch(16),console.error("역할 저장 실패:",e.t0),alert("저장에 실패했습니다.");case 27:case"end":return e.stop()}},e,null,[[16,23]])})),[t,p,u]),C=(0,r.useCallback)(function(e){var t,n=p.allowedSettings||[],r=n.includes(e)?n.filter(function(t){return t!==e}):[].concat(function(e){if(Array.isArray(e))return Bo(e)}(t=n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||zo(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);E("allowedSettings",r)},[p.allowedSettings,E]),k=(0,r.useCallback)(function(){var e=Mo(regeneratorRuntime.mark(function e(n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&f){e.next=2;break}return e.abrupt("return");case 2:if(confirm("이 멤버의 역할을 제거하시겠습니까?")){e.next=4;break}return e.abrupt("return");case 4:return e.prev=4,r=(f.userIds||[]).filter(function(e){return e!==n}),e.next=8,Ya.default.firestore().doc("".concat(yo.p,"/").concat(t)).update({userIds:r});case 8:alert("멤버의 역할이 제거되었습니다."),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(4),console.error("멤버 제거 실패:",e.t0),alert("멤버 제거에 실패했습니다.");case 15:case"end":return e.stop()}},e,null,[[4,11]])}));return function(t){return e.apply(this,arguments)}}(),[t,f]),S=(0,r.useCallback)(Mo(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(confirm("이 역할을 삭제하시겠습니까?")){e.next=4;break}return e.abrupt("return");case 4:return e.prev=4,e.next=7,Ya.default.firestore().doc("".concat(yo.p,"/").concat(t)).delete();case 7:n(""),i(!1),alert("역할이 삭제되었습니다."),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(4),console.error("역할 삭제 실패:",e.t0),alert("삭제에 실패했습니다.");case 16:case"end":return e.stop()}},e,null,[[4,12]])})),[t]);return r.createElement(b.YO,{startSec:!0},r.createElement(ti,null),r.createElement(b.qF,null,r.createElement("div",{style:{marginBottom:16}},r.createElement(h.A,{onClick:w},"+ 새 역할 추가")),r.createElement(Go,null,r.createElement(Ho,null,u&&0!==u.length?u.map(function(e){var n;return r.createElement($o,{key:e.id,$isSelected:t===e.id,onClick:function(){return x(e.id||"")}},r.createElement("div",{className:"role-name"},e.label||"제목 없음"),r.createElement("div",{className:"role-label"},"key: ",e.name||"미설정"),r.createElement("div",{className:"user-count"},(null===(n=e.userIds)||void 0===n?void 0:n.length)||0,"명의 멤버"))}):r.createElement(Jo,null,r.createElement("h6",null,"등록된 역할이 없습니다"),r.createElement("p",null,"새 역할을 추가해주세요"))),r.createElement(Vo,null,f?r.createElement(r.Fragment,null,r.createElement(Wo,null,r.createElement(_o,null,r.createElement(Ro.A,null,"역할 표시명"),r.createElement(I.A,{name:"label",value:p.label,onChange:v,placeholder:"예: 디자인스텝, 정산스텝",required:!0})),r.createElement(_o,null,r.createElement(Ro.A,null,"역할 키 (영문, 고유값)"),r.createElement(I.A,{name:"name",value:p.name,onChange:v,placeholder:"예: designer, manager",required:!0}),r.createElement("div",{style:{fontSize:12,color:"var(--subTextColor)",marginTop:4}},"영문, 숫자, 언더스코어만 사용 가능")),r.createElement(_o,null,r.createElement(Ro.A,null,"역할 설명"),r.createElement(I.A,{name:"description",value:p.description,onChange:v,placeholder:"이 역할에 대한 설명"})),r.createElement(_o,null,r.createElement(Ro.A,null,"현재 역할을 가진 멤버"),r.createElement("div",{style:{fontSize:12,color:"var(--subTextColor)",marginTop:4}},"멤버 관리 페이지에서 멤버에게 역할을 부여할 수 있습니다"),r.createElement(Qo,null,f.userIds&&f.userIds.length>0?f.userIds.map(function(e){return r.createElement(Zo,{key:e},r.createElement(Lo.A,{uid:e,shape:"token",avatarSize:"24px",noLink:!0}),r.createElement(Do.A,{icon:"X12",size:"sm",shape:"default",iconColor:"var(--subTextColor)",tooltip:"역할 제거",tooltipDir:"top",onClick:function(t){t.stopPropagation(),k(e)}}))}):r.createElement(Xo,null,"지정된 멤버가 없습니다"))),r.createElement(_o,null,r.createElement(Ro.A,null,"접근 가능한 설정 메뉴"),r.createElement("div",{style:{fontSize:13,color:"var(--subTextColor)",marginBottom:32,paddingLeft:4}},"이 역할을 가진 멤버가 접근할 수 있는 설정을 선택하세요"),Object.entries(d).map(function(e){var t=No(e,2),n=t[0],a=t[1];if(0===a.length)return null;var l=a.filter(function(e){var t;return null===(t=p.allowedSettings)||void 0===t?void 0:t.includes(e.id)}).length;return r.createElement(qo,{key:n},r.createElement("div",{className:"group-title"},n," ",r.createElement("span",{style:{fontSize:12,fontWeight:400}},"(",l,"/",a.length,")")),r.createElement(Ko,null,a.map(function(e){var t;return r.createElement(xt.A,{key:e.id,value:e.id,checked:(null===(t=p.allowedSettings)||void 0===t?void 0:t.includes(e.id))||!1,onChange:function(){return C(e.id)}},e.title)})))}))),r.createElement(Yo,null,r.createElement(h.A,{color:"warning",onClick:S},"역할 삭제"),r.createElement(h.A,{onClick:y,disabled:!o},"변경사항 취소"),r.createElement(h.A,{color:"primary",onClick:A,disabled:!o},o?"💾 저장하기":"✓ 저장됨"))):r.createElement(Jo,null,r.createElement("h6",null,"역할을 선택해주세요"),r.createElement("p",null,"좌측에서 역할을 선택하거나 새로 추가하세요"))))))};function ti(){return r.createElement(r.Fragment,null,r.createElement("div",{style:{fontSize:13,color:"var(--subTextColor)"}},r.createElement("ol",{style:{lineHeight:1.6}},r.createElement("li",null,"⚠️ [관리자] 및 [손님] 이 아닌 [멤버] 권한을 가진 유저에게만 설정 가능한 역할입니다."),r.createElement("li",null,"관리자는 모든 마스터 권한을 가지며, 손님은 전체 공개 설정된 읽기만 가능합니다."),r.createElement("li",null,"역할을 부여받은 멤버는 지정된 홈페이지 설정 메뉴에만 접근할 수 있습니다"))))}var ni,ri,ai,li,oi=n(23071),ii=function(e){return function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e),r.createElement(b.YO,{startSec:!0},r.createElement(oi.A,null))},ci=n(6143),ui=n(29442),si=n(68472),di=n(99020),fi=n(71574);function mi(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function pi(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){mi(l,r,a,o,i,"next",e)}function i(e){mi(l,r,a,o,i,"throw",e)}o(void 0)})}}function vi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return yi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yi(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function gi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var bi=C.Ay.div(ni||(ni=gi(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  margin-bottom: 12px;\n"]))),hi=C.Ay.label(ri||(ri=gi(["\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),Ei=C.Ay.div(ai||(ai=gi(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  margin-bottom: 12px;\n"]))),xi=C.Ay.span(li||(li=gi(["\n  display: inline-block;\n  padding: 4px 10px;\n  border-radius: 4px;\n  font-size: 12px;\n  font-weight: 500;\n  color: ",";\n  background-color: ",";\n  width: fit-content;\n"])),function(e){return e.$textColor},function(e){return e.$bgColor}),wi=function(e){var t=e.titleId,n=(0,l.useDocument)("".concat(o.Gf.MEMBERTITLE,"/").concat(t),{listen:!0}),a=n.data,i=n.set,u=vi((0,r.useState)(null),2),s=u[0],d=u[1],f=vi((0,c.L4)(si.mT),2),m=f[0],p=(f[1],(0,c.lZ)(di.J)),v=vi((0,r.useState)((null==a?void 0:a.titleType)||"image"),2),y=v[0],g=v[1],b=vi((0,r.useState)((null==a?void 0:a.textColor)||"#ffffff"),2),x=b[0],w=b[1],C=vi((0,r.useState)((null==a?void 0:a.bgColor)||"#6366f1"),2),k=C[0],S=C[1],O=vi((0,Mn.zN)({title:(null==a?void 0:a.title)||"",displayText:(null==a?void 0:a.displayText)||""}),4),j=O[0],P=j.title,T=j.displayText,R=O[1],L=O[2],D=O[3];(0,r.useEffect)(function(){D({title:(null==a?void 0:a.title)||"",displayText:(null==a?void 0:a.displayText)||""}),g((null==a?void 0:a.titleType)||"image"),w((null==a?void 0:a.textColor)||"#ffffff"),S((null==a?void 0:a.bgColor)||"#6366f1")},[a]);var U=(0,r.useCallback)(pi(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,me.updateImgAndGetURL)({selectedFile:s,prevImgURL:(null==a?void 0:a.imgURL)||"",collectionPath:o.Gf.MEMBERTITLE});case 2:t=e.sent,n={title:P,order:(null==a?void 0:a.order)||0,imgURL:t,titleType:y,displayText:T||P},"text"===y?(n.textColor=x,n.bgColor=k):(n.textColor=null,n.bgColor=null),i(n,{merge:!0});case 6:case"end":return e.stop()}},e)})),[P,T,y,x,k,s,a,i]),M=(0,r.useCallback)(pi(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null==a||!a.imgURL){e.next=4;break}return e.next=4,(0,me.deleteImgStorage)(a.imgURL);case 4:i({imgURL:""},{merge:!0}),d(null),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),alert((null===e.t0||void 0===e.t0?void 0:e.t0.message)||"이미지 삭제에 실패했습니다.");case 11:case"end":return e.stop()}},e,null,[[0,8]])})),[a,i]),N=(0,r.useCallback)(function(){var e=(t||(null==a?void 0:a.id)||"").trim();e?p({open:!0,title:"타이틀을 삭제 하시겠습니까?",content:"타이틀을 지급한 유저에게서 삭제됩니다.",confirmBtnValue:"삭제 하기",handleConfirmClick:function(){(0,ui.XB)({userIds:m,docId:e}),L()}}):alert("타이틀 ID가 유효하지 않습니다. 다시 시도해 주세요.")},[m,t,a,L,p]);return t?r.createElement(fi.Ay,null,r.createElement("h6",null,"타이틀 편집"),r.createElement(I.A,{label:"타이틀명",name:"title",value:P,onChange:R,placeholder:"타이틀명"}),r.createElement(bi,null,r.createElement(hi,null,"타이틀 타입"),r.createElement(Fe.z,null,r.createElement(Fe.A,{value:"image",id:"titleType-image",name:"titleType",checked:"image"===y,onChange:function(){return g("image")}},r.createElement("span",null,"이미지")),r.createElement(Fe.A,{value:"text",id:"titleType-text",name:"titleType",checked:"text"===y,onChange:function(){return g("text")}},r.createElement("span",null,"텍스트")))),"image"===y?r.createElement(A.A,{label:"타이틀 이미지 (권장 세로 28px이하)",id:"title-image",text:"이미지 업로드",setSelectedFile:d,prevImgURL:(null==a?void 0:a.imgURL)||"",style:{height:40},customDelete:M}):r.createElement(r.Fragment,null,r.createElement(I.A,{label:"표시 텍스트",name:"displayText",value:T,onChange:R,placeholder:"닉네임 옆에 표시될 텍스트",maxLength:20}),r.createElement(bi,null,r.createElement(hi,null,"미리보기"),r.createElement(xi,{$textColor:x,$bgColor:k},T||P||"타이틀")),r.createElement(Ei,null,r.createElement(bi,null,r.createElement(hi,null,"글자 색상"),r.createElement(E.A,{name:"textColor",value:x,onChange:function(e){return w(e)},hexCode:!0})),r.createElement(bi,null,r.createElement(hi,null,"배경 색상"),r.createElement(E.A,{name:"bgColor",value:k,onChange:function(e){return S(e)},hexCode:!0})))),r.createElement("div",{style:{display:"flex",gap:8,justifyContent:"space-between"}},r.createElement(h.A,{onClick:N,color:"warning",block:!0},"삭제"),r.createElement(h.A,{onClick:U,block:!0},"저장하기"))):null};function Ai(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Ci(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Ai(l,r,a,o,i,"next",e)}function i(e){Ai(l,r,a,o,i,"throw",e)}o(void 0)})}}function ki(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Si,Oi,Ii,ji,Pi,Ti,Ri,Li,Di,Ui=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(t=(0,r.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return ki(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ki(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],c=a[1],u=(0,l.useCollection)(o.Gf.MEMBERTITLE,{listen:!0,orderBy:["order","asc"]}),s=u.data,d=(u.error,u.add),f=(0,r.useCallback)(Ci(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t={title:"새 타이틀",order:(null==s?void 0:s.length)||0,imgURL:"",userIds:[]},d(t);case 2:case"end":return e.stop()}},e)})),[]),m=(0,r.useCallback)(function(){var e=Ci(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,e.prev=1,r=Ya.default.firestore(),a=r.batch(),n.forEach(function(e,t){if(e.id){var n=r.collection(o.Gf.MEMBERTITLE).doc(e.id);a.update(n,{order:t})}}),e.next=7,a.commit();case 7:console.log("✅ 타이틀 순서 저장 완료"),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("타이틀 순서 저장 오류:",e.t0);case 13:case"end":return e.stop()}},e,null,[[1,10]])}));return function(t){return e.apply(this,arguments)}}(),[]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"타이틀 관리",r.createElement(b.PF,null,"커스텀 디자인 타이틀을 등록하고 멤버에게 지급합니다.")),r.createElement(ci.A,{list:s||[],onAdd:f,addButtonText:"타이틀 추가",searchPlaceholder:"타이틀 검색(enter)",droppableCollectionPath:o.Gf.MEMBERTITLE,onSelect:c,selectedId:i,onOrder:m,rightEditor:r.createElement(wi,{titleId:i})}),r.createElement(b.fA,{style:{marginTop:24}},"타이틀 지급",r.createElement(b.PF,null,"좌측에서 멤버를 선택하고 우측에서 타이틀을 선택하여 지급합니다.")),r.createElement(b.qF,{style:{padding:16}},r.createElement("h6",{style:{marginBottom:16}},"타이틀 지급"),r.createElement("p",{style:{marginBottom:16}},r.createElement("b",null,"📌 사용법 ")," ",r.createElement("br",null),"1. 왼쪽 박스에서 타이틀을 지급할 멤버 선택",r.createElement("br",null)," 2. 골드 또는 아이템 입력 후 [지급하기] 버튼 클릭",r.createElement("br",null),"3. 지급 히스토리를 통해 확인"),r.createElement(oi.A,{setOption:{showGold:!1,showSkill:!1,showTitle:!0,showItem:!1}})))},Mi=(n(48547),n(19224),n(77135),n(94513),n(22798),n(78915));function Ni(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function zi(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Ni(l,r,a,o,i,"next",e)}function i(e){Ni(l,r,a,o,i,"throw",e)}o(void 0)})}}function Bi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||Vi(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Gi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fi(Object(n),!0).forEach(function(t){Hi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Hi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $i(e){return function(e){if(Array.isArray(e))return Wi(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Vi(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vi(e,t){if(e){if("string"==typeof e)return Wi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wi(e,t):void 0}}function Wi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _i(){return _i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_i.apply(this,arguments)}function qi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Ki=C.Ay.div(Si||(Si=qi(["\n  width: 100%;\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  overflow: hidden;\n  margin-bottom: 16px;\n"]))),Yi=C.Ay.div(Oi||(Oi=qi(["\n  display: grid;\n  grid-template-columns: 28px 1fr 1fr 60px;\n  padding: 8px 12px;
1\n  background: var(--cardBackgroundColor);\n  border-bottom: 1px solid var(--lineColor);\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--subTextColor);\n  text-align: left;\n"]))),Ji=C.Ay.div(Ii||(Ii=qi(["\n  display: grid;\n  grid-template-columns: 28px 1fr 1fr 60px;\n  align-items: center;\n  padding: 10px 12px;\n  border-bottom: 1px solid var(--lineColor);\n  background: ",";\n  opacity: ",";\n  text-align: left;\n  &:last-child {\n    border-bottom: none;\n  }\n"])),function(e){return e.$isDragging?"var(--inkColor)":"var(--cardBackgroundColor)"},function(e){return e.$isDragging?.8:1}),Qi=C.Ay.div(ji||(ji=qi(["\n  cursor: grab;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--subTextColor);\n  &:active {\n    cursor: grabbing;\n  }\n"]))),Zi=C.Ay.span(Pi||(Pi=qi(["\n  font-size: 14px;\n  color: var(--subTextColor);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),Xi=C.Ay.div(Ti||(Ti=qi(["\n  display: flex;\n  align-items: center;\n  min-width: 0;\n\n  input {\n    font-size: 14px;\n    width: 100%;\n    background: transparent;\n    border: none;\n    border-bottom: 1px solid transparent;\n    padding: 2px 0;\n    transition: border-color 0.15s;\n\n    &:hover,\n    &:focus {\n      border-bottom-color: var(--lineColor);\n      outline: none;\n    }\n  }\n"]))),ec=C.Ay.div(Ri||(Ri=qi(["\n  display: flex;\n  justify-content: flex-end;\n  align-items: center;
1\n"]))),tc=C.Ay.div(Li||(Li=qi(["\n  display: flex;\n  justify-content: flex-end;\n"]))),nc=C.Ay.p(Di||(Di=qi(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  margin-bottom: 16px;\n  line-height: 1.6;\n"]))),rc=function(){return r.createElement("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none"},r.createElement("circle",{cx:"4",cy:"3.5",r:"1.2",fill:"var(--subTextColor)"}),r.createElement("circle",{cx:"10",cy:"3.5",r:"1.2",fill:"var(--subTextColor)"}),r.createElement("circle",{cx:"4",cy:"7",r:"1.2",fill:"var(--subTextColor)"}),r.createElement("circle",{cx:"10",cy:"7",r:"1.2",fill:"var(--subTextColor)"}),r.createElement("circle",{cx:"4",cy:"10.5",r:"1.2",fill:"var(--subTextColor)"}),r.createElement("circle",{cx:"10",cy:"10.5",r:"1.2",fill:"var(--subTextColor)"}))},ac=r.memo(function(e){var t=e.item,n=e.originalValue,a=e.onToggleHidden,l=e.onRename,o=(0,yl.gl)({id:t.id}),i=o.attributes,c=o.listeners,u=o.setNodeRef,s=o.transform,d=o.transition,f=o.isDragging,m={transform:gl.Ks.Transform.toString(s),transition:d};return r.createElement("div",{ref:u,style:m},r.createElement(Ji,{$isDragging:f},r.createElement(Qi,_i({},i,c),r.createElement(rc,null)),r.createElement(Zi,{title:n},n),r.createElement(Xi,null,r.createElement(I.A,{name:"tab-name-".concat(t.id),value:t.value,onChange:function(e){return l(t.id,e.target.value)},placeholder:n,maxLength:20})),r.createElement(ec,null,r.createElement(w.A,{isChecked:!t.hidden,handleSwitch:function(){return a(t.id)}}))))});function lc(){var e=(0,r.useMemo)(function(){return e=[Mi.Ef.POSTING,Mi.Ef.TIMELINE],t=a.l.boardSet.filter(function(t){return e.includes(t.typeName)}).map(function(e){var t,n=e.typeName,r=e.path,a=(null===(t=r.match(/\d+/))||void 0===t?void 0:t[0])||"";return{id:"detail_".concat(r),value:n===Mi.Ef.POSTING?"포스팅".concat(a):"타임라인".concat(a),hidden:!1}}),r=(n=function(e){return a.l.boardSet.some(function(t){return t.typeName===e})})(Mi.Ef.FORM),[{order:0,id:"detail_character",value:"캐릭터",hidden:!1},{order:1,id:"detail_title",value:"타이틀",hidden:!1},{order:2,id:"detail_pet",value:"나의 펫",hidden:!1,skip:!a.l.petSystem},{order:3,id:"detail_quest",value:"나의 퀘스트",hidden:!1,skip:!n(Mi.Ef.QUEST)},{order:4,id:"detail_betting",value:"나의 베팅",hidden:!1,skip:!n(Mi.Ef.BETTING)},{order:5,id:"detail_wallet",value:"재화 히스토리",hidden:!1},{order:6,id:"detail_itemHistory",value:"아이템 사용 히스토리",hidden:!1},{order:10,id:"detail_bookmark",value:"북마크",hidden:!1}].concat($i(t.map(function(e,t){return Gi(Gi({},e),{},{order:20+t})})),[{order:98,id:"detail_formList",value:"제출한 폼",hidden:!1,skip:!r},{order:99,id:"detail_calculate",value:"정산란",hidden:!1}]).filter(function(e){return!e.skip}).sort(function(e,t){return e.order-t.order}).map(function(e){return{id:e.id,value:e.value,hidden:e.hidden}});var e,t,n,r},[]),t=(0,r.useMemo)(function(){return new Map(e.map(function(e){return[e.id,e.value]}))},[e]),n=(0,l.useDocument)(o.Mb.USER_ACCOUNT_TAB,{listen:!0}),i=n.data,c=n.set,u=Bi((0,r.useState)([]),2),s=u[0],d=u[1],f=Bi((0,r.useState)(!1),2),m=f[0],p=f[1];(0,r.useEffect)(function(){if(void 0!==i)if(null!=i&&i.tabs&&i.tabs.length>0){var t=new Set(i.tabs.map(function(e){return e.id})),n=e.filter(function(e){return!t.has(e.id)});d([].concat($i(i.tabs),$i(n)))}else d(e)},[i]);var v=(0,vl.FR)((0,vl.MS)(vl.AN,{activationConstraint:{distance:5}})),y=(0,r.useCallback)(function(e){var t=e.active,n=e.over;n&&t.id!==n.id&&(d(function(e){var r=e.findIndex(function(e){return e.id===t.id}),a=e.findIndex(function(e){return e.id===n.id});return(0,yl.be)(e,r,a)}),p(!1))},[]),g=(0,r.useCallback)(function(e){d(function(t){return t.map(function(t){return t.id===e?Gi(Gi({},t),{},{hidden:!t.hidden}):t})}),p(!1)},[]),b=(0,r.useCallback)(function(e,t){d(function(n){return n.map(function(n){return n.id===e?Gi(Gi({},n),{},{value:t}):n})}),p(!1)},[]),E=(0,r.useCallback)(zi(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c({tabs:s});case 2:p(!0);case 3:case"end":return e.stop()}},e)})),[s,c]);return r.createElement(r.Fragment,null,r.createElement(nc,null,"유저들이 자신의 계정 페이지에서 탭을 편집할 때 적용되는 기본값을 설정합니다. ",r.createElement("br",null)," 유저가 직접 탭을 수정한 경우 개인 설정이 우선 적용됩니다."),r.createElement(Ki,null,r.createElement(Y
1i,null,r.createElement("span",null),r.createElement("span",null,"기본 탭명"),r.createElement("span",null,"표시 이름"),r.createElement("span",{style:{textAlign:"right"}},"보이기")),r.createElement(vl.Mp,{sensors:v,collisionDetection:vl.fp,onDragEnd:y},r.createElement(yl.gB,{items:s.map(function(e){return e.id}),strategy:yl._G},s.map(function(e){var n;return r.createElement(ac,{key:e.id,item:e,originalValue:null!==(n=t.get(e.id))&&void 0!==n?n:e.value,onToggleHidden:g,onRename:b})})))),r.createElement(tc,null,r.createElement(h.A,{onClick:E},m?"저장됨":"저장")))}var oc=r.memo(lc),ic=n(63696),cc=n(25079),uc=n(29081),sc=n(76897),dc=n(82746);function fc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return mc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var pc=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=fc((0,r.useState)(!1),2),n=t[0],a=t[1],l=fc((0,r.useState)(null),2),o=l[0],i=l[1],c=(0,r.useCallback)(function(e){i(e),a(!0)},[]),u=(0,r.useCallback)(function(e){(0,cc.D)({collectionPath:"emoticon",data:{imgURL:e.imgURL,docID:e.id}})},[]);return r.createElement(r.Fragment,null,r.createElement(b.YO,null,r.createElement(h.A,{onClick:function(){i(null),a(!0)}},r.createElement(uc.A,{name:"Plus14",color:"var(--buttonTextColor)"}),"   이모티콘 추가"),r.createElement(sc.A,{isEditMode:!0,handleEdit:c,handleDelete:u}),n&&r.createElement(dc.A,{data:o,close:function(){return a(!1)}})))},vc=n(96059),yc=n(3158);function gc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gc(Object(n),!0).forEach(function(t){hc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function hc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ec(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function xc(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Ec(l,r,a,o,i,"next",e)}function i(e){Ec(l,r,a,o,i,"throw",e)}o(void 0)})}}var wc=Ya.default.firestore();function Ac(e){return Cc.apply(this,arguments)}function Cc(){return(Cc=xc(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.data,r=t.docID,a=Ya.fuego.db.collection(o.Gf.THEMEMANAGER),!r){e.next=6;break}return e.next=5,a.doc(r).set(bc(bc({},n),{},{editedAt:new Date}),{merge:!0}).catch(function(e){return console.log(e.message)});case 5:case 9:return e.abrupt("return",e.sent);case 6:if(r){e.next=10;break}return e.next=9,a.add(bc(bc({},n),{},{editedAt:new Date})).catch(function(e){return console.log(e.message)});case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}function kc(){return(kc=xc(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=wc.collection(o.Gf.BOARD_SET),e.next=3,t.get().then(function(e){return e.docs.map(function(e){return e.id})});case 3:return n=e.sent,r=n.map(function(e){return t.doc(e).set({imgURL:""},{merge:!0})}),e.next=7,Promise.allSettled(r.filter(Boolean));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Sc(){Ya.fuego.db.collection("setting").doc("homepageSetting").set(bc({},yc.I)),Ya.fuego.db.collection(o.Gf.MAINHOME).doc(o.kV.MAINHOME).set(bc({},vc.f)),function(){kc.apply(this,arguments)}(),a.l.soundEffect&&Ya.fuego.db.collection("setting").doc(o.Gf.JUKEBOX).set({youtubeURL:"",themeSet:null}),a.l.backgroundEffect&&wc.doc(o.Mb.BACKGROUNDEFFECT).set({isActive:!0,options:{color:"#5d5d5d",number:20,size:1.5,shapeImageURL:"",direction:Ur.T.TOP_RIGHT,speed:2,lineLinked:!1}}),a.l.cursorCustom&&wc.doc(o.Mb.MOUSE).set({cursor:{type:"default",defaultImgURL:"",hoverImgURL:""},mouseEffect:{isActive:!1}}),a.l.gatePage&&Ya.fuego.db.collection(o.Gf.MAINHOME).doc(o.kV.GATEPAGE).set({gateLogo:"",gateBackgroun
1dImg:"",startText:"시작하기"})}function Oc(e){return Ic.apply(this,arguments)}function Ic(){return(Ic=xc(regeneratorRuntime.mark(function e(t){var n,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.data)){e.next=9;break}return r=wc.collection(o.Gf.BOARD_SET),e.next=5,r.get().then(function(e){return e.docs.map(function(e){return bc({id:e.id},e.data())})});case 5:return a=e.sent,l=a.filter(function(e){return!!e.path||"Folder"===e.type}).map(function(e){var t="Folder"===e.type?n.find(function(e){return"folder"===e.path}):n.find(function(t){return t.path===e.path});if(!t)return null;var a=r.doc(e.id),l={title:t.title,imgURL:t.imgURL};return a.update(l)}).filter(Boolean),e.next=9,Promise.allSettled(l.filter(Boolean));case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}function jc(){return(jc=xc(regeneratorRuntime.mark(function e(t){var n,r,l,i,c,u,s,d,f,m;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.data,t.docID,r=Ya.fuego.db.collection("setting").doc("homepageSetting"),e.next=4,r.set(bc({},n.homepageSetting||n),{merge:!0});case 4:return l=Ya.fuego.db.collection(o.Gf.MAINHOME).doc(o.kV.MAINHOME),e.next=7,l.set({grid:{}},{merge:!0});case 7:return e.next=9,l.set(bc({},n.mainHomeData||n),{merge:!0});case 9:return Oc({data:n.boardSet}),i=Ya.fuego.db.collection(o.Gf.MAINHOME).doc(o.kV.ASIDE),e.next=13,i.set({list:n.asideList||null},{merge:!0});case 13:return c=Ya.fuego.db.collection(o.Gf.MAINHOME).doc(o.kV.MAINMENU),e.next=16,c.set({list:n.mainMenuList||null},{merge:!0});case 16:if(!a.l.soundEffect){e.next=20;break}return u=Ya.fuego.db.collection("setting").doc(o.Gf.JUKEBOX),e.next=20,u.set(bc({},n.jukeboxSet),{merge:!0});case 20:if(!a.l.backgroundEffect){e.next=24;break}return d=wc.doc(o.Mb.BACKGROUNDEFFECT),e.next=24,d.set({isActive:null!==(s=n.backgroundSet.isActive)&&void 0!==s&&s,options:n.backgroundSet.options||{}},{merge:!0});case 24:if(!a.l.cursorCustom){e.next=28;break}return f=wc.doc(o.Mb.MOUSE),e.next=28,f.set(bc({},n.mouseSet),{merge:!0});case 28:if(!a.l.gatePage){e.next=32;break}return m=Ya.fuego.db.collection(o.Gf.MAINHOME).doc(o.kV.GATEPAGE),e.next=32,m.set(bc({},n.gateSet),{merge:!0});case 32:case"end":return e.stop()}},e)}))).apply(this,arguments)}n(59506);var Pc,Tc,Rc=n(48296);function Lc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Dc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lc(Object(n),!0).forEach(function(t){Uc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Uc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Nc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nc(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Nc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function zc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Bc,Fc,Gc=C.Ay.div(Pc||(Pc=zc(["\n  padding: 12px;\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);
1\n  background-color: var(--cardBackgroundColor);\n  display: flex;\n  gap: 8px;\n  flex-direction: column;\n\n  .title {\n  }\n\n  img {\n    width: 100%;\n    height: 140px;\n    object-fit: cover;\n  }\n  .time {\n    font-size: 12px;\n    color: var(--subTextColor);\n  }\n"]))),Hc=C.Ay.div(Tc||(Tc=zc(["\n  display: flex;\n  gap: 8px;\n  align-items: center;\n"]))),$c=function(e){var t,n,a,l=e.data,i=e.originData,c=e.handleSaveThema,u=l.title,s=l.editedAt,d=l.id,f=Mc((0,r.useState)(!1),2),m=f[0],p=f[1],v=function(){return p(!m)},y=Mc((0,Mn.zN)({newTitle:u||""}),3),g=y[0].newTitle,b=y[1],E=(y[2],(0,r.useCallback)(function(){var e=Dc(Dc({},l),{},{__snapshot:"",title:g});confirm("현재 적용 중인 테마가 모두 삭제됩니다. 선택한 테마로 변경하시겠습니까?")&&function(e){jc.apply(this,arguments)}({data:e})},[i,g])),x=(0,r.useCallback)(function(){confirm("현재 테마로 덮어쓰기 하시겠습니까?")&&(c(),p(!1))},[]),w=(0,r.useCallback)(function(){Ac({data:{title:g},docID:d}).then(function(){p(!1)})},[g]),A=(0,r.useCallback)(function(){confirm("선택된 테마를 삭제하시겠습니까?")&&function(e){var t=e.docID;Ya.fuego.db.collection(o.Gf.THEMEMANAGER).doc(t).delete()}({docID:d})},[d]),C=(0,r.useCallback)(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"my-theme",n=new Blob([JSON.stringify(e,null,2)],{type:"text/plain;charset=utf-8"}),r=document.createElement("a");r.href=URL.createObjectURL(n),r.download="".concat(t,".txt"),r.click(),URL.revokeObjectURL(r.href)},[]);return r.createElement(Gc,null,m?r.createElement(r.Fragment,null,r.createElement(I.A,{placeholder:"테마명 입력(최대 20자)",maxLength:20,name:"newTitle",value:g,onChange:b,required:!0}),r.createElement(h.A,{onClick:w,size:"md",color:"default"},"제목 저장")):r.createElement("h6",{className:"title"},u),r.createElement(Rc.A,{createdAt:s,className:"time"}),r.createElement("img",{src:(null===(t=l.homepageSet)||void 0===t?void 0:t.ogImgURL)||(null===(n=l.homepageSetting)||void 0===n||null===(a=n.homepageSet)||void 0===a?void 0:a.ogImgURL)||"",alt:"".concat(u," 썸네일")}),m&&r.createElement(Hc,null,r.createElement(h.A,{onClick:x,size:"md",color:"default",block:!0},"테마 덮어쓰기"),r.createElement(h.A,{onClick:v,size:"md",shape:"stroke"},"수정 취소")),!m&&r.createElement(Hc,null,r.createElement(Do.A,{icon:"Trash14",size:"md",onClick:A,iconColor:"red",tooltip:"삭제",tooltipDir:"top"}),r.createElement(Do.A,{icon:"Edit14",size:"md",onClick:v,tooltip:"수정",tooltipDir:"top"}),r.createElement(Do.A,{icon:"Airplain18",size:"md",onClick:function(){return C(Dc(Dc({},l),{},{title:u}),u)},tooltip:"내보내기",tooltipDir:"top"}),r.createElement(h.A,{onClick:E,size:"md",block:!0},"적용")))},Vc=["__snapshot","exists","ref","hasPendingWrites"];function Wc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wc(Object(n),!0).forEach(function(t){qc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kc(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Yc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Jc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jc(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Qc(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Zc=C.Ay.div(Bc||(Bc=Qc(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap: 8px;\n"]))),Xc=C.Ay.div(Fc||(Fc=Qc(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 8px;\n"])));function eu(e){if(e){var t=e;return t.__snapshot,t.exists,t.ref,t.hasPendingWrites,function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(t,Vc)}}var tu,nu=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=Yc((0,r.useState)(!0),2),n=t[0],i=t[1],c=(0,l.useCollection)(o.Gf.THEMEMANAGER,{listen:!0,orderBy:["editedAt","desc"]}).data,u=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}).data,s=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}).data,d=(0,l.useCollection)(o.Gf.BOARD_SET,{listen:!0}).data,f=(0,l.useDocument)(o.Mb.BACKGROUNDEFFECT,{listen:!0}).data,m=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.ASIDE),{listen:!0}).data,p=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINMENU),{listen:!0}).data,v=(0,l.useDocument)(o.Mb.MOUSE,{listen:!0}).data,y=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.GATEPAGE)).data,g=(0,l.useDocument)(o.Mb.JUKEBOX,{listen:!0}).data,E=Yc((0,Mn.zN)({title:""}),3),x=E[0].title,w=E[1],A=E[2],C=Yc((0,r.useState)(null),2),k=(C[0],C[1]);(0,r.useEffect)(function(){i(!(x.length>=1))},[x]);var S=(0,r.useCallback)(function(e){if(e){var t=new FileReader;t.onload=function(){var e,t=(e=regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=null===(n=t.target)||void 0===n?void 0:n.result,a=JSON.parse(r),console.log("🚀 불러온 테마:",a),e.next=6,Ac({data:a});case 6:A(),k(null),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(0),alert("테마 파일이 잘못되었거나 파싱에 실패했습니다.");case 13:case"end":return e.stop()}},e,null,[[0,10]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Kc(l,r,a,o,i,"next",e)}function i(e){Kc(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),t.readAsText(e)}},[]),O=(0,r.useCallback)(function(){var e,t;x&&Ac({data:{homepageSetting:eu(u),mainHomeData:eu(s),asideList:m.list||[],mainMenuList:p.list||[],backgroundSet:a.l.backgroundEffect?eu(f):null,mouseSet:a.l?eu(v):null,gateSet:a.l.gatePage?eu(y):null,jukeboxSet:a.l.soundEffect?eu(g):null,boardSet:Array.isArray(d)?(e=d,null!==(t=null==e?void 0:e.map(function(e){return{title:e.title,imgURL:e.imgURL,path:e.path}}))&&void 0!==t?t:[]):[],title:x||"제목 없음",editedAt:new Date}}).then(A())},[a.l,u,x,s,f,m,p,v,y,g]),j=(0,r.useCallback)(function(){confirm("모든 테마가 초기 환경으로 돌아갑니다. 이미지 재설정이 가능해 집니다. 테마를 리셋하시겠습니까?")&&Sc()},[]),P=c&&c.map(function(e,t){return r.createElement($c,{data:e,key:e.id,originData:_c(_c({},u),{},{title:x||"제목 없음",editedAt:new Date}),handleSaveThema:O})});return r.createElement(b.YO,{style:{padding:0}},r.createElement(b.R2,null,r.createElement("p",null,"⚠️ 새로운 테마를 만드실 때는, 기존 테마에서 수정하는 것이 아니라"," ",r.createElement("strong",null,"'테마 리셋'"),"후 재 설정해 주세요. ",r.createElement("br",null))),r.createElement(b.R2,null,r.createElement("p",null,r.createElement("b",null,"⚠️ 테마 저장 및 적용 제외 범위"),r.createElement("ul",{style:{fontWeight:400}},r.createElement("li",null," • 슬라이드 이미지 "),r.createElement("li",null," • 별똥별 이펙트"),r.createElement("li",null," • 썸네일은 [홈페이지 설정] - [url 공유 이미지]로 고정"),r.createElement("li",null," • 그 외의 테마는 대부분 저장됩니다. ")))),r.createElement(Zc,null,r.createElement(I.A,{placeholder:"테마명 입력(최대 20자)",maxLength:20,name:"title",value:x,onChange:w,required:!0}),r.createElement(h.A,{onClick:O,block:!0,disabled:n},"현재 테마 저장"),r.createElement(h.A,{onClick:j,color:"warning"},"테마 리셋")),r.createElement(Q.A,{linkto:"https://gomiwork.notion.site/1f0f7c
1527d5680e68a04c24e4de8a775?pvs=4",title:"홈페이지 테마 내보내기 & 불러오기 가이드",tooltip:"가이드 바로가기"}),r.createElement(Xn.A,{id:"thema-set",accept:".txt",placeholder:"테마 파일 불러오기 (바로 목록에 등록됩니다)",setSelectedFile:k,deleteFile:function(){return k(null)},customFileChange:S}),r.createElement(b.fA,{style:{margin:"30px 0 12px 0"}},"테마 목록"),r.createElement(Xc,null,P))};function ru(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return au(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?au(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function au(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var lu,ou,iu=C.Ay.div(tu||(tu=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  gap: 12px;\n"]))),cu=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.GATEPAGE)),n=t.data,a=t.set,i=ru((0,r.useState)(null),2),c=i[0],u=i[1],s=ru((0,r.useState)(null),2),d=s[0],f=s[1],m=ru((0,Mn.zN)({text:(null==n?void 0:n.startText)||"시작하기"}),3),p=m[0].text,v=m[1],y=(m[2],(0,r.useCallback)(function(){a({startText:p},{merge:!0})}
1,[p]));(0,r.useEffect)(function(){c&&(0,me.updateImg)({fileList:{selectedFile:c,prevImgURL:(null==n?void 0:n.gateLogo)||""},collectionPath:o.Gf.MAINHOME,docId:o.kV.GATEPAGE,key:"gateLogo"})},[c,n]);var g=(0,r.useCallback)(function(){n&&n.gateLogo&&(0,me.deleteImg)({imgURL:n.gateLogo,collectionPath:o.Gf.MAINHOME,docId:o.kV.GATEPAGE,key:"gateLogo"})},[n]);(0,r.useEffect)(function(){d&&(0,me.updateImg)({fileList:{selectedFile:d,prevImgURL:(null==n?void 0:n.gateBackgroundImg)||""},collectionPath:o.Gf.MAINHOME,docId:o.kV.GATEPAGE,key:"gateBackgroundImg"})},[d,n]);var E=(0,r.useCallback)(function(){n&&n.gateBackgroundImg&&(0,me.deleteImg)({imgURL:n.gateBackgroundImg,collectionPath:o.Gf.MAINHOME,docId:o.kV.GATEPAGE,key:"gateBackgroundImg"})},[n]);return r.createElement(r.Fragment,null,r.createElement(b.R2,null,"⚠️ 대문 페이지는 기본적으로 '로그인 하지 않은 유저'에게 보여지며, ",r.createElement("br",null),"로그인 캐시가 저장되어 있으면 대문페이지를 보지 않고 바로 메인 홈으로 진입합니다."),r.createElement(b.YO,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"대문 페이지 설정"),r.createElement("div",null,r.createElement(xt.A,{value:"set-isActive",checked:n.isActive,onChange:function(){a({isActive:!n.isActive},{merge:!0})}},"대문(게이트) 페이지 활성화"),r.createElement(xt.A,{value:"set-Login",checked:n.setLogin,onChange:function(){a({setLogin:!n.setLogin},{merge:!0})}},"로그인 후 진입 가능하도록 설정"))),r.createElement(b.Fd,null,r.createElement(b.O9,null,"대문 대표 로고"),r.createElement("div",{style:{width:"100%",maxWidth:400}},r.createElement(A.A,{id:"main-home-img-".concat(null==n?void 0:n.id),setSelectedFile:u,prevImgURL:(null==n?void 0:n.gateLogo)||"",text:"로고 이미지 추가",customDelete:g}))),r.createElement(b.Fd,null,r.createElement(b.O9,null,"대문 배경 이미지"),r.createElement("div",{style:{width:"100%",maxWidth:400}},r.createElement(A.A,{id:"main-home-bg-".concat(null==n?void 0:n.id),setSelectedFile:f,prevImgURL:(null==n?void 0:n.gateBackgroundImg)||"",text:"배경 이미지 추가",customDelete:E}))),r.createElement(b.Fd,null,r.createElement(b.O9,null,"시작하기 버튼 문구"),r.createElement(iu,null,r.createElement(I.A,{value:p,name:"text",onChange:v,placeholder:"입력"}),r.createElement(h.A,{onClick:y},"저장")))))},uu=n(47863),su=n(67244),du=n(25316),fu=n(12087),mu=n(64509),pu=n(9039),vu=n(89076),yu=n(41625);function gu(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function bu(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){gu(l,r,a,o,i,"next",e)}function i(e){gu(l,r,a,o,i,"throw",e)}o(void 0)})}}function hu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Eu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var xu,wu,Au,Cu=C.Ay.div(lu||(lu=Eu(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  position: relative;\n\n  height: 100%;\n  overflow: auto;\n  ",";\nbackground-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"])),j.kM),ku=C.Ay.div(ou||(ou=Eu(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding-bottom: 12px;\n  \n  h6 {\n    margin: 0;\n    font-size: 16px;\n    font-weight: 600;\n  }\n"]))),Su=function(e){var t,n,a=e.docID,i="".concat(o.Gf.PHOTOCARD),c=(0,l.useDocument)("".concat(i,"/").concat(a),{listen:!0}).data,u=(0,l.useCollection)("".concat(i,"/").concat(a,"/").concat(o.Gf.SKILLS),{listen:!0}).data,s=(t=(0,r.useState)([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return hu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hu(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=s[1],m=(0,r.useCallback)(bu(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,yu.L9)({collectionPath:i,docId:a,skillIDList:d});case 2:alert("스킬이 저장되었습니다.");case 3:case"end":return e.stop()}},e)})),[i,a,d]),p=(0,r.useCallback)(function(e){(0,yu.uX)({collectionPath:i,docId:a,skillId:d[e]})},[i,a,d]);return(0,r.useEffect)(function(){if(u){var e=u.map(function(e){return e.id}).filter(Boolean);f(e)}},[u]),c?r.createElement(Cu,null,r.createElement(ku,null,r.createElement("h6",null,c.title)),r.createElement(vu.A,{label:"보유 스킬",placeholder:"스킬명 입력 후 ENTER",collectionPath:o.Gf.SKILLS,selectedIDList:d,setSelectedIDList:f,id:"skill-item-".concat(a),customDelete:p}),r.createElement(h.A,{block:!0,shape:"filled",onClick:m},"스킬 저장")):null};function Ou(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Iu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ju,Pu,Tu,Ru,Lu=C.Ay.div(xu||(xu=Iu(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n  height: 800px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),Du=C.Ay.div(wu||(wu=Iu(["\n  height: 100%;\n  overflow: hidden;\n  display: grid;\n  grid-template-rows: auto 1fr;\n    background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n  ",";\n"])),j.kM),Uu=C.Ay.div(Au||(Au=Iu(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);  \n  margin-bottom: 8px;\n"]))),Mu=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n,i,c="".concat(o.Gf.PHOTOCARD),u=(n=(0,r.useState)(""),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,i)||function(e,t){if(e){if("string"==typeof e)return Ou(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ou(e,t):void 0}}(n,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0],d=u[1],f=(0,l.useCollection)(c,{listen:!0,orderBy:["order","asc"]}).data,m=(0,l.useCollection)("".concat(c,"2"),{listen:!0,orderBy:["order","asc"]}).data,p=(0,mu.W)({list:f}).searchResult,v=null===(t=a.l.boardSet)||void 0===t?void 0:t.some(function(e){return"photocard2"===(null==e?void 0:e.path)}),y=(0,r.useCallback)(function(e){var t=e.orderList;t&&0!==t.length&&(0,pu.yB)({collectionPath:c,orderList:t})},[c]),g=(0,r.useCallback)(function(e){var t=e.orderList;t&&0!==t.length&&(0,pu.yB)({collectionPath:"".concat(c,"2"),orderList:t})},[c]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"캐릭터별 스킬 관리"),r.createElement(b.R2,null,r.createElement("p",null,"📌 캐릭터를 선택하여 보유 스킬을 관리합니다."),r.createElement("p",null,"💡 스킬은 특정 스탯 조건을 충족할 시 사용가능한 전투 아이템입니다.")),r.createElement(Lu,null,r.createElement(Du,null,r.createElement(Uu,null,r.createElement(du.A,{block:!0,placeholder:"캐릭터 검색(enter)",noResult:!0})),r.createElement(fu.A,{list:p||f||[],setSelectValue:d,selectedId:s,collectionPath:c,handleOrder:y,style:{height:"100%"}}),v&&r.createElement(fu.A,{list:m||[],setSelectValue:d,selectedId:s,collectionPath:"".concat(c,"2"),handleOrder:g,style:{height:"100%"}})),s&&r.createElement(Su,{docID:s})))},Nu=n(2355),zu=n(14271),Bu=n(12076);function Fu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Gu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Fu(Object(n),!0).forEach(function(t){Hu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Hu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Vu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vu(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wu(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var _u,qu=C.Ay.div(ju||(ju=Wu(["\n  display: grid;\n  grid-template-rows: 1fr auto;\n  gap: 8px;\n  height: 100%;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"]))),Ku=C.Ay.div(Pu||(Pu=Wu(["\n  padding: 12px;\n  ",";\n"])),j.kM),Yu=C.Ay.div(Tu||(Tu=Wu(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n"]))),Ju=C.Ay.div(Ru||(Ru=Wu(["\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 8px;\n"]))),Qu=function(e){var t,n=e.docID,a="".concat(o.Gf.SKILLS),i=(0,l.useDocument)("".concat(a,"/").concat(n),{listen:!0}).data,c=(0,l.useCollection)(o.Gf.STATUS,{listen:!0}).data,u=$u((0,r.useState)([]),2),s=u[0],d=u[1],f=$u((0,r.useState)(null),2),m=f[0],p=f[1],v=$u((0,r.useState)(""),2),y=v[0],g=v[1],b=$u((0,r.useState)(0),2),E=b[0],w=b[1],C=$u((0,r.useState)(0),2),k=C[0],S=C[1],O=$u((0,r.useState)(0),2),j=O[0],P=O[1],T=Object.values(Nu.J),R=Object.entries(Bu.Xb).map(function(e){var t=$u(e,2),n=t[0];return{key:n,value:t[1],description:Bu.j$[n]}}),L=y===Bu.b0.AOE_ATTACK||y===Bu.b0.AOE_HEAL,D=y===Bu.b0.BUFF_ATTACK||y===Bu.b0.BUFF_DEFENSE||y===Bu.b0.DEBUFF_ATTACK||y===Bu.b0.DEBUFF_DEFENSE||y===Bu.b0.POISON||y===Bu.b0.COUNTER,U=y===Bu.b0.BUFF_ATTACK||y===Bu.b0.BUFF_DEFENSE||y===Bu.b0.DEBUFF_ATTACK||y===Bu.b0.DEBUFF_DEFENSE||y===Bu.b0.DRAIN||y===Bu.b0.POISON,M=$u((0,Mn.zN)((Hu(t={title:(null==i?void 0:i.title)||"",contents:(null==i?void 0:i.contents)||""},Nu.J.ATTACK,(null==i?void 0:i.attack)||0),Hu(t,Nu.J.DEFENSE,(null==i?void 0:i.defense)||0),Hu(t,Nu.J.CRITICAL,(null==i?void 0:i.critical)||0),Hu(t,Nu.J.HP,(null==i?void 0:i.hp)||0),Hu(t,Nu.J.MP,(null==i?void 0:i.mp)||0),Hu(t,Nu.J.SPEED,(null==i?void 0:i.speed)||0),Hu(t,Nu.J.STATUS1,(null==i?void 0:i.status1)||0),Hu(t,Nu.J.STATUS2,(null==i?void 0:i.status2)||0),Hu(t,Nu.J.STATUS3,(null==i?void 0:i.status3)||0),Hu(t,Nu.J.STATUS4,(null==i?void 0:i.status4)||0),Hu(t,Nu.J.STATUS5,(null==i?void 0:i.status5)||0),t)),4),N=M[0],z=M[1],B=(M[2],M[3]),F=(0,r.useCallback)(function(){if(null!=i&&i.id){var e=Gu(Gu(Gu(Gu(Gu({},N),y?{skillType:y}:{}),L?{targetCount:E}:{}),D?{effectDuration:k}:{}),U?{effectValue:j}:{});(0,yu.Wb)({collectionPath:o.Gf.SKILLS,data:e,docId:null==i?void 0:i.id,fileList:{selectedFile:m,prevImgURL:(null==i?void 0:i.imgURL)||""}})}},[N,m,i,y,E,k,j,L,D,U]),G=(0,r.useCallback)(function(){if(confirm("[".concat(null==i?void 0:i.title,"] 스킬을 삭제하시겠습니까?"))){if(null==i||!i.id)return;return(0,zu.E)({collectionPath:o.Gf.SKILLS,imgURL:(null==i?void 0:i.imgURL)||"",docId:i.id})}},[i]),H=function(e,t){if(s[t])return s[t];var n=Nu.S.find(function(t){return t.key===e});return n?n.value:e};return(0,r.useEffect)(function(){if(c){var e=c.map(function(e){return e.value});d(e)}},[c]),(0,r.useEffect)(function(){var e;i&&(B((Hu(e={title:(null==i?void 0:i.title)||"",contents:(null==i?void 0:i.contents)||""},Nu.J.ATTACK,(null==i?void 0:i.attack)||0),Hu(e,Nu.J.DEFENSE,(null==i?void 0:i.defense)||0),Hu(e,Nu.J.CRITICAL,(null==i?void 0:i.critical)||0),Hu(e,Nu.J.HP,(null==i?void 0:i.hp)||0),Hu(e,Nu.J.MP,(null==i?void 0:i.mp)||0),Hu(e,Nu.J.SPEED,(null==i?void 0:i.speed)||0),Hu(e,Nu.J.STATUS1,(null==i?void 0:i.status1)||0),Hu(e,Nu.J.STATUS2,(null==i?void 0:i.status2)||0),Hu(e,Nu.J.STATUS3,(null==i?void 0:i.status3)||0),Hu(e,Nu.J.STATUS4,(null==i?void 0:i.status4)||0),Hu(e,Nu.J.STATUS5,(null==i?void 0:i.status5)||0),e)),g((null==i?void 0:i.skillType)||""),w((null==i?void 0:i.targetCount)||0),S((null==i?void 0:i.effectDuration)||0),P((null==i?void 0:i.effectValue)||0))},[i]),i?r.createElement(qu,null,r.createElement(Ku,null,r.createElement("h6",null,i.title),r.createElement(I.A,{label:"스킬명",value:N.title,name:"title",onCh
1ange:z,placeholder:"스킬명"}),r.createElement(I.A,{label:"스킬 설명",value:N.contents,name:"contents",onChange:z,placeholder:"스킬 설명",maxLength:1e5}),r.createElement("div",{style:{width:"100%",marginBottom:16}},r.createElement(A.A,{label:"스킬 이미지 (권장 52*52)",id:"title-image",setSelectedFile:p,prevImgURL:null==i?void 0:i.imgURL,style:{height:60}})),r.createElement("h6",{style:{marginTop:32}},"스킬 기능"),r.createElement(x.l,{label:"스킬 타입",name:"skillType",selectList:R,selectedKey:y,setSelectedKey:function(e){return g(e)},placeholderValue:"선택 안함",size:"md",optionFlexDirection:"column",maxHeight:300}),L&&r.createElement(I.A,{label:"대상 수",value:E,name:"targetCount",onChange:function(e){return w(Number(e.target.value)||0)},type:"number",placeholder:"0 = 전체 대상"}),D&&r.createElement(I.A,{label:"지속 턴 수",value:k,name:"effectDuration",onChange:function(e){return S(Number(e.target.value)||0)},type:"number",placeholder:"효과 지속 턴 수"}),U&&r.createElement(I.A,{label:y===Bu.b0.DRAIN?"흡수율 (%)":y===Bu.b0.POISON?"턴당 피해량":y===Bu.b0.BUFF_ATTACK||y===Bu.b0.BUFF_DEFENSE?"증가율 (%)":y===Bu.b0.DEBUFF_ATTACK||y===Bu.b0.DEBUFF_DEFENSE?"감소율 (%)":"효과 수치",value:j,name:"effectValue",onChange:function(e){return P(Number(e.target.value)||0)},type:"number",placeholder:"수치"}),r.createElement("h6",{style:{marginTop:32}},"사용 가능 스탯 조건"),r.createElement("p",{style:{fontSize:13}},"캐릭터가 아래 수치 이상일때, 스킬 사용이 활성화 됩니다. ",r.createElement("br",null),"그 전까지는 스킬을 보유중이더라도 사용할 수 없습니다."),r.createElement(Ju,null,T.map(function(e,t){return r.createElement(I.A,{key:e,label:H(e,t),value:N[e],name:e,onChange:z,type:"number",placeholder:"수치"})}))),r.createElement(Yu,null,r.createElement(h.A,{onClick:F,block:!0},"저장"),r.createElement(h.A,{onClick:G,shape:"stroke",block:!0},"삭제"))):null};function Zu(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Xu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var es,ts=C.Ay.div(_u||(_u=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  margin-bottom: 12px;\n\n  p {\n    font-size: 13px;\n    margin: 4px 0;\n  }\n"]))),ns=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a="".concat(o.Gf.SKILLS),i=(t=(0,r.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Xu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xu(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(0,l.useCollection)(a,{listen:!0,orderBy:["order","asc"]}).data,d=(0,r.useCallback)(function(){var e={title:"스킬명",imgURL:"",order:(null==s?void 0:s.length)||0};(0,yu.Wb)({collectionPath:a,data:e,fileList:{}})},[s,a]),f=(0,r.useCallback)(function(){var e,t=(e=regeneratorRuntime.mark(function e(t){var n,r,l,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,e.prev=1,r=Ya.default.firestore(),l=r.collection(a),o=r.batch(),n.forEac
1h(function(e,t){e.id&&o.update(l.doc(e.id),{order:t})}),e.next=8,o.commit();case 8:e.next=14;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("스킬 순서 저장 오류:",e.t0),alert("순서 저장 중 오류가 발생했습니다.");case 14:case"end":return e.stop()}},e,null,[[1,10]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Zu(l,r,a,o,i,"next",e)}function i(e){Zu(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),[a]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"전체 스킬 관리"),r.createElement(ts,null,r.createElement("p",null,"📌 스킬은 특정 스탯 조건을 충족할 시 사용가능한 전투 아이템입니다."),r.createElement("p",null,"💡 여기서 추가한 스킬은 '캐릭터별 스킬 설정'에서 캐릭터에게 지급할 수 있습니다.")),r.createElement(ci.A,{list:s||[],onAdd:d,addButtonText:"스킬 추가",searchPlaceholder:"스킬 검색(enter)",droppableCollectionPath:o.Gf.SKILLS,onSelect:u,selectedId:c,onOrder:f,rightEditor:r.createElement(Qu,{docID:c})}))};function rs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e.MEMBER="member",e.LIST="list"}(es||(es={}));var as=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(t=(0,r.useState)(es.MEMBER),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return rs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rs(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1],c=[{value:es.MEMBER,label:"캐릭터별 스킬 설정",isShow:!0,drawView:r.createElement(Mu,null)},{value:es.LIST,label:"스킬 목록",isShow:!0,drawView:r.createElement(ns,null)}];return r.createElement(i.A,{viewOptions:c,defaultViewType:l,customSetViewType:o})},ls=n(2957),os=n(26631),is={isShow:!1,title:"이름",createdAt:new Date,order:0,renderType:"image",type:os.g7.DEFAULT,speed:500,imageWidth:100,imageHeight:120,imageAssets:{front:"",right:"",lifted:"",eat:""},lineColor:"#000000",skinColor:"#FFF6F2",hairColor:"#4A4A4A",eyes:[],eyebrow:[],eyelids:[],eyesStrokeWidth:4,eyeBrowStrokeWidth:3,closeEyes:"1",smileEyes:"1",mouth:"1"},cs={isShow:!1,title:"이름",createdAt:new Date,order:0,renderType:"body",lineColor:"#000000",skinColor:"#FFF6F2",hairColor:"#4A4A4A",underlashColor:"#705353",doubleEyelidColor:"#705353",leftEyeColor:"#4A4A4A",rightEyeColor:"#4A4A4A",leftEyeLineColor:"#000000",rightEyeLineColor:"#000000",irisColor:"#000",eyeHighlightLineColor:"#FF5656",cheekColor:"#FFE4DC",type:os.g7.WALK,speed:500,eyeBrowStrokeWidth:3,eyesStrokeWidth:4,eyes:[{y:15.5,x:2},{y:13,x:28.5},{x:9.5,y:12},{y:14,x:21.5},{y:18,x:19.5}],eyelids:[{y:15.5,x:2},{y:13,x:28.5},{x:9.5,y:12},{y:14,x:21.5},{y:18,x:19.5}],eyebrow:[{y:6,x:3},{y:5,x:9},{x:11,y:1.5},{y:4.5,x:20}],mouth:"1",closeEyes:"1",smileEyes:"1",innerClothColor:"#4A4A4A",outerClothColor:"#4A4A4A"};function us(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ss(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?us(Object(n),!0).forEach(function(t){ds(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):us(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ds(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fs(e){var t=e.collectionPath,n=e.defaultData;return l.fuego.db.collection(t).add(n||cs).then(function(e){return e.id})}function ms(e){var t=e.collectionPath,n=e.data,r=e.docId;return l.fuego.db.collection(t).doc(r).set(ss(ss({},n),{},{editedAt:new Date}),{merge:!0})}var ps,vs,ys,gs,bs,hs=n(97472);function Es(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var xs,ws=C.Ay.div(ps||(ps=Es(["\n  padding: 16px 16px 6px 16px;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 6px;\n\n  color: var(--textColor);\n"]))),As=C.Ay.div(vs||(vs=Es(["\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 8px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  min-width: 100px;\n  min-height: 120px;\n"]))),Cs=C.Ay.img(ys||(ys=Es(["\n  max-width: 100px;\n  max-height: 120px;\n  object-fit: contain;\n  image-rendering: pixelated;\n"]))),ks=C.Ay.p(gs||(gs=Es(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  text-align: center;
1\n"]))),Ss=C.Ay.span(bs||(bs=Es(["\n  font-size: 10px;\n  padding: 1px 6px;\n  border-radius: 3px;\n  background: ",";\n  color: #fff;\n"])),function(e){return e.$isImage?"var(--primaryColor)":"var(--subTextColor)"}),Os=function(e){var t,n=e.data,a=n.title,o=hs.Gl.Simeji,i="image"===n.renderType;return r.createElement(ws,null,r.createElement(As,null,i?null!==(t=n.imageAssets)&&void 0!==t&&t.front?r.createElement(Cs,{src:n.imageAssets.front,alt:a,draggable:!1}):r.createElement(ks,null,"이미지 없음"):r.createElement(ls.A,{data:n,dir:0,type:os.g7.DEFAULT})),r.createElement(Ss,{$isImage:i},i?"이미지":"바디"),r.createElement("p",null,a),r.createElement(w.A,{isChecked:n.isShow,handleSwitch:function(){return function(e){var t=e.collectionPath,n=e.checked,r=e.docId;return l.fuego.db.collection(t).doc(r).set({isShow:!n},{merge:!0})}({collectionPath:o,docId:n.id,checked:n.isShow})}},"활성화"))},Is=(0,c.eU)({key:"currentSimejiDataState",default:{}}),js=n(17743);function Ps(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ts,Rs,Ls,Ds=(Ps(xs={},"lineColor","라인 색"),Ps(xs,"skinColor","피부 색"),Ps(xs,"cheekColor","볼 색"),Ps(xs,"leftEyeColor","왼눈 색"),Ps(xs,"rightEyeColor","오른눈 색"),Ps(xs,"leftEyeLineColor","왼눈 라인 색"),Ps(xs,"rightEyeLineColor","오른눈 라인 색"),Ps(xs,"irisColor","홍채 색"),Ps(xs,"eyeHighlightLineColor","눈 하이라이트 색"),Ps(xs,"underlashColor","언더래쉬 색"),Ps(xs,"doubleEyelidColor","쌍커풀 색"),Ps(xs,"hairColor","머리 색"),Ps(xs,"innerClothColor","안쪽 옷 색"),xs);function Us(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ms(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ms(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ms(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ns(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}Object.keys(Ds).map(function(e){return{key:e,value:Ds[e]}});var zs,Bs=C.Ay.div(Ts||(Ts=Ns(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 4px;\n"]))),Fs=C.Ay.div(Rs||(Rs=Ns(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  min-width: 160px;\n  width: 100%;\n"]))),Gs=C.Ay.div(Ls||(Ls=Ns(["\n  padding: 8px;\n  display: flex;\n  flex-direction: column;\n"]))),Hs=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=Us((0,c.L4)(Is),2),n=t[0],a=(t[1],Us((0,Be.eJ)({lineColor:null==n?void 0:n.lineColor,skinColor:null==n?void 0:n.skinColor,hairColor:null==n?void 0:n.hairColor,leftEyeColor:null==n?void 0:n.leftEyeColor,rightEyeColor:null==n?void 0:n.rightEyeColor,leftEyeLineColor:null==n?void 0:n.leftEyeLineColor,rightEyeLineColor:null==n?void 0:n.rightEyeLineColor,eyeHighlightLineColor:null==n?void 0:n.eyeHighlightLineColor,irisColor:null==n?void 0:n.irisColor,underlashColor:null==n?void 0:n.underlashColor,doubleEyelidColor:null==n?void 0:n.doubleEyelidColor,cheekColor:null==n?void 0:n.cheekColor},{setGlobal:!1,atomState:Is}),3)),l=a[0],o=a[1],i=(a[2],Object.keys(Ds).map(function(e){return r.createElement(r.Fragment,null,r.createElement(Fs,null,r.createElement(Ro.A,null,Ds[e]),r.createElement(E.A,{name:"".concat(e),value:l[e],onChange:o,dir:"top"})))}));return r.createElement(Gs,null,r.createElement(Bs,null,i))};function $s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Vs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?$s(Object(n),!0).forEach(function(t){Ws(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ws(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qs,Ks,Ys=C.Ay.div(zs||(zs=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  gap: 8px;\n"]))),Js={"0x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M10.5 17C10.5 17 14 11 20.5 11C27 11 30.5 17 30.5 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"10.5",cy:"17",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M12.5 8.5H3M3 8.5L5.5 5M3 8.5L5.5 12",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"0y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M8 17C8 17 11.5 11 18 11C24.5 11 28 17 28 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"12.5",cy:"13",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M16.5 4.5L14 2M16.5 4.5L15.5 7.5M16.5 4.5C16.5 4.5 12.5 4.5 8.5 7C4.5 9.5 3 12.5 3 12.5M3 12.5L2 9M3 12.5H6",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"1x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M10.5 17C10.5 17 14 11 20.5 11C27 11 30.5 17 30.5 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"10.5",cy:"17",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M6.75 13.25L6.75 3.75M6.75 3.75L10.25 6.25M6.75 3.75L3.25 6.25",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"1y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M10.5 17C10.5 17 14 11 20.5 11C27 11 30.5 17 30.5 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"16",cy:"12",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M6.75 13.25L6.75 3.75M6.75 3.75L10.25 6.25M6.75 3.75L3.25 6.25",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"2x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 17C7 17 10.5 11 17 11C23.5 11 27 17 27 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"16.5",cy:"11",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M23.5 4.5L10 4.5M23.5 4.5L22 2M23.5 4.5L22 7M10 4.5L12 2M10 4.5L12 7",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"2y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M4 17C4 17 7.5 11 14 11C20.5 11 24 17 24 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"23.5",cy:"17",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M30.5 5.5H21M21 5.5L23.5 2M21 5.5L23.5 9",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"3x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{clipPath:"url(#clip0_4246_214)"},r.createElement("path",{d:"M7 17C7 17 10.5 11 17 11C23.5 11 27 17 27 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"23",cy:"13",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M29.9188 9.84009L30.0278 6.30624M29.9188 9.84009L27.0482 11.1665M29.9188 9.84009C29.9188 9.84009 27.1789 6.92584 22.6176 5.72403C18.0563 4.52222 14.8431 5.48431 14.8431 5.48431M14.8431 5.48431L16.7081 2.35833M14.8431 5.48431L16.898 7.67",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),r.createElement("defs",null,r.createElement("clipPath",{id:"clip0_4246_214"},r.createElement("rect",{width:"34",height:"25",fill:"white"})))),"3y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M4 17C4 17 7.5 11 14 11C20.5 11 24 17 24 17",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"23.5",cy:"17",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M27.5 13.25L27.5 3.75M27.5 3.75L31 6.25M27.5 3.75L24 6.25",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"}))},Qs=function(e){var t,n,a=e.data,l=e.points,o=e.setPoints,i=(0,c.lZ)(Is),u=(t=(0,Mn.zN)({eyeBrowStrokeWidth:a.eyebrowStrokeWidth||3}),n=4,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return _s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_s(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0].eyeBrowStrokeWidth,d=u[1];u[2],u[3],(0,r.useEffect)(function(){i(function(e){return Vs(Vs({},e),{},{eyeBrowStrokeWidth:s})})},[s]);var f=function(e,t,n){var r=l.map(function(r,a){return a===e?Vs(Vs({},r),{},Ws({},t,Number(n))):r});o(r)};return r.createElement(r.Fragment,null,r.createElement(I.A,{label:"눈썹 선 굵기",value:s,name:"eyeBrowStrokeWidth",onChange:d,placeholder:"1~4",type:"number"}),r.createElement(jd,null,l.map(function(e,t){return r.createElement("div",{key:t},r.createElement(Ys,null,Js[t+"x"],r.createElement(tt.A,{value:e.x,customChange:function(e){return f(t,"x",e.target.value)},min:-20,max:100,step:.5,inputWidth:70})),r.createElement(Ys,null,Js[t+"y"],r.createElement(tt.A,{value:e.y,customChange:function(e){return f(t,"y",e.target.value)},min:-20,max:100,step:.5,inputWidth:70})))})))};function Zs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Xs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zs(Object(n),!0).forEach(function(t){ed(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ed(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function td(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(77520);var rd,ad,ld=C.Ay.div(qs||(qs=nd(["\n  display: flex;\n  gap: 8px;\n"]))),od=C.Ay.div(Ks||(Ks=nd(["\n  display: flex;\n  gap: 6px;\n"]))),id={"0x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"7",cy:"15",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M12.5 6.5H3M3 6.5L5.5 3M3 6.5L5.5 10",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"0y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"12.5",cy:"12",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M16.5 4.5L14 2M16.5 4.5L15.5 7.5M16.5 4.5C16.5 4.5 12.5 4.5 8.5 7C4.5 9.5 3 12.5 3 12.5M3 12.5L2 9M3 12.5H6",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"1x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{clipPath:"url(#clip0_4246_232)"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"7.5",cy:"15",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M5.75 10.25L5.75 0.75M5.75 0.75L9.25 3.25M5.75 0.75L2.25 3.25",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),r.createElement("defs",null,r.createElement("clipPath",{id:"clip0_4246_232"},r.createElement("rect",{width:"34",height:"25",fill:"white"})))),"1y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"13",cy:"12",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M6.75 11.25L6.75 1.75M6.75 1.75L10.25 4.25M6.75 1.75L3.25 4.25",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"2x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"21.5",cy:"11",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M23.5 4.5L10 4.5M23.5 4.5L22 2M23.5 4.5L22 7M10 4.5L12 2M10 4.5L12 7",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"2y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"27.5",cy:"14",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M31.5 5.5L18 5.5M31.5 5.5L30 3M31.5 5.5L30 8M18 5.5L20 3M18 5.5L20 8",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"3x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{clipPath:"url(#clip0_4246_248)"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"18",cy:"11",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M25.5479 6.62045L24.6964 3.189M25.5479 6.62045L23.1434 8.67428M25.5479 6.62045C25.5479 6.62045 22.1215 4.55653 17.4052 4.63412C12.6888 4.71171 9.856 6.50755 9.856 6.50755M9.856 6.50755L10.8053 2.99346M9.856 6.50755L12.4258 8.05548",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),r.createElement("defs",null,r.createElement("clipPath",{id:"clip0_4246_248"},r.createElement("rect",{width:"34",height:"25",fill:"white"})))),"3y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M3 15.5C3 15.5 7.5 11 14 11C20.5 11 24.5 13.5 24.5 13.5L21 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"24.5",cy:"14",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M28.5 12.25L28.5 2.75M28.5 2.75L32 5.25M28.5 2.75L25 5.25",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"4x":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"25",cy:"18",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M32.5 5.5L19 5.5M32.5 5.5L31 3M32.5 5.5L31 8M19 5.5L21 3M19 5.5L21 8",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"})),"4y":r.createElement("svg",{width:"34",height:"25",viewBox:"0 0 34 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r.createElement("path",{d:"M7 15.5C7 15.5 11.5 11 18 11C24.5 11 28.5 13.5 28.5 13.5L25 18.5",stroke:"black",strokeWidth:"4",strokeLinecap:"round"}),r.createElement("circle",{cx:"24.5",cy:"19",r:"3",fill:"#FD0000"}),r.createElement("path",{d:"M28.5 12.5L28.5 2M28.5 12.5L31 11M28.5 12.5L26 11M28.5 2L31 4M28.5 2L26 4",stroke:"#FD0000",strokeWidth:"2",strokeLinecap:"round"}))},cd=function(e){var t,n,a=e.data,l=e.points,o=e.setPoints,i=(e.eyeHighlightPoints,e.setEyeHighlightPoints),u=(0,c.lZ)(Is),s=(t=(0,Mn.zN)({eyesStrokeWidth:(null==a?void 0:a.eyesStrokeWidth)||3,eyesWidth:(null==a?void 0:a.eyesWidth)||6.5,irisWidth:(null==a?void 0:a.irisWidth)||3.5}),n=4,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return td(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?td(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=d.eyesStrokeWidth,m=d.eyesWidth,p=d.irisWidth,v=s[1];s[2],s[3],(0,r.useEffect)(function(){u(function(e){return Xs(Xs({},e),{},{eyesStrokeWidth:f,eyesWidth:m,irisWidth:p})})},[f,m,p]);var y=(0,r.useCallback)(function(e,t,n){var r=Number(n);Number.isNaN(r)||o(function(n){return n.map(function(n,a){return a===e?Xs(Xs({},n),{},ed({},t,r)):n})})},[o]);return(0,r.useCallback)(function(e,t,n){var r=Number(n);Number.isNaN(r)||i(function(n){return n.map(function(n,a){return a===e?Xs(Xs({},n),{},ed({},t,r)):n})})},[i]),r.createElement(r.Fragment,null,r.createElement(od,null,r.createElement(I.A,{label:"눈꺼풀 선 굵기",value:f,name:"eyesStrokeWidth",onChange:v,placeholder:"1~4",type:"number"}),r.createElement(I.A,{label:"눈동자 크기",value:m,name:"eyesWidth",onChange:v,placeholder:"3~10",type:"number"}),r.createElement(I.A,{label:"홍채 크기",value:p,name:"irisWidth",onChange:v,placeholder:"3~10",type:"number"})),r.createElement(jd,null,l.map(function(e,t){return r.createElement("div",{key:t},r.createElement(ld,null,id[t+"x"],r.createElement(tt.A,{value:e.x,customChange:function(e){return y(t,"x",e.target.value)},min:-20,max:100,step:.5,inputWidth:70})),r.createElement(ld,null,id[t+"y"],r.createElement(tt.A,{value:e.y,customChange:function(e){return y(t,"y",e.target.value)},min:-20,max:100,step:.5,inputWidth:70})))}
1)))},ud=C.Ay.div(rd||(rd=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  padding: 8px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n  font-size: 14px;\n  color: var(--textColor);\n\n  &:hover {\n    background-color: var(--inkColor);\n    cursor: var(--hoverCursorURL), pointer;\n  }\n"]))),sd=function(e){var t=e.children,n=e.onClick;return r.createElement(ud,{onClick:n},r.createElement("span",null,t))};function dd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function fd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dd(Object(n),!0).forEach(function(t){md(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function md(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pd,vd,yd,gd,bd=C.Ay.div(ad||(ad=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}([""]))),hd=[{title:"시크한눈",eyes:[{y:17,x:2},{y:14.5,x:7},{x:9.5,y:16},{y:14,x:22.5},{y:18,x:21}],eyebrow:[{y:10,x:1},{y:9,x:2},{x:11,y:2},{y:6,x:19}]},{title:"쳐진눈",eyes:[{y:13,x:3},{y:11,x:7.5},{x:17.5,y:12},{x:21,y:16},{x:20.5,y:19}],eyebrow:[{y:3,x:2},{x:23,y:6},{x:5,y:4},{x:18,y:5}]},{title:"굼뜬눈",eyes:[{y:15,x:3},{y:15,x:13},{x:9,y:14},{x:22,y:14},{x:22,y:19}],eyebrow:[{y:5,x:2},{x:13,y:4},{x:18,y:4},{x:20.5,y:5}]},{title:"고양이눈",eyes:[{y:17,x:2},{y:15,x:3},{x:9.5,y:12},{y:12.5,x:23},{y:17.5,x:20.5}],eyebrow:[{y:6,x:1.5},{y:5.5,x:1.5},{x:14,y:-2},{y:1,x:21}]},{title:"동그란눈",eyes:[{y:16,x:3},{y:8,x:10},{x:17.5,y:12},{x:21,y:16},{x:20.5,y:19}],eyebrow:[{y:2,x:2.5},{x:9,y:1},{x:15,y:3.5},{x:20,y:6}]},{title:"말괄량이눈",eyes:[{y:15.5,x:3},{y:12.5,x:5.5},{x:9.5,y:12},{y:15,x:23.5},{y:18.5,x:22}],eyebrow:[{y:6,x:2},{y:4,x:6},{x:11,y:1.5},{y:1,x:20}]},{title:"강인한눈",eyes:[{y:19,x:2},{y:12,x:4},{x:17.5,y:14.5},{y:16,x:22},{y:18,x:21}],eyebrow:[{y:10,x:1},{y:9.5,x:2},{x:21.5,y:6},{y:6,x:20}]}],Ed=function(e){var t=e.setSimejiData,n=(0,r.useCallback)(function(e){t(function(t){return fd(fd({},t),{},{eyes:e.eyes,eyelids:e.eyes,eyebrow:e.eyebrow})})},[]);return r.createElement(bd,null,hd.map(function(e,t){return r.createElement(sd,{key:t,onClick:function(){return n(e)}},e.title)}))};function xd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function wd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xd(Object(n),!0).forEach(function(t){Ad(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ad(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return kd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kd(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Sd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Od=C.Ay.div(pd||(pd=Sd(["\n  display: flex;\n  justify-content: center;\n  width: 100%;\n  gap: 16px;\n  padding: 12px;\n"]))),Id=C.Ay.div(vd||(vd=Sd(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),jd=C.Ay.div(yd||(yd=Sd(["\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 4px;\n"])));C.Ay.div(gd||(gd=Sd(["\n  width: 100%;\n  height: 120px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border: 1px solid var(--lineColor);\n\n  svg {\n    transform: scale(2);\n  }\n"])));var Pd,Td,Rd,Ld=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=Cd((0,c.L4)(Is),2),n=t[0],a=t[1],l=Cd((0,r.useState)(n.eyes||[{x:1.5,y:15.4},{x:5.5,y:13},{x:9.5,y:12},{x:21.5,y:14},{x:19.5,y:18}]),2),o=l[0],i=l[1],u=Cd((0,r.useState)(n.eyebrow||[{x:2,y:5},{x:4.5,y:4},{x:11,y:2},{x:16.5,y:4}]),2),s=u[0],d=u[1],f=Cd((0,r.useState)(n.eyeHighlight||[{x:2,y:2}]),2),m=f[0],p=f[1];return(0,r.useEffect)(function(){n&&n.eyes&&n.eyebrow&&(i(n.eyes),d(n.eyebrow))},[n]),(0,r.useEffect)(function(){a(function(e){return wd(wd({},e),{},{eyes:o,eyelids:o,eyebrow:s,eyesStrokeWidth:n.eyesStrokeWidth,eyeBrowStrokeWidth:n.eyeBrowStrokeWidth,eyeHighlight:m})})},[o,s,m]),r.createElement(Od,null,r.createElement(Ed,{setSimejiData:a}),r.createElement(Id,null,r.createElement(Qs,{points:s,setPoints:d,data:n}),r.createElement(cd,{points:o,setPoints:i,data:n,eyeHighlightPoints:m,setEyeHighlightPoints:p})))},Dd=n(99106);function Ud(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Md(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ud(Object(n),!0).forEach(function(t){Nd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ud(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Nd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Bd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bd(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Fd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Gd,Hd,$d,Vd=C.Ay.div(Pd||(Pd=Fd(["\n  margin-top: 16px;\n  padding: 16px 0;\n  border-top: 1px solid var(--lineColor);\n  display: flex;\n  justify-content: center;\n  width: 100%;\n  gap: 16px;\n"]))),Wd=C.Ay.div(Td||(Td=Fd([""]))),_d=C.Ay.div(Rd||(Rd=Fd(["\n  width: 100%;\n  max-width: 420px;\n  height: 120px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border: 1px solid var(--lineColor);\n  position: relative;\n  svg {\n    transform: scale(2);\n  }\n"]))),qd=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=zd((0,c.L4)(Is),2),n=t[0],a=t[1],l=zd((0,r.useState)(),2),o=l[0],i=l[1],u=(0,r.useCallback)(function(e){return Object.keys(e).map(function(t){return{id:Number(t),path:e[t]}})},[]);(0,r.useEffect)(function(){var e=u(Dd.y);i(e)},[Dd.y]);var s=(0,r.useCallback)(function(e){a(function(t){return Md(Md({},t),{},{mouth:e})})},[]);return r.createElement(Vd,null,r.createElement(Wd,null,o&&o.map(function(e,t){return r.createElement(sd,{key:t,onClick:function(){return s(e.id)}},"입모양 ",e.id)})),r.createElement(_d,{style:{backgroundColor:n.skinColor}},r.createElement("svg",{width:"100",height:"120",viewBox:"0 0 100 120",fill:"none",xmlns:"http://www.w3.org/2000/svg",color:n.lineColor},r.createElement("path",{d:Dd.y[n.mouth],fill:"#E3A9A9",stroke:n.lineColor,strokeLinecap:"round",strokeLinejoin:"round"}))))},Kd=n(45321);function Yd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Jd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Yd(Object(n),!0).forEach(function(t){Qd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Qd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Xd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xd(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ef(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var tf,nf,rf,af=C.Ay.div(Gd||(Gd=ef(["\n  margin-top: 16px;\n  padding: 16px 0;\n  border-top: 1px solid var(--lineColor);\n  display: flex;\n  justify-content: center;\n  width: 100%;\n  gap: 16px;\n"]))),lf=C.Ay.div(Hd||(Hd=ef([""]))),of=C.Ay.div($d||($d=ef(["\n  width: 100%;\n  max-width: 420px;\n  height: 120px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border: 1px solid var(--lineColor);\n  position: relative;\n\n  svg {\n    /* position: absolute;\n    top: 0;\n    left: 0;\n    transform: scale(2); */\n  }\n"]))),cf=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=Zd((0,c.L4)(Is),2),n=t[0],a=t[1],l=Zd((0,r.useState)(),2),o=l[0],i=l[1],u=(0,r.useCallback)(function(e){return Object.keys(e).map(function(t){return{id:Number(t),path:e[t]}})},[]);(0,r.useEffect)(function(){var e=u(Kd.o5);i(e)},[Kd.o5]);var s=(0,r.useCallback)(function(e){a(function(t){return Jd(Jd({},t),{},{closeEyes:e})})},[]);return r.createElement(af,null,r.createElement(lf,null,o&&o.map(function(e,t){return r.createElement(sd,{key:t,onClick:function(){return s(e.id)}},"감은 눈모양 ",e.id)})),r.createElement(of,{style:{backgroundColor:n.skinColor}},r.createElement("svg",{width:"100",height:"120",viewBox:"0 0 100 120",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"}},r.createElement("g",null,r.createElement("path",{d:Kd.o5[n.closeEyes],stroke:n.lineColor,strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{d:Kd.d6[n.closeEyes],stroke:n.doubleEyelidColor,strokeLinecap:"round",strokeLinejoin:"round"})),r.createElement("g",null,r.createElement("path",{d:Kd.jn[n.closeEyes],stroke:n.lineColor,strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{d:Kd.gZ[n.closeEyes],stroke:n.doubleEyelidColor,strokeLinecap:"round",strokeLinejoin:"round"})))))},uf=n(87129);function sf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function df(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sf(Object(n),!0).forEach(function(t){ff(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ff(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return pf(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pf(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pf(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function vf(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var yf,gf,bf=C.Ay.div(tf||(tf=vf(["\n  margin-top: 16px;\n  padding: 16px 0;\n  border-top: 1px solid var(--lineColor);\n  display: flex;\n  justify-content: center;\n  width: 100%;\n  gap: 16px;\n"]))),hf=C.Ay.div(nf||(nf=vf([""]))),Ef=C.Ay.div(rf||(rf=vf(["\n  width: 100%;\n  max-width: 420px;\n  height: 120px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border: 1px solid var(--lineColor);\n  position: relative;\n\n  svg {\n    /* position: absolute;\n    top: 0;\n    left: 0; */\n    /* transform: scale(2); */\n  }\n"]))),xf=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=mf((0,c.L4)(Is),2),n=t[0],a=t[1],l=mf((0,r.useState)(),2),o=l[0],i=l[1],u=(0,r.useCallback)(function(e){return Object.keys(e).map(function(t){return{id:Number(t),path:e[t]}})},[]);(0,r.useEffect)(function(){var e=u(uf.rJ);i(e)},[uf.rJ]);var s=(0,r.useCallback)(function(e){a(function(t){return df(df({},t),{},{smileEyes:e})})},[]);return r.createElement(bf,null,r.createElement(hf,null,o&&o.map(function(e,t){return r.createElement(sd,{key:t,onClick:function(){return s(e.id)}},"웃는 눈모양 ",e.id)})),r.createElement(Ef,{style:{backgroundColor:n.skinColor}},r.createElement("svg",{width:"100",height:"120",viewBox:"0 0 100 120",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},color:n.lineColor},r.createElement("g",null,r.createElement("path",{d:uf.rJ[n.smileEyes],stroke:n.lineColor,strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{d:uf.lf[n.smileEyes],stroke:n.doubleEyelidColor,strokeLinecap:"round",strokeLinejoin:"round"})),r.createElement("g",null,r.createElement("path",{d:uf.WW[n.smileEyes],stroke:n.lineColor,strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),r.createElement("path",{d:uf.ki[n.smileEyes],stroke:n.doubleEyelidColor,strokeLinecap:"round",strokeLinejoin:"round"})))))},wf=C.Ay.div(yf||(yf=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}([""]))),Af=function(e){return function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e),r.createElement(wf,null,r.createElement(Ld,null),r.createElement(qd,null),r.createElement(cf,null),r.createElement(xf,null))};function Cf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kf(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Sf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Of(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Of(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Of(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var If,jf=C.Ay.div(gf||(gf=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 20px;\n  padding: 16px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n"]))),Pf=function(e){var t=e.set,n=Sf((0,c.L4)(Is),2),a=n[0],l=(n[1],hs.Gl.Simeji),o=Sf((0,r.useState)(null),2),i=o[0],u=o[1],s=Sf((0,r.useState)(null),2),d=s[0],f=s[1],m=Sf((0,r.useState)(null),2),p=m[0],v=m[1];function y(e){return g.apply(this,arguments)}function g(){var e;return e=regeneratorRuntime.mark(function e(n){var r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.selectedFile,a=n.key,r){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,(0,me.saveAndGetImgURL)(hs.Gl.Simeji,r);case 5:l=e.sent,t(Cf({},a,l),{merge:!0});case 7:case"end":return e.stop()}},e)}),g=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){kf(l,r,a,o,i,"next",e)}function i(e){kf(l,r,a,o,i,"throw",e)}o(void 0)})},g.apply(this,arguments)}(0,r.useEffect)(function(){y({selectedFile:i,key:"frontHair"})},[i]),(0,r.useEffect)(function(){y({selectedFile:d,key:"sideHair"})},[d]),(0,r.useEffect)(function(){y({selectedFile:p,key:"backHair"})},[p]);var h=(0,r.useCallback)(function(e){var t=e.key,n=e.imgURL;(0,me.deleteImg)({imgURL:n,collectionPath:l,docId:a.id,key:t})},[l,a]);return r.createElement(jf,null,r.createElement("div",null,r.createElement(Ro.A,null,"앞면"),r.createElement(b.PF,null,"100*120 png또는 svg"),r.createElement("div",{style:{width:"100%",maxWidth:"100%"}},r.createElement(A.A,{id:"front-hair",setSelectedFile:u,prevImgURL:a.frontHair||"",text:"이미지 추가",customDelete:function(){return h({key:"frontHair",imgURL:a.frontHair})},style:{height:100}}))),r.createElement("div",null,r.createElement(Ro.A,null,"옆면"),r.createElement(b.PF,null,"[걷기 모션]에 필수 / 100*120 png또는 svg"),r.createElement("div",{style:{width:"100%",maxWidth:"100%"}},r.createElement(A.A,{id:"side-hair",setSelectedFile:f,prevImgURL:a.sideHair||"",text:"이미지 추가",customDelete:function(){return h({key:"sideHair",imgURL:a.sideHair})},style:{height:100}}))),r.createElement("div",null,r.createElement(Ro.A,null,"뒷머리(옵션)"),r.createElement(b.PF,null,"100*120 png또는 svg"),r.createElement("div",{style:{width:"100%",maxWidth:"100%"}},r.createElement(A.A,{id:"back-hair",setSelectedFile:v,prevImgURL:a.backHair||"",text:"이미지 추가",customDelete:function(){return h({key:"backHair",imgURL:a.backHair})},style:{height:100}}))))};function Tf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rf(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Lf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Df(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Df(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Df(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Uf,Mf=C.Ay.div(If||(If=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 20px;\n  padding: 16px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n"]))),Nf=function(e){var t=e.set,n=Lf((0,c.L4)(Is),2),a=n[0],l=(n[1],hs.Gl.Simeji),o=Lf((0,r.useState)(null),2),i=o[0],u=o[1],s=Lf((0,r.useState)(null),2),d=s[0],f=s[1];function m(e){return p.apply(this,arguments)}function p(){var e;return e=regeneratorRuntime.mark(function e(n){var r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.selectedFile,a=n.key,r){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,(0,me.saveAndGetImgURL)(hs.Gl.Simeji,r);case 5:l=e.sent,t(Tf({},a,l),{merge:!0});case 7:case"end":return e.stop()}},e)}),p=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Rf(l,r,a,o,i,"next",e)}function i(e){Rf(l,r,a,o,i,"throw",e)}o(void 0)})},p.apply(this,arguments)}(0,r.useEffect)(function(){m({selectedFile:i,key:"leftAcc"})},[i]),(0,r.useEffect)(function(){m({selectedFile:d,key:"rightAcc"})},[d]);var v=(0,r.useCallback)(function(e){var t=e.key,n=e.imgURL;(0,me.deleteImg)({imgURL:n,collectionPath:l,docId:a.id,key:t})},[l,a]);return r.createElement(Mf,null,r.createElement("div",null,r.createElement(Ro.A,null,"왼쪽 악세사리"),r.createElement(b.PF,null,"100*200 ",r.createElement("br",null),"[걷기]모드 시 보이지 않는 부분이 됩니다."),r.createElement("div",{style:{width:"100%",maxWidth:"100%"}},r.createElement(A.A,{id:"left-acc",setSelectedFile:u,prevImgURL:a.leftAcc||"",text:"이미지 추가",customDelete:function(){return v({key:"acc",imgURL:a.leftAcc})},style:{height:100}}))),r.createElement("div",null,r.createElement(Ro.A,null,"오른쪽 악세사리"),r.createElement(b.PF,null,"100*200 "),r.createElement("div",{style:{width:"100%",maxWidth:"100%"}},r.createElement(A.A,{id:"right-acc",setSelectedFile:f,prevImgURL:a.rightAcc||"",text:"이미지 추가",customDelete:function(){return v({key:"acc",imgURL:a.rightAcc})},style:{height:100}}))))};function zf(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Bf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ff(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bf(Object(n),!0).forEach(function(t){Gf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Gf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hf(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return $f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Vf,Wf,_f,qf,Kf=C.Ay.div(Uf||(Uf=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n  padding: 16px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }
1\n"]))),Yf=[{label:"왼팔",key:"leftHandCloth",id:"leftHand",height:100},{label:"오른팔",key:"rightHandCloth",id:"rightHand",height:100},{label:"왼다리",key:"leftPants",id:"leftPants",height:100},{label:"오른다리",key:"rightPants",id:"rightPants",height:100},{label:"옷",key:"innerCloth",id:"inner-cloth",height:100}],Jf=function(e){var t=e.set,n=Hf((0,c.L4)(Is),2),a=n[0],l=(n[1],Hf((0,r.useState)({rightHandCloth:null,leftHandCloth:null,innerCloth:null,rightPants:null,leftPants:null}),2)),o=l[0],i=l[1],u=hs.Gl.Simeji,s=(0,r.useCallback)(function(){var e,n=(e=regeneratorRuntime.mark(function e(n,r){var a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,(0,me.saveAndGetImgURL)(hs.Gl.Simeji,r);case 4:a=e.sent,t(Gf({},n,a),{merge:!0});case 6:case"end":return e.stop()}},e)}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){zf(l,r,a,o,i,"next",e)}function i(e){zf(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e,t){return n.apply(this,arguments)}}(),[t]);(0,r.useEffect)(function(){Object.entries(o).forEach(function(e){var t=Hf(e,2),n=t[0],r=t[1];r&&s(n,r)})},[o,s]);var d=(0,r.useCallback)(function(e){var t=e.key,n=e.imgURL;(0,me.deleteImg)({imgURL:n,collectionPath:u,docId:a.id,key:t})},[u,a]);return r.createElement(Kf,null,Yf.map(function(e){return r.createElement("div",{key:e.key},r.createElement(Ro.A,null,e.label),r.createElement(b.PF,null,"100*200"),r.createElement("div",{style:{width:"100%",maxWidth:"100%"}},r.createElement(A.A,{id:e.id,setSelectedFile:function(t){return function(e,t){i(function(n){return Ff(Ff({},n),{},Gf({},e,t))})}(e.key,t)},prevImgURL:a[e.key]||"",text:"이미지 추가",customDelete:function(){return d({key:e.key,imgURL:a[e.key]})},style:{height:e.height}})))}))},Qf=n(97185);function Zf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xf(e){return function(e){if(Array.isArray(e))return nm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tm(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function em(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function tm(e,t){if(e){if("string"==typeof e)return nm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nm(e,t):void 0}}function nm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function rm(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var am,lm=C.Ay.div(Vf||(Vf=rm(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  padding: 16px;\n\n  @media (max-width: 480px) {\n  }\n"]))),om=C.Ay.div(Wf||(Wf=rm(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),im=C.Ay.div(_f||(_f=rm(["\n  display: flex;\n  gap: 8px;\n"]))),cm=C.Ay.div(qf||(qf=rm(["\n  width: 100%;\n  display: flex;\n  gap: 12px;\n\n  img {\n    width: 30px;\n    height: 30px;\n    overflow: hidden;\n  }\n"]))),um=function(e){var t,n,a,l=e.set,o=e.data,i=(n=(0,r.useState)(null),a=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,a)||tm(n,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1];function s(){var e;return e=regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.selectedFile,r=t.key,n){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,(0,me.saveAndGetImgURL)(hs.Gl.Simeji,n);case 5:a=e.sent,l(Zf({},r,[].concat(Xf(o.food||[]),[a])),{merge:!0});case 7:case"end":return e.stop()}},e)}),s=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){em(l,r,a,o,i,"next",e)}function i(e){em(l,r,a,o,i,"throw",e)}o(void 0)})},s.apply(this,arguments)}var d=(0,r.useCallback)(function(){!function(e){s.apply(this,arguments)}({selectedFile:c,key:"food"})},[c]),f=(0,r.useCallback)(function(e){var t=e.index,n=e.imgURL;(0,me.deleteImgStorage)(n);var r=(0,Qf.Q)(o.food||[],n,t);
1l({food:r},{merge:!0})},[o]);return r.createElement(lm,null,r.createElement(b.PF,null,"[냠냠]모드에 노출되며, 음식을 추가하면 랜덤으로 출력됩니다."),r.createElement(im,null,r.createElement("div",null,r.createElement(Ro.A,null,"음식"),r.createElement(b.PF,null,"추천 26*26")),r.createElement("div",{style:{width:"100%",maxWidth:"200px"}},r.createElement(A.A,{id:"food-".concat(0),setSelectedFile:u,prevImgURL:"",text:"이미지 추가",style:{height:50}})),r.createElement(h.A,{onClick:d},"음식 추가")),r.createElement(om,null,null===(t=o.food)||void 0===t?void 0:t.map(function(e,t){return r.createElement(cm,{key:t},r.createElement("img",{src:e,alt:""}),r.createElement(h.A,{size:"sm",onClick:function(){return f({index:t,imgURL:e})}},"삭제"))})))};function sm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return dm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dm(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var fm,mm,pm,vm=C.Ay.div(am||(am=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  width: 100%;\n  display: flex;\n  gap: 8px;\n"]))),ym=function(e){var t=e.parentID,n=e.data,a=hs.Gl.Simeji,o=(0,l.useDocument)("".concat(a,"/").concat(t,"/scripts/").concat(n.id),{listen:!0}),i=o.data,c=o.set,u=o.deleteDocument,s=(0,l.useCollection)("".concat(a,"/").concat(t,"/expressions"),{listen:!0,orderBy:["createdAt","desc"]}).data,d=sm((0,Mn.zN)({contents:""}),4),f=d[0].contents,m=d[1],p=d[3],v=sm((0,r.useState)(""),2),y=v[0],g=v[1];(0,r.useEffect)(function(){i&&p({contents:i.contents})},[i]);var b=(0,r.useMemo)(function(){return s?s.map(function(e){return{id:e.id,value:e.title}}):[]},[s]),E=(0,r.useMemo)(function(){if(!s||null==i||!i.face)return"";var e=s.find(function(e){return e.title===i.face});return(null==e?void 0:e.id)||""},[s,null==i?void 0:i.face]);(0,r.useEffect)(function(){g(E)},[E]);var w=(0,r.useCallback)(function(){var e=null==s?void 0:s.find(function(e){return e.id===y}),t={contents:f};e&&(t.face=e.title,t.eyes=e.eyes,t.eyebrow=e.eyebrow),c(t,{merge:!0})},[f,s,y,c]),A=(0,r.useCallback)(function(){u()},[]);return r.createElement(vm,null,r.createElement(I.A,{name:"contents",value:f,onChange:m,placeholder:"대사"}),r.createElement(x.A,{selectList:b,selectedKey:y,setSelectedKey:g,placeholderValue:"표정 선택",maxHeight:240,size:"sm"}),r.createElement(h.A,{size:"sm",onClick:w},"저장"),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return A()}},"삭제"))};function gm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return bm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bm(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function hm(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Em,xm=C.Ay.div(fm||(fm=hm(["\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 8px;\n"]))),wm=C.Ay.div(mm||(mm=hm(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Am=C.Ay.div(pm||(pm=hm(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  padding: 16px;\n\n  @media (max-width: 480px) {\n  }\n"]))),Cm=function(e){e.set;var t=gm((0,c.L4)(Is),2),n=t[0],a=(t[1],hs.Gl.Simeji),o=gm((0,Mn.zN)({contents:""}),2),i=o[0].contents,u=o[1],s=gm((0,r.useState)(""),2),d=s[0],f=s[1],m=(0,l.useCollection)("".concat(a,"/").concat(n.id,"/scripts"),{listen:!0,orderBy:["createdAt","desc"]}),p=m.data,v=m.add,y=(0,l.useCollection)("".concat(a,"/").concat(n.id,"/expressions"),{listen:!0,orderBy:["createdAt","desc"]}).data,g=(0,r.useMemo)(function(){return y?y.map(function(e){return{id:e.id,value:e.title}}
1):[]},[y]),E=(0,r.useCallback)(function(){var e=null==y?void 0:y.find(function(e){return e.id===d}),t={contents:i,createdAt:new Date};e&&(t.face=e.title,t.eyes=e.eyes||n.eyes,t.eyebrow=e.eyebrow||n.eyebrow),v(t)},[v,i,n,y,d]);return r.createElement(Am,null,r.createElement(b.PF,null,"현재 조정된 얼굴이 '표정'으로 등록됩니다."),r.createElement(xm,null,r.createElement(I.A,{name:"contents",value:i,onChange:u,placeholder:"대사"}),r.createElement(x.A,{selectList:g,selectedKey:d,setSelectedKey:f,placeholderValue:"표정 선택",maxHeight:240,size:"sm"}),r.createElement(h.A,{onClick:E},"저장")),r.createElement(wm,null,p&&p.map(function(e,t){return r.createElement(ym,{parentID:n.id,data:e,key:e.id})})))};function km(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Sm,Om,Im,jm=C.Ay.div(Em||(Em=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  width: 100%;\n  display: flex;\n  gap: 8px;\n"]))),Pm=r.memo(function(e){var t,n,a=e.parentID,o=e.data,i=hs.Gl.Simeji,c=(0,l.useDocument)("".concat(i,"/").concat(a,"/expressions/").concat(o.id),{listen:!0}),u=c.data,s=c.set,d=c.deleteDocument,f=(t=(0,Mn.zN)({title:""}),n=4,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return km(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?km(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=f[0].title,p=f[1],v=f[3];(0,r.useEffect)(function(){u&&v({title:u.title})},[u,v]);var y=(0,r.useCallback)(function(){s({title:m,editedAt:new Date},{merge:!0})},[s,m]),g=(0,r.useCallback)(function(){d()},[d]);return r.createElement(jm,null,r.createElement(I.A,{name:"title",value:m,onChange:p,placeholder:"표정 타이틀"}),r.createElement(h.A,{size:"sm",onClick:y},"저장"),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:g},"삭제"))});function Tm(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Rm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rm(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Lm(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Dm,Um,Mm,Nm,zm,Bm,Fm=C.Ay.div(Sm||(Sm=Lm(["\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 8px;\n"]))),Gm=C.Ay.div(Om||(Om=Lm(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Hm=C.Ay.div(Im||(Im=Lm(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  padding: 16px;\n\n  @media (max-width: 480px) {\n  }\n"]))),$m=r.memo(function(e){e.set;var t=Tm((0,c.L4)(Is),1)[0],n=hs.Gl.Simeji,a=Tm((0,Mn.zN)({title:""}),2),o=a[0].title,i=a[1],u=(0,l.useCollection)("".concat(n,"/").concat(t.id,"/expressions"),{listen:!0,orderBy:["createdAt","desc"]}),s=u.data,d=u.add,f=(0,r.useCallback)(function(){d({title:o,createdAt:new Date,lineColor:t.lineColor,skinColor:t.skinColor,hairColor:t.hairColor,leftEyeColor:t.leftEyeColor,rightEyeColor:t.rightEyeColor,leftEyeLineColor:t.leftEyeLineColor,rightEyeLineColor:t.rightEyeLineColor,eyeHighlightLineColor:t.eyeHighlightLineColor,
1irisColor:t.irisColor,underlashColor:t.underlashColor,doubleEyelidColor:t.doubleEyelidColor,cheekColor:t.cheekColor,eyes:t.eyes,eyebrow:t.eyebrow,eyelids:t.eyelids,eyeHighlight:t.eyeHighlight,eyesStrokeWidth:t.eyesStrokeWidth,eyeBrowStrokeWidth:t.eyeBrowStrokeWidth,eyesWidth:t.eyesWidth,irisWidth:t.irisWidth,closeEyes:t.closeEyes,smileEyes:t.smileEyes,mouth:t.mouth})},[d,t,o]);return r.createElement(Hm,null,r.createElement(b.PF,null,"현재 시메지의 얼굴 관련 지표가 표정으로 저장됩니다."),r.createElement(Fm,null,r.createElement(I.A,{name:"title",value:o,onChange:i,placeholder:"표정 타이틀"}),r.createElement(h.A,{onClick:f},"저장")),r.createElement(Gm,null,s&&s.map(function(e){return r.createElement(Pm,{parentID:t.id,data:e,key:e.id})})))});function Vm(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Wm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wm(Object(n),!0).forEach(function(t){qm(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wm(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Km(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ym(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ym(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ym(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Jm(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(31886);var Qm=[{label:"정면",key:"front",description:"기본 대기 포즈",required:!0},{label:"오른쪽",key:"right",description:"걷기 (오른쪽)",required:!0},{label:"왼쪽",key:"left",description:"미등록 시 오른쪽 반전",required:!1},{label:"들렸을 때",key:"lifted",description:"드래그 시 포즈",required:!0},{label:"냠냠",key:"eat",description:"먹기 포즈",required:!0}],Zm=[{label:"꾸벅꾸벅",key:"sleep",description:"졸기 포즈"},{label:"클릭 시",key:"click",description:"클릭 반응"},{label:"오른쪽 걷기2",key:"rightWalk2",description:"걷기 2프레임"},{label:"왼쪽 걷기2",key:"leftWalk2",description:"걷기 2프레임"},{label:"냠냠2",key:"eat2",description:"먹기 2프레임"}],Xm=C.Ay.div(Dm||(Dm=Jm(["\n  padding: 16px;\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n"]))),ep=C.Ay.h5(Um||(Um=Jm(["\n  margin: 0;\n  padding-bottom: 8px;\n  border-bottom: 1px solid var(--lineColor);\n  color: var(--textColor);\n"]))),tp=C.Ay.div(Mm||(Mm=Jm(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 16px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n"]))),np=C.Ay.div(Nm||(Nm=Jm(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),rp=C.Ay.div(zm||(zm=Jm(["\n  display: flex;\n  gap: 12px;\n  align-items: flex-end;\n\n  & > div {\n    flex: 1;\n    max-width: 160px;\n  }\n"]))),ap=C.Ay.span(Bm||(Bm=Jm(["\n  color: var(--dangerColor, #ff4444);\n  font-size: 12px;\n  margin-left: 4px;\n"]))),lp=r.memo(function(e){var t=e.set,n=Km((0,c.L4)(Is),2),a=n[0],l=(n[1],(null==a?void 0:a.imageAssets)||{}),o=Km((0,r.useState)({}),2),i=o[0],u=o[1],s=(0,r.useCallback)(function(e,t){u(function(n){return _m(_m({},n),{},qm({},e,t))})},[]);(0,r.useEffect)(function(){var e=Object.entries(i).filter(function(e){return null!==Km(e,2)[1]});0!==e.length&&(e.forEach(function(){var e,n=(e=regeneratorRuntime.mark(function e(n){var r,l,o,i,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=Km(n,2),l=r[0],o=r[1]){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,(0,me.saveAndGetImgURL)(hs.Gl.Simeji,o);case 5:i=e.sent,c=_m(_m({},(null==a?void 0:a.imageAssets)||{}),{},qm({},l,i)),t({imageAssets:c},{merge:!0});case 8:case"end":return e.stop()}},e)}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Vm(l,r,a,o,i,"next",e)}function i(e){Vm(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return n.apply(this,arguments)}}()),u({}))},[i,null==a?void 0:a.imageAssets,t]);var d=(0,r.useCallback)(function(e){var n=l[e];n&&(0,me.deleteImgStorage)(n);var r=_m(_m({},(null==a?void 0:a.imageAssets)||{}),{},qm({},e,""));t({imageAssets:r},{merge:!0})},[l,null==a?void 0:a.imageAssets,t]),f=(0,r.useCallback)(function(e){var n=e.target,r=n.name,a=n.value,l=parseInt(a,10);!isNaN(l)&&l>0&&t(qm({},r,l),{merge:!0})},[t]),m=(0,r.useCallback)(function(e){return r.createElement(np,{key:e.key},r.createElement(Ro.A,null,e.label,e.required&&r.createElement(ap,null,"*")),r.createElement(b.PF,null,e.description),r.createElement("div",{style:{width:"100%",maxWidth:"100%",marginTop:4}},r.createElement(A.A,{id:"simeji-asset-".concat(e.key),setSelectedFile:function(t){return s(e.key,t)},prevImgURL:l[e.key]||"",text:"이미지 추가",customDelete:function(){return d(e.key)},style:{height:120}})))},[l,s,d]);return r.createElement(Xm,null,r.createElement("div",null,r.createElement(ep,null,"필수 에셋"),r.createElement(b.PF,{style:{marginBottom:12}},"캐릭터의 기본 포즈 이미지를 등록하세요. PNG 투명 배경 권장."),r.createElement(tp,null,Qm.map(m))),r.createElement("div",null,r.createElement(ep,null,"선택 에셋"),r.createElement(b.PF,{style:{marginBottom:12}},"등록하지 않으면 기본 포즈에 CSS 효과가 자동 적용됩니다."),r.createElement(tp,null,Zm.map(m))),r.createElement("div",null,r.createElement(ep,null,"크기 / 속도"),r.createElement(rp,null,r.createElement("div",null,r.createElement(Ro.A,null,"너비 (px)"),r.createElement(I.A,{name:"imageWidth",type:"number",value:(null==a?void 0:a.imageWidth)||100,onChange:f,placeholder:"100"})),r.createElement("div",null,r.createElement(Ro.A,null,"높이 (px)"),r.createElement(I.A,{name:"imageHeight",type:"number",value:(null==a?void 0:a.imageHeight)||120,onChange:f,placeholder:"120"})),r.createElement("div",null,r.createElement(Ro.A,null,"걷기 속도 (ms)"),r.createElement(I.A,{name:"speed",type:"number",value:(null==a?void 0:a.speed)||500,onChange:f,placeholder:"500"})))))});lp.displayName="ImageAssetEditSec";var op,ip,cp,up,sp,dp,fp,mp,pp,vp,yp,gp,bp,hp,Ep=lp,xp=n(80990),wp=n(30972);function Ap(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Cp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Ap(Object(n),!0).forEach(function(t){kp(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ap(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function kp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sp(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Op(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Sp(l,r,a,o,i,"next",e)}function i(e){Sp(l,r,a,o,i,"throw",e)}o(void 0)})}}function Ip(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return jp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jp(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Pp(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Tp,Rp=C.Ay.div(op||(op=Pp(["\n  display: grid;\n  grid-template-areas:\n    'header header'\n    'prev contents';\n  grid-auto-columns: 1fr 1.6fr;\n  grid-template-rows: 60px 1fr;\n  align-items: flex-start;\n  justify-content: flex-start;\n  height: 100%;\n  /* gap: 0 12px; */\n\n  @media (max-width: 480px) {\n    grid-template-areas:\n      'header header'\n      'prev prev'\n      'contents contents';\n    grid-auto-columns: 1fr;\n  }\n"]))),Lp=C.Ay.div(ip||(ip=Pp(["\n  grid-area: prev;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding: 16px;\n  gap: 8px;\n  border-right: 1px solid var(--lineColor);\n"]))),Dp=C.Ay.div(cp||(cp=Pp(["\n  grid-area: header;\n  width: 100%;\n  height: 60px;\n  display: grid;\n  grid-template-columns: auto 1fr auto;\n  align-items: center;\n  gap: 12px;\n  color: var(--textColor);\n  border-bottom: 1px solid var(--lineColor);\n  z-index: 1;\n\n  padding: 0 16px 0 8px;\n  border-bottom: 1px solid var(--lineColor);\n\n  label {\n    width: auto !important;\n  }\n"]))),Up=C.Ay.div(up||(up=Pp(["\n  display: flex;\n  gap: 4px;\n"]))),Mp=C.Ay.div(sp||(sp=Pp(["\n  display: flex;\n  gap: 6px;\n"]))),Np=C.Ay.span(dp||(dp=Pp(["\n  font-size: 11px;\n  padding: 2px 8px;\n  border-radius: 4px;\n  white-space: nowrap;\n  background: ",";\n  color: #fff;\n  height: fit-content;\n"])),function(e){return e.$isImage?"var(--primaryColor)":"var(--subTextColor)"}),zp=C.Ay.div(fp||(fp=Pp(["\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  min-height: 120px;\n  padding: 8px;\n  border: 1px dashed var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  background: var(--cardBackgroundColor);\n"]))),Bp=C.Ay.p(mp||(mp=Pp(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  text-align: center;
1\n"]))),Fp=C.Ay.div(pp||(pp=Pp(["\n  grid-area: contents;\n  height: 100%;\n  ","\n"])),j.kM),Gp=C.Ay.div(vp||(vp=Pp(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  margin-top: 8px;\n"]))),Hp=C.Ay.div(yp||(yp=Pp(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 10px 12px;\n  border-radius: 8px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  width: 100%;\n"]))),$p=C.Ay.div(gp||(gp=Pp(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n  text-align: left;\n"]))),Vp=C.Ay.div(bp||(bp=Pp(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Wp=C.Ay.div(hp||(hp=Pp(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  word-break: keep-all;\n"]))),_p=function(){var e,t,n=(0,c.lZ)(xp.ln),a=hs.Gl.Simeji,o=Ip((0,r.useState)(os.g7.DEFAULT),2),i=o[0],u=o[1],s=Ip((0,c.L4)(Is),2),d=s[0],f=s[1],m=(0,l.useDocument)("".concat(a,"/").concat((null==d?void 0:d.id)||""),{listen:!0}),p=m.data,v=m.set,y=m.deleteDocument,g=Ip((0,Mn.zN)({title:d?d.title:""}),4),b=g[0].title,E=g[1],A=(g[2],g[3]),C=Ip((0,r.useState)(null!==(e=null==p?void 0:p.mouseTracking)&&void 0!==e&&e),2),k=C[0],S=C[1],j=Ip((0,r.useState)((null==p?void 0:p.mouseTrackingStrength)||"medium"),2),P=j[0],T=j[1];(0,r.useEffect)(function(){var e;p&&d||n(!1),p&&(A({title:p.title||""}),S(null!==(e=p.mouseTracking)&&void 0!==e&&e),T(p.mouseTrackingStrength||"medium"),f(p))},[p]);var R=(0,r.useCallback)(Op(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;
1)switch(e.prev=e.next){case 0:if(p){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,ms({collectionPath:a,docId:p.id,data:Cp(Cp(Cp({},p),d),{},{title:b,mouseTracking:k,mouseTrackingStrength:P,__snapshot:""})});case 4:case"end":return e.stop()}},e)})),[a,b,p,d,k,P]),L=(0,r.useCallback)(Op(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(p){e.next=2;break}return e.abrupt("return");case 2:if(!confirm("해당 시메지를 삭제하시겠습니까?")){e.next=8;break}return e.next=5,y();case 5:f(null),e.next=9;break;case 8:return e.abrupt("return");case 9:case"end":return e.stop()}},e)})),[a,p]);if(!p)return null;var D="image"===p.renderType,U=[{order:2,value:"얼굴",contents:r.createElement(Af,null)},{order:0,value:"컬러파레트",contents:r.createElement(Hs,null)},{order:1,value:"헤어",contents:r.createElement(Pf,{set:v})},{order:3,value:"의상",contents:r.createElement(Jf,{set:v})},{order:4,value:"악세사리",contents:r.createElement(Nf,{set:v})},{order:5,value:"음식",contents:r.createElement(um,{set:v,data:p})},{order:6,value:"스크립트",contents:r.createElement(Cm,{set:v})},{order:7,value:"표정",contents:r.createElement($m,{set:v})}],M=D?[{order:0,value:"이미지 에셋",contents:r.createElement(Ep,{set:v})},{order:1,value:"스크립트",contents:r.createElement(Cm,{set:v})},{order:2,value:"표정",contents:r.createElement($m,{set:v})}]:U;return r.createElement(Rp,null,r.createElement(Dp,null,r.createElement(O.A,{onClick:function(){return n(!1)}}),r.createElement(I.A,{placeholder:"이름 20자 내",maxLength:20,name:"title",value:b,onChange:E,required:!0}),r.createElement(Mp,null,r.createElement(h.A,{onClick:L,color:"warning"},"삭제"),r.createElement(h.A,{onClick:R},"저장"))),r.createElement(Lp,null,r.createElement(Up,null,os.b2.map(function(e,t){return r.createElement(h.A,{size:"sm",shape:"stroke",key:t,onClick:function(){return u(e.key)}},e.value)})),D?r.createElement(zp,null,null!=d&&null!==(t=d.imageAssets)&&void 0!==t&&t.front?r.createElement(js.A,{data:d,dir:i===os.g7.WALK?1:0,type:i}):r.createElement(Bp,null,"이미지 에셋을 등록하면",r.createElement("br",null),"미리보기가 표시됩니다")):r.createElement(ls.A,{data:d,dir:0,type:i}),r.createElement(Np,{$isImage:D},D?"이미지 타입":"바디 커스텀 타입"),r.createElement(Gp,null,r.createElement(Ro.A,{style:{fontSize:"12px",fontWeight:600}},"마우스 트래킹"),r.createElement(Hp,null,r.createElement($p,null,r.createElement(Vp,null,"마우스 따라다니기"),r.createElement(Wp,null,"마우스 움직임에 따라 시메지가 살짝 따라다닙니다")),r.createElement(w.A,{isChecked:k,handleSwitch:function(){return S(!k)}}))),k&&r.createElement(x.A,{label:"트래킹 강도",selectList:[{key:"weak",value:"약함",description:wp.yp.weak},{key:"medium",value:"중간",description:wp.yp.medium},{key:"strong",value:"강함",description:wp.yp.strong}],selectedKey:P,setSelectedKey:T,optionFlexDirection:"column"})),r.createElement(Fp,null,r.createElement(Et.A,{tabList:M,noUnderlineAni:!0})))},qp=function(e){return function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e),r.createElement(k.A,{outsideClick:function(){},contentStyle:{width:1080,height:"90vh"}},r.createElement(_p,null))};function Kp(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Yp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yp(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Jp,Qp,Zp,Xp=C.Ay.div(Tp||(Tp=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n"]))),ev=function(){var e=hs.Gl.Simeji,t=(0,l.useCollection)(e,{listen:!0}).data,n=Kp((0,c.L4)(Is),2),a=(n[0],n[1]),o=Kp((0,c.L4)(xp.ln),2),i=o[0],u=o[1],s=t?t.map(function(e,t){return r.createElement("button",{key:e.id,onClick:function(){a(e),u(!0)}},r.createElement(Os,{data:e,key:t}))}):null;return r.createElement(Xp,null,s,i&&r.createElement(qp,null))};function tv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nv(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var rv,av,lv=C.Ay.div(Jp||(Jp=nv(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  overflow-y: hidden;\n"]))),ov=C.Ay.p(Qp||(Qp=nv(["\n  font-size: 14px;\n"]))),iv=C.Ay.div(Zp||(Zp=nv(["\n  display: flex;\n  gap: 8px;\n"]))),cv=function(){var e,t,n=hs.Gl.Simeji,a=(e=(0,c.L4)(Is),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return tv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tv(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=(a[0],a[1]);(0,r.useEffect)(function(){l(null)},[]);var o=(0,r.useCallback)(function(){fs({collectionPath:n})},[]),i=(0,r.useCallback)(function(){fs({collectionPath:n,defaultData:is})},[]);return r.createElement(lv,null,r.createElement("h4",null,"시메지 만들기"),r.createElement(ov,null,"시메지란 홈페이지를 부유하는 캐릭터 시스템 입니다. ",r.createElement("br",null),"보통은 브라우저가 아닌 컴퓨터의 모든 화면을 돌아다니는 캐릭터를 뜻하지만 해당 기능은 갠홈 내부에서만 작동합니다. ",r.createElement("br",null),"아래 가이드를 참고하여 이미지를 만들어 주세요.",r.createElement("br",null),r.createElement("br",null),r.createElement("br",null),r.createElement(Q.A,{linkto:"https://moogongan-guide.notion.site/2391ce32694c804ea7cee0a5f898f4b3?source=copy_link",title:"시메지 제작 가이드",tooltip:"가이드 바로가기"})),r.createElement(iv,null,r.createElement(h.A,{onClick:o},"+ 바디 타입 추가"),r.createElement(h.A,{onClick:i,shape:"stroke"},"+ 이미지 타입 추가")),r.createElement(ev,null))},uv=n(76927);function sv(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function dv(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){sv(l,r,a,o,i,"next",e)}function i(e){sv(l,r,a,o,i,"throw",e)}o(void 0)})}}function fv(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return mv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mv(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function pv(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var vv=C.Ay.div(rv||(rv=pv(["\n  display: flex;\n  gap: 8px;\n  align-items: center;\n  margin-top: 12px;\n\n  @media (max-width: 480px) {\n    flex-direction: column;\n    gap: 4px;\n  }\n"]))),yv=C.Ay.div(av||(av=pv(["\n  padding: 12px 0;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n\n  code {\n    background-color: var(--cardBackgroundColor);\n    padding: 8px;\n    border-radius: var(--cardBorderRadius);\n  }\n\n  img {\n    width: fit-content;\n  }\n"]))),gv=function(e){var t=e.mainHomeData,n=fv((0,r.useState)(!1),2),a=n[0],l=n[1],i="".concat(window.location.origin,"/banner.png"),c=fv((0,r.useState)(null),2),u=c[0],s=c[1],d=(0,r.useCallback)(function(){return(0,uv.A)(i),alert("링크 복사 완료")},[i]),f=(0,r.useCallback)(function(){t&&t.defaultBannerURL&&(0,me.deleteImg)({imgURL:t.defaultBannerURL,key:"defaultBannerURL",docId:o.kV.MAINHOME,collectionPath:o.Gf.MAINHOME})},[t]),m=(0,r.useCallback)(dv(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!u){e.next=3;break}return e.next=3,(0,me.updateImg)({fileList:{selectedFile:u,prevImgURL:(null==t?void 0:t.defaultBannerURL)||""},directory:o.Gf.BANNER,collectionPath:o.kV.MAINHOME,docId:o.kV.MAINHOME,key:"defaultBannerURL"});case 3:s(null);case 4:case"end":return e.stop()}},e)})),[u]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"나의 유동 배너",r.createElement(b.PF,null,"배너 이미지를 교체해도, 변하지 않는 이미지 링크 입니다. ",r.createElement("br",null)," ","이미지가 교체되지 않을 시, 새로고침 해주세요. ",r.createElement("br",null),"권장사이즈는 200 * 40 ì
1ž…니다. (자유사이즈 가능)")),r.createElement(vv,null,r.createElement("div",{style:{width:"100%",maxWidth:300}},r.createElement(A.A,{id:"main-banner",setSelectedFile:s,prevImgURL:(null==t?void 0:t.defaultBannerURL)||"",text:"이미지 추가 (권장 200 * 40)",customDelete:f,style:{height:80}})),r.createElement(h.A,{onClick:m},"저장"),r.createElement(I.A,{value:i,name:"defaultBanner",onClick:d,onChange:function(){}}),r.createElement(h.A,{onClick:function(){return l(!a)},shape:"stroke"},"배너 확인")),a&&r.createElement(yv,null,"배너 확인",r.createElement("code",null,'<img src="'.concat(i,'" alt="유동 배너" />')),r.createElement("img",{src:i,alt:"유동 배너",loading:"lazy"})))},bv=(n(2761),n(6070));function hv(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Ev(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){hv(l,r,a,o,i,"next",e)}function i(e){hv(l,r,a,o,i,"throw",e)}o(void 0)})}}var xv=Ya.default.firestore().collection(o.Gf.BANNER);function wv(e,t){return Av.apply(this,arguments)}function Av(){return(Av=Ev(regeneratorRuntime.mark(function e(t,n){var r,a,l,i,c,u,s,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.selectedFile,a=t.name,l=t.linkto,i=t.prevURL,c=t.directImgURL,u=t.groupId,s=t.openInNewTab,d=i,!r){e.next=13;break}return e.prev=3,i&&(0,me.deleteImgStorage)(i),e.next=7,(0,me.saveAndGetImgURL)(o.Gf.BANNER,r);case 7:d=e.sent,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(3),alert(e.t0.message);case 13:return f={imgURL:d,name:a,linkto:l,openInNewTab:null!=s&&s,directImgURL:c,groupId:u},e.abrupt("return",xv.doc(n).set(f,{merge:!0}).catch(function(e){return alert(e.message)}));case 15:case"end":return e.stop()}},e,null,[[3,10]])}))).apply(this,arguments)}function Cv(e){return kv.apply(this,arguments)}function kv(){return(kv=Ev(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.map(function(e,t){return xv.doc(e.id).update({order:t})}));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Sv(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}var Ov=Ya.default.firestore().collection(o.Gf.BANNER);function Iv(e){return jv.apply(this,arguments)}function jv(){var e;return e=regeneratorRuntime.mark(function e(t){var n,r,a,l,i,c,u,s,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.selectedFile,r=t.name,a=t.linkto,l=t.directImgURL,i=t.groupId,c=t.openInNewTab,i){e.next=3;break}throw new Error("배너를 추가할 그룹을 선택해 주세요.");case 3:return e.next=5,Ov.where("groupId","==",i).get();case 5:if(u=e.sent,s=u.size,d="",!n){e.next=18;break}return e.prev=9,e.next=12,(0,me.saveAndGetImgURL)(o.Gf.BANNER,n);case 12:d=e.sent,e.next=18;break;case 15:e.prev=15,e.t0=e.catch(9),alert(e.t0.message);case 18:return f={imgURL:d,name:r,linkto:a,openInNewTab:null!=c&&c,directImgURL:l,order:s||0,createdAt:new Date,groupId:i},e.abrupt("return",Ov.add(f).catch(function(e){return alert(e.message)}));case 20:case"end":return e.stop()}},e,null,[[9,15]])}),jv=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Sv(l,r,a,o,i,"next",e)}function i(e){Sv(l,r,a,o,i,"throw",e)}o(void 0)})},jv.apply(this,arguments)}var Pv=n(52435);function Tv(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Rv(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Tv(l,r,a,o,i,"next",e)}function i(e){Tv(l,r,a,o,i,"throw",e)}o(void 0)})}}function Lv(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Dv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Dv(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Uv,Mv=function(e){var t=e.close,n=e.isUpdate,a=e.docId,i=e.defaultGroupId,c=Lv((0,r.useState)(!1),2),u=c[0],s=c[1],d=Lv((0,r.useState)(!0),2),f=d[0],m=d[1],p=Lv((0,r.useState)(null),2),v=p[0],y=p[1],g=Lv((0,r.useState)(null),2),b=g[0],E=g[1],w=Lv((0,r.useState)(!1),2),C=w[0],j=w[1],P=Lv((0,r.useState)(""),2),T=P[0],R=P[1],L=Lv((0,r.useState)(!1),2),D=L[0],U=L[1],M=(0,r.useRef)(void 0),N=(0,l.useDocument)("".concat(o.Gf.BANNER,"/").concat(a)),z=N.data,B=(N.set,(0,l.useCollection)(o.Gf.BANNER_GROUP,{listen:!0,orderBy:["order","asc"]}).data),F=Lv((0,Mn.zN)({linkto:n?null==z?void 0:z.linkto:"",name:n?null==z?void 0:z.name:"",directImgURL:n?null==z?void 0:z.directImgURL:""}),3),G=F[0],H=G.linkto,$=G.name,V=G.directImgURL,W=F[1],_=F[2];(0,r.useEffect)(function(){m(!H||!T)},[H,T]);var q=(0,r.useCallback)(function(){E(null),y(null)},[]),K=(0,r.useCallback)(Rv(regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),n={selectedFile:v,name:$,linkto:H,openInNewTab:D,directImgURL:V||"",groupId:T},e.next=4,Iv(n);case 4:s(!1),t(),_(),q();case 8:case"end":return e.stop()}},e)})),[H,$,v,D,V,T]),Y=(0,r.useCallback)(Rv(regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),n={selectedFile:v,name:$,directImgURL:V||"",linkto:H,openInNewTab:D,prevURL:z.imgURL,groupId:T||(null==z?void 0:z.groupId)},e.next=4,wv(n,a);case 4:s(!1),t(),_(),q();case 8:case"end":return e.stop()}},e)})),[v,H,$,D,V,T,z]);(0,r.useEffect)(function(){z&&z.imgURL&&E(z.imgURL),n&&z&&U(!!z.openInNewTab)},[z]),(0,r.useEffect)(function(){n&&null!=z&&z.groupId?M.current!==a&&(M.current=a,R(z.groupId)):n||!i||T?!T&&null!=B&&B.length&&R(B[0].id):R(i)},[z,B,n,i,T,a]);var J=(0,r.useMemo)(function(){return(B||[]).map(function(e){return{id:e.id,value:e.title||"이름 없는 그룹",description:e.description||""}})},[B]);return r.createElement(k.A,{outsideClick:function(){},contentStyle:{maxWidth:500}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:t}),r.createElement("div",{style:{textAlign:"left"}},r.createElement("h6",null,n?"배너 수정":"배너 추가")),r.createElement(h.A,{onClick:n?Y:K,pending:u,disabled:f},n?"수정하기":"추가하기")),r.createElement(S.sC,null,r.createElement(S.r4,null,r.createElement(S.rZ,null,r.createElement(A.A,{id:"banner-thumb",prevImgURL:b,setSelectedFile:y,isUploading:C,setIsUploading:j,fileReset:q,customDelete:function(){(0,Pv.n)(null==z?void 0:z.imgURL,a)}})),r.createElement(S.f6,null,r.createElement(x.l,{label:"배너 그룹",selectList:J,selectedKey:T,setSelectedKey:R,placeholderValue:"그룹을 선택하세요"}),r.createElement(I.A,{label:"배너 설명",placeholder:"설명 입력",maxLength:30,name:"name",value:$,onChange:W}),r.createElement(I.A,{label:"이미지 유동 링크 (https만 가능)",placeholder:"https://",maxLength:1e3,name:"directImgURL",value:V,onChange:W}),r.createElement(I.A,{label:"연결 홈페이지 URL",placeholder:"URL 입력",maxLength:200,name:"linkto",value:H,onChange:W,required:!0}),r.createElement(xt.A,{value:"banner-open-new-tab",checked:D,onChange:function(){return U(function(e){return!e})}},"새 창으로 열기")))))};function Nv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}C.Ay.div(Uv||(Uv=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 0.5fr 1fr auto;\n  gap: 8px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n"])));var zv=function(e){var t,n,a=e.data,l=e.set,o=(e.showBannerCollapse,e.showBannerIncludeNotice),i=void 0!==o&&o,c=e.showBannerSectionBackground,u=void 0!==c&&c,s=null==a?void 0:a.banner,d=(t=(0,Mn.Ge)((null==s?void 0:s.bannerCollapseText)||""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Nv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nv(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=(d[1],(0,r.useCallback)(function(){var e;l({banner:{isBannerCollapse:!(null!=a&&null!==(e=a.banner)&&void 0!==e&&e.isBannerCollapse)}},{merge:!0})},[a,l]),(0,r.useCallback)(function(){l({banner:{bannerCollapseText:f||""}},{merge:!0})},[l,f]),(0,r.useCallback)(function(){var e;l({banner:{bannerIncludeNotice:!(null!=a&&null!==(e=a.banner)&&void 0!==e&&e.bannerIncludeNotice)}},{merge:!0})},[a,l])),p=(0,r.useCallback)(function(){var e;l({banner:{sectionBackgroundSet:!(null!=a&&null!==(e=a.banner)&&void 0!==e&&e.sectionBackgroundSet)}},{merge:!0})},[a,l]);return r.createElement(r.Fragment,null,i&&r.createElement(b.Fd,null,r.createElement(b.O9,null,"배너 포함하기",r.createElement(b.PF,null,"메인 공지에 배너를 포함할지 여부를 결정합니다.")),r.createElement(xt.A,{value:"banner-include-notice",checked:(null==s?void 0:s.bannerIncludeNotice)||!1,onChange:m},"배너 포함")),u&&r.createElement(b.Fd,null,r.createElement(b.O9,null,"배너 섹션 배경",r.createElement(b.PF,null,"메인 홈에서 배너 섹션 배경(카드 스타일) 표시 여부를 설정합니다.")),r.createElement(xt.A,{value:"banner-section-background",checked:(null==s?void 0:s.sectionBackgroundSet)||!1,onChange:p},"배경 있음")))};function Bv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Fv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bv(Object(n),!0).forEach(function(t){Gv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Gv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hv(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function $v(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Hv(l,r,a,o,i,"next",e)}function i(e){Hv(l,r,a,o,i,"throw",e)}o(void 0)})}}var Vv=Ya.default.firestore(),Wv=Vv.collection(o.Gf.BANNER_GROUP),_v=Vv.collection(o.Gf.BANNER);function qv(){return Kv.apply(this,arguments)}function Kv(){return Kv=$v(regeneratorRuntime.mark(function e(){var t,n,r,a,l=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>0&&void 0!==l[0]?l[0]:{},e.next=3,(0,ua.B)(o.Gf.BANNER_GROUP);case 3:return r=e.sent,a={title:n.title||"배너 그룹 ".concat(r+1),description:n.description||"",isCollapsed:null!==(t=n.isCollapsed)&&void 0!==t&&t,order:"number"==typeof n.order?n.order:r,createdAt:new Date},e.abrupt("return",Wv.add(a));case 6:case"end":return e.stop()}},e)})),Kv.apply(this,arguments)}function Yv(e,t){return Jv.apply(this,arguments)}function Jv(){return(Jv=$v(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return e.abrupt("return",Wv.doc(t).set(Fv(Fv({},n),{},{updatedAt:new Date}),{merge:!0}));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Qv(e){return Zv.apply(this,arguments)}function Zv(){return(Zv=$v(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,_v.where("groupId","==",t).get();case 4:return n=e.sent,e.next=7,Promise.all(n.docs.map(function(e){return(0,Pv.O)(e.data().imgURL,e.id)}));case 7:return e.abrupt("return",Wv.doc(t).delete());case 8:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Xv(){return(Xv=$v(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=Vv.batch(),t.forEach(function(e,t){var r=Wv.doc(e.id);n.update(r,{order:t})}),e.abrupt("return",n.commit());case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ey(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ty(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ty(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ty(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ny(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}var ry=Ya.default.firestore();function ay(){return ly.apply(this,arguments)}function ly(){var e;return e=regeneratorRuntime.mark(function e(){var t,n,r,a,l,i,c,u,s,d,f,m;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=ry.collection(o.Gf.MAINHOME).doc(o.kV.MAINHOME),r=ry.collection(o.Gf.BANNER),a=ry.collection(o.Gf.BANNER_GROUP),e.next=5,Promise.all([n.get(),r.get(),a.get()]);case 5:if(l=e.sent,i=ey(l,3),c=i[0],u=i[1],s=i[2],(d=u.docs.filter(function(e){return!e.data().groupId||""===e.data().groupId})).length){e.next=13;break}throw new Error("마이그레이션할 배너가 없습니다.");case 13:if(!c.exists||null===(t=c.data())||void 0===t||!t.bannerMigrationDone){e.next=15;break}throw new Error("이미 마이그레이션을 완료했습니다.");case 15:return e.next=17,a.add({title:"기존 배너 그룹",description:"마이그레이션으로 생성된 그룹",isCollapsed:!1,order:s.size,createdAt:new Date});case 17:return f=e.sent,m=ry.batch(),d.forEach(function(e,t){m.update(e.ref,{groupId:f.id,order:t})}),m.set(n,{bannerMigrationDone:!0},{merge:!0}),e.next=23,m.commit();case 23:return e.abrupt("return",f.id);case 24:case"end":return e.stop()}},e)}),ly=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ny(l,r,a,o,i,"next",e)}function i(e){ny(l,r,a,o,i,"throw",e)}o(void 0)})},ly.apply(this,arguments)}var oy,iy,cy,uy,sy,dy,fy,my,py,vy,yy,gy,by,hy=["id","list","isEdit","handleUpdate"],Ey=["group"];function xy(){return xy=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xy.apply(this,arguments)}function wy(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Ay(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Cy(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Ay(l,r,a,o,i,"next",e)}function i(e){Ay(l,r,a,o,i,"throw",e)}o(void 0)})}}function ky(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sy(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ky(Object(n),!0).forEach(function(t){Oy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ky(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Oy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Iy(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return jy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jy(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Py(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Ty=C.Ay.div(oy||(oy=Py(["\n  width: 100%;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin: 24px 0;\n\n  @media (max-width: 480px) {\n    padding: 16px;\n  }\n"]))),Ry=C.Ay.div(iy||(iy=Py(["\n  display: flex;\n  flex-wrap: wrap;\n  grid-gap: 8px;\n"]))),Ly=C.Ay.div(cy||(cy=Py(["\n  margin-top: 24px;\n  padding: 16px;\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n"]))),Dy=C.Ay.div(uy||(uy=Py(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  justify-content: flex-end;\n"]))),Uy=C.Ay.div(sy||(sy=Py(["\n  margin-top: 24px;\n  padding: 20px 20px 20px 52px;\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  position: relative;\n"]))),My=C.Ay.div(dy||(dy=Py(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  margin-bottom: 12px;\n  justify-content: space-between;\n  align-items: center;\n\n  @media (min-width: 768px) {\n    flex-direction: row;\n  }\n"]))),Ny=C.Ay.div(fy||(fy=Py(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),zy=C.Ay.div(my||(my=Py(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  min-width: 220px;\n"]))),By=C.Ay.div(py||(py=Py(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),Fy=(0,C.Ay)(By)(vy||(vy=Py([""]))),Gy=C.Ay.div(yy||(yy=Py(["\n  font-size: 14px;\n  color: var(--subTextColor);\n  display: flex;\n  align-items: center;\n  justify-content: center;
1\n"]))),Hy=C.Ay.div(gy||(gy=Py(["\n  margin-top: 16px;\n  padding: 16px;\n  border-radius: var(--cardBorderRadius);\n  border: 1px dashed var(--lineColor);\n  background-color: rgba(255, 255, 255, 0.02);\n  line-height: 1.5;\n"]))),$y=C.Ay.div(by||(by=Py(["\n  padding: 16px;\n  text-align: center;\n  color: var(--subTextColor);\n"])));function Vy(e){var t=e.id,n=e.list,a=e.isEdit,l=e.handleUpdate,o=(wy(e,hy),(0,yl.gl)({id:t})),i=o.attributes,c=o.listeners,u=o.isDragging,s=o.setNodeRef,d=o.transform,f=o.transition,m={transform:gl.Ks.Transform.toString(d),transition:f,cursor:u?"grabbing":"grab",opacity:u?.3:1,boxShadow:u?"0 40px 30px -15px rgba(0, 0, 0, 0.2)":void 0};return r.createElement(bv.A,xy({data:n,isEdit:a,style:m,ref:s,handleUpdate:l,docId:t,removable:!0},i,c))}function Wy(e){var t=e.group,n=wy(e,Ey),a=(0,yl.gl)({id:t.id}),l=a.attributes,o=a.listeners,i=a.isDragging,c=a.setNodeRef,u=a.transform,s=a.transition,d={transform:gl.Ks.Transform.toString(u),transition:s,cursor:i?"grabbing":"grab",opacity:i?.85:1};return r.createElement("div",{ref:c,style:d},r.createElement(_y,xy({group:t,isGroupDragging:i,dragAttributes:l,dragListeners:o},n)))}function _y(e){var t,n=e.group,a=e.sensors,l=e.onAddBanner,o=e.onEditBanner,i=e.onDeleteGroup,c=e.onUpdateGroupTitle,u=e.onToggleCollapse,s=e.onToggleShowCollapseButton,d=e.isEdit,f=e.dragAttributes,m=e.dragListeners,p=Iy((0,r.useState)(n.banners),2),v=p[0],y=p[1],g=Iy((0,r.useState)(null),2),b=g[0],E=g[1],x=Iy((0,r.useState)(n.title||""),2),w=x[0],A=x[1],C=Iy((0,r.useState)(n.isCollapsed||!1),2),k=C[0],S=C[1],O=Iy((0,r.useState)(null!==(t=n.showCollapseButton)&&void 0!==t&&t),2),j=O[0],P=O[1];(0,r.useEffect)(function(){y(n.banners)},[n.banners]),(0,r.useEffect)(function(){A(n.title||"")},[n.title]),(0,r.useEffect)(function(){S(n.isCollapsed||!1)},[n.isCollapsed]),(0,r.useEffect)(function(){var e;P(null!==(e=n.showCollapseButton)&&void 0!==e&&e)},[n.showCollapseButton]);var T=(0,r.useMemo)(function(){var e=w.trim();return e.length>0&&e!==(n.title||"")},[w,n.title]),R=(0,r.useCallback)(function(){var e=w.trim();e&&e!==(n.title||"")&&c(n.id,e)},[w,n.title,n.id,c]),L=(0,r.useCallback)(function(){var e=!k;S(e),u(n.id,e)},[n.id,k,u]),D=(0,r.useCallback)(function(e){var t=e.target.checked;P(t),s(n.id,t)},[n.id,s]);return r.createElement(Uy,null,r.createElement(Aa.A,xy({},m||{},f||{},{style:{left:12}})),r.createElement(My,null,r.createElement(Ny,null,r.createElement(I.A,{label:"그룹명",name:"banner-group-".concat(n.id),value:w,onChange:function(e){return A(e.target.value)},placeholder:"배너 그룹명",direction:"row"})),r.createElement(zy,null,r.createElement(By,null,r.createElement(xt.A,{id:"show-collapse-".concat(n.id),value:"show-collapse-".concat(n.id),checked:j,onChange:D},"배너 접기"),r.createElement(h.A,{size:"sm",disabled:!T,onClick:R},"그룹명 저장"),r.createElement(h.A,{size:"sm",shape:"stroke",color:"warning",onClick:function(){return i(n.id)}},"그룹 삭제"),r.createElement(Gy,null,n.banners.length,"개"))),r.createElement(Fy,null,r.createElement(h.A,{size:"sm",onClick:function(){return l(n.id)}},"배너 추가"),r.createElement(Do.A,{icon:"ArrowDown12",size:"sm",shape:"stroke",onClick:L}))),(!j||!k)&&r.createElement(Ly,null,0===n.banners.length?r.createElement($y,null,"등록된 배너가 없습니다."):r.createElement(vl.Mp,{sensors:a,collisionDetection:vl.fp,onDragStart:function(e){var t=e.active.data.current.sortable.index;E(v[t])},onDragEnd:function(e){var t=e.active,n=e.over;n&&(t.id!==n.id&&y(function(e){var r=t.data.current.sortable.index,a=n.data.current.sortable.index,l=(0,yl.be)(e,r,a);return Cv(l),l}),E(null))},onDragCancel:function(){E(null)}},r.createElement(yl.gB,{items:v.map(function(e,t){return e.id||"group-".concat(t)}),strategy:yl.kL},r.createElement(Ry,null,v.map(function(e,t){var n=e.id||"group-".concat(t);return r.createElement(Vy,{key:n,id:n,list:e,isEdit:d,handleUpdate:function(e){return o(e,n)}})}))),r.createElement(vl.Hd,{adjustScale:!0,dropAnimation:{duration:0,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"}},b?r.createElement(bv.A,{data:b}):null))))}var qy=function(e){var t=e.isEdit,n=e.mainHomeData,a=e.set,i=(0,l.useCollection)(o.Gf.BANNER,{listen:!0,orderBy:["order","asc"]}).data,c=(0,l.useCollection)(o.Gf.BANNER_GROUP,{listen:!0,orderBy:["order","asc"]}).data,u=Iy((0,r.useState)([]),2),s=u[0],d=u[1],f=Iy((0,r.useState)(null),2),m=f[0],p=f[1],v=(0,vl.FR)((0,vl.MS)(vl.cA,{activationConstraint:{delay:0,tolerance:0}}),(0,vl.MS)(vl.IG,{activationConstraint:{delay:0,tolerance:0}})),y=(0,vl.FR)((0,vl.MS)(vl.cA,{activationConstraint:{delay:0,tolerance:0}}),(0,vl.MS)(vl.IG,{activationConstraint:{delay:0,tolerance:0}})),g=Iy((0,r.useState)(!1),2),E=g[0],x=g[1],w=Iy((0,r.useState)(!1),2),A=w[0],C=w[1],k=Iy((0,r.useState)(""),2),S=k[0],O=k[1],I=Iy((0,r.useState)(""),2),j=I[0],P=I[1],T=Iy((0,r.useState)(!1),2),R=T[0],L=T[1],D=Iy((0,r.useState)([]),2),U=D[0],M=D[1],N=Iy((0,r.useState)(null),2),z=N[0],B=N[1],F=((null==c?void 0:c.length)||0)>0,G=(0,r.useMemo)(function(){return null!=c&&c.length?c.map(function(e){return Sy(Sy({},e),{},{id:e.id,banners:(i||[]).filter(function(t){return t.groupId===e.id})})}):[]},[c,i]);(0,r.useEffect)(function(){M(function(e){if(!G.length)return[];if(!e.length)return G;var t=e.map(function(e){return e.id}),n=G.map(function(e){return e.id});return t.length===n.length&&t.every(function(e){return n.includes(e)})?t.map(function(t){return G.find(function(e){return e.id===t})||e.find(function(e){return e.id===t})}):G})},[G]);var H=(0,r.useCallback)(function(e){C(!1),O(""),P(e||""),x(!0)},[]),$=(0,r.useCallback)(function(){x(!1),O(""),P("")},[]),V=(0,r.useCallback)(function(e,t){var n;e.stopPropagation(),C(!0),O(t),P((null==i||null===(n=i.find(function(e){return e.id===t}))||void 0===n?void 0:n.groupId)||""),x(!0)},[i]);(0,r.useEffect)(function(){if(i&&!F){var e=i.slice();d(e)}},[i,F]);var W=(0,r.useCallback)(Cy(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,qv();case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),alert(e.t0.message);case 8:case"end":return e.stop()}},e,null,[[0,5]])})),[]),_=(0,r.useCallback)(function(){var e=Cy(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(window.confirm("그룹을 삭제하면 해당 그룹의 배너도 함께 삭제됩니다. 계속할까요?")){e.next=5;break}return e.abrupt("return");case 5:return e.prev=5,e.next=8,Qv(t);case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(5),alert(e.t0.message);case 13:case"end":return e.stop()}},e,null,[[5,10]])}));return function(t){return e.apply(this,arguments)}}(),[]),q=(0,r.useCallback)(function(){var e=Cy(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&n){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,Yv(t,{title:n});case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(2),alert(e.t0.message);case 10:case"end":return e.stop()}},e,null,[[2,7]])}));return function(t,n){return e.apply(this,arguments)}}(),[]),K=(0,r.useCallback)(function(){var e=Cy(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Yv(t,{isCollapsed:n});case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),alert(e.t0.message);case 8:case"end":return e.stop()}},e,null,[[0,5]])}));return function(t,n){return e.apply(this,arguments)}}(),[]),Y=(0,r.useCallback)(function(){var e=Cy(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Yv(t,{showCollapseButton:n});case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),alert(e.t0.message);case 8:case"end":return e.stop()}},e,null,[[0,5]])}));return function(t,n){return e.apply(this,arguments)}}(),[]),J=(0,r.useCallback)(Cy(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(window.confirm("기존 배너 데이터를 새로운 그룹 구조로 마이그레이션할까요?")){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,L(!0),e.next=7,ay();case 7:alert("마이그레이션이 완료되었습니다."),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(3),alert(e.t0.message);case 13:return e.prev=13,L(!1),e.finish(13);case 16:case"end":return e.stop()}},e,null,[[3,10,13,16]])})),[]),Q=(0,r.useCallback)(function(e){var t=e.active.id,n=U.find(function(e){return e.id===t});B(n||null)}
1,[U]),Z=(0,r.useCallback)(function(e){var t=e.active,n=e.over;n&&t.id!==n.id?(M(function(e){var r=e.findIndex(function(e){return e.id===t.id}),a=e.findIndex(function(e){return e.id===n.id});if(r<0||a<0)return e;var l=(0,yl.be)(e,r,a);return function(e){return Xv.apply(this,arguments)}(l.map(function(e){return{id:e.id}})).catch(function(e){return alert(e.message)}),l}),B(null)):B(null)},[]),X=(0,r.useCallback)(function(){B(null)},[]);return r.createElement(b.YO,{startSec:!0},r.createElement(Ty,null,r.createElement("div",null,r.createElement("h5",null,"배너 편집"),r.createElement("p",null,"⚙️ 드래그, 드롭으로 순서 이동이 가능합니다.")),r.createElement(Dy,null,r.createElement(h.A,{size:"sm",onClick:W},"배너 그룹 추가"),r.createElement(h.A,{size:"sm",shape:"stroke",disabled:R||(null==n?void 0:n.bannerMigrationDone),onClick:J},null!=n&&n.bannerMigrationDone?"마이그레이션 완료":"기존 배너 데이터 마이그레이션"))),r.createElement(zv,{data:n,set:a,showBannerCollapse:!0,showBannerSectionBackground:!0}),!F&&r.createElement(r.Fragment,null,r.createElement(Hy,null,"아직 배너 그룹이 생성되지 않았습니다. 상단의"," ",r.createElement("strong",null,"배너 그룹 추가")," 버튼으로 새 그룹을 만들거나,"," ",r.createElement("strong",null,"마이그레이션")," 버튼을 눌러 기존 데이터를 자동으로 이전할 수 있습니다."),r.createElement(Ly,null,r.createElement(vl.Mp,{sensors:v,collisionDetection:vl.fp,onDragStart:function(e){var t=e.active.data.current.sortable.index;p(s[t])},onDragEnd:function(e){var t=e.active,n=e.over;n&&(t.id!==n.id&&d(function(e){var r=t.data.current.sortable.index,a=n.data.current.sortable.index,l=(0,yl.be)(e,r,a);return Cv(l),l}),p(null))},onDragCancel:function(){p(null)}},r.createElement(yl.gB,{items:s.map(function(e,t){return e.id||"legacy-".concat(t)}),strategy:yl.kL},r.createElement(Ry,null,s.map(function(e,n){var a=e.id||"legacy-".concat(n);return r.createElement(Vy,{key:a,id:a,list:e,index:n,isEdit:t,handleUpdate:function(e){return V(e,a)}})}))),r.createElement(vl.Hd,{adjustScale:!0,dropAnimation:{duration:0,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"}},m?r.createElement(bv.A,{data:m}):null)))),F&&r.createElement(vl.Mp,{sensors:y,collisionDetection:vl.fp,onDragStart:Q,onDragEnd:Z,onDragCancel:X},r.createElement(yl.gB,{items:U.map(function(e){return e.id}),strategy:yl.kL},U.map(function(e){return r.createElement(Wy,{key:e.id,group:e,sensors:v,onAddBanner:H,onEditBanner:V,onDeleteGroup:_,onUpdateGroupTitle:q,onToggleCollapse:K,onToggleShowCollapseButton:Y,isEdit:t})})),r.createElement(vl.Hd,{adjustScale:!0,dropAnimation:{duration:150,easing:"ease"}},z?r.createElement(Uy,{style:{opacity:.8}},r.createElement(My,null,r.createElement(Ny,null,r.createElement(Gy,null,z.title||"배너 그룹 이동 중")))):null)),E&&r.createElement(Mv,{close:$,isUpdate:A,docId:S,defaultGroupId:j}))},Ky=n(48526),Yy=n(374),Jy=n(65090),Qy=n(18619);function Zy(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Xy(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Zy(l,r,a,o,i,"next",e)}function i(e){Zy(l,r,a,o,i,"throw",e)}o(void 0)})}}function eg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return tg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tg(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ng={size:!0,align:!0,color:!0,list:!0,blockquote:!0,codeblock:!0,link:!0,image:!0,file:!1,html:!0,emoji:!1,video:!0,header:!0},rg=function(e){var t=e.mainHomeData,n=e.set,a="".concat(window.location.origin,"/banners"),l=eg((0,c.L4)(Jy.ID),2),o=l[0],i=l[1],u=eg((0,c.L4)(Jy.ak),2),s=u[0],d=u[1],f=eg((0,r.useState)(!1),2),m=f[0],p=f[1],v=(0,r.useCallback)(Xy(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n({banner:{contents:o,isHtmlMode:null!=s&&s,backgroundSet:m}},{merge:!0});case 2:case"end":return e.stop()}},e)})),[o,s,m]);return(0,r.useEffect)(function(){var e,n;if(t&&t.banner){var r=t.banner;i(r.contents),p(null!==(e=r.backgroundSet)&&void 0!==e&&e),d(null!==(n=r.isHtmlMode)&&void 0!==n&&n)}},[t]),r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"배너 단독 페이지",r.createElement(b.PF,null,"단독 페이지에 배너 공지 및 목록을 출력합니다. ",r.createElement("br",null),"페이지 하단에 배너가 자동으로 삽입됩니다. 디자인은 [배너] 섹션에서 조절 가능합니다.")),r.createElement(Qy.A,{url:a}),r.createElement(h.A,{block:!0,onClick:v},"저장하기"),r.createElement(b.Fd,null,r.createElement(b.O9,null,"배경 설
1정"),r.createElement(xt.A,{value:"banner-sec-background",checked:m,onChange:function(){p(function(e){return!e})}},"배경 있음")),r.createElement(Ky.HomeGrid,{isBackground:m},r.createElement(Yy.A,{value:o,onChange:i,setToolbar:ng,style:{minHeight:300},placeholder:"배너 페이지 내용을 입력해 주세요.",id:"edit-banner-contents"})))};function ag(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var lg=function(e){var t,n,a=e.isEdit,c=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),u=c.data,s=c.set,d=(t=(0,r.useState)("editBanner"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return ag(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ag(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1],p=[{label:"배너 관리",value:"editBanner",isShow:!0,drawView:r.createElement(qy,{mainHomeData:u,set:s,isEdit:a})},{label:"내 유동 배너",value:"fluidBanner",isShow:!0,drawView:r.createElement(gv,{mainHomeData:u})},{label:"배너 페이지",value:"isolateBanner",isShow:!0,drawView:r.createElement(rg,{mainHomeData:u,set:s})}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:p,defaultViewType:f,customSetViewType:m}))},og=n(19129);function ig(e){return function(e){if(Array.isArray(e))return ug(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||cg(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cg(e,t){if(e){if("string"==typeof e)return ug(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ug(e,t):void 0}}function ug(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n(29109);var sg,dg=function(e){var t,n,a,l,o=e.gridSize,i=e.groupByColor,c=e.setGroupByColor,u=e.selectedColor,s=(a=(0,r.useState)((t=o.rows||1,n=o.cols||1,Array.from({length:t||1},function(){return Array(n).fill(null)}))),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(a,l)||cg(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=s[1],m=(0,r.useRef)(!1),p=(0,r.useRef)(null);(0,r.useEffect)(function(){if(i){var e=function(e){var t=Number(o.rows),n=Number(o.cols),r=Array(t).fill(null).map(function(e,t){return Array(n).fill({color:null,status:null,order:t})});return Object.values(e).forEach(function(e){e.cells.forEach(function(a){var l=a.row,o=a.col;l>=0&&l<t&&o>=0&&o<n?r[l][o]={color:e.color||"",status:e.status||"logo",order:e.order||0}:console.error("Invalid cell position: row=".concat(l,", col=").concat(o))})}),r}(i);f(e)}},[i,u,o]);var v=(0,r.useCallback)(function(e,t){var n=d[e]?d[e][t]:null,a=(null==n?void 0:n.color)||"white";return null==n||n.status,r.createElement("div",{key:"".concat(e,"-").concat(t),onMouseDown:function(n){return y(e,t,n)},onMouseEnter:function(n){return g(e,t,n)},onMouseUp:function(n){return b(e,t,n)},style:{width:"30px",height:"30px",border:"1px solid lightgray",backgroundColor:a,cursor:"var(--hoverCurs
1orURL), pointer"}})},[d]),y=(0,r.useCallback)(function(e,t,n){m.current=!0,p.current={row:e,col:t}},[]),g=(0,r.useCallback)(function(e,t,n){if(m.current&&p.current){for(var r,a=ig(d),l=[p.current.row,p.current.col],o=l[0],c=l[1],s=e,v=t,y=null==i?void 0:i[u],g=(null==y?void 0:y.status)||"empty",b=null!==(r=null==y?void 0:y.order)&&void 0!==r?r:0,h=Math.min(o,s);h<=Math.max(o,s);h++)for(var E=Math.min(c,v);E<=Math.max(c,v);E++)a[h][E]={color:u,status:g,order:b};f(a)}},[m,p,d,u,i]),b=(0,r.useCallback)(function(e,t,n){if(m.current&&p.current){for(var r,a=ig(d),l=[p.current.row,p.current.col],o=l[0],s=l[1],v=e,y=t,g=null==i?void 0:i[u],b=(null==g?void 0:g.status)||"empty",h=null!==(r=null==g?void 0:g.order)&&void 0!==r?r:0,E=Math.min(o,v);E<=Math.max(o,v);E++)for(var x=Math.min(s,y);x<=Math.max(s,y);x++)a[E][x]={color:u,status:b,order:h};f(a);var w=function(e){var t={},n=-1;i&&Object.values(i).forEach(function(e){var t,r;(null!==(t=e.order)&&void 0!==t?t:0)>n&&(n=null!==(r=e.order)&&void 0!==r?r:0)});for(var r=n+1,a=0;a<e.length;a++)for(var l=0;l<e[a].length;l++){var o=e[a]?e[a][l]:null,c=(null==o?void 0:o.color)||"white",u=(null==o?void 0:o.status)||"";if(c&&u){var s="".concat(c);if(!t[s]){var d,f=null==i?void 0:i[s];t[s]={color:c,status:(null==f?void 0:f.status)||u,cells:[],order:null!==(d=null==f?void 0:f.order)&&void 0!==d?d:r++}}t[s].cells.push({row:a,col:l})}}return t}(a);c(w)}m.current=!1},[m,p,d,u,i]);return r.createElement("div",null,r.createElement("div",{style:{display:"grid",gridTemplateColumns:"30px repeat(".concat(o.cols,", 30px)"),gridTemplateRows:"30px repeat(".concat(o.rows,", 30px)")}},r.createElement("div",null),Array.from({length:o.cols}).map(function(e,t){return r.createElement("div",{key:"col"+t,style:{textAlign:"center",fontWeight:"bold"}},t+1)}),Array.from({length:o.rows}).map(function(e,t){return r.createElement(r.Fragment,null,r.createElement("div",{key:"row"
1+t,style:{textAlign:"center",fontWeight:"bold"}},t+1),Array.from({length:o.cols}).map(function(e,n){return v(t,n)}))})))};function fg(e){return fg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fg(e)}function mg(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function pg(e){var t=function(e){if("object"!==fg(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==fg(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===fg(t)?t:String(t)}function vg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yg(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vg(Object(n),!0).forEach(function(t){gg(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vg(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return hg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?hg(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Eg,xg,wg,Ag,Cg,kg=C.Ay.div(sg||(sg=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),Sg=function(e){var t=e.itemData,n=e.selectList,a=e.groupByColorObj,l=e.setGroupByColorObj,o=e.set,i=e.originData,c=e.selectLabel,u=e.selectName,s=bg((0,Be.Ge)({color:(null==t?void 0:t.color)||""},{}),4),d=s[0].color,f=s[1],m=s[2],p=s[3],v=bg((0,r.useState)("empty"),2),y=v[0],g=v[1];(0,r.useEffect)(function(){t&&(m({color:t.color}),g(t.status||"empty"))},[null==t?void 0:t.color,null==t?void 0:t.status,m]);var b=(0,r.useCallback)(function(){if(a){var e=A(a,t.color,d,y),n=yg({},i);null==n||delete n.__snapshot,l(e),o(yg(yg({},n),{},{grid:e})),p()}},[y,d,t,a,l,i,p,o]),w=(0,r.useCallback)(function(){if(a&&confirm("".concat(t.color," 영역을 삭제하시겠습니까?"))){var e=t.color,n=(a[e],mg(a,[e].map(pg))),r=yg({},i);null==r||delete r.__snapshot,l(n),o(yg(yg({},r),{},{grid:n}),{merge:!0}),alert("영역이 삭제되었습니다.")}},[t,a,l,i,o]),A=function(e,t,n,r){var a=e[t];if(!a)return e;var l=a.order,o=a.cells;return e[t],yg(yg({},mg(e,[t].map(pg))),{},gg({},n,{color:n,status:r,order:l,cells:o}))};return r.createElement(kg,null,r.createElement("div",null,r.createElement(E.A,{hexCode:!0,name:"color",value:d,onChange:f})),r.createElement(x.l,{selectList:n,selectedKey:y,setSelectedKey:g,defaultValue:y,dropdownStyle:{width:"100%"},maxHeight:300,dropdownDirection:"bottomLeft",name:u||"선택",label:c}),r.createElement(h.A,{onClick:b},"저장"),r.createElement(h.A,{onClick:w,shape:"stroke"},"삭제"))};function Og(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ig(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Og(Object(n),!0).forEach(function(t){jg(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Og(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Tg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tg(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Tg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Rg(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Lg,Dg,Ug=C.Ay.div(Eg||(Eg=Rg(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),Mg=C.Ay.div(xg||(xg=Rg(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1.5fr;\n  gap: 16px;\n"]))),Ng=C.Ay.div(wg||(wg=Rg(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),zg=C.Ay.div(Ag||(Ag=Rg(["\n  display: flex;\n  justify-content: center;\n  align-items: flex-end;\n  width: 100%;\n  gap: 8px;\n"]))),Bg=(C.Ay.div(Cg||(Cg=Rg(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),function(e){var t=e.originData,n=e.set,a=e.selectList,l=e.initialGrid,o=e.initialRows,i=e.initialCols,c=e.selectName,u=Pg((0,r.useState)(null),2),s=u[0],d=u[1],f=Pg((0,r.useState)(!1),2),m=f[0],p=f[1],v=Pg((0,Be.Ge)({selectedColor:"#FF5733"},{}),2),y=v[0].selectedColor,g=v[1],b=Pg((0,Mn.zN)({rows:o,cols:i}),4),x=b[0],w=x.rows,A=x.cols,C=b[1],k=b[3];(0,r.useEffect)(function(){k({rows:o,cols:i})},[o,i,k]);var S=(0,r.useCallback)(function(){var e=0===Number(w)?1:Number(w),t=0===Number(A)?1:Number(A);if(s){var r={};Object.entries(s).forEach(function(n){var a=Pg(n,2),l=a[0],o=a[1],i=o.cells.filter(function(n){return n.row<e&&n.col<t});i.length>0&&(r[l]=Ig(Ig({},o),{},{cells:i}))}),d(r),p(!0),n({gridSize:{rows:e,cols:t},grid:r},{merge:!0})}else n({gridSize:{rows:e,cols:t}},{merge:!0})},[w,A,n,s]);(0,r.useEffect)(function(){var e=null==t?void 0:t.grid;e?s||m||d(e):s||m||d(l)},[t,s,l,m]);var O=(0,r.useMemo)(function(){return s?Object.values(s).sort(function(e,t){return(e.order||0)-(t.order||0)}):[]},[s]);return r.createElement(Ug,null,r.createElement(Mg,null,r.createElement(dg,{gridSize:{rows:Number(w)||1,cols:Number(A)||1},selectedColor:y,groupByColor:s,setGroupByColor:function(e){p(!0),d(e)}}),r.createElement(Ng,null,r.createElement("div",null,r.createElement(Ro.A,null,"컬러 선택"),r.createElement(E.A,{hexCode:!0,name:"selectedColor",value:y,onChange:g})),r.createElement(zg,null,r.createElement(I.A,{label:"그리드 행",placeholder:"1 이상 숫자",name:"cols",value:A,onChange:C,width:"100%"}),r.createElement("div",{style:{padding:"12px 0"}},"X"),r.createElement(I.A,{label:"그리드 열",placeholder:"1 이상 숫자",name:"rows",value:w,onChange:C,width:"100%"}),r.createElement(h.A,{onClick:S},"저장")),O.map(function(e,l){return r.createElement(Sg,{key:e.color||l,itemData:e,selectList:a,groupByColorObj:s,setGroupByColorObj:d,set:n,originData:t,selectName:c})}))))}),Fg=n(88948);function Gg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Hg(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var $g,Vg=C.Ay.div(Lg||(Lg=Hg(["\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;
1\n"]))),Wg=C.Ay.p(Dg||(Dg=Hg(["\n  width: 100%;\n  border-radius: 6px;\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n  p {\n    font-size: 13px;\n    line-height: 1.6;\n  }\n"]))),_g=function(e){var t,n;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var a,i,c=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),u=c.data,s=c.set,d=(a=(0,r.useState)(null),i=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(a,i)||function(e,t){if(e){if("string"==typeof e)return Gg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gg(e,t):void 0}}(a,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1];return(0,r.useEffect)(function(){f||(u&&u.grid?m(u.grid):m(Fg.Y9))},[u,f]),r.createElement(Vg,null,r.createElement(Wg,{style:{marginBottom:"16px"}},r.createElement("p",null,r.createElement("strong",null,"커스텀형 편집 방법")),r.createElement("p",null,"1.컬러를 선택하고 보드판 위를 드래그 합니다. "),r.createElement("p",null,"2.컬러 영역에 해당하는 역할(기능)을 지정합니다. "),r.createElement("p",null,"3.더욱 많은 섹션 및 정보값을 넣고 싶을 시, 그리드 행,열 개수를 조절합니다."),r.createElement("p",{style:{fontSize:13,color:"var(--subTextColor)"}},"⚠️ 메인 홈의 정보량이 많을수록 모바일에 최적화가 어려울 수 있습니다.")),r.createElement(Bg,{originData:u,set:s,selectList:Fg.dq,initialGrid:Fg.Y9,initialRows:(null==u||null===(t=u.gridSize)||void 0===t?void 0:t.rows)||Fg.Q4.rows,initialCols:(null==u||null===(n=u.gridSize)||void 0===n?void 0:n.cols)||Fg.Q4.cols,selectName:"그리드 범위"}))},qg=n(60435);function Kg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Yg=C.Ay.div($g||($g=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: auto 1fr auto auto;\n  gap: 16px;\n  align-items: center;
1\n"]))),Jg=function(){var e,t,n=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),a=n.data,i=n.set,u=(0,c.lZ)(Wr.TR),s=(e=(0,r.useState)([]),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Kg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kg(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=s[1];return(0,r.useEffect)(function(){null!=a&&a.standingCharacter?f([a.standingCharacter]):f([])},[null==a?void 0:a.standingCharacter]),r.createElement(Yg,null,r.createElement(Ro.A,null,"스탠딩 캐릭터 선택"),r.createElement(qg.A,{initialList:d,setUserList:f,onlySelect:!0,block:!0}),r.createElement(h.A,{onClick:function(){f([]),u(null),i({standingCharacter:null},{merge:!0})},shape:"stroke"},"해제"),r.createElement(h.A,{onClick:function(){var e,t=null!==(e=d[0])&&void 0!==e?e:null;u(t),i({standingCharacter:t},{merge:!0})}},"저장"))};function Qg(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Zg(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Qg(l,r,a,o,i,"next",e)}function i(e){Qg(l,r,a,o,i,"throw",e)}o(void 0)})}}function Xg(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return eb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?eb(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var tb=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),n=t.data,a=t.set,i=Xg((0,r.useState)(og.ry.FREE),2),c=i[0],u=i[1],s=Xg((0,r.useState)(!1),2),d=s[0],f=s[1];(0,r.useEffect)(function(){null!=n&&n.homeType&&u(n.homeType)},[null==n?void 0:n.homeType]);var m=(0,r.useCallback)(function(e){u(e)},[]),p=(0,r.useCallback)(Zg(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return f(!0),e.prev=1,e.next=4,a({homeType:c},{merge:!0});case 4:console.log("✅ 메인 홈 레이아웃 저장 완료"),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("❌ 저장 실패:",e.t0),alert("저장에 실패했습니다. 다시 시도해주세요.");case 11:return e.prev=11,f(!1),e.finish(11);case 14:case"end":return e.stop()}},e,null,[[1,7,11,14]])})),[c,a]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"메인 홈 디자인 설정"),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"레이아웃 유형"),r.createElement(b.ke,null,"메인 홈 전체 구조를 선택하고 저장하세요.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"레이아웃 선택"),r.createElement(Xl.A,{list:og.DG,id:"menuItemGroup",checkedType:c,handleChange:m}),r.createElement("div",null),r.createElement(h.A,{onClick:p,pending:d,disabled:c===(null==n?void 0:n.homeType),block:!0},"저장하기")))),c===og.ry.CUSTOM&&r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"커스텀 디자인 편집"),r.createElement(b.ke,null,"그리드 레이아웃을 자유롭게 편집할 수 있습니다.")),r.createElement(_g,null)),r.createElement(b.xP,{id:"sec-standing-character"},r.createElement(b.X3,null,r.createElement(b.Zi,null,"스탠딩 캐릭터 (기본값)"),r.createElement(b.ke,null,"[게임UI형 레이아웃]에서 메인 홈에 노출되는 기본 스탠딩 캐릭터를 지정합니다. ",r.createElement("br",null),"유저가 [내 계정 > 스탠딩 캐릭터 설정]에서 개인 캐릭터를 지정한 경우 유저 설정이 우선합니다.")),r.createElement(b.iq,null,r.createElement(Jg,null)))))},nb=n(98332);function rb(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function ab(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){rb(l,r,a,o,i,"next",e)}function i(e){rb(l,r,a,o,i,"throw",e)}o(void 0)})}}function lb(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ob(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ob(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ob(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ib,cb=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=lb((0,r.useState)(null),2),n=t[0],a=t[1],i=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),c=i.data,u=i.set,s=lb((0,r.useState)((null==c?void 0:c.imageAlignType)||nb.NO.LEFT),2),d=s[0],f=s[1],m=(0,r.useCallback)(function(){c&&c.mainImgURL&&(0,me.deleteImg)({imgURL:c.mainImgURL,key:"mainImgURL",docId:o.kV.MAINHOME,collectionPath:o.Gf.MAINHOME})},[c]),p=(0,r.useCallback)(ab(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=4;break}return e.next=3,(0,me.updateImg)({fileList:{selectedFile:n,prevImgURL:(null==c?void 0:c.mainImgURL)||""},collectionPath:o.Gf.MAINHOME,docId:o.kV.MAINHOME,key:"mainImgURL"});case 3:a(null);case 4:case"end":return e.stop()}},e)})),[n,c]);return r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"메인 홈 로고 설정"),r.createElement(r.Fragment,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"메인 홈 대표 이미지"),r.createElement("div",{style:{width:"100%",maxWidth:400,height:200}},r.createElement(A.A,{id:"main-home-img-".concat(null==c?void 0:c.id),setSelectedFile:a,prevImgURL:(null==c?void 0:c.mainImgURL)||"",text:"이미지 추가",customDelete:m})))),r.createElement(r.Fragment,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"대표 이미지 정렬"),r.createElement(Xl.A,{list:nb.TZ,id:"menuTextGroup",checkedType:d,handleChange:function(e){f(e),u({imageAlignType:e},{merge:!0})}}))),r.createElement(h.A,{onClick:p},"저장"))},ub=(n(6110),n(96790),n(89349));function sb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var db,fb={POSTING:"posting",TIMELINE:"timeline",GALLERY:"gallery",TRPG:"trpg",MEMO:"memo"},mb=(sb(ib={},fb.POSTING,"포스팅형"),sb(ib,fb.TIMELINE,"타임라인형"),sb(ib,fb.GALLERY,"갤러리형"),sb(ib,fb.TRPG,"TRPG형"),sb(ib,fb.MEMO,"메모형"),ib);function pb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.keys(mb).map(function(e){return{key:e,value:mb[e]}}),C.Ay.div(db||(db=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}([""])));var vb,yb,gb=function(e){var t=e.item,n=e.setCheckArr,a=e.checked,l=(0,r.useCallback)(function(){n(function(e){return a?e.filter(function(e){return e!==t.key}):[].concat(function(e){if(Array.isArray(e))return pb(e)}(n=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,t){if(e){if("string"==typeof e)return pb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pb(e,t):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[t.key]);var n})},[a,t.key,n]);return r.createElement(xt.A,{id:t.key,key:t.key,value:t.value,checked:a,onChange:l},t.value)},bb=C.Ay.div(vb||(vb=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}([""]))),hb=function(e){var t=e.list,n=e.checkArr,a=e.setCheckArr;return r.createElement(bb,null,t.map(function(e,t){return r.createElement(gb,{key:t,item:e,setCheckArr:a,checked:n.includes(e.key)})}))},Eb=n(41387);function xb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wb,Ab,Cb,kb,Sb=(xb(yb={},Eb.J.STAR,r.createElement(uc.A,{name:Eb.J.STAR})),xb(yb,Eb.J.PENCLE,r.createElement(uc.A,{name:Eb.J.PENCLE})),xb(yb,Eb.J.PET,r.createElement(uc.A,{name:Eb.J.PET})),xb(yb,Eb.J.RIGHTARROW,r.createElement(uc.A,{name:Eb.J.RIGHTARROW})),xb(yb,Eb.J.RIGHTARROW2,r.createElement(uc.A,{name:Eb.J.RIGHTARROW2})),xb(yb,Eb.J.PLUS,r.createElement(uc.A,{name:Eb.J.PLUS})),xb(yb,Eb.J.QUEST,r.createElement(uc.A,{name:Eb.J.QUEST})),yb),Ob=Object.keys(Sb).map(function(e){return{key:e,value:Sb[e]}}),Ib=n(96878);function jb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Pb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?jb(Object(n),!0).forEach(function(t){Tb(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Tb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rb(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Lb(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Rb(l,r,a,o,i,"next",e)}function i(e){Rb(l,r,a,o,i,"throw",e)}o(void 0)})}}function Db(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||Ub(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ub(e,t){if(e){if("string"==typeof e)return Mb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mb(e,t):void 0}}function Mb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Nb(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var zb=[o.Gf.GALLERY],Bb=/^([01]\d|2[0-3]):[0-5]\d$/,Fb=C.Ay.div(wb||(wb=Nb(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Gb=C.Ay.div(Ab||(Ab=Nb(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 120px 120px minmax(180px, 1fr) 92px 68px;\n  gap: 8px;\n  align-items: center;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr 1fr;\n  }\n"]))),Hb=C.Ay.div(Cb||(Cb=Nb(["\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),$b=C.Ay.p(kb||(kb=Nb(["\n  margin: 0;\n  font-size: 13px;\n  color: var(--subTextColor);\n  line-height: 1.5;\n"]))),Vb=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME)),i=n.data,u=n.set,s=(0,c.lZ)(Wr.WJ),d=Db((0,r.useState)([fb.POSTING]),2),f=d[0],m=d[1],p=Db((0,r.useState)([]),2),v=p[0],y=p[1],g=Db((0,r.useState)(zb),2),E=g[0],x=g[1],C=Db((0,r.useState)(["guestbook"]),2),k=C[0],S=C[1],O=Db((0,r.useState)([]),2),j=O[0],P=O[1],T=Db((0,r.useState)(null),2),R=T[0],L=T[1],D=(0,r.useMemo)(function(){var e=Object.values(fb);return a.l.boardSet.filter(function(t){var n=t.typeName.toLowerCase();return e.includes(n)}).reduce(function(e,t){var n=t.typeName.toLowerCase();return-1===e.findIndex(function(e){return e.key===t.path})&&e.push({key:t.path,value:mb[n]+(e.filter(function(e){return e.value.startsWith(mb[n])}).length>0?" (".concat(t.path,")"):"")}),e},[])},[]),U=(0,r.useMemo)(function(){return D.filter(function(e){return e.key.startsWith("posting")})},[D]),M=(0,r.useMemo)(function(){return D.filter(function(e){return e.key.startsWith("gallery")})},[D]),N=(0,r.useMemo)(function(){return a.l.boardSet.filter(function(e){return"guestbook"===e.typeName.toLowerCase()}).map(function(e){return{key:e.path,value:"방명록형"+(a.l.boardSet.filter(function(t){return"guestbook"===t.typeName.toLowerCase()&&t.path!==e.path}).length>0?" (".concat(e.path,")"):"")}})},[]);(0,r.useEffect)(function(){var e,t;null!=i&&i.latestIntegrate&&m(i.latestIntegrate),null!=i&&i.noticeIntegrate&&y(i.noticeIntegrate),null!=i&&null!==(e=i.galleryIntegrate)&&void 0!==e&&e.length?x(i.galleryIntegrate):x(zb),null!=i&&null!==(t=i.guestbookIntegrate)&&void 0!==t&&t.length&&S(i.guestbookIntegrate)},[null==i?void 0:i.latestIntegrate,null==i?void 0:i.noticeIntegrate,null==i?void 0:i.galleryIntegrate,null==i?void 0:i.guestbookIntegrate]);var z=Db((0,Mn.zN)({latestTitle:(null==i?void 0:i.latestTitle)||"최신글",bannerTitle:(null==i||null===(t=i.banner)||void 0===t?void 0:t.t
1itleText)||"배너",miniGalleryTitle:(null==i?void 0:i.miniGalleryTitle)||"미니 갤러리",xUserName1:(null==i?void 0:i.xUserName1)||"",guestbookTitle:(null==i?void 0:i.guestbookTitle)||"미니 방명록",guestbookLimit:Number(null==i?void 0:i.guestbookLimit)||4,galleryLimit:Number(null==i?void 0:i.galleryLimit)||4,galleryRow:Number(null==i?void 0:i.galleryRow)||4,marqueeText:(null==i?void 0:i.marqueeText)||"",marqueeTextSpeed:Number(null==i?void 0:i.marqueeTextSpeed)||20}),3),B=z[0],F=B.latestTitle,G=B.bannerTitle,H=B.miniGalleryTitle,$=B.xUserName1,V=B.galleryLimit,W=B.galleryRow,_=B.marqueeText,q=B.marqueeTextSpeed,K=B.guestbookTitle,Y=B.guestbookLimit,J=z[1],Q=z[2],Z=Db((0,r.useState)(!1),2),X=Z[0],ee=Z[1];(0,r.useEffect)(function(){var e;i&&!X&&(Q({latestTitle:i.latestTitle||"최신글",bannerTitle:(null===(e=i.banner)||void 0===e?void 0:e.titleText)||"배너",miniGalleryTitle:i.miniGalleryTitle||"미니 갤러리",xUserName1:i.xUserName1||"",guestbookTitle:i.guestbookTitle||"미니 방명록",guestbookLimit:Number(i.guestbookLimit)||4,galleryLimit:Number(i.galleryLimit)||4,galleryRow:Number(i.galleryRow)||4,marqueeText:i.marqueeText||"",marqueeTextSpeed:Number(i.marqueeTextSpeed)||20}),P((i.marqueeSchedules||[]).map(function(e,t){var n;return{id:e.id||"marquee-".concat(t,"-").concat(Date.now()),startTime:e.startTime||"09:00",endTime:e.endTime||"18:00",text:e.text||"",isActive:null===(n=e.isActive)||void 0===n||n}})),ee(!0))},[i,X]);var te=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!j.find(function(e){return!Bb.test(e.startTime)||!Bb.test(e.endTime)||e.startTime===e.endTime||!e.text.trim()})){e.next=4;break}return alert("시간대별 문구의 시간 형식과 텍스트를 확인해주세요."),e.abrupt("return");case 4:return t=j.map(function(e){var t;return Pb(Pb({},e),{},{text:e.text.trim(),isActive:null===(t=e.isActive)||void 0===t||t})}),n={marqueeText:_,marqueeTextSpeed:Number(q)||20,marqueeSchedules:t},e.next=8,u(n,{merge:!0});case 8:s(function(e){return Pb(Pb({},i||e),n)}),alert("움직이는 공지 설정이 저장되었습니다.");case 10:case"end":return e.stop()}},e)})),[_,q,j,u,s,i]),ne=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=null!=G?G:"",e.next=3,u({banner:{titleText:t}},{merge:!0});case 3:alert("섹션 타이틀 설정이 저장되었습니다.");case 4:case"end":return e.stop()}},e)})),[G,u]),re=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,me.updateImgAndGetURL)({selectedFile:R,prevImgURL:(null==i?void 0:i.postingNoticeIconImage)||"",collectionPath:o.Gf.MAINHOME});case 2:return t=e.sent,e.next=5,u({noticeIntegrate:v,postingNoticeIconImage:t||""},{merge:!0});case 5:alert("공지 디자인 설정이 저장되었습니다.");case 6:case"end":return e.stop()}},e)})),[v,R,i,u]),ae=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u({latestIntegrate:f,latestTitle:F},{merge:!0});case 2:alert("최신글 설정이 저장되었습니다.");case 3:case"end":return e.stop()}},e)})),[f,F,u]),le=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u({xUserName1:$},{merge:!0});case 2:alert("SNS 설정이 저장되었습니다.");case 3:case"end":return e.stop()}},e)})),[$,u]),oe=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=(null==E?void 0:E.length)>0?E:zb,e.next=3,u({miniGalleryTitle:H,galleryLimit:V,galleryRow:W,galleryIntegrate:t},{merge:!0});case 3:alert("미니 갤러리 설정이 저장되었습니다.");case 4:case"end":return e.stop()}},e)})),[H,V,W,E,u]),ie=(0,r.useCallback)(Lb(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,u({guestbookTitle:K,guestbookLimit:Y,guestbookIntegrate:k},{merge:!0});case 2:alert("미니 방명록 설정이 저장되었습니다.");case 3:case"end":return e.stop()}},e)})),[K,Y,k,u]),ce=(0,r.useCallback)(function(e){u({postingNoticeType:e},{merge:!0})},[]),ue=(0,r.useCallback)(function(e){u({titleDesignType:e},{merge:!0})},[]),se=(0,r.useCallback)(function(e){u({latestDocsType:e},{merge:!0})},[]),de=(0,r.useCallback)(function(e){e&&0!==e.length?x(e):x(zb)},[]),fe=(0,r.useCallback)(function(e){e&&0!==e.length?S(e):S(["guestbook"])},[]),pe=(0,r.useCallback)(function(e){var t=e.key,n=e.url;(0,me.deleteImgStorage)(n),u(Tb({},t,""),{merge:!0})},[]),ve=(0,r.useCallback)(function(){P(function(e){return[].concat(function(e){if(Array.isArray(e))return Mb(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||Ub(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[{id:"marquee-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),startTime:"09:00",endTime:"18:00",text:"",isActive:!0}]);var t})},[]),ye=(0,r.useCallback)(function(e,t,n){P(function(r){return r.map(function(r){return r.id===e?Pb(Pb({},r),{},Tb({},t,n)):r})})},[]),ge=(0,r.useCallback)(function(e){P(function(t){return t.filter(function(t){return t.id!==e})})},[]);return r.createElement(b.YO,null,r.createElement(b.fA,null,"디자인 상세 설정"),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"움직이는 공지 (Marquee)"),r.createElement(b.ke,null,"메인 홈 상단에서 반복 재생되는 공지 문구와 속도를 설정합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"움직이는 한줄 텍스트 ",r.createElement("br",null),"(marquee)"),r.createElement(I.A,{placeholder:"공지 문장",maxLength:1e3,name:"marqueeText",value:_,onCh
1ange:J,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"marquee 속도 ",r.createElement("br",null),"(권장 10~50, 낮을수록 빠름)"),r.createElement(I.A,{placeholder:"숫자 권장 10~50",maxLength:100,name:"marqueeTextSpeed",value:q,onChange:J,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"시간대별 문구 ",r.createElement("br",null),"(KST)"),r.createElement(Fb,null,r.createElement($b,null,"매칭되는 시간대가 있으면 해당 문구를 표시하고, 없으면 기본 문구가 표시됩니다."),j.map(function(e){var t;return r.createElement(Gb,{key:e.id},r.createElement(I.A,{type:"time",name:"marquee-start-".concat(e.id),value:e.startTime,onChange:function(t){return ye(e.id,"startTime",t.target.value)}}),r.createElement(I.A,{type:"time",name:"marquee-end-".concat(e.id),value:e.endTime,onChange:function(t){return ye(e.id,"endTime",t.target.value)}}),r.createElement(I.A,{placeholder:"시간대에 표시할 공지 문구",maxLength:1e3,name:"marquee-text-".concat(e.id),value:e.text,onChange:function(t){return ye(e.id,"text",t.target.value)}}),r.createElement(Hb,null,r.createElement(w.A,{isChecked:null===(t=e.isActive)||void 0===t||t,handleSwitch:function(){var t;return ye(e.id,"isActive",!(null===(t=e.isActive)||void 0===t||t))}}),"활성"),r.createElement(h.A,{size:"sm",color:"warning",onClick:function(){return ge(e.id)}},"삭제"))}),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:ve},"시간대 추가")))),r.createElement(h.A,{block:!0,onClick:te},"저장")),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"섹션 타이틀 디자인"),r.createElement(b.ke,null,"타이틀 영역과 최신글 아이콘 스타일을 선택합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"타이틀 섹션 디자인"),r.createElement(Xl.A,{list:Ib.re,id:"titleDesignGroup",checkedType:(null==i?void 0:i.titleDesignType)||Ib.ar.HEADER,handleChange:ue})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"[배너] 섹션 타이틀"),r.createElement(I.A,{placeholder:"배너",maxLength:1e3,name:"bannerTitle",value:G,onChange:J}))),r.createElement(h.A,{block:!0,onClick:ne},"저장")),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"공지 디자인"),r.createElement(b.ke,null,"포스팅 공지 영역의 레이아웃과 아이콘 이미지를 커스터마이징합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"연동 게시판"),r.createElement(hb,{list:U,checkArr:v,setCheckArr:y})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"디자인 타입"),r.createElement(Xl.A,{list:ub.Z,id:"postingnoticeGroup",checkedType:(null==i?void 0:i.postingNoticeType)||ub.Jl.CARD,handleChange:ce})),(null==i?void 0:i.postingNoticeType)===ub.Jl.ICONIMAGE&&r.createElement(b.Fd,null,r.createElement(b.O9,null,"아이콘 이미지"),r.createElement(A.A,{id:"main-home-bg-".concat(null==i?void 0:i.id),setSelectedFile:L,prevImgURL:(null==i?void 0:i.postingNoticeIconImage)||"",text:"포스팅-공지 아이콘 이미지 (추천 세로 40px)",customDelete:function(){return pe({key:"postingNoticeIconImage",url:(null==i?void 0:i.postingNoticeIconImage)||""})},minHeight:60}))),r.createElement(h.A,{block:!0,onClick:re},"저장")),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"최신글 설정"),r.createElement(b.ke,null,"최신글 연동 게시판 및 디자인을 선택합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"연동 게시판"),r.createElement(hb,{list:D,checkArr:f,setCheckArr:m})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"아이콘 디자인"),r.createElement(Xl.A,{list:Ob,id:"latestDocsTypeGroup",checkedType:(null==i?void 0:i.latestDocsType)||Eb.J.STAR,handleChange:se})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"섹션 타이틀"),r.createElement(I.A,{placeholder:"최신글",maxLength:1e3,name:"latestTitle",value:F,onChange:J,required:!0}))),r.createElement(h.A,{block:!0,onClick:ae},"저장")),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"SNS"),r.createElement(b.ke,null,"메인 홈 주요 섹션 제목과 X(트위터) 위젯 아이디를 입력합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"X(트위터) 위젯 아이디"),r.createElement(I.A,{placeholder:"X아이디 @제외",maxLength:1e3,name:"xUserName1",value:$,onChange:J,required:!0}))),r.createElement(h.A,{block:!0,onClick:le},"저장")),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"미니 갤러리"),r.createElement(b.ke,null,"미니 갤러리의 노출 개수와 행 수를 설정합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"섹션 타이틀"),r.createElement(I.A,{placeholder:"미니 갤러리",maxLength:1e3,name:"miniGalleryTitle",value:H,onChange:J,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"연동 게시판"),r.createElement(hb,{list:M,checkArr:E,setCheckArr:de})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"글 노출 개수 ",r.createElement("br",null),"(최신순)"),r.createElement(I.A,{placeholder:"숫자",maxLength:100,name:"galleryLimit",value:V,type:"number",onChange:J,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"라인 개수"),r.createElement(I.A,{placeholder:"숫자",maxLength:100,name:"galleryRow",value:W,type:"number",onChange:J,required:!0}))),r.createElement(h.A,{block:!0,onClick:oe},"저장")),r.createElement(b.xP,null,r.createElement(b.X3,null,r.createElement(b.Zi,null,"미니 방명록"),r.createElement(b.ke,null,"방명록 섹션 타이틀, 연동 게시판, 노출 개수를 조정합니다.")),r.createElement(b.iq,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"섹션 타이틀"),r.createElement(I.A,{placeholder:"미니 방명록",maxLength:1e3,name:"guestbookTitle",value:K,onChange:J,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"연동 게시판"),r.createElement(hb,{list:N,checkArr:k,setCheckArr:fe})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"글 노출 개수 ",r.createElement("br",null),"(최신순)"),r.createElement(I.A,{placeholder:"숫자",maxLength:100,name:"guestbookLimit",value:Y,type:"number",onChange:J,required:!0}))),r.createElement(h.A,{block:!0,onClick:ie},"저장")))};function Wb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var _b=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(t=f("mainHomeLayoutSec"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Wb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wb(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1],c=[{label:"메인 홈 레이아웃",value:"mainHomeLayoutSec",isShow:!0,drawView:r.createElement(tb,null)},{label:"디자인 상세 설정",value:"customDesignDetail",isShow:!0,drawView:r.createElement(Vb,null)},{label:"메인 로고",value:"mainhomeLogoSec",isShow:!0,drawView:r.createElement(cb,null)}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:c,defaultViewType:l,customSetViewType:o}))},qb=n(6873);function Kb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Yb,Jb,Qb,Zb,Xb=function(e){var t,n,a,i,c,u;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var s,d,f=(0,l.useDocument)(o.Mb.JUKEBOX,{listen:!0}),m=f.data,p=f.set,v={backgroundColor:(null==m||null===(t=m.themeSet)||void 0===t?void 0:t.backgroundColor)||"#ffffff",textColor:(null==m||null===(n=m.themeSet)||void 0===n?void 0:n.textColor)||"#ffffff",lineColor:(null==m||null===(a=m.themeSet)||void 0===a?void 0:a.lineColor)||"#ffffff",subTextColor:(null==m||null===(i=m.themeSet)||void 0===i?void 0:i.subTextColor)||"#ffffff",buttonColor:(null==m||null===(c=m.themeSet)||void 0===c?void 0:c.buttonColor)||"#ffffff",cardColor:(null==m||null===(u=m.themeSet)||void 0===u?void 0:u.cardColor)||"#ffffff"},y=(s=(0,Be.Ge)(v,{setGlobal:!1}),d=3,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(s,d)||function(e,t){if(e){if("string"==typeof e)return Kb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kb(e,t):void 0}}(s,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=y[0],x=g.backgroundColor,w=g.textColor,A=g.lineColor,C=g.subTextColor,k=g.buttonColor,S=g.cardColor,O=y[1],I=(y[2],(0,r.useCallback)(function(){p({themeSet:{backgroundColor:x,textColor:w,subTextColor:C,lineColor:A,buttonColor:k,cardColor:S}},{merge:!0})},[x,w,A,C,k,S]));return r.createElement(b.YO,{id:"sec-jukebox-design"},r.createElement(b.fA,null,"음악 플레이어 디자인"),r.createElement(b.sm,null,r.createElement(qb.default,null)),r.createElement(b.sm,null,r.createElement(b.N9,null,r.createElement("label",null,"배경 컬러"),r.createElement(E.A,{name:"backgroundColor",value:x,onChange:O})),r.createElement(b.N9,null,r.createElement("label",null,"메인 폰트 컬러"),r.createElement(E.A,{name:"textColor",value:w,onChange:O})),r.createElement(b.N9,null,r.createElement("label",null,"서브 폰트 컬러"),r.createElement(E.A,{name:"subTextColor",value:C,onChange:O})),r.createElement(b.N9,null,r.createElement("label",null,"라인 컬러"),r.createElement(E.A,{name:"lineColor",value:A,onChange:O})),r.createElement(b.N9,null,r.createElement("label",null,"포인트 컬러"),r.createElement(E.A,{name:"buttonColor",value:k,onChange:O})),r.createElement(b.N9,null,r.createElement("label",null,"카드 컬러"),r.createElement(E.A,{name:"cardColor",value:S,onChange:O}))),r.createElement(h.A,{onClick:I},"저장"))},eh=["data"];function th(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function nh(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){th(l,r,a,o,i,"next",e)}function i(e){th(l,r,a,o,i,"throw",e)}o(void 0)})}}function rh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ah(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ah(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ah(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function lh(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var oh=C.Ay.div(Yb||(Yb=lh(["\n  padding: 12px 12px 12px 32px;\n  box-sizing: border-box;\n  width: 100%;\n  color: var(--textColor);\n  border-bottom: 1px solid var(--lineColor);\n  transition: background-color 0.2s;\n  position: relative; // swap icon 고정시키기용\n\n  display: grid;\n  align-items: start;\n  gap: 12px;\n  grid-template-columns: 32px 0.6fr 1fr 60px;\n"]))),ih=C.Ay.div(Jb||(Jb=lh(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  width: 100%;\n"]))),ch=C.Ay.div(Qb||(Qb=lh(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 8px;\n  width: 100%;\n"])));function uh(e,t){var n,a,l=e.data,i=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,eh),c=i.collectionPath,u=i.docId,s=rh((0,r.useState)(null),2),d=s[0],f=s[1],m=rh((0,r.useState)(null),2),p=m[0],v=m[1],y=rh((0,Mn.zN)({title:l?l.title:"",youtubeURL:l?l.youtubeURL:"",artist:l?l.artist:"",lyrics:l?l.lyrics:""}),3),g=y[0],b=g.title,E=g.youtubeURL,x=g.artist,w=g.lyrics,C=y[1],k=(y[2],(0,r.useCallback)(function(e){l&&Sa({collectionPath:o.Gf.JUKEBOX,docId:l.id,imgURL:l.imgURL||""})},[c,u,l])),S=(0,r.useCallback)(function(){v(null)},[]),O=(0,r.useCallback)(nh(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!l){e.next=7;break}return e.next=3,ha({collectionPath:o.Gf.JUKEBOX,data:{id:l.id,title:b,youtubeURL:E,artist:x||"",lyrics:null!=w?w:""},docId:l.id,fileList:{selectedFile:d,prevImgURL:l.imgURL}});case 3:if(!p){e.next=6;break}return e.next=6,(0,er.hm)({collectionPath:o.Gf.JUKEBOX,key:"file",file:p,docID:l.id,prevURL:(null==l||null===(t=l.file)||void 0===t?void 0:t.url)||""});case 6:S();case 7:case"end":return e.stop()}},e)})),[b,E,x,w,d,p,l]),j=(0,r.useCallback)(function(){l&&Ia({collectionPath:o.Gf.JUKEBOX,imgURL:l.imgURL,docId:l.id})},[l]),P=(0,r.useCallback)(function(){var e;(0,er.Mm)({collectionPath:o.Gf.JUKEBOX,key:"file",docID:l.id,prevURL:(null==l||null===(e=l.file)||void 0===e?void 0:e.url)||""})},[l]);return r.createElement(oh,{ref:t},r.createElement(Aa.A,i),r.createElement("div",null,r.createElement("h6",null,l.order+1)),r.createElement(A.A,{id:"slide-".concat(l.id),setSelectedFile:f,prevImgURL:null==l?void 0:l.imgURL,text:"이미지 추가",customDelete:j,minHeight:120}),r.createElement(ch,null,r.createElement(I.A,{labelWidth:100,label:"타이틀",name:"title",value:b,onChange:C,placeholder:"타이틀",direction:"row"}),r.createElement(I.A,{labelWidth:100,label:"아티스트",name:"artist",value:x,onChange:C,placeholder:"아티스트",direction:"row"}),r.createElement(I.A,{labelWidth:100,label:"유튜브 URL",name:"youtubeURL",value:E,onChange:C,placeholder:"유튜브 URL",direction:"row"}),r.createElement(Xn.A,{labelWidth:100,label:"음악 파일",id:l.id,accept:".mp3,audio/*",prevFile:(null===(n=l.file)||void 0===n?void 0:n.url)||"",prevFileName:(null===(a=l.file)||void 0===a?void 0:a.name)||"",setSelectedFile:v,deleteFile:P,direction:"row"}),r.createElement(fe.A,{label:"가사",name:"lyrics",value:w,onChange:C,placeholder:"가사를 입력하세요...",minRows:3,autoRows:!0})),r.createElement(ih,null,r.createElement(h.A,{onClick:O,size:"md"},"저장"),r.createElement(h.A,{onClick:k,size:"md",shape:"stroke",color:"warning"},"삭제")))}C.Ay.span(Zb||(Zb=lh(["\n  color: var(--subTextColor);\n  font-size: 13px;\n  line-height: 1.3;\n  width: 100%;\n\n  span {\n    font-size: 11px;\n  }\n"])));var sh,dh,fh,mh,ph,vh,yh,gh,bh=(0,r.forwardRef)(uh),hh=C.Ay.p(sh||(sh=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  margin: 4px 0;\n"]))),Eh=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useCollection)("".concat(o.Gf.JUKEBOX),{listen:!0,orderBy:["order","asc"]}),n=t.data,a=t.add,i=(0,r.useCallback)(function(){a({order:(null==n?void 0:n.length)||0,title:"제목",imgURL:"",youtubeURL:"",artist:"",lyrics:"",file:{url:"",name:""},isShow:!0}
1)},[n,a]);return r.createElement(b.YO,{id:"sec-jukebox-list"},r.createElement(b.fA,null,"커스텀 플레이 리스트"),r.createElement("div",null,r.createElement(h.A,{onClick:i,block:!0,shape:"stroke",icon:"Plus14"},"음악 추가"),r.createElement(hh,null,"⚙️ 드래그, 드롭으로 순서 이동이 가능합니다. ",r.createElement("br",null),"이미지 업로드 후 '추가' 버튼을 눌러주세요."),r.createElement(ma.A,{list:n,handleUpdateOrder:xa,collectionPath:o.Gf.JUKEBOX},r.createElement(bh,null))))},xh=n(54075),wh=n(57827),Ah=n(33334),Ch=n(10746);function kh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kh(Object(n),!0).forEach(function(t){Oh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Oh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ih(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function jh(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Ih(l,r,a,o,i,"next",e)}function i(e){Ih(l,r,a,o,i,"throw",e)}o(void 0)})}}function Ph(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||Th(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Th(e,t){if(e){if("string"==typeof e)return Rh(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rh(e,t):void 0}}function Rh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Lh(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Dh,Uh,Mh,Nh,zh,Bh,Fh,Gh,Hh=C.Ay.div(dh||(dh=Lh(["\n  display: grid;\n  grid-template-columns: 1fr auto auto;\n  gap: 8px;\n  align-items: flex-end;\n  justify-content: center;\n  margin-bottom: 8px;\n"]))),$h=C.Ay.div(fh||(fh=Lh(["\n  margin-bottom: 16px;\n"]))),Vh=C.Ay.div(mh||(mh=Lh(["\n  background-color: var(--backgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 10px 12px;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Wh=C.Ay.div(ph||(ph=Lh(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 8px;\n"]))),_h=C.Ay.span(vh||(vh=Lh(["\n  font-size: 11px;\n  font-weight: 700;\n  color: var(--subTextColor);\n  opacity: 0.8;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n"]))),qh=C.Ay.span(yh||(yh=Lh(["\n  font-size: 11px;\n  font-weight: 700;\n  color: var(--primaryColor);\n"]))),Kh=C.Ay.div(gh||(gh=Lh(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 6px;\n"]))),Yh=function(e){var t,n,a=e.data,i=e.itemID,c=e.photocardID,u=(e.index,Ph((0,r.useState)([]),2)),s=u[0],d=u[1],f=Ph((0,r.useState)(!1),2),m=f[0],p=f[1],v="".concat(o.Gf.PHOTOCARD,"/").concat(c,"/").concat(o.Gf.EQUIPMENT),y=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:[["id","!=","statusSetting"]]}).data,g=(0,l.useCollection)(o.Gf.EQUIPMENT,{listen:!0,orderBy:["order","asc"]}).data,b=(0,r.useMemo)(function(){var e,t=new Set([].concat(function(e){if(Array.isArray(e))return Rh(e)}(e=Ch.vi.map(function(e){return e.key}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Th(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),["material"]));return(g||[]).filter(function(e){var n;return!(null==e||!e.id)&&!t.has(e.id)&&Boolean(null===(n=e.title)||void 0===n?void 0:n.trim())})},[g]),E=(0,r.useCallback)(function(e){var t=null==y?void 0:y.find(function(t){return t.id===e}),n=Nu.S.find(function(t){return t.key===e}),r=(null==t?void 0:t.value)||(null==n?void 0:n.value)||e;return"".concat(r," (").concat(e,")")},[y]),x=(0,l.useDocument)("".concat(v,"/").concat(i),{listen:!0}),w=x.data,A=x.set,C=m?s[0]||null:null!==(t=null==w?void 0:w.originItemID)&&void 0!==t?t:null,k=(0,l.useDocument)(C?"".concat(o.Gf.EQUIPMENT,"/").concat(C):null,{listen:!0}).data,S=Ph((0,r.useState)(""),2),O=S[0],j=S[1],P=Ph((0,r.useState)({}),2),T=P[0],R=P[1],L=Ph((0,r.useState)(!1),2),D=L[0],U=L[1],M=null!==(n=Ch.E0[i])&&void 0!==n?n:[],N=(0,r.useCallback)(jh(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return U(!0),e.prev=1,t={},n=s[0]||"",t.originItemID=n,n?(r=parseInt(O,10),t.reinforceCount=isNaN(r)?0:r,M.forEach(function(e){var n=parseInt(T[e]||"",10);t[e]=isNaN(n)?[]:[n]})):(t.reinforceCount=0,M.forEach(function(e){t[e]=[]})),e.next=8,A(t,{merge:!0});case 8:p(!1);case 9:return e.prev=9,U(!1),e.finish(9);case 12:case"end":return e.stop()}},e,null,[[1,,9,12]])})),[s,O,T,M,A]),z=(0,r.useCallback)(function(){p(!0),d([]),j(""),R({})},[]),B=(0,r.useCallback)(function(e){return function(t){R(function(n){return Sh(Sh({},n),{},Oh({},e,t.target.value))})}},[]);return(0,r.useEffect)(function(){var e,t=null!==(e=null==w?void 0:w.originItemID)&&void 0!==e?e:null==a?void 0:a.originItemID;m||d(t?[t]:[])},[null==w?void 0:w.originItemID,null==a?void 0:a.originItemID,m]),(0,r.useEffect)(function(){if(m){if(!s[0])return j(""),void R({});var e={};return M.forEach(function(t){var n,r=null==k||null===(n=k.maxStatValues)||void 0===n?void 0:n[t];e[t]=null!=r?String(r):""}),j(""),void R(e)}
1if(w){j(null!=w.reinforceCount?String(w.reinforceCount):"");var t={};M.forEach(function(e){var n=w[e];if(Array.isArray(n)&&n.length>0)t[e]=String(n[0]);else{var r,a=null==k||null===(r=k.maxStatValues)||void 0===r?void 0:r[e];t[e]=null!=a?String(a):""}}),R(t)}},[w,k,m,s,M]),r.createElement($h,null,r.createElement(Hh,null,r.createElement(vu.A,{label:Ch.LF[i]+" "+i,placeholder:"장비명 입력 후 ENTER",collectionPath:o.Gf.EQUIPMENT,items:b,selectedIDList:s,setSelectedIDList:function(e){p(!0),d(e)},id:"equip-item",selectOnlyOne:!0}),r.createElement(h.A,{size:"sm",onClick:z,shape:"ghost",color:"warning"},"장비 해제"),r.createElement(h.A,{onClick:N,pending:D},"저장")),r.createElement(Vh,null,r.createElement(Wh,null,r.createElement(_h,null,"스탯 강제설정"),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},(null==k?void 0:k.title)&&r.createElement("span",{style:{fontSize:11,color:"var(--subTextColor)",opacity:.7}},"기준: ",k.title),null!=(null==w?void 0:w.reinforceCount)&&r.createElement(qh,null,"현재 강화 +",w.reinforceCount))),r.createElement(Kh,null,r.createElement(I.A,{type:"number",label:"강화 단계",name:"reinforce-".concat(i),value:O,onChange:function(e){return j(e.target.value)},placeholder:"0",min:0}),M.map(function(e){var t;return r.createElement(I.A,{key:e,type:"number",label:E(e),name:"stat-".concat(i,"-").concat(e),value:null!==(t=T[e])&&void 0!==t?t:"",onChange:B(e),placeholder:"미설정",min:0})}))))};function Jh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Jh(Object(n),!0).forEach(function(t){Zh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Zh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function eE(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var tE=C.Ay.div(Dh||(Dh=eE(["\n  display: grid;\n  grid-template-rows: 1fr auto;\n  gap: 8px;\n  height: 100%;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"]))),nE=C.Ay.div(Uh||(Uh=eE(["\n  padding: 12px;\n  ",";\n"])),j.kM),rE=C.Ay.div(Mh||(Mh=eE(["\n  border: 1px solid var(--cardLineColor);\n  border-radius: var(--cardBorderRadius);\n  margin-bottom: 10px;\n  overflow: hidden;\n  opacity: ",";\n"])),function(e){return e.$disabled?.5:1}),aE=C.Ay.button(Nh||(Nh=eE(["\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  background: var(--backgroundColor);\n  border: 0;\n  border-bottom: ",";\n  padding: 10px 12px;\n  font-size: 13px;\n  font-weight: 700;\n  color: var(--textColor);\n  cursor: pointer;\n"])),function(e){return e.$isOpen?"1px solid var(--cardLineColor)":"0"}),lE=C.Ay.div(zh||(zh=eE(["\n  padding: 10px 12px;\n"]))),oE=C.Ay.span(Bh||(Bh=eE(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  transform: ",";\n  transition: transform 0.18s ease;\n"])),function(e){return e.$isOpen?"rotate(180deg)":"rotate(0deg)"});C.Ay.div(Fh||(Fh=eE(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n"]))),C.Ay.div(Gh||(Gh=eE(["\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 8px;\n"])));var iE,cE,uE,sE=function(e){var t,n,a=e.docID,i="".concat(o.Gf.PHOTOCARD,"/").concat(a,"/").concat(o.Gf.EQUIPMENT),c=Ch.vi.map(function(e){return e.key}),u=(0,l.useCollection)(i,{listen:!0}).data,s=(0,l.useCollection)(o.Gf.EQUIPMENT,{listen:!0,where:[["id","in",c]]}).data,d=(t=(0,r.useState)({}),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Xh(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xh(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1],p=(0,r.useMemo)(function(){var e=new Map;return(s||[]).forEach(function(t){null!=t&&t.id&&e.set(t.id,!1!==t.isEnabled)}),e},[s]);return r.createElement(tE,null,r.createElement(nE,null,u&&Ch.vi.map(function(e,t){var n,l=null!==(n=f[e.key])&&void 0!==n&&n,o=!1!==p.get(e.key);return r.createElement(rE,{key:e.key,$disabled:!o},r.createElement(aE,{$isOpen:l,type:"button",onClick:function(){return t=e.key,void m(function(e){var n;return Qh(Qh({},e),{},Zh({},t,!(null!==(n=e[t])&&void 0!==n&&n)))});var t}},r.createElement("span",null,Ch.LF[e.key]," (",e.key,")"),r.createElement(oE,{$isOpen:l},r.createElement(uc.A,{name:"ArrowDown12",color:"var(--subTextColor)"}))),l&&r.createElement(lE,null,r.createElement(Yh,{photocardID:a,itemID:e.key,data:u.find(function(t){return(null==t?void 0:t.id)===e.key}),index:t})))})))};function dE(e){return function(e){if(Array.isArray(e))return mE(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||fE(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fE(e,t){if(e){if("string"==typeof e)return mE(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mE(e,t):void 0}}function mE(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function pE(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var vE,yE,gE,bE,hE,EE,xE,wE=C.Ay.div(iE||(iE=pE(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n  height: 700px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),AE=C.Ay.div(cE||(cE=pE(["\n  height: 100%;\n  overflow: hidden;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n\n  display: grid;\n  grid-template-rows: auto 1fr;\n"]))),CE=C.Ay.div(uE||(uE=pE(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),kE=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a="".concat(o.Gf.PHOTOCARD),i=(t=(0,r.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||fE(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(0,l.useCollection)(a,{listen:!0,orderBy:["order","desc"]}).data,d=(0,l.useCollection)("".concat(a,"2"),{listen:!0,orderBy:["order","desc"]}).data,f=(0,mu.W)({list:s}),m=f.searchResult;return f.isEmpty,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"캐릭터별 장비 관리"),r.createElement(b.R2,{style:{marginBottom:12}},"📌 기본 장비 설정은 하단에 있습니다."),r.createElement(wE,null,r.createElement(AE,null,r.createElement(CE,null,r.createElement(du.A,{block:!0,placeholder:"캐릭터 검색(enter)",noResult:!0})),r.createElement(fu.A,{list:m||[].concat(dE(s||[]),dE(d||[])),setSelectValue:u,selectedId:c,style:{height:"100%"}})),r.createElement(sE,{docID:c})))},SE=n(10642);function OE(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function IE(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){OE(l,r,a,o,i,"next",e)}function i(e){OE(l,r,a,o,i,"throw",e)}o(void 0)})}}function jE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function PE(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?jE(Object(n),!0).forEach(function(t){TE(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jE(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function TE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function RE(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return LE(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?LE(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function LE(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function DE(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var UE,ME,NE,zE=C.Ay.div(vE||(vE=DE(["\n  display: grid;\n  grid-template-rows: 1fr auto;\n  gap: 8px;\n  height: 100%;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"]))),BE=C.Ay.div(yE||(yE=DE(["\n  padding: 12px;\n  ",";\n"])),j.kM),FE=C.Ay.div(gE||(gE=DE(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n"]))),GE=(C.Ay.div(bE||(bE=DE(["\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 8px;\n"]))),C.Ay.div(hE||(hE=DE(["\n  margin-top: 12px;\n  margin-bottom: 4px;\n"])))),HE=C.Ay.p(EE||(EE=DE(["\n  font-size: 12px;\n  opacity: 0.6;\n  margin-bottom: 8px;\n"]))),$E=C.Ay.div(xE||(xE=DE(["\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 8px;\n"]))),VE=function(e){var t,n=e.docID,a="".concat(o.Gf.EQUIPMENT),i=(0,l.useDocument)("".concat(a,"/").concat(n),{listen:!0}),c=i.data,u=i.set,s=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:[["id","!=","statusSetting"]]}).data,d=(0,r.useCallback)(function(e){var t=null==s?void 0:s.find(function(t){return t.id===e}),n=Nu.S.find(function(t){return t.key===e}),r=(null==t?void 0:t.value)||(null==n?void 0:n.value)||e;return"".concat(r," (").concat(e,")")},[s]),f=RE((0,r.useState)(null),2),m=f[0],p=f[1],v=RE((0,r.useState)((null==c?void 0:c.equipFunctionType)||Ch.wD.GLOVE),2),y=v[0],g=v[1],b=RE((0,r.useState)(!1),2),E=b[0],w=b[1],C=RE((0,r.useState)({}),2),k=C[0],S=C[1],O=RE((0,Mn.zN)({title:(null==c?void 0:c.title)||""}),4),j=O[0].title,P=O[1],T=(O[2],O[3]),R=(0,r.useCallback)(function(e){return function(t){S(function(n){return PE(PE({},n),{},TE({},e,t.target.value))})}},[]),L=(0,r.useCallback)(IE(regeneratorRuntime.mark(function e(){var t,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return w(!0),e.next=3,(0,me.updateImgAndGetURL)({selectedFile:m,prevImgURL:c&&c.imgURL||"",collectionPath:a});case 3:return t=e.sent,r={},Object.entries(k).forEach(function(e){var t=RE(e,2),n=t[0],a=t[1],l=parseInt(a,10);isNaN(l)||(r[n]=l)}),e.next=8,u({imgURL:t,id:n,equipFunctionType:y,title:j,order:(null==c?void 0:c.order)||0,maxStatValues:r},{merge:!0});case 8:w(!1);case 9:case"end":return e.stop()}},e)})),[m,a,j,c,k,y]),D=(0,r.useCallback)(function(){if(confirm("[".concat(null==c?void 0:c.title,"] 장비를 삭제하시겠습니까?"))){if(null==c||!c.id)return;return(0,zu.E)({collectionPath:o.Gf.EQUIPMENT,imgURL:(null==c?void 0:c.imgURL)||"",docId:c.id})}},[c]);return(0,r.useEffect)(function(){if(c)if(T({title:(null==c?void 0:c.title)||""}),g(c.equipFunctionType||Ch.wD.GLOVE),c.maxStatValues){var e={};
1Object.entries(c.maxStatValues).forEach(function(t){var n=RE(t,2),r=n[0],a=n[1];void 0!==a&&(e[r]=String(a))}),S(e)}else S({})},[c]),c?r.createElement(zE,null,r.createElement(BE,null,r.createElement("h6",null,c.title),r.createElement(I.A,{label:"장비명",value:j,name:"title",onChange:P,placeholder:"장비명"}),r.createElement(x.A,{label:"장비 속성",selectList:Ch.lB,selectedKey:y,setSelectedKey:g,style:{width:140},dropdownStyle:{width:160},dropdownDirection:"topLeft"}),(null===(t=Ch.E0[y])||void 0===t?void 0:t.length)>0&&r.createElement(GE,null,r.createElement(HE,null,"스탯 기본값 설정"),r.createElement($E,null,Ch.E0[y].map(function(e){var t;return r.createElement(I.A,{key:e,type:"number",label:d(e),name:"max-".concat(e),value:null!==(t=k[e])&&void 0!==t?t:"",onChange:R(e),placeholder:"최대값 없음",min:0})}))),r.createElement("div",{style:{width:"100%",marginBottom:16}},r.createElement(A.A,{label:"장비 이미지 (권장 52*52)",id:"equip-image",setSelectedFile:p,prevImgURL:null==c?void 0:c.imgURL,style:{height:60}}))),r.createElement(FE,null,r.createElement(h.A,{onClick:L,block:!0,pending:E},"저장"),r.createElement(h.A,{onClick:D,shape:"stroke",block:!0},"삭제"))):null};function WE(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function _E(e,t){if(e){if("string"==typeof e)return qE(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qE(e,t):void 0}}function qE(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function KE(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var YE,JE,QE,ZE,XE,ex,tx,nx=C.Ay.div(UE||(UE=KE(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1.5fr;\n  gap: 12px;\n  height: 700px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),rx=C.Ay.div(ME||(ME=KE(["\n  height: 100%;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n\n  ",";\n\n  display: grid;\n  grid-template-rows: auto 1fr;\n"])),j.kM),ax=C.Ay.div(NE||(NE=KE(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),lx=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a="".concat(o.Gf.EQUIPMENT),i=(t=(0,r.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||_E(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(0,l.useCollection)(a,{listen:!0,orderBy:["order","asc"]}).data,d=(0,r.useMemo)(function(){var e=new Set([].concat(function(e){return function(e){if(Array.isArray(e))return qE(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_E(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Ch.vi.map(function(e){return e.key})),["material"]));return(s||[]).filter(function(t){return(null==t?void 0:t.id)&&!e.has(t.id)})},[s]),f=(0,r.useCallback)(function(){var e={title:"장비명",equipFunctionType:Ch.wD.WEAPON,imgURL:"",id:"dummy",order:0};(0,yu.Wb)({collectionPath:a,data:e,fileList:{}})},[s]),m=(0,r.useCallback)(function(){var e,t=(e=regeneratorRuntime.mark(function e(t){var n,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,console.log("🎯 EquipmentSet handleOrderChange 호출됨:",{orderListLength:n.length,items:n.map(function(e){return e.title||e.id})}),e.prev=2,r=Ya.default.firestore(),a=r.collection(o.Gf.EQUIPMENT),l=r.batch(),n.forEac
1h(function(e,t){e.id&&l.update(a.doc(e.id),{order:t})}),e.next=9,l.commit();case 9:console.log("✅ 장비 순서 저장 완료:",n.map(function(e,t){return"".concat(e.title,":").concat(t)})),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(2),console.error("장비 순서 저장 오류:",e.t0),alert("순서 저장 중 오류가 발생했습니다.");case 16:case"end":return e.stop()}},e,null,[[2,12]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){WE(l,r,a,o,i,"next",e)}function i(e){WE(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),[]),p=(0,mu.W)({list:d}).searchResult;return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"전체 장비 관리",r.createElement(b.PF,null,"장비는 총 5가지이며, 기본 장비 이미지 외 장비 아이템으로 교체 가능합니다.")),r.createElement(nx,null,r.createElement(rx,null,r.createElement(ax,null,r.createElement(du.A,{block:!0,placeholder:"장비 검색",noResult:!0}),r.createElement(h.A,{block:!0,onClick:f},"장비 추가")),r.createElement(fu.A,{list:p||d,setSelectValue:u,selectedId:c,customCollectionPath:o.Gf.EQUIPMENT,handleOrder:m,style:{height:"100%"}})),r.createElement(VE,{key:c,docID:c}))))},ox=n(31463);function ix(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function cx(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){ix(l,r,a,o,i,"next",e)}function i(e){ix(l,r,a,o,i,"throw",e)}o(void 0)})}}function ux(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sx(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ux(Object(n),!0).forEach(function(t){dx(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ux(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dx(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return mx(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mx(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mx(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function px(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var vx,yx=C.Ay.div(YE||(YE=px(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 8px;\n  align-items: flex-end;\n"]))),gx=C.Ay.div(JE||(JE=px(["\n  margin-top: 24px;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),bx=C.Ay.p(QE||(QE=px(["\n  font-weight: 600;\n  font-size: 14px;\n  margin: 0;\n  color: var(--textColor);\n"]))),hx=C.Ay.p(ZE||(ZE=px(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin: 0;\n  line-height: 1.6;\n"]))),Ex=C.Ay.div(XE||(XE=px(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 8px;\n"]))),xx=C.Ay.div(ex||(ex=px(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),wx=C.Ay.label(tx||(tx=px(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),Ax=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n=o.Gf.EQUIPMENT,a=(0,l.useDocument)("".concat(n,"/material"),{listen:!0}),i=a.data,c=a.set,u=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:[["id","!=","statusSetting"]]}).data,s=(0,l.useDocument)("".concat(o.Gf.STATUS,"/statusSetting"),{listen:!0}).data,d=null!==(t=null==u?void 0:u.filter(function(e){return"전투"===e.type}))&&void 0!==t?t:[],f=fx((0,r.useState)([]),2),m=f[0],p=f[1],v=fx((0,Mn.zN)({price:(null==i?void 0:i.price)||0}),4),y=v[0].price,g=v[1],b=v[3],E=fx((0,r.useState)({}),2),x=E[0],w=E[1],A=(0,r.useRef)(!1);(0,r.useEffect)(function(){if(!A.current&&d.length&&s){var e=Number(null==s?void 0:s.max)||1e3,t=(null==i?void 0:i.optionMaxMap)||{},n={};d.forEach(function(r){if(void 0!==t[r.key])n[r.key]=t[r.key];else{var a,l=null!==(a=r.defaultMaxValue)&&void 0!==a?a:e;n[r.key]=Math.floor(l/10)}}),w(n),A.current=!0}},[d,i,s]);var C=(0,r.useCallback)(function(e,t){w(function(n){return sx(sx({},n),{},dx({},e,t))})},[]),k=(0,r.useCallback)(cx(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:c({price:y,materialID:m&&m[0]||"",optionMaxMap:x},{merge:!0});case 1:case"end":return e.stop()}},e)})),[i,y,m,x]),S=(0,r.useCallback)(cx(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c({optionMaxMap:x},{merge:!0});case 2:case"end":return e.stop()}},e)})),[c,x]);return(0,r.useEffect)(function(){i&&(b({price:(null==i?void 0:i.price)||0}),i.materialID&&p([i.materialID]))},[i]),r.createElement(r.Fragment,null,r.createElement(yx,null,r.createElement(I.A,{label:"기본 강화 금액",placeholder:"0~",name:"price",value:y,type:"number",onChange:g}
1),r.createElement(vu.A,{label:"강화 재료 아이템 (최대 1개)",collectionPath:o.Gf.STORE,selectedIDList:m,setSelectedIDList:p,id:"reinforce-material-item",selectOnlyOne:!0,dir:"bottomLeft"}),r.createElement(h.A,{onClick:k},"저장하기")),d.length>0&&r.createElement(gx,null,r.createElement(bx,null,"강화 시 최대 옵션 수치"),r.createElement(hx,null,"강화 성공 시 부여 또는 업그레이드되는 각 전투 스탯의 최댓값입니다.",r.createElement("br",null),"기본값 = [스탯 활성화 및 이름 설정]의 ",r.createElement("strong",null,"기본 최대값"),"의 1/10 (미설정 시 전체 최댓값의 1/10)"),r.createElement(Ex,null,d.map(function(e){var t;return r.createElement(xx,{key:e.key},r.createElement(wx,null,e.value," ",r.createElement("span",{style:{opacity:.5}},"(",e.key,")")),r.createElement(I.A,{type:"number",name:"optionMax-".concat(e.key),value:null!==(t=x[e.key])&&void 0!==t?t:"",placeholder:"숫자",onChange:function(t){return C(e.key,Number(t.target.value))}}))})),r.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},r.createElement(h.A,{onClick:S},"옵션 수치 저장"))))},Cx=function(){var e,t=(0,l.useDocument)("".concat(o.Gf.EQUIPMENT,"/material"),{listen:!0}),n=t.data,a=t.set,i=null!==(e=null==n?void 0:n.isReinforceEnabled)&&void 0!==e&&e,c=(0,r.useCallback)(function(){a({isReinforceEnabled:!i},{merge:!0})},[a,i]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"장비 강화 사용 여부",r.createElement(b.PF,null,"장비 강화 기능을 활성화하면 캐릭터 장비에 강화 기능이 적용됩니다.",r.createElement("br",null),"비활성화 시 강화 관련 UI가 표시되지 않습니다.")),r.createElement(b.N9,null,r.createElement("label",null,"장비 강화 사용"),r.createElement(w.A,{isChecked:i,handleSwitch:c}))),r.createElement(b.YO,null,r.createElement(b.fA,null,"장비 강화 재료 설정",r.createElement(b.PF,{dangerouslySetInnerHTML:{__html:"".concat((0,ox.n)(SE.e))}})),r.createElement(Ax,null)))},kx=n(79883);function Sx(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e.EQUIPMENT="equipment",e.EQUIPMENT_BY_CHARACTER="equipmentByCharacter",e.EQUIPMENT_BY_ITEM="equipmentByItem",e.EQUIPMENT_BY_REINFORCE="equipmentByReinforce"}(vx||(vx={}));var Ox,Ix,jx,Px=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(t=(0,r.useState)(vx.EQUIPMENT_BY_CHARACTER),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Sx(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sx(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1],u=(0,c.vc)(kx.GI),s=[{value:vx.EQUIPMENT_BY_CHARACTER,label:"캐릭터별 장비 설정",isShow:!0,drawView:r.createElement(kE,null)},{value:vx.EQUIPMENT_BY_ITEM,label:"전체 장비 관리",isShow:!0,drawView:r.createElement(lx,null)},{value:vx.EQUIPMENT,label:"기본 장비 설정",isShow:u,drawView:r.createElement(SE.A,null)},{value:vx.EQUIPMENT_BY_REINFORCE,label:"장비 강화 설정",isShow:!0,drawView:r.createElement(Cx,null)}];return r.createElement(i.A,{viewOptions:s,defaultViewType:l,customSetViewType:o})};function Tx(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Rx(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Tx(Object(n),!0).forEach(function(t){Lx(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tx(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Lx(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dx(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Ux(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Dx(l,r,a,o,i,"next",e)}function i(e){Dx(l,r,a,o,i,"throw",e)}o(void 0)})}}function Mx(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Nx(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nx(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Nx(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function zx(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(60368),n(41194);var Bx,Fx,Gx,Hx,$x,Vx=C.Ay.div(Ox||(Ox=zx(["\n  display: grid;\n  grid-template-columns: 1fr 0.3fr;\n  align-items: flex-end;\n  gap: 6px;\n"]))),Wx=C.Ay.div(Ix||(Ix=zx(["\n  display: grid;\n  grid-template-columns: 1fr 0.3fr;\n  align-items: flex-end;\n  gap: 6px;\n"]))),_x=C.Ay.span(jx||(jx=zx(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  font-weight: 400;\n"]))),qx=function(e){var t=e.data,n=e.prevValue,a=e.photocardData,l=Mx((0,r.useState)(0),2),i=l[0],c=l[1],u=Mx((0,r.useState)(0),2),s=u[0],d=u[1],f="전투"===t.type,m=t.id===Nu.J.HP||t.id===Nu.J.MP,p=t.defaultMaxValue||0,v=function(){return m?t.id===Nu.J.HP?"currentHp":"currentMp":"current".concat(t.id.charAt(0).toUpperCase()+t.id.slice(1))},y=function(){return t.id};(0,r.useEffect)(function(){if(f){var e,t,r=v(),l=y(),o=null!==(e=a[l])&&void 0!==e?e:p;d(o);var i=null!==(t=a[r])&&void 0!==t?t:o;c(i)}else c(n)},[n,a,t.id]);var g=(0,r.useCallback)(Ux(regeneratorRuntime.mark(function e(){var n,r,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!f){e.next=7;break}return r=v(),l=y(),e.next=5,(0,pu.KT)({data:Rx(Rx({},a),{},(n={},Lx(n,r,Number(i)),Lx(n,l,Number(s)),n)),collectionPath:o.Gf.PHOTOCARD,docId:a.id,fileList:{prevImgURL:a.thumbnail}});case 5:e.next=9;break;case 7:return e.next=9,(0,pu.KT)({data:Rx(Rx({},a),{},Lx({},t.id,Number(i))),collectionPath:o.Gf.PHOTOCARD,docId:a.id,fileList:{prevImgURL:a.thumbnail}});case 9:case"end":return e.stop()}},e)})),[t,i,s,a,f]);return f?r.createElement(Wx,null,r.createElement(I.A,{label:f?r.createElement(r.Fragment,null,t.value," ",r.createElement(_x,null,"(기본값: ",p,")")):t.value,value:i,name:"currentValue",onChange:function(e){return c(Number(e.target.value))},placeholder:"현재 수치",type:"number"}),r.createElement(h.A,{onClick:g,block:!0},"저장")):r.createElement(Vx,null,r.createElement(I.A,{label:t.value,value:i,name:"statusValue",onChange:function(e){return c(Number(e.target.value))},placeholder:"(숫자) 스탯 수치",type:"number"}),r.createElement(h.A,{onClick:g,block:!0},"저장"))},Kx=C.Ay.div(Bx||(Bx=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 12px;\n  position: relative;\n\n  height: 100%;\n  overflow: auto;\n  ",";
1\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"])),j.kM),Yx=function(e){var t=e.docID,n="".concat(o.Gf.PHOTOCARD),a=(0,l.useDocument)("".concat(n,"/").concat(t),{listen:!0}).data,i=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:["isActive","==",!0]}).data;return a?r.createElement(Kx,null,r.createElement("h6",null,a.title),i&&i.map(function(e,t){return r.createElement(qx,{key:e.id,data:e,prevValue:a[e.id]||0,photocardData:a})})):null};function Jx(e){return function(e){if(Array.isArray(e))return Zx(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Qx(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qx(e,t){if(e){if("string"==typeof e)return Zx(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zx(e,t):void 0}}function Zx(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Xx(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ew,tw,nw,rw,aw,lw,ow,iw,cw,uw=C.Ay.div(Fx||(Fx=Xx(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n  height: 800px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),sw=C.Ay.div(Gx||(Gx=Xx(["\n  height: 100%;\n  overflow: hidden;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n\n  display: grid;\n  grid-template-rows: auto 1fr;\n"]))),dw=C.Ay.div(Hx||(Hx=Xx(["\n  padding: 12px;\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),fw=C.Ay.div($x||($x=Xx(["\n  flex: 1;\n  min-width: 0;\n"]))),mw=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n,i,c="".concat(o.Gf.PHOTOCARD),u=(n=(0,r.useState)(""),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,i)||Qx(n,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0],d=u[1],f=(0,l.useCollection)(c,{listen:!0,orderBy:["order","asc"]}).data,m=(0,l.useCollection)("".concat(c,"2"),{listen:!0,orderBy:["order","asc"]}).data,p=(0,l.useCollection)(o.Gf.STATUS,{listen:!0}).data,v=(0,mu.W)({list:f}),y=v.searchResult,g=(v.isEmpty,null===(t=a.l.boardSet)||void 0===t?void 0:t.some(function(e){return"photocard2"===(null==e?void 0:e.path)})),E=(0,r.useMemo)(function(){return(p||[]).filter(function(e){return"statusSetting"!==e.id&&e.isActive}).sort(function(e,t){var n,r;return Number(null!==(n=null==e?void 0:e.order)&&void 0!==n?n:0)-Number(null!==(r=null==t?void 0:t.order)&&void 0!==r?r:0)})},[p]),x=(0,r.useCallback)(function(e){var t=String(null!=e?e:"");return/[",\n]/.test(t)?'"'.concat(t.replace(/"/g,'""'),'"'):t},[]),w=(0,r.useCallback)(function(){var e=[].concat(Jx(f||[]),Jx(g&&m||[])),t=["캐릭터명","캐릭터 ID"].concat(Jx(E.map(function(e){return"".concat(e.value,"(").concat(e.id,")")}))),n=e.map(function(e){var t=E.map(function(t){var n,r=t.key||t.id,a=e[r],l=e[t.id];return null!==(n=null!=a?a:l)&&void 0!==n?n:0});return[e.title||"",e.id||""].concat(Jx(t))}),r=[t].concat(Jx(n)).map(function(e){return e.map(function(e){return x(e)}).join(",")}).join("\n"),a="\ufeff".concat(r),l=new Blob([a],{type:"text/csv;charset=utf-8;"}),o=URL.createObjectURL(l),i=document.createElement("a"),c=(new Date).toISOString().slice(0,10);i.href=o,i.download="member-status-".concat(c,".csv"),document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o)},[E,x,g,f,m]),A=(0,r.useCallback)(function(e){var t=e.orderList;t&&0!==t.length&&(0,pu.yB)({collectionPath:c,orderList:t})},[c]),C=(0,r.useCallback)(function(e){var t=e.orderList;t&&0!==t.length&&(0,pu.yB)({collectionPath:"".concat(c,"2"),orderList:t})},[c]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"캐릭터별 스탯 관리"),r.createElement(b.R2,{style:{marginBottom:12}},r.createElement("p",null,"⚠️ 불가피한 스탯 회수 및 수정 외에는, 아이템을 통한 유저의 스탯 보정을 권장합니다."),r.createElement("p",null,"📌 스탯의 기본 최대수치는 [기본 스탯 설정]에서 설정 가능합니다.")),r.createElement(uw,null,r.createElement(sw,null,r.createElement(dw,null,r.createElement(fw,null,r.createElement(du.A,{block:!0,placeholder:"캐릭터 검색(enter)",noResult:!0})),r.createElement(h.A,{onClick:w},"CSV 내보내기")),r.createElement(fu.A,{list:y||f||[],setSelectValue:d,selectedId:s,collectionPath:c,handleOrder:A,style:{height:"100%"}}),g&&r.createElement(fu.A,{list:m||[],setSelectValue:d,selectedId:s,collectionPath:"".concat(c,"2"),handleOrder:C,style:{height:"100%"}})),s&&r.createElement(Yx,{docID:s})))},pw=n(67814),vw=n(3935);function yw(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function gw(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){yw(l,r,a,o,i,"next",e)}function i(e){yw(l,r,a,o,i,"throw",e)}o(void 0)})}}function bw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function hw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?bw(Object(n),!0).forEach(function(t){Ew(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bw(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ew(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ww(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ww(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ww(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Aw(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Cw,kw=C.Ay.div(ew||(ew=Aw(["\n  margin-top: 12px;\n"]))),Sw=C.Ay.span(tw||(tw=Aw(["\n  display: inline-block;\n  padding: 4px 8px;\n  border-radius: 4px;\n  font-size: 12px;\n  font-weight: 600;\n  background: ",";\n  color: ",";\n"])),function(e){return"전투"===e.type?"rgba(255, 107, 107, 0.15)":"rgba(77, 171, 247, 0.15)"},function(e){return"전투"===e.type?"#ff6b6b":"#4dabf7"}),Ow=C.Ay.div(nw||(nw=Aw(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),Iw=C.Ay.div(rw||(rw=Aw(["\n  display: flex;\n  align-items: center;\n  gap: 4px;\n\n  input {\n    width: 80px;\n  }\n"]))),jw=C.Ay.div(aw||(aw=Aw(["\n  display: flex;\n  gap: 8px;\n"]))),Pw=C.Ay.div(lw||(lw=Aw(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),Tw=C.Ay.div(ow||(ow=Aw(["\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n"]))),Rw=C.Ay.button(iw||(iw=Aw(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 18px;\n  height: 18px;\n  border: none;\n  padding: 0;\n  border-radius: 999px;\n  background: transparent;\n  cursor: var(--hoverCursorURL), pointer;\n"]))),Lw=C.Ay.span(cw||(cw=Aw(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  line-height: 1.4;\n"]))),Dw={attack:"데미지 계산의 기본 공격력으로 사용됩니다.",defense:"피격 시 받는 데미지를 줄이는 방어 수치에 반영됩니다.",critical:"치명타 발생 확률로 사용되어 최종 데미지 배율에 영향을 줍니다.",hp:"피해를 받으면 감소하며, 0이 되면 전투 불능 상태가 됩니다.",mp:"스킬 사용 자원으로 소비되며 부족하면 스킬 사용이 제한됩니다.",speed:"레이드 턴 순서 및 선행 행동 결정에 영향을 줍니다."},Uw={hp:"현재 체력(currentHp)상태 / 최댓값으로 표시되며, 전투로 감소하지 않는 한 full상태로 표시됩니다.",mp:"현재 마력(currentMp)상태 / 최댓값으로 표시되며, 전투로 감소하지 않는 한 full상태로 표시됩니다."},Mw=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n=o.Gf.STATUS,a=(0,l.useDocument)("".concat(n,"/").concat("statusSetting"),{listen:!0}),i=a.data,c=a.set,u=(0,l.useCollection)(n,{listen:!0,where:[["id","!=","statusSetting"]]}).data,s=xw((0,Mn.zN)({max:(null==i?void 0:i.max)||1e3}),3),d=s[0].max,f=(s[1],s[2]),m=xw((0,r.useState)((null==i?void 0:i.displayType)||"default"),2),p=m[0],v=m[1],y=xw((0,r.useState)(null===(t=null==i?void 0:i.showTotalStat)||void 0===t||t),2),g=y[0],E=y[1],x=xw((0,r.useState)({}),2),A=x[0],C=x[1];(0,r.useEffect)(function(){var e;i&&(f({max:i.max||1e3}),v(i.displayType||"default"),E(null===(e=i.showTotalStat)||void 0===e||e))},[i]),(0,r.useEffect)(function(){if(u){var e={};
1Nu.S.forEach(function(t){var n,r,a=u.find(function(e){return e.id===t.key});e[t.key]={id:t.key,key:t.key,type:t.type,value:(null==a?void 0:a.value)||t.value,isActive:null!==(n=null==a?void 0:a.isActive)&&void 0!==n?n:t.isActive,defaultMaxValue:null==a?void 0:a.defaultMaxValue,includeInTotalStat:null===(r=null==a?void 0:a.includeInTotalStat)||void 0===r||r,originalData:a}}),C(e)}},[u]);var k=(0,r.useCallback)(function(e,t,n){C(function(r){return hw(hw({},r),{},Ew({},e,hw(hw({},r[e]),{},Ew({},t,n))))})},[]),S=((0,r.useCallback)(function(){d&&c({max:d},{merge:!0})},[d,c]),(0,r.useCallback)(function(){c({displayType:p},{merge:!0}),alert("스탯 표시 디자인 설정이 저장되었습니다.")},[p,c])),O=(0,r.useCallback)(function(){c({showTotalStat:g},{merge:!0}),alert("스탯 총합 표시 설정이 저장되었습니다.")},[g,c]),j=(0,r.useCallback)(gw(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=Ya.fuego.db.batch(),Object.values(A).forEach(function(e){var r=Ya.fuego.db.collection(n).doc(e.key),a={id:e.key,key:e.key,value:e.value,isActive:e.isActive,type:e.type,includeInTotalStat:e.includeInTotalStat};"전투"===e.type&&void 0!==e.defaultMaxValue&&(a.defaultMaxValue=Number(e.defaultMaxValue)),t.set(r,a,{merge:!0})}),e.prev=2,e.next=5,t.commit();case 5:alert("모든 스탯 설정이 저장되었습니다."),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(2),console.error("Error saving all statuses:",e.t0),alert("저장 중 오류가 발생했습니다.");case 12:case"end":return e.stop()}},e,null,[[2,8]])})),[A,n]),P=Nu.S.map(function(e){return A[e.key]||{id:e.key,key:e.key,type:e.type,value:e.value,isActive:e.isActive,includeInTotalStat:!0}}),T=[{key:"type",header:"타입",width:80,render:function(e){return r.createElement(Sw,{type:e.type},e.type)}},{key:"key",header:"ID",width:300,render:function(e){return r.createElement(Pw,null,r.createElement(Tw,null,r.createElement("code",{style:{fontSize:12,color:"var(--subTextColor)"}},e.key),Uw[e.key]&&r.createElement(vw.A,{direction:"right",message:Uw[e.key],maxWidth:"280px"},r.createElement(Rw,{"aria-label":"".concat(e.key," 설명")},r.createElement(uc.A,{name:"Info14",color:"var(--subTextColor)"})))),"전투"===e.type&&Dw[e.key]&&r.createElement(Lw,null,Dw[e.key]))}},{key:"value",header:"스탯명",width:150,render:function(e){return r.createElement(Ow,null,r.createElement(I.A,{name:"value",value:e.value,onChange:function(t){return k(e.key,"value",t.target.value)},style:{width:"120px"}}))}},{key:"defaultMaxValue",header:"기본 최대값",width:130,render:function(e){var t;return"전투"===e.type?r.createElement(Iw,null,r.createElement(I.A,{type:"number",name:"defaultMaxValue",value:null!==(t=e.defaultMaxValue)&&void 0!==t?t:"",placeholder:"미설정",onChange:function(t){return k(e.key,"defaultMaxValue",t.target.value?Number(t.target.value):void 0)},style:{width:"90px"}})):r.createElement("span",{style:{color:"var(--subTextColor)",fontSize:12}},"-")}},{key:"isActive",header:"활성화",width:100,align:"center",render:function(e){return r.createElement(w.A,{isChecked:e.isActive,handleSwitch:function(){return k(e.key,"isActive",!e.isActive)}})}},{key:"includeInTotalStat",header:"총합 포함",width:110,align:"center",render:function(e){return r.createElement(w.A,{isChecked:e.includeInTotalStat,handleSwitch:function(){return k(e.key,"includeInTotalStat",!e.includeInTotalStat)}})}}];return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"스탯 표시 디자인"),r.createElement(b.Fd,null,r.createElement(Ro.A,null,"스탯 표시 방식"),r.createElement(b.sm,{style:{flexDirection:"column",gap:12}},r.createElement(Xl.A,{list:[{key:"default",value:"기본형"},{key:"hpmpEmphasized",value:"HP,MP 강조형"}],id:"statusDisplayType",checkedType:p,handleChange:function(e){return v(e)}})),r.createElement(h.A,{onClick:S},"저장"))),r.createElement(b.YO,null,r.createElement(b.fA,null,"스탯 총합 표시"),r.createElement(b.Fd,null,r.createElement(Ro.A,null,"포토카드 상태창의 총 스탯 표시 여부"),r.createElement(b.sm,{style:{flexDirection:"row",alignItems:"center"}},r.createElement(w.A,{isChecked:g,handleSwitch:function(){return E(function(e){return!e})}},r.createElement("span",{style:{marginLeft:8}},g?"표시":"숨김"))),r.createElement(h.A,{onClick:O},"저장"))),r.createElement(b.YO,null,r.createElement(b.fA,null,"스탯 활성화 및 이름 설정",r.createElement(b.PF,null,"아래 설정은 모든 포토카드 게시판에 공통 적용됩니다. 전투스탯(6개) + 커스텀스탯(5개) 합쳐 최대 11개까지 설정 가능합니다.",r.createElement("br",null),r.createElement("strong",null,"기본 최대값"),"은 전투타입 스탯에만 설정 가능하며, 새 캐릭터 생성 시 적용됩니다.")),r.createElement(kw,null,r.createElement(pw.A,{columns:T,data:P,rowKey:function(e){return e.key},emptyText:"스탯 데이터를 불러오는 중..."})),r.createElement(jw,{style:{marginTop:16,justifyContent:"flex-end"}},r.createElement(h.A,{shape:"filled",onClick:j},"모든 스탯 일괄 저장"))))};function Nw(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e.DEFAULT="default",e.MEMBER="member"}(Cw||(Cw={}));var zw=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(t=(0,r.useState)(Cw.MEMBER),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Nw(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nw(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1],c=[{value:Cw.MEMBER,label:"캐릭터별 스탯 설정",isShow:!0,drawView:r.createElement(mw,null)},{value:Cw.DEFAULT,label:"기본 스탯 설정",isShow:!0,drawView:r.createElement(Mw,null)}];return r.createElement(i.A,{viewOptions:c,defaultViewType:l,customSetViewType:o})};function Bw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Fw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bw(Object(n),!0).forEach(function(t){Gw(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bw(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Gw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hw(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function $w(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Hw(l,r,a,o,i,"next",e)}function i(e){Hw(l,r,a,o,i,"throw",e)}o(void 0)})}}function Vw(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ww(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ww(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ww(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var _w,qw,Kw,Yw,Jw,Qw,Zw=function(){var e,t,n,a,i,u,s=(0,l.useDocument)(o.Mb.MOUSE,{listen:!0}),d=s.data,f=s.set,m=Vw((0,r.useState)((u=null==d||null===(i=d.clickEffect)||void 0===i?void 0:i.type)&&u in pr.mq?u:"particle"),2),p=m[0],v=m[1],y=Vw((0,r.useState)((null==d||null===(e=d.clickEffect)||void 0===e?void 0:e.size)||50),2),g=y[0],x=y[1],A=Vw((0,r.useState)((null==d||null===(t=d.clickEffect)||void 0===t?void 0:t.duration)||800),2),C=A[0],k=A[1],S=Vw((0,r.useState)(!1),2),O=S[0],I=S[1],j=Vw((0,c.L4)(Ar.x),2),P=j[0],T=j[1],R=Vw((0,r.useState)(!(null==d||!d.mouseEffect)&&d.mouseEffect.isActive),2),L=R[0],D=R[1],U=Vw((0,Be.Ge)({clickEffectColor:(null==d||null===(n=d.clickEffect)||void 0===n?void 0:n.color)||"var(--primaryColor)",clickEffectColor2:(null==d||null===(a=d.clickEffect)||void 0===a?void 0:a.color2)||"var(--inkColor)"},{}),3),M=U[0],N=M.clickEffectColor,z=M.clickEffectColor2,B=U[1],F=(U[2],(0,r.useCallback)($w(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:P&&(D(!L),f({clickEffect:Fw(Fw({},P),{},{isActive:!L})},{merge:!0}));case 1:case"end":return e.stop()}},e)})),[P,L,f])),G=(0,r.useCallback)($w(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:I(!0),f({clickEffect:Fw(Fw({},P),{},{isActive:L})},{merge:!0}),I(!1);case 3:case"end":return e.stop()}},e)})),[P,L,f]);return(0,r.useEffect)(function(){T({type:p,color:N,color2:z,size:g,duration:C,isActive:L})},[p,N,z,g,C,L]),r.createElement(b.YO,{id:"sec-click-effect"},r.createElement(b.fA,{style:{marginTop:"40px"}},"클릭 이펙트 설정",r.createElement(b.PF,null,"마우스 클릭 시 나타나는 시각적 효과를 설정합니다.")),r.createElement(b.N9,null,r.createElement(b.Fd,{style:{textAlign:"left"}},r.createElement(b.O9,null,"클릭 이펙트 활성화"),r.createElement(w.A,{isChecked:L,handleSwitch:F}
1))),r.createElement(b.N9,null,r.createElement("label",null,"이펙트 타입"),r.createElement(Fe.z,null,Object.keys(pr.mq).map(function(e,t){return r.createElement(Fe.A,{key:t,value:pr.mq[e],id:"clickEffectGroup-".concat(e),name:"clickEffectGroup",checked:p===e,onChange:function(){return v(e)}},r.createElement("span",null,pr.mq[e]))}))),r.createElement(b.N9,null,r.createElement("label",null,"메인 색상"),r.createElement(E.A,{name:"clickEffectColor",value:N,onChange:B,rgbNumber:!0})),r.createElement(b.N9,null,r.createElement("label",null,"보조 색상"),r.createElement(E.A,{name:"clickEffectColor2",value:z,onChange:B,rgbNumber:!0})),r.createElement(b.N9,null,r.createElement("label",null,"크기"),r.createElement(tt.A,{value:g,onChange:x,max:100,step:1,id:"clickEffectSize"}),r.createElement("span",null,g,"px")),r.createElement(b.N9,null,r.createElement("label",null,"지속시간"),r.createElement(tt.A,{value:C,onChange:k,max:1e3,step:1,id:"clickEffectDuration"}),r.createElement("span",null,C,"ms")),r.createElement(b.PF,null,"💡 클릭 이펙트는 사용자가 페이지의 어느 곳을 클릭하든 해당 위치에서 나타납니다.",r.createElement("br",null),"⚠️ 너무 큰 크기나 긴 지속시간은 사용자 경험에 방해가 될 수 있습니다."),r.createElement(b.TT,null,r.createElement(h.A,{onClick:G,pending:O},"저장")))},Xw=n(92284),eA=n(82514),tA=n(91596),nA=["data","folderList","isCollapse","style"];function rA(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aA(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function lA(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){aA(l,r,a,o,i,"next",e)}function i(e){aA(l,r,a,o,i,"throw",e)}o(void 0)})}}function oA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return iA(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?iA(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function cA(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var uA=(0,C.AH)(_w||(_w=cA(["\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  border: 0;\n"]))),sA=C.Ay.div(qw||(qw=cA(["\n  padding: 0 12px 0 32px;\n  margin-bottom: 4px;\n  box-sizing: border-box;\n  width: 100%;\n  color: var(--textColor);\n  background-color: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border-bottom: 1px solid var(--lineColor);\n  transition: background-color 0.2s;\n  position: relative;\n\n  display: grid;\n  grid-template-columns: 0.4fr 1fr auto auto;\n  align-items: center;\n  gap: 12px;\n\n  ","\n"])),function(e){return e.isDrag&&uA}),dA=C.Ay.div(Kw||(Kw=cA(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),fA=C.Ay.div(Yw||(Yw=cA(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-bottom: 4px;\n"]))),mA=C.Ay.div(Jw||(Jw=cA(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  width: 100%;\n  padding: 8px 0;\n"]))),pA=C.Ay.div(Qw||(Qw=cA(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap: 4px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n  }\n"]))),vA=[{key:Xw.KC.PUBLIC,value:"전체공개"},{key:Xw.KC.MEMBER,value:"멤버"},{key:Xw.KC.SECRET,value:"비공개"}];function yA(e,t){var n,a,i=e.data,c=e.folderList,u=e.isCollapse,s=(e.style,function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,nA));if(!i)return null;var d=oA((0,r.useState)(i?i.accessType:Xw.KC.PUBLIC),2),f=d[0],m=d[1],p=oA((0,r.useState)(i?i.folderID:""),2),v=p[0],y=p[1],g=oA((0,r.useState)(!1),2),b=g[0],E=g[1],C=oA((0,r.useState)(null),2),k=C[0],S=C[1],O=oA((0,r.useState)(null),2),j=O[0],P=O[1],T=oA((0,r.useState)(null),2),R=T[0],L=T[1],D=oA((0,Mn.zN)({title:i.title||"",path:i.path||""}
1),3),U=D[0],M=U.title,N=U.path,z=D[1],B=(D[2],oA((0,Mr.A)(i.openNewTab||!1),3)),F=B[0],G=B[1],H=(B[2],oA((0,Mr.A)(i.isSubMenu||!1),3)),$=H[0],V=H[1],W=(H[2],oA((0,r.useState)(null===(n=i.isVisible)||void 0===n||n),2)),_=W[0],q=W[1],K=oA((0,r.useState)((null==i?void 0:i.imgURL)||""),2),Y=K[0],J=K[1],Q=oA((0,r.useState)((null==i?void 0:i.hoverImgURL)||""),2),Z=Q[0],X=Q[1],ee=oA((0,r.useState)((null==i?void 0:i.mobileImgURL)||""),2),te=ee[0],ne=ee[1],re=(0,l.useDocument)("".concat(o.Gf.BOARD_SET,"/").concat(v),{listen:!0}).data,ae=(0,r.useMemo)(function(){return i.folderValue||"📁 폴더 선택"},[i.folderValue]),le=(0,r.useCallback)(function(e){if(null!=e){var t=String(e).replace(/[_\s]/g,"").toLowerCase();return Object.keys(tA.J).find(function(e){return e.replace(/[_\s]/g,"").toLowerCase()===t})}},[]),oe=(0,r.useMemo)(function(){var e,t=null!==(e=null==i?void 0:i.type)&&void 0!==e?e:null==i?void 0:i.typeName,n=le(t);return n?tA.J[n].name:t?String(t):"Unknown"},[i,le]),ie=(0,r.useCallback)(lA(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return E(!0),t={selectedFile:k,prevImgURL:Y,hoverSelectedFile:j,hoverPrevImgURL:Z,mobileSelectedFile:R,mobilePrevImgURL:te},n={title:M,accessType:f||i.accessType,openNewTab:F,path:N,isProtected:!(f===Xw.KC.PUBLIC||f===Xw.KC.GUEST),folderID:v||"",folderValue:(null==re?void 0:re.value)||"",value:M||"",isSubMenu:null!=$&&$,isVisible:_},e.next=5,(0,eA.gj)({data:n,docID:i.id||"",fileList:t});case 5:E(!1);case 6:case"end":return e.stop()}},e)})),[M,f,v,i,k,j,R,F,N,$,_,Y,Z,te]),ce=(0,r.useCallback)(lA(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return y(""),e.next=3,(0,eA.YF)({docID:i.id||""});case 3:case"end":return e.stop()}},e)})),[i]),ue=(0,r.useCallback)(function(){confirm("메뉴를 정말 삭제하시겠습니까?")&&(0,eA.WD)({imgURL:i.imgURL,boardId:i.id})},[i]),se=(0,r.useCallback)(function(e){return lA(regeneratorRuntime.mark(function t(){var n;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(i){t.next=2;break}return t.abrupt("return");case 2:return t.prev=2,n=(null==i?void 0:i[e])||"",t.next=6,(0,me.deleteImg)({imgURL:n,docId:i.id,key:e,collectionPath:o.Gf.BOARD_SET});case 6:return t.next=8,l.fuego.db.collection(o.Gf.BOARD_SET).doc(i.id).set(rA({},e,""),{merge:!0});case 8:"imgURL"===e&&J(""),"hoverImgURL"===e&&X(""),"mobileImgURL"===e&&ne(""),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(2),console.warn("이미지 삭제 실패:",t.t0);case 16:case"end":return t.stop()}},t,null,[[2,13]])}))},[i]);return r.createElement(sA,null,r.createElement(Aa.A,s),u&&r.createElement(mA,null,i.folderValue&&r.createElement(fA,null,"📁 ",i.folderValue),M),!u&&r.createElement(r.Fragment,null,r.createElement(dA,null,i.folderValue&&r.createElement(fA,null,"📁 ",i.folderValue),oe),r.createElement(mA,null,r.createElement(xt.A,{value:"isSubMenu-".concat(i.id),checked:$,onChange:V},"서브 메뉴로 분류"),r.createElement(I.A,{name:"title",value:M,onChange:z,placeholder:"메뉴명"}),i.type===Mi.Ef.LINK&&r.createElement(I.A,{name:"path",value:N,onChange:z,placeholder:"링크주소 https://..."}),r.createElement(pA,null,r.createElement(A.A,{id:"menu-icon-".concat(i.id),setSelectedFile:S,prevImgURL:null==i?void 0:i.imgURL,text:"기본 이미지",customDelete:se("imgURL"),style:{minWidth:100},minHeight:60}),r.createElement(A.A,{id:"menu-icon-hover-".concat(i.id),setSelectedFile:P,prevImgURL:null==i?void 0:i.hoverImgURL,text:"호버 이미지",customDelete:se("hoverImgURL"),minHeight:60}),r.createElement(A.A,{id:"menu-icon-mobile-".concat(i.id),setSelectedFile:L,prevImgURL:null==i?void 0:i.mobileImgURL,text:"모바일 이미지",customDelete:se("mobileImgURL"),minHeight:60}))),r.createElement(mA,null,i.type!==Mi.Ef.FOLDER&&r.createElement(r.Fragment,null,r.createElement(x.l,{selectList:c||[],defaultValue:ae,selectedKey:v,setSelectedKey:y,style:{width:140},dropdownStyle:{width:160},dropdownDirection:"topRight",placeholderValue:"폴더 없음"}),i.folderID&&r.createElement("span",null,r.createElement(h.A,{size:"sm",onClick:ce,shape:"ghost"},"폴더 해제"))),r.createElement(x.l,{selectList:vA,selectedKey:f,setSelectedKey:m,defaultValue:(null===(a=vA.find(function(e){return e.key===f}))||void 0===a?void 0:a.value)||"전체공개",style:{width:140},dropdownStyle:{width:160},dropdownDirection:"topRight"}),i.type===Mi.Ef.LINK&&r.createElement(xt.A,{value:"openNewTab-".concat(i.id),checked:F,onChange:G},"새 탭에서 열기"),r.createElement(w.A,{isChecked:_,handleSwitch:function(){return q(function(e){return!e})}},r.createElement("span",{style:{fontSize:"12px"}}," 보이기"))),r.createElement(mA,null,r.createElement(h.A,{onClick:ie,size:"md",pending:b},"저장"),(i.type===Mi.Ef.LINK||i.type===Mi.Ef.FOLDER)&&r.createElement(h.A,{onClick:ue,size:"md",shape:"stroke"},"삭제"))))}function gA(e,t){var n,r,a=e.data,l=t.data;return a&&l?e.isCollapse===t.isCollapse&&((null===(n=e.folderList)||void 0===n?void 0:n.length)||0)===((null===(r=t.folderList)||void 0===r?void 0:r.length)||0)&&a.id===l.id&&a.title===l.title&&a.type===l.type&&a.folderValue===l.folderValue&&a.folderID===l.folderID&&a.imgURL===l.imgURL&&a.accessType===l.accessType&&a.openNewTab===l.openNewTab&&a.path===l.path&&a.isSubMenu===l.isSubMenu&&a.isVisible===l.isVisible:a===l}var bA,hA,EA=(0,r.memo)((0,r.forwardRef)(yA),gA),xA=n(27967);function wA(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function AA(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){wA(l,r,a,o,i,"next",e)}function i(e){wA(l,r,a,o,i,"throw",e)}o(void 0)})}}function CA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return kA(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kA(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function SA(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var OA=C.Ay.div(bA||(bA=SA(["\n  /* 베경넣고 overflow hidden 먹으면 드롭다운이 가려짐 */\n"]))),IA=C.Ay.div(hA||(hA=SA(["\n  display: grid;\n  grid-template-columns: repeat(4, auto);\n  gap: 8px;\n"])));Xw.KC.PUBLIC,Xw.KC.MEMBER,Xw.KC.SECRET;var jA,PA=function(){var e=(0,c.vc)(xA.g),t=(0,l.useCollection)(o.Gf.BOARD_SET,{where:["type","==",Mi.Ef.FOLDER],listen:!0}).data,n=CA((0,Mn.zN)({title:"",linkto:"",folderTitle:"폴더"}),3),a=n[0],i=a.title,u=a.linkto,s=a.folderTitle,d=n[1],f=n[2],m=CA((0,Mr.A)(!1),4),p=m[0],v=m[1],y=(m[2],m[3]),g=CA((0,r.useState)(!0),2),E=g[0],x=g[1],A=CA((0,r.useState)(!1),2),C=A[0],k=A[1],S=(0,r.useCallback)(AA(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!u){e.next=7;break}return t={typeName:Mi.Ef.LINK,path:u,title:i,openNewTab:p},e.next=4,(0,eA.o9)(t);case 4:f(),x(!0),y();case 7:case"end":return e.stop()}},e)})),[i,u,p]),O=(0,r.useCallback)(AA(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={typeName:Mi.Ef.FOLDER,title:s},e.next=3,(0,eA.Gq)(t);case 3:f();case 4:case"end":return e.stop()}},e)})),[s]);return(0,r.useEffect)(function(){x(!u)},[u]),e?r.createElement(r.Fragment,null,r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(b.fA,null,"메뉴 목록",r.createElement(b.PF,null,"메뉴 텍스트 및 이미지를 설정합니다. 드래그 앤 드롭으로 순서를 바꿀 수 있습니다. ",r.createElement("br",null),"메뉴 제목을 빈칸으로 설정하면 메뉴에서 노출되지 않습니다.")),r.createElement(IA,null,r.createElement(I.A,{value:s,name:"folderTitle",onChange:d,placeholder:"폴더명"}),r.createElement(h.A,{onClick:O},"폴더 추가")),r.createElement(IA,null,r.createElement(I.A,{value:i,name:"title",onChange:d,placeholder:"메뉴명"}),r.createElement(I.A,{value:u,name:"linkto",onChange:d,placeholder:"(필수)https://..."}),r.createElement(xt.A,{value:"openNewTab-checkbox",checked:p,onChange:v},"새 탭에서 열기"),r.createElement(h.A,{onClick:S,disabled:E},"커스텀 메뉴 추가")),r.createElement("div",null,r.createElement(w.A,{isChecked:C,handleSwitch:function(){k(!C)}},r.createElement("b",null,"순서 편집 모드(간소화)"))),r.createElement(OA,null,r.createElement(ma.A,{list:e,handleUpdateOrder:eA.ue,collectionPath:o.Gf.BOARD_SET,folderList:t||[],isCollapse:C},r.createElement(EA,null))))):r.createElement("div",null,"로딩중...")};function TA(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function RA(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){TA(l,r,a,o,i,"next",e)}function i(e){TA(l,r,a,o,i,"throw",e)}o(void 0)})}}function LA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return DA(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?DA(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function DA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var UA=C.Ay.div(jA||(jA=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  grid-gap: 12px;\n"]))),MA={Text:"텍스트 타입",Image:"이미지 타입",None:"없음"},NA=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n=(0,c.vc)(Wr.LK),a=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),i=(a.data,a.set),u=LA((0,r.useState)(null),2),s=u[0],d=u[1],f=LA((0,r.useState)(""),2),m=f[0],p=f[1],v=LA((0,c.L4)(Dr.nq),2),y=v[0],g=v[1],E=LA((0,r.useState)(!1),2),x=E[0],w=E[1],C=(0,r.useCallback)(RA(regeneratorRuntime.mark(function e(){var t,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return w(!0),r={set:i,selectedFile:s,logoType:y,prevLogoURL:(null==n||null===(t=n.homepageSet)||void 0===t?void 0:t.logoImgURL)||""},e.next=4,(0,Re.W2)(r);case 4:w(!1);case 5:case"end":return e.stop()}},e)})),[i,s,y,n]),k=(0,r.useCallback)(function(e){g(e)},[]);return(0,r.useEffect)(function(){(0,Le.tU)("logoImgURL","url(".concat(m,")"))},[m,n]),r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"메뉴 로고"),r.createElement(b.N9,null,r.createElement("label",null,"로고 타입"),r.createElement(UA,null,Object.keys(MA).map(function(e,t){return r.createElement(Fe.A,{key:t,value:MA[e],id:"logoTypeGroup-".concat(e),name:"logoTypeGroup",checked:y===e,onChange:function(){return k(e)}},r.createElement("span",null,MA[e]))}))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"홈페이지 로고"),r.createElement(b.PF,null,"홈페이지의 대표 로고를 커스텀 할 수 있습니다.")),r.createElement(A.A,{id:"home-logo",prevImgURL:m||(null==n||null===(t=n.homepageSet)||void 0===t?void 0:t.logoImgURL)||"",customDelete:function(){var e,t;m&&(p(""),d(null)),null!=n&&null!==(e=n.homepageSet)&&void 0!==e&&e.logoImgURL&&(d(null),(0,Re.DD)((null==n||null===(t=n.homepageSet)||void 0===t?void 0:t.logoImgURL)||""))},setSelectedFile:d,customSetPreviewImgURL:p}
1)),r.createElement(b.TT,null,r.createElement(h.A,{onClick:C,pending:x},"저장")))},zA=n(2903),BA=n(70684),FA=n(57938);function GA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function HA(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?GA(Object(n),!0).forEach(function(t){$A(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GA(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $A(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VA(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function WA(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){VA(l,r,a,o,i,"next",e)}function i(e){VA(l,r,a,o,i,"throw",e)}o(void 0)})}}function _A(e){return function(e){if(Array.isArray(e))return YA(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||KA(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qA(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||KA(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function KA(e,t){if(e){if("string"==typeof e)return YA(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?YA(e,t):void 0}}function YA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var JA,QA,ZA,XA=function(e){var t,n,a,i,u,s;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var d=(0,c.vc)(Wr.LK),f=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),m=(f.data,f.set),p=qA((0,r.useState)(null),2),v=p[0],y=p[1],g=qA((0,r.useState)(""),2),C=g[0],k=g[1],S=qA((0,c.L4)(Dr.RD),2),O=S[0],j=S[1],P=qA((0,c.L4)(Dr.DO),2),T=P[0],R=P[1],L=qA((0,c.L4)(Dr.yP),2),D=L[0],U=L[1],M=qA((0,c.L4)(Dr.lO),2),N=M[0],z=M[1],B=qA((0,c.L4)(Dr.FR),2),F=B[0],G=B[1],H=qA((0,c.L4)(Dr._p),2),$=H[0],V=H[1],W=qA((0,r.useState)((null==d||null===(t=d.menu)||void 0===t?void 0:t.menuGap)||"8px"),2),_=W[0],q=W[1],K=qA((0,r.useState)((null==d||null===(n=d.menu)||void 0===n?void 0:n.mobileMenuAlign)||"left"),2),Y=K[0],J=K[1],Q=qA((0,r.useState)(""),2),Z=Q[0],X=Q[1],ee=qA((0,r.useState)((null==d||null===(a=d.menu)||void 0===a?void 0:a.menuFontFamily)||(null==d||null===(i=d.font)||void 0===i?void 0:i.headerFontFamily)||""),2),te=ee[0],ne=ee[1],re=(0,l.useDocument)(o.Mb.FONT_MANAGER,{listen:!0}).data,ae=[].concat(_A(((null==re?void 0:re.customFonts)||[]).map(function(e){return{key:e.fontFamily,value:"".concat(e.name," (커스텀)")}})),_A(Ge.zs)),le=qA((0,r.useState)(!1),2),oe=le[0],ie=le[1],ce=qA((0,Be.Ge)({menuBackgroundColor:d?d.menu.menuBackgroundColor:"#fff",menuTextColor:d?d.menu.menuTextColor:"#000",menuImgShadowColor:(null==d||null===(u=d.menu)||void 0===u?void 0:u.imgShadowColor)||"rgba(0,0,0,0.35)"},{}),3),ue=ce[0],se=ue.menuBackgroundColor,de=ue.menuTextColor,fe=ue.menuImgShadowColor,me=ce[1],pe=ce[2],ve=qA((0,r.useState)((null==d||null===(s=d.menu)||void 0===s?void 0:s.useImgShadow)||!1),2),ye=ve[0],ge=ve[1],be=(0,r.useCallback)(WA(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return ie(!0),n={layoutDir:O,menu:{menuType:T,menuFixed:N,menuWidth:(0,nt.R$)(F,"220px"),menuHeight:(0,nt.R$)($,"80px"),menuGap:(0,nt.R$)(_,"8px"),menuImgMaxHeight:(0,nt.R$)(Z,"0"),menuBackgroun
1dColor:se,menuTextType:D||nb.NO.LEFT,menuTextColor:de||"#000",menuFontFamily:te||(null==d||null===(t=d.font)||void 0===t?void 0:t.headerFontFamily)||"",useImgShadow:ye,imgShadowColor:fe,mobileMenuAlign:Y||"left"}},e.next=4,(0,Re.ij)({data:n,set:m,fileList:{selectedFile:v,prevImgURL:(null==d?void 0:d.menu.imgURL)||""}});case 4:ie(!1);case 5:case"end":return e.stop()}},e)})),[m,v,d,T,se,N,F,$,O,_,D,de,te,ye,fe,Z,Y]);(0,r.useEffect)(function(){if(d){var e,t,n,r,a,l;U(d.menu.menuTextType||nb.NO.LEFT),R(d.menu.menuType||zA.ku.COLOR),V((0,nt.R$)(d.menu.menuHeight,"80px")||"80px"),G((0,nt.R$)(d.menu.menuWidth,"220px")||"220px"),j(d.layoutDir||FA.Z7.RIGHT),ge((null==d||null===(e=d.menu)||void 0===e?void 0:e.useImgShadow)||!1),q((null===(t=d.menu)||void 0===t?void 0:t.menuGap)||"8px"),J((null==d||null===(n=d.menu)||void 0===n?void 0:n.mobileMenuAlign)||"left");var o=(null==d||null===(r=d.menu)||void 0===r?void 0:r.menuImgMaxHeight)||"";X(o),ne((null==d||null===(a=d.menu)||void 0===a?void 0:a.menuFontFamily)||(null===(l=d.font)||void 0===l?void 0:l.headerFontFamily)||"")}},[d]),(0,r.useEffect)(function(){te&&(0,Le.tU)("menuFontFamily",te)},[te]),(0,r.useEffect)(function(){C&&document.documentElement.style.setProperty("--menuImgURL","url('".concat(C,"')"))},[C]);var he=(0,r.useCallback)(function(e){m({menu:HA(HA({},null==d?void 0:d.menu),{},{menuItemType:e})},{merge:!0})},[]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{wrap:"row"},r.createElement(b.fA,null,"메뉴 디자인"),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 방향"),r.createElement(Fe.z,null,FA.mZ.map(function(e,t){if(e)return r.createElement(Fe.A,{key:t,value:e.value,id:"layoutDirGroup-".concat(e.key),name:"layoutDirGroup",checked:O===e.key,onChange:function(){return t=e.key,void j(t);var t}},r.createElement("span",null,e.value))}))),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 디자인 유형"),r.createElement(Fe.z,null,BA.vJ.map(function(e,t){return r.createElement(Fe.A,{key:t,value:e.value,id:"menuItemGroup-".concat(e.key),name:"menuItemGroup",checked:!!d&&(null==d?void 0:d.menu.menuItemType)===e.key,onChange:function(){return he(e.key)}},r.createElement("span",null,e.value))}))),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 텍스트 위치"),r.createElement(Fe.z,null,nb.TZ.map(function(e,t){return r.createElement(Fe.A,{key:t,value:e.value,id:"menuTextGroup-".concat(e.key),name:"menuTextGroup",checked:D===e.key,onChange:function(){return t=e.key,void U(t);var t}},r.createElement("span",null,e.value))}))),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 고정 여부",r.createElement(b.PF,null,"상단형만 적용")),r.createElement(w.A,{isChecked:N,handleSwitch:function(){return z(function(e){return!e})}})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 배경 디자인 타입"),r.createElement(Fe.z,null,zA.Y3.map(function(e,t){return r.createElement(Fe.A,{key:t,value:e.value,id:"MenuDesignTypeGroup-".concat(e.key),name:"MenuDesignTypeGroup",checked:T===e.key,onChange:function(){return function(e){R(e)}(e.key)}},r.createElement("span",null,e.value))}))),T===zA.ku.IMAGE&&r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"메뉴 배경 이미지"),r.createElement(b.PF,null,"최적 220 * 980")),r.createElement(A.A,{id:"menu-background-image",prevImgURL:C||(null==d?void 0:d.menu.imgURL)||"",customDelete:function(){C&&(k(""),y(null)),null!=d&&d.menu.imgURL&&(y(null),(0,Re.fz)(d.menu.imgURL))},setSelectedFile:y,customSetPreviewImgURL:k})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 배경색",r.createElement(b.PF,null,"모바일 메뉴 배경색에도 동일하게 적용됩니다.")),r.createElement(E.A,{name:"menuBackgroundColor",value:se,onChange:me})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 폰트색",r.createElement(b.PF,null,"모바일 메뉴 텍스트 색상에도 동일하게 적용됩니다.")),r.createElement(E.A,{name:"menuTextColor",value:de,onChange:me})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 폰트"),r.createElement(x.l,{selectedKey:te,setSelectedKey:ne,selectList:ae,dropdownStyle:{width:240,maxHeight:300},dropdownDirection:"topLeft"})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 이미지 그림자"),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},r.createElement(w.A,{isChecked:ye,handleSwitch:function(){return ge(function(e){return!e})}}),r.createElement("div",{style:{opacity:ye?1:.5,pointerEvents:ye?"auto":"none"}},r.createElement(E.A,{name:"menuImgShadowColor",value:fe,onChange:me})))),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 높이(px)",r.createElement(b.PF,null,"상단형만 적용")),r.createElement(I.A,{name:"menuHeight",value:$,onChange:function(e){return V(e.target.value)},placeholder:"높이 px",width:120})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 가로 길이(px)"),r.createElement(I.A,{name:"menuWidth",value:F,onChange:function(e){return G(e.target.value)},placeholder:"길이 px",width:120})),r.createElement(b.N9,null,r.createElement("label",null,"각 메뉴의 최대 높이(px)",r.createElement(b.PF,null,"이미지형에만 적용")),r.createElement(I.A,{name:"menuImgMaxHeight",value:Z,onChange:function(e){return X(e.target.value)},placeholder:"최대 높이 px",width:120})),r.createElement(b.N9,null,r.createElement("label",null,"메뉴 간격(px)"),r.createElement(I.A,{name:"menuGap",value:_,onCh
1ange:function(e){return q(e.target.value)},placeholder:"간격 px",width:120})),r.createElement(b.N9,null,r.createElement("label",null,"모바일 메뉴 정렬",r.createElement(b.PF,null,"모바일 환경에서 메뉴 아이템의 가로 정렬")),r.createElement(Fe.z,null,r.createElement(Fe.A,{value:"left",id:"mobileMenuAlign-left",name:"mobileMenuAlign",checked:"left"===Y,onChange:function(){return J("left")}},r.createElement("span",null,"왼쪽정렬")),r.createElement(Fe.A,{value:"center",id:"mobileMenuAlign-center",name:"mobileMenuAlign",checked:"center"===Y,onChange:function(){return J("center")}},r.createElement("span",null,"중앙정렬")),r.createElement(Fe.A,{value:"right",id:"mobileMenuAlign-right",name:"mobileMenuAlign",checked:"right"===Y,onChange:function(){return J("right")}},r.createElement("span",null,"오른쪽정렬")))),r.createElement(b.TT,null,r.createElement(h.A,{shape:"stroke",onClick:function(){C&&(document.documentElement.style.setProperty("--menuImgURL","url('".concat(null==d?void 0:d.menu.imgURL,"')")),k("")),R((null==d?void 0:d.menu.menuType)||zA.ku.COLOR),pe()}},"초기화"),r.createElement(h.A,{onClick:be,pending:oe},"저장"))))},eC=(n(4298),n(86994)),tC=n(78148),nC=["id","data","style","setOrderList","set","onChangeBaseFile","onChangeHoverFile","onChangeShow","onMarkBaseDelete","onMarkHoverDelete"];function rC(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function aC(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){rC(l,r,a,o,i,"next",e)}function i(e){rC(l,r,a,o,i,"throw",e)}o(void 0)})}}function lC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function oC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lC(Object(n),!0).forEach(function(t){iC(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lC(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function iC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cC(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return uC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uC(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uC(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function sC(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var dC=(0,C.AH)(JA||(JA=sC(["\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  border: 0;\n"]))),fC=C.Ay.div(QA||(QA=sC(["\n  padding: 8px 24px;\n  box-sizing: border-box;\n  width: 100%;\n  color: var(--textColor);\n  background-color: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  transition: background-color 0.2s;\n  position: relative; // swap icon 고정시키기용\n\n  display: grid;\n  grid-template-columns: 0.4fr 1fr auto auto;\n  align-items: center;\n  gap: 12px;\n\n  /* "," */\n"])),function(e){return e.isDrag&&dC}),mC=C.Ay.div(ZA||(ZA=sC(["\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 4px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n  }\n"])));function pC(e,t){var n,a=e.id,i=e.data,c=(e.style,e.setOrderList),u=(e.set,e.onChangeBaseFile),s=e.onCh
1angeHoverFile,d=e.onChangeShow,f=e.onMarkBaseDelete,m=e.onMarkHoverDelete,p=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,nC),v=(0,tC.A)().openToast,y=cC((0,r.useState)(null===(n=null==i?void 0:i.isSubShow)||void 0===n||n),2),g=y[0],b=y[1],E=cC((0,r.useState)(null),2),x=(E[0],E[1]),w=cC((0,r.useState)(null),2),C=(w[0],w[1]),k=(0,r.useCallback)(function(){var e=!g;b(e),d&&d(String(i.id||""),Boolean(e)),c(function(t){return t.map(function(t){return t.id===i.id?oC(oC({},t),{},{isSubShow:e}):t})})},[g,i,c,d]),S=(0,r.useCallback)(function(e){return aC(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:try{"subImgURL"===e&&f&&f(String(i.id||"")),"subHoverImgURL"===e&&m&&m(String(i.id||"")),c(function(t){return t.map(function(t){return t.id===i.id?oC(oC({},t),{},iC({},e,"")):t})})}catch(e){console.warn("이미지 삭제 실패",e)}case 1:case"end":return t.stop()}},t)}))},[i,c,f,m]),O=(0,r.useCallback)(function(e){x(e),u&&u(i.id,e)},[null==i?void 0:i.id,u]),I=(0,r.useCallback)(function(e){C(e),s&&s(i.id,e)},[null==i?void 0:i.id,s]),j=(0,r.useCallback)(aC(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,window.confirm("서브메뉴를 해제하시겠습니까?")){e.next=4;break}return e.abrupt("return");case 4:return e.next=6,l.fuego.db.collection(o.Gf.BOARD_SET).doc(String(i.id||"")).set({isSubMenu:!1},{merge:!0});case 6:c(function(e){return e.filter(function(e){return e.id!==i.id})}),alert("서브메뉴가 해제되었습니다."),v("서브메뉴가 해제되었습니다."),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(0),console.error("서브메뉴 해제 실패:",e.t0),alert("서브메뉴 해제 중 오류가 발생했습니다.");case 15:case"end":return e.stop()}},e,null,[[0,11]])})),[i,c]);return r.createElement(fC,null,r.createElement(Aa.A,p),r.createElement(xt.A,{id:"".concat(a,"-").concat(i.key),checked:g,value:i.key,onChange:k},"표시"),r.createElement("div",null,r.createElement("div",{style:{marginBottom:8}},i.value),r.createElement(mC,null,r.createElement(A.A,{id:"menu-icon-".concat(i.id),setSelectedFile:O,prevImgURL:null==i?void 0:i.subImgURL,text:"기본 이미지",customDelete:S("subImgURL"),style:{minWidth:100},minHeight:60}),r.createElement(A.A,{id:"menu-icon-hover-".concat(i.id),setSelectedFile:I,prevImgURL:null==i?void 0:i.subHoverImgURL,text:"호버 이미지",customDelete:S("subHoverImgURL"),minHeight:60}))),r.createElement(h.A,{onClick:j,size:"sm",shape:"stroke",color:"warning"},"서브메뉴 해제"))}var vC,yC,gC,bC,hC,EC,xC,wC,AC=(0,r.forwardRef)(pC);function CC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?CC(Object(n),!0).forEach(function(t){SC(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):CC(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function SC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OC(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function IC(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){OC(l,r,a,o,i,"next",e)}function i(e){OC(l,r,a,o,i,"throw",e)}o(void 0)})}}function jC(e){return function(e){if(Array.isArray(e))return RC(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||TC(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function PC(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||TC(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function TC(e,t){if(e){if("string"==typeof e)return RC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?RC(e,t):void 0}}function RC(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function LC(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var DC=C.Ay.div(vC||(vC=LC(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),UC=C.Ay.div(yC||(yC=LC(["\n  display: flex;\n  gap: 16px;\n  align-items: center;\n"]))),MC=C.Ay.div(gC||(gC=LC(["\n  display: grid;\n  grid-template-columns: repeat(3, 24px);\n  grid-template-rows: repeat(3, 24px);\n  gap: 4px;\n  padding: 12px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n  background-color: var(--cardBackgroundColor);\n"]))),NC=C.Ay.button(bC||(bC=LC(["\n  width: 24px;\n  height: 24px;\n  border-radius: 4px;\n  border: 2px solid ",";\n  background-color: ",";\n  cursor: ",";\n  transition: all 0.2s;\n  position: relative;\n  &::after {\n    content: '';\n    position: absolute;\n    width: 8px; height: 8px;\n    border-radius: 50%;\n    background-color: ",";\n    top: 50%; left: 50%;\n    transform: translate(-50%, -50%);\n  }\n  &:hover:not([data-center='true']) {\n    border-color: var(--primaryColor);\n    &::after { background-color: var(--primaryColor); }\n  }\n  ","\n"])),function(e){return e.isCenter?"transparent":"var(--lineColor)"},function(e){var t=e.isActive;return e.isCenter?"transparent":t?"var(--primaryColor)":"var(--backgroundColor)"},function(e){return e.isCenter?"default":"pointer"},function(e){var t=e.isActive;return e.isCenter?"transparent":t?"white":"var(--lineColor)"},function(e){return e.isActive&&"box-shadow: 0 2px 8px rgba(var(--primaryColorRGB), 0.3);"}),zC=C.Ay.div(hC||(hC=LC(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  font-size: 13px;\n  line-height: 1.5;\n"]))),BC=C.Ay.div(EC||(EC=LC(["\n  font-weight: 600;\n  color: var(--textColor);\n"]))),FC=C.Ay.div(xC||(xC=LC(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  word-break: keep-all;\n"]))),GC=C.Ay.div(wC||(wC=LC(["\n  display: grid;\n  grid-template-columns: repeat(2, minmax(120px, 1fr));\n  gap: 12px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n  }\n"]))),HC="8px",$C=function(e){return(0,nt.R$)(e,"8")},VC=function(){var e,t=(0,l.useDocument)(o.Mb.SUBMENU,{listen:!0}),n=t.data,a=t.set,i=PC((0,r.useState)(eC.Pw.TOPRIGHT),2),c=i[0],u=i[1],s=PC((0,r.useState)(eC.FZ.ROW),2),d=s[0],f=s[1],m=PC((0,r.useState)(zA.ku.COLOR),2),p=m[0],v=m[1],y=PC((0,r.useState)(BA.TN.TEXT),2),g=y[0],E=y[1],x=PC((0,r.useState)(HC),2),A=x[0],C=x[1],k=PC((0,r.useState)(HC),2),S=k[0],O=k[1],j=PC((0,r.useState)(HC),2),P=j[0],T=j[1],R=PC((0,r.useState)(HC),2),L=R[0],D=R[1],U=PC((0,r.useState)(HC),2),M=U[0],N=U[1],z=PC((0,r.useState)(!1),2),B=z[0],F=z[1],G=PC((0,r.useState)(!1),2),H=(G[0],G[1],PC((0,r.useState)(null),2)),$=H[0],V=H[1],W=PC((0,r.useState)(Boolean(null==n?void 0:n.isActive)),2),_=W[0],q=W[1],K=PC((0,r.useState)({}),2),Y=K[0],J=K[1],Q=PC((0,r.useState)({}),2),Z=Q[0],X=Q[1],ee=PC((0,r.useState)({}),2),te=ee[0],ne=ee[1],re=PC((0,r.useState)({}),2),ae=re[0],le=re[1],oe=PC((0,r.useState)({}),2),ie=oe[0],ce=oe[1],ue=(0,l.useCollection)(o.Gf.BOARD_SET,{listen:!0}).data;(0,r.useEffect)(function(){"boolean"==typeof(null==n?void 0:n.isActive)&&q(Boolean(n.isActive)),null!=n&&n.subMenuDirection&&u(n.subMenuDirection),null!=n&&n.subMenuFlexDirection&&f(n.subMenuFlexDirection),null!=n&&n.subMenuDesignType&&v(n.subMenuDesignType),null!=n&&n.subMenuItemType&&E(n.subMenuItemType),C((null==n?void 0:n.subMenuOffsetTop)||HC),O((null==n?void 0:n.subMenuOffsetRight)||HC),T((null==n?void 0:n.subMenuOffsetBottom)||HC),D((null==n?void 0:n.subMenuOffsetLeft)||HC),N((null==n?void 0:n.subMenuGap)||HC)},[null==n?void 0:n.subMenuDirection,null==n?void 0:n.subMenuFlexDirection,null==n?void 0:n.subMenuDesignType,null==n?void 0:n.subMenuItemType,null==n?void 0:n.subMenuOffsetTop,null==n?void 0:n.subMenuOffsetRight,null==n?void 0:n.subMenuOffsetBottom,null==n?void 0:n.subMenuOffsetLeft,null==n?void 0:n.subMenuGap]);var se=(0,r.useCallback)(function(e){u(e)},[]),de=(0,r.useCallback)(function(e){f(e)},[]),fe=(0,r.useCallback)(function(e){E(e)},[]),pe=(0,r.useCallback)(function(e){var t=e.orderList.map(function(e){return String(e.id||"")});V(t)},[]),ve=(0,r.useMemo)(function(){var e=(ue||[]).filter(function(e){return!0===(null==e?void 0:e.isSubMenu)}),t=new Map(e.map(function(e){return[String(e.id||""),e]})),r=((null==n?void 0:n.subMenuOrder)||[]).map(function(e){return String(e||"")}),a=[];if(r.length>0){var l=r.map(function(e){return t.get(e)}
1).filter(Boolean),o=e.filter(function(e){return!r.includes(String(e.id||""))});a=[].concat(jC(l),jC(o))}else a=e.slice().sort(function(e,t){var n=null==e?void 0:e.order,r=null==t?void 0:t.order,a=Number.isFinite(n),l=Number.isFinite(r);if(a&&l)return n-r;if(a)return-1;if(l)return 1;var o=(e.title||"").toString(),i=(t.title||"").toString();return o.localeCompare(i)});if($&&$.length>0){var i=$.map(function(e){return String(e||"")}),c=new Map(a.map(function(e){return[String(e.id||""),e]})),u=i.map(function(e){return c.get(e)}).filter(Boolean),s=a.filter(function(e){return!i.includes(String(e.id||""))});return[].concat(jC(u),jC(s))}return a},[ue,null==n?void 0:n.subMenuOrder,$]),ye=(0,r.useCallback)(IC(regeneratorRuntime.mark(function e(){var t,r,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:return F(!0),e.prev=3,t=ve.map(function(e){return kC({},e)}),e.next=7,Promise.all(t.map(function(){var e=IC(regeneratorRuntime.mark(function e(t){var n,r,a,l,i,c,u,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=kC({},t),r=String(n.id||""),a=Y[r]||null,l=Z[r]||null,Object.prototype.hasOwnProperty.call(ie,r)&&(n.isSubShow=Boolean(ie[r])),e.next=7,Promise.all([a?(0,me.updateImgAndGetURL)({selectedFile:a,prevImgURL:n.subImgURL||"",collectionPath:o.Gf.BOARD_SET}):Promise.resolve(te[r]?"":n.subImgURL||""),l?(0,me.updateImgAndGetURL)({selectedFile:l,prevImgURL:n.subHoverImgURL||"",collectionPath:o.Gf.BOARD_SET}):Promise.resolve(ae[r]?"":n.subHoverImgURL||"")]);case 7:return i=e.sent,c=PC(i,2),u=c[0],s=c[1],n.subImgURL=u||"",n.subHoverImgURL=s||"",e.abrupt("return",n);case 14:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()));case 7:return r=e.sent,i=r.filter(function(e){var t=String(e.id||"");return Boolean(Y[t]||Z[t]||te[t]||ae[t]||Object.prototype.hasOwnProperty.call(ie,t))}),e.next=11,Promise.all(i.map(function(e){var t=String(e.id||""),n={};return(Y[t]||te[t])&&(n.subImgURL=e.subImgURL||""),(Z[t]||ae[t])&&(n.subHoverImgURL=e.subHoverImgURL||""),"boolean"==typeof e.isSubShow&&Object.prototype.hasOwnProperty.call(ie,t)&&(n.isSubShow=e.isSubShow),l.fuego.db.collection(o.Gf.BOARD_SET).doc(t).set(n,{merge:!0})}));case 11:return e.next=13,a({isActive:Boolean(_),subMenuDirection:c,subMenuFlexDirection:d,subMenuDesignType:p,subMenuItemType:g,subMenuOffsetTop:$C(A),subMenuOffsetRight:$C(S),subMenuOffsetBottom:$C(P),subMenuOffsetLeft:$C(L),subMenuGap:$C(M),subMenuOrder:r.map(function(e){return String(e.id||"")}).filter(Boolean)},{merge:!0});case 13:V(null),J({}),X({}),ne({}),le({}),ce({}),e.next=25;break;case 21:e.prev=21,e.t0=e.catch(3),console.error("❌ 저장 실패:",e.t0),alert("저장에 실패했습니다. 다시 시도해주세요.");case 25:return e.prev=25,F(!1),e.finish(25);case 28:case"end":return e.stop()}},e,null,[[3,21,25,28]])})),[n,c,d,p,g,A,S,P,L,M,a,ve,Y,Z,_,te,ae,ie]);return n?r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"서브 메뉴 설정",r.createElement(b.PF,null,"레이아웃에서 서브메뉴가 표시될 위치, 배치 방향, 디자인 타입을 선택합니다.",r.createElement("br",null),"서브메뉴는 화면의 고정된 위치에 표시됩니다.")),r.createElement(b.N9,null,r.createElement("label",null,"서브메뉴 활성화"),r.createElement(w.A,{isChecked:_,handleSwitch:function(){return q(function(e){return!e})}})),r.createElement(b.N9,null,r.createElement("label",null,"서브메뉴 표시 위치"),r.createElement(DC,null,r.createElement(UC,null,r.createElement(MC,null,r.createElement(NC,{type:"button",isActive:c===eC.Pw.TOPLEFT,onClick:function(){return se(eC.Pw.TOPLEFT)}}),r.createElement(NC,{type:"button",isActive:c===eC.Pw.TOPCENTER,onClick:function(){return se(eC.Pw.TOPCENTER)}}),r.createElement(NC,{type:"button",isActive:c===eC.Pw.TOPRIGHT,onClick:function(){return se(eC.Pw.TOPRIGHT)}}),r.createElement(NC,{type:"button",isActive:c===eC.Pw.MIDDLELEFT,onClick:function(){return se(eC.Pw.MIDDLELEFT)}}),r.createElement(NC,{type:"button",isActive:!1,isCenter:!0,"data-center":"true"}),r.createElement(NC,{type:"button",isActive:c===eC.Pw.MIDDLERIGHT,onClick:function(){return se(eC.Pw.MIDDLERIGHT)}}),r.createElement(NC,{type:"button",isActive:c===eC.Pw.BOTTOMLEFT,onClick:function(){return se(eC.Pw.BOTTOMLEFT)}}),r.createElement(NC,{type:"button",isActive:c===eC.Pw.BOTTOMCENTER,onClick:function(){return se(eC.Pw.BOTTOMCENTER)}}
1),r.createElement(NC,{type:"button",isActive:c===eC.Pw.BOTTOMRIGHT,onClick:function(){return se(eC.Pw.BOTTOMRIGHT)}})),r.createElement(zC,null,r.createElement(BC,null,null!==(e=eC.cq[c])&&void 0!==e?e:"선택 안 됨"),r.createElement(FC,null,"서브메뉴가 화면에 고정되는 기준 위치를 선택합니다."))))),r.createElement(b.N9,null,r.createElement("label",null,"서브메뉴 배치 방향"),r.createElement(Xl.A,{list:eC.kW,id:"subMenuFlexDirection",checkedType:d,handleChange:de})),r.createElement(b.N9,null,r.createElement("label",null,"화면 끝 간격(px)",r.createElement(b.PF,null,"선택한 표시 위치에 맞는 방향값만 실제 배치에 적용됩니다.")),r.createElement(GC,null,r.createElement(I.A,{name:"subMenuOffsetTop",label:"Top",value:A,onChange:function(e){return C(e.target.value)},placeholder:"8px",width:120}),r.createElement(I.A,{name:"subMenuOffsetRight",label:"Right",value:S,onChange:function(e){return O(e.target.value)},placeholder:"8px",width:120}),r.createElement(I.A,{name:"subMenuOffsetBottom",label:"Bottom",value:P,onChange:function(e){return T(e.target.value)},placeholder:"8px",width:120}),r.createElement(I.A,{name:"subMenuOffsetLeft",label:"Left",value:L,onChange:function(e){return D(e.target.value)},placeholder:"8px",width:120}))),r.createElement(b.N9,null,r.createElement("label",null,"서브메뉴 간격(px)"),r.createElement(I.A,{name:"subMenuGap",value:M,onChange:function(e){return N(e.target.value)},placeholder:"8px",width:120})),r.createElement(b.N9,null,r.createElement("label",null,"서브메뉴 타입"),r.createElement(Xl.A,{list:BA.vJ,id:"subMenuItemType",checkedType:g,handleChange:fe})),r.createElement(b.N9,null,r.createElement("label",null,"서브메뉴 정렬"),r.createElement("div",{style:{width:"100%",display:"flex",gap:"8px",flexDirection:"column"}},r.createElement(ma.A,{list:ve,handleUpdateOrder:pe,collectionPath:""},r.createElement(AC,{set:a,id:"subMenu",onChangeBaseFile:function(e,t){return J(function(n){return kC(kC({},n),{},SC({},e,t))})},onChangeHoverFile:function(e,t){return X(function(n){return kC(kC({},n),{},SC({},e,t))})},onChangeShow:function(e,t){return ce(function(n){return kC(kC({},n),{},SC({},e,t))})},onMarkBaseDelete:function(e){return ne(function(t){return kC(kC({},t),{},SC({},e,!0))})},onMarkHoverDelete:function(e){return le(function(t){return kC(kC({},t),{},SC({},e,!0))})}})))),r.createElement(b.N9,null,r.createElement("div",null),r.createElement(b.TT,null,r.createElement(h.A,{onClick:ye,pending:B,block:!0},"저장하기")))):null},WC=n(48189);function _C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_C(Object(n),!0).forEach(function(t){KC(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_C(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function KC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function YC(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function JC(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){YC(l,r,a,o,i,"next",e)}function i(e){YC(l,r,a,o,i,"throw",e)}o(void 0)})}}function QC(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ZC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ZC(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ZC(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var XC,ek,tk,nk,rk=function(){var e=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),t=e.data,n=e.set,a=(0,c.vc)(Dr.Mt),i=QC((0,r.useState)(a),2),u=i[0],s=i[1],d=QC((0,r.useState)(!1),2),f=d[0],m=d[1],p=QC((0,c.L4)(Dr.Kl),2),v=p[0],y=p[1],g=QC((0,c.L4)(Dr.WC),2),E=g[0],x=g[1],A=QC((0,c.L4)(Dr.mj),2),C=A[0],k=A[1],S=QC((0,c.L4)(Dr.Y2),2),O=S[0],j=S[1],P=QC((0,c.L4)(Dr.gm),2),T=P[0],R=P[1],L=(0,r.useCallback)(JC(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:m(!0),t={layoutType:u,menu:{layoutWidth:(0,nt.R$)(v,"1280"),showSide:E,showBlogSlide:C,iconDirection:O,topNavSideSeparated:T}},n({layoutType:t.layoutType,menu:qC({},t.menu)},{merge:!0}),m(!1);case 4:case"end":return e.stop()}},e)})),[n,t,v,u,E,C,O,T]);return(0,r.useEffect)(function(){var e,n,r;t&&(console.log(t.layoutType),s(t.layoutType),null!==(e=t.menu)&&void 0!==e&&e.iconDirection&&j(t.menu.iconDirection),R(null===(n=null===(r=t.menu)||void 0===r?void 0:r.topNavSideSeparated)||void 0===n||n))},[t,j]),r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(b.fA,null,"레이아웃"),r.createElement(b.N9,null,r.createElement("label",null,"레이아웃 스타일"),r.createElement(Fe.z,null,WC.hP.map(function(e,t){if(e)return r.createElement(Fe.A,{key:t,value:e.value,id:"layoutGroup-".concat(e.key),name:"layoutGroup",checked:u===e.key,onChange:function(){return function(e){s(e)}(e.key)}},r.createElement("span",null,e.value))}))),r.createElement(b.N9,null,r.createElement("label",null,"사이드 섹션 활성화"),r.createElement(w.A,{isChecked:E,handleSwitch:function(){return x(function(e){return!e})}})),r.createElement(b.N9,null,r.createElement("label",null,"블로그형 슬라이드 활성화"),r.createElement(w.A,{isChecked:C,handleSwitch:function(){return k(function(e){return!e})}})),u===WC.sr.TOP&&r.createElement(b.N9,null,r.createElement("label",null,"아이콘 섹션 분리",r.createElement(b.PF,null,"OFF 시 아이콘·로그인 영역이 헤더에서 분리되어 최상단에 고정됩니다.")),r.createElement(w.A,{isChecked:T,handleSwitch:function(){return R(function(e){return!e})}})),r.createElement(b.N9,null,r.createElement("label",null,"알림/음악/쪽지 아이콘 정렬"),r.createElement(Fe.z,null,r.createElement(Fe.A,{value:"column",id:"iconDirection-column",name:"iconDirection",checked:"column"===O,onChange:function(){return j("column")}},r.createElement("span",null,"세로")),r.createElement(Fe.A,{value:"row",id:"iconDirection-row",name:"iconDirection",checked:"row"===O,onChange:function(){return j("row")}},r.createElement("span",null,"가로")))),r.createElement(b.N9,null,r.createElement("label",null,"전체 레이아웃 폭(px)",r.createElement(b.PF,null,"풀 화면을 원하실 시 100%를 입력해주세요.")),r.createElement(I.A,{name:"layoutWidth",value:v,onChange:function(e){return y(e.target.value)},placeholder:"권장 1280px",width:120})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:L,pending:f},"저장")))},ak=["id","data","style","setOrderList","set"];function lk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ok(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lk(Object(n),!0).forEach(function(t){ik(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lk(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ik(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ck(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function uk(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var sk=(0,C.AH)(XC||(XC=uk(["\n  border-radius: var(--cardBorderRadius);
1\n  background-color: var(--cardBackgroundColor);\n  border: 0;\n"]))),dk=C.Ay.div(ek||(ek=uk(["\n  padding: 6px 24px;\n  box-sizing: border-box;\n  width: 100%;\n  color: var(--textColor);\n  background-color: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  transition: background-color 0.2s;\n  position: relative; // swap icon 고정시키기용\n\n  display: grid;\n  grid-template-columns: 0.4fr 1fr auto auto;\n  align-items: center;\n  gap: 12px;\n\n  /* "," */\n"])),function(e){return e.isDrag&&sk});function fk(e,t){var n,a,l,o=e.id,i=e.data,c=(e.style,e.setOrderList),u=e.set,s=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,ak),d=(a=(0,r.useState)(null!==(n=i.isShow)&&void 0!==n&&n),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(a,l)||function(e,t){if(e){if("string"==typeof e)return ck(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ck(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1],p=(0,r.useCallback)(function(){var e=!f;m(e),c(function(t){var n=t.map(function(t){return t.key===i.key?ok(ok({},t),{},{isShow:e}):t});return u({list:n},{merge:!0}),n})},[f,i,c]);return r.createElement(dk,null,r.createElement(Aa.A,s),r.createElement(xt.A,{id:"".concat(o,"-").concat(i.key),checked:f,value:i.key,onChange:p},"표시"),i.value)}C.Ay.div(tk||(tk=uk(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),C.Ay.div(nk||(nk=uk(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  width: 100%;\n  padding: 8px 0;\n"])));var mk,pk,vk=(0,r.forwardRef)(fk);function yk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var gk=(yk(mk={},Fg.Fc.MENU,"메뉴(필수 권장)"),yk(mk,Fg.Fc.USERLOGIN,"로그인/유저 정보"),yk(mk,Fg.Fc.MASTERINFO,"마스터(주인장) 정보"),yk(mk,Fg.Fc.DDAYWIDGHET,"디데이위젯"),yk(mk,Fg.Fc.CLOCK,"시계"),yk(mk,Fg.Fc.DAILYTODO,"데일리 투두리스트"),mk),bk=(yk(pk={},Fg.Fc.LATEST,"최신글"),yk(pk,Fg.Fc.NOTICE,"메인 공지"),yk(pk,Fg.Fc.POSTINGNOTICE,"포스팅-공지"),yk(pk,Fg.Fc.BANNEER,"배너란"),yk(pk,Fg.Fc.MINICALENDAR,"미니 캘린더"),yk(pk,Fg.Fc.USERLOGIN,"로그인/유저 정보"),yk(pk,Fg.Fc.MASTERINFO,"마스터(주인장) 정보"),yk(pk,Fg.Fc.DDAYWIDGHET,"디데이위젯"),yk(pk,Fg.Fc.CLOCK,"시계"),yk(pk,Fg.Fc.DAILYTODO,"데일리 투두리스트"),yk(pk,Fg.Fc.MUSICPLAYER,"음악 플레이어"),pk),hk=Object.keys(bk).map(function(e){return{id:e,key:e,isShow:!1,value:bk[e]}}),Ek=Object.keys(gk).map(function(e){return{id:e,key:e,isShow:!1,value:gk[e]}});function xk(e){return function(e){if(Array.isArray(e))return wk(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return wk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wk(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wk(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ak=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.ASIDE),{listen:!0}),n=t.data,a=t.set,i=(0,r.useMemo)(function(){var e=Array.isArray(null==n?void 0:n.list)?n.list:[];
1if(0===e.length)return hk;var t=new Set(e.map(function(e){return e.key})),r=hk.filter(function(e){return!t.has(e.key)});return[].concat(xk(e),xk(r))},[null==n?void 0:n.list]),c=(0,r.useCallback)(function(e){var t=e.orderList;a({list:t},{merge:!0})},[a]);return r.createElement(b.YO,null,r.createElement(b.fA,null,"사이드 섹션2 목록",r.createElement(b.PF,null,"사이드 메뉴의 정렬 및 표시여부. ",r.createElement("br",null),"사이드 섹션 활성화 여부는 [메뉴] - [레이아웃] - [사이드 섹션 활성화] 에서 가능 ",r.createElement("br",null)," 드래그 앤 드롭으로 순서를 바꿀 수 있습니다.")),r.createElement(ma.A,{list:i,handleUpdateOrder:c,collectionPath:""},r.createElement(vk,{set:a,id:"aside"})))};function Ck(e){return function(e){if(Array.isArray(e))return kk(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return kk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kk(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kk(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Sk,Ok,Ik=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINMENU),{listen:!0}),n=t.data,a=t.set,i=(0,r.useMemo)(function(){var e=Array.isArray(null==n?void 0:n.list)?n.list:[];if(0===e.length)return Ek;var t=new Set(e.map(function(e){return e.key})),r=Ek.filter(function(e){return!t.has(e.key)});return[].concat(Ck(e),Ck(r))},[null==n?void 0:n.list]),c=(0,r.useCallback)(function(e){var t=e.orderList;a({list:t},{merge:!0})},[a]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"사이드 섹션1 목록",r.createElement(b.PF,null,"메인 메뉴 메뉴의 정렬 및 표시여부. ",r.createElement("br",null),"[블로그형], [미니메모형] 레이아웃에서만 정렬됩니다.")),r.createElement(ma.A,{list:i,handleUpdateOrder:c,collectionPath:""},r.createElement(vk,{set:a,id:"main"})))},jk={gridSize:{rows:5,cols:2},grid:{"#FF5733":{order:0,color:"#FF5733",status:"empty",cells:[{row:0,col:0},{row:1,col:0},{row:2,col:0}]},"#33FF57":{order:1,color:"#33FF57",status:"empty",cells:[{row:0,col:1},{row:1,col:1}]},"#5788FF":{order:2,color:"#5788FF",status:"empty",cells:[{row:2,col:1}]},"#8824FF":{order:3,color:"#8824FF",status:"empty",cells:[{row:3,col:0},{row:3,col:1}]},"#417505":{order:4,color:"#417505",status:"empty",cells:[{row:4,col:0}]},"#241235":{order:5,color:"#241235",status:"empty",cells:[{row:4,col:1}]}}};function Pk(e,t){if(e){if("string"==typeof e)return Tk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tk(e,t):void 0}}function Tk(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Rk(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Lk=C.Ay.div(Sk||(Sk=Rk(["\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  padding: 16px;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n"]))),Dk=C.Ay.p(Ok||(Ok=Rk(["\n  width: 100%;\n  border-radius: 6px;\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n  p {\n    font-size: 14px;\n  }\n"]))),Uk=function(){var e,t,n,a,i=(0,l.useDocument)("".concat(o.Mb.GAMEUI),{listen:!0}),c=i.data,u=i.set,s=(n=(0,r.useState)(null),a=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,a)||Pk(n,a)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=s[1],m=(0,l.useCollection)(o.Gf.BOARD_SET,{orderBy:["order","asc"],listen:!0}),p=m.data,v=(m.error,(0,r.useMemo)(function(){if(!p)return[];var e=function(e){return e.map(function(e,t){return{key:e.id,value:"[".concat(t,"] ").concat(e.title),order:e.order||t}})}(p);return[{key:"empty",value:"없음",order:-1}].concat(function(e){return function(e){if(Array.isArray(e))return Tk(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Pk(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e))},[p]));return(0,r.useEffect)(function(){d||(c&&c.grid?f(c.grid):f(Fg.Y9))},[c,d]),r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"게임Ui 메뉴 그리드 설정",r.createElement(b.PF,null," 메뉴 레이아웃 커스텀 설정")),r.createElement(Lk,null,r.createElement(Dk,{style:{marginBottom:"16px"}},r.createElement("p",null,r.createElement("strong",null,"메뉴 그리드 편집 방법")),r.createElement("p",null,"1.컬러를 선택하고 보드판 위를 드래그 합니다. "),r.createElement("p",null,"2.컬러 영역에 해당하는 역할(기능)을 지정합니다. "),r.createElement("p",null,"3.더욱 많은 섹션 및 정보값을 넣고 싶을 시, 그리드 행,열 개수를 조절합니다."),r.createElement("p",{style:{fontSize:13,color:"var(--subTextColor)"}},"⚠️ 메인 홈의 정보량이 많을수록 모바일에 최적화가 어려울 수 있습니다.")),r.createElement(Bg,{originData:c,set:u,selectList:v,initialGrid:jk.grid,initialRows:(null==c||null===(e=c.gridSize)||void 0===e?void 0:e.rows)||jk.gridSize.rows,initialCols:(null==c||null===(t=c.gridSize)||void 0===t?void 0:t.cols)||jk.gridSize.cols,selectName:"메뉴 선택"})))};function Mk(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Nk,zk,Bk,Fk,Gk,Hk,$k,Vk,Wk,_k,qk,Kk,Yk,Jk,Qk,Zk,Xk,eS,tS=function(){var e,t,n=(e=(0,r.useState)("layout"),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Mk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mk(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=n[0],o=n[1],c=[{label:"메뉴 레이아웃",value:"layout",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(rk,null),r.createElement(NA,null),r.createElement(XA,null))},{label:"메뉴 목록",value:"board",isShow:!0,drawView:r.createElement(PA,null)},{label:"사이드 섹션",value:"design",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(Ik,null),r.createElement(Ak,null))},{label:"게임 Ui 메뉴",value:"gameUi",isShow:a.l.gameUi||!1,drawView:r.createElement(r.Fragment,null,r.createElement(Uk,null))},{label:"서브 메뉴 설정",value:"subMenu",isShow:a.l.gameUi||!1,drawView:r.createElement(VC,null)}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:c,defaultViewType:l,customSetViewType:o}))},nS=n(11437);function rS(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function aS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lS(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?aS(Object(n),!0).forEach(function(t){oS(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aS(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iS(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function cS(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){iS(l,r,a,o,i,"next",e)}function i(e){iS(l,r,a,o,i,"throw",e)}o(void 0)})}}function uS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return sS(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sS(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sS(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var dS=Object.keys(nS.ZS).map(function(e){return{key:e,value:nS.ZS[e]}});function fS(e){var t=e.docID,n=e.storeItems,a=e.mutateRecipes,i=(0,l.useDocument)(t?"".concat(o.Gf.CRAFTING_RECIPES,"/").concat(t):null,{listen:!0}).data;return t?i?r.createElement(mS,{key:i.id,data:i,storeItems:n,mutateRecipes:a}):r.createElement(LS,null,r.createElement("h3",null,"로딩 중..."),r.createElement("p",null,"조합식 데이터를 불러오고 있습니다")):r.createElement(LS,null,r.createElement("h3",null,"조합식을 선택해주세요"),r.createElement("p",null,"좌측 목록에서 조합식을 선택하거나",r.createElement("br",null),"새로운 조합식을 추가해주세요"))}function mS(e){var t,n,a,c,u,s,d,f,m=e.data,p=(e.storeItems,e.mutateRecipes),v=uS((0,r.useState)(!1),2),y=v[0],g=v[1],b=uS((0,r.useState)([]),2),E=b[0],A=b[1],C=uS((0,r.useState)([]),2),k=C[0],S=C[1],O=uS((0,r.useState)([]),2),j=O[0],P=O[1],T=uS((0,Mn.zN)({title:m.title,description:m.description||"",category:m.category,resultQuantity:String((null===(t=m.results[0])||void 0===t?void 0:t.quantity)||1),successRate:String((null===(n=m.results[0])||void 0===n?void 0:n.probability)||100),craftingTime:String(m.craftingTime),experienceReward:String(m.experienceReward)}),4),R=T[0],L=R.title,D=R.description,U=R.category,M=R.resultQuantity,N=R.successRate,z=R.craftingTime,B=R.experienceReward,F=T[1],G=T[2],H=(T[3],uS((0,r.useState)(m.isEnabled),2)),$=H[0],V=H[1],W=uS((0,r.useState)(m.craftingMethod||"alchemy"),2),_=W[0],q=W[1],K=uS((0,r.useState)(null!==(a=m.matchExactOrder)&&void 0!==a&&a),2),Y=K[0],J=K[1],Q=uS((0,r.useState)(null===(c=m.revealResultOnSuccess)||void 0===c||c),2),Z=Q[0],X=Q[1],ee=uS((0,r.useState)(null!==(u=m.results[0])&&void 0!==u&&u.itemId?[m.results[0].itemId]:[]),2),te=ee[0],ne=ee[1],re=uS((0,r.useState)(m.firstDiscoveryReward?m.firstDiscoveryReward.type:"none"),2),ae=re[0],le=re[1],oe=uS((0,r.useState)(String(null!==(s=null===(d=m.firstDiscoveryReward)||void 0===d?void 0:d.amount)&&void 0!==s?s:"")),2),ie=oe[0],ce=oe[1],ue=uS((0,r.useState)(null!==(f=m.firstDiscoveryReward)&&void 0!==f&&f.itemId?[m.firstDiscoveryReward.itemId]:[]),2),se=ue[0],de=ue[1];(0,r.useEffect)(function(){var e,t,n,r,a,l,o,i,c;A(null!==(e=m.materials[0])&&void 0!==e&&e.itemId?[m.materials[0].itemId]:[]),S(null!==(t=m.materials[1])&&void 0!==t&&t.itemId?[m.materials[1].itemId]:[]),P(null!==(n=m.materials[2])&&void 0!==n&&n.itemId?[m.materials[2].itemId]:[]),ne(null!==(r=m.results[0])&&void 0!==r&&r.itemId?[m.results[0].itemId]:[]),q(m.craftingMethod||"alchemy"),J(null!==(a=m.matchExactOrder)&&void 0!==a&&a),X(null===(l=m.revealResultOnSuccess)||void 0===l||l),le(m.firstDiscoveryReward?m.firstDiscoveryReward.type:"none"),ce(String(null!==(o=null===(i=m.firstDiscoveryReward)||void 0===i?void 0:i.amount)&&void 0!==o?o:"")),de(null!==(c=m.f
1irstDiscoveryReward)&&void 0!==c&&c.itemId?[m.firstDiscoveryReward.itemId]:[])},[m]);var me=(0,r.useCallback)(cS(regeneratorRuntime.mark(function e(){var t,n,r,a,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(L){e.next=3;break}return alert("조합식 이름이 필요합니다."),e.abrupt("return");case 3:if(0!==te.length&&te[0]){e.next=6;break}return alert("ê²°ê³¼ 아이템을 선택해주세요."),e.abrupt("return");case 6:if(t=[],E.length>0&&E[0]&&t.push({itemId:E[0],quantity:1,consumeOnCraft:!0}),k.length>0&&k[0]&&t.push({itemId:k[0],quantity:1,consumeOnCraft:!0}),j.length>0&&j[0]&&t.push({itemId:j[0],quantity:1,consumeOnCraft:!0}),3===t.length){e.next=13;break}return alert("재료 3가지를 모두 선택해주세요."),e.abrupt("return");case 13:if(new Set(t.map(function(e){return e.itemId})).size===t.length){e.next=17;break}return alert("같은 재료 아이템은 중복으로 선택할 수 없습니다."),e.abrupt("return");case 17:return n=function(){if("currency"===ae){var e=Number(ie);if(e>0)return{type:"currency",amount:e}}return"item"===ae&&se[0]?{type:"item",itemId:se[0]}:null},g(!0),e.prev=19,r=n(),a=lS({title:L,description:D,category:U,materials:t,results:[{itemId:te[0],quantity:Number(M),probability:Number(N),isMainResult:!0}],craftingMethod:_,matchExactOrder:Y,craftingTime:Number(z),experienceReward:Number(B),isEnabled:$,isHidden:!1,revealResultOnSuccess:Z,order:m.order},r?{firstDiscoveryReward:r}:{}),i=l.fuego.db.collection(o.Gf.CRAFTING_RECIPES),e.next=25,i.doc(m.id).set(a,{merge:!0});case 25:alert("조합식이 저장되었습니다."),p(),e.next=33;break;case 29:e.prev=29,e.t0=e.catch(19),console.error("조합식 저장 실패:",e.t0),alert("저장에 실패했습니다.");case 33:return e.prev=33,g(!1),e.finish(33);case 36:case"end":return e.stop()}},e,null,[[19,29,33,36]])})),[L,D,U,M,N,z,B,$,_,Y,Z,m.id,m.order,p,te,E,k,j,ae,ie,se]),pe=(0,r.useCallback)(cS(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!confirm("정말로 이 조합식을 삭제하시겠습니까?")){e.next=18;break}return e.prev=1,t=l.fuego.db.collection(o.Gf.CRAFTING_RECIPES),e.next=5,t.doc(m.id).delete();case 5:G(),A([]),S([]),P([]),ne([]),alert("조합식이 삭제되었습니다."),p(),e.next=18;break;case 14:e.prev=14,e.t0=e.catch(1),console.error("조합식 삭제 실패:",e.t0),alert("삭제에 실패했습니다.");case 18:case"end":return e.stop()}},e,null,[[1,14]])})),[m.id,p]),ve=[{value:"basic",label:"기본 & 재료",isShow:!0,drawView:r.createElement(jS,null,r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",marginBottom:"12px"}},r.createElement("span",{style:{fontSize:"14px"}},"활성화"),r.createElement(w.A,{isChecked:$,handleSwitch:function(){return V(function(e){return!e})}})),r.createElement(I.A,{label:"조합식 이름",name:"title",value:L,onChange:F,placeholder:"조합식 이름을 입력하세요"}),r.createElement(fe.A,{label:"설명",name:"description",value:D,onChange:F,placeholder:"조합식 설명을 입력하세요",minRows:3}),r.createElement(RS,null),r.createElement(PS,null,"재료 설정"),r.createElement(TS,null,"재료 3가지는 서로 달라야 합니다. 같은 재료라도 아래 조합 방법에 따라 별도 레시피로 저장할 수 있습니다."),r.createElement(vu.A,{label:"재료 1 (필수)",collectionPath:o.Gf.STORE,selectedIDList:E,setSelectedIDList:A,id:"craft-material-1",selectOnlyOne:!0,placeholder:"재료를 선택하세요",required:!0}),r.createElement(vu.A,{label:"재료 2 (필수)",collectionPath:o.Gf.STORE,selectedIDList:k,setSelectedIDList:S,id:"craft-material-2",selectOnlyOne:!0,placeholder:"재료를 선택하세요",required:!0}),r.createElement(vu.A,{label:"재료 3 (필수)",collectionPath:o.Gf.STORE,selectedIDList:j,setSelectedIDList:P,id:"craft-material-3",selectOnlyOne:!0,placeholder:"재료를 선택하세요",required:!0}),r.createElement(RS,null),r.createElement(PS,null,"조합 방법"),r.createElement(x.l,{selectList:dS,selectedKey:_,setSelectedKey:function(e){return q(e)},defaultValue:nS.ZS[_],dropdownStyle:{width:"100%"},dropdownDirection:"topLeft"}),r.createElement(US,null,r.createElement(MS,null,r.createElement("span",null,"조합 순서 정확히 지키기"),r.createElement(NS,null,"ON이면 재료 1-2-3 투입 순서까지 같아야 이 조합식으로 판정됩니다.")),r.createElement(w.A,{isChecked:Y,handleSwitch:function(){return J(function(e){return!e})}})))},{value:"result",label:"결과물",isShow:!0,drawView:r.createElement(jS,null,r.createElement(PS,null,"결과물 설정"),r.createElement(vu.A,{label:"ê²°ê³¼ 아이템",collectionPath:o.Gf.STORE,setSelectedIDList:ne,selectedIDList:te,id:"result-item",selectOnlyOne:!0,placeholder:"ê²°ê
1³¼ 아이템 검색"}),r.createElement(I.A,{label:"생성 수량",name:"resultQuantity",type:"number",value:M,onChange:F}),r.createElement(I.A,{label:"성공 확률 (%)",name:"successRate",type:"number",value:N,onChange:F}),r.createElement(US,null,r.createElement(MS,null,r.createElement("span",null,"조합 성공 시, ê²°ê³¼ 아이템 공개"),r.createElement(NS,null,"OFF 시 작성자 본인에게만 ê²°ê³¼ 표시")),r.createElement(w.A,{isChecked:Z,handleSwitch:function(){return X(function(e){return!e})}})))},{value:"reward",label:"보상 & 기타",isShow:!0,drawView:r.createElement(jS,null,r.createElement(PS,null,"최초 발견 보상"),r.createElement(zS,null,["none","currency","item"].map(function(e){return r.createElement(BS,{key:e,selected:ae===e,onClick:function(){return le(e)},type:"button"},"none"===e?"없음":"currency"===e?"재화":"아이템")})),"currency"===ae&&r.createElement(I.A,{label:"지급 재화량",name:"firstDiscoveryAmount",type:"number",value:ie,onChange:function(e){return ce(e.target.value)}}),"item"===ae&&r.createElement(vu.A,{label:"지급 아이템",collectionPath:o.Gf.STORE,selectedIDList:se,setSelectedIDList:de,id:"first-discovery-reward-item",selectOnlyOne:!0,placeholder:"지급할 아이템 선택"}),m.firstDiscoveredBy&&r.createElement(FS,null,"최초 발견자 UID: ",m.firstDiscoveredBy),r.createElement(RS,null),r.createElement(PS,null,"기타 설정"),r.createElement(I.A,{label:"조합 시간 (초)",name:"craftingTime",type:"number",value:z,onChange:F}),r.createElement(I.A,{label:"경험치 보상",name:"experienceReward",type:"number",value:B,onChange:F}))}];return r.createElement(OS,null,r.createElement(IS,null,r.createElement(i.A,{viewOptions:ve,defaultViewType:"basic",style:{marginBottom:"8px"}})),r.createElement(DS,null,r.createElement(h.A,{onClick:pe,style:{minWidth:"100px"},block:!0,color:"warning"},"삭제"),r.createElement(h.A,{onClick:me,pending:y,disabled:!L,block:!0},"저장하기")))}var pS,vS,yS,gS,bS,hS,ES,xS,wS=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useCollection)(o.Gf.CRAFTING_RECIPES,{orderBy:["order","asc"],listen:!0}),n=t.data,a=t.mutate,i=(0,l.useCollection)(o.Gf.STORE,{orderBy:["order","asc"],listen:!0}).data,c=uS((0,r.useState)(""),2),u=c[0],s=c[1],d=(0,r.useCallback)(cS(regeneratorRuntime.mark(function e(){var t,r,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t={title:"새 조합식",description:"조합식 설명을 입력하세요",category:"EQUIPMENT",materials:[],results:[],craftingMethod:"alchemy",matchExactOrder:!1,craftingTime:1,experienceReward:0,isEnabled:!0,isHidden:!1,revealResultOnSuccess:!0,order:(null==n?void 0:n.length)||0},r=l.fuego.db.collection(o.Gf.CRAFTING_RECIPES),e.next=5,r.add(t);case 5:return i=e.sent,e.next=8,r.doc(i.id).set({id:i.id},{merge:!0});case 8:s(i.id),a(),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(0),console.error("조합식 추가 실패:",e.t0),alert("조합식 추가에 실패했습니다.");case 16:case"end":return e.stop()}},e,null,[[0,12]])})),[null==n?void 0:n.length,a]);return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"아이템 조합 관리"),r.createElement(SS,null,r.createElement("p",null,r.createElement("b",null,"📌 조합식 관리 가이드")),r.createElement("p",null,"• 최소 2개, 최대 3개의 재료를 설정할 수 있습니다"),r.createElement("p",null,"• 성공 확률은 1~100% 사이에서 설정 가능합니다"),r.createElement("p",null,"• 모든 재료는 [아이템 관리]에 등록된 아이템만 선택할 수 있습니다")),r.createElement(AS,null,r.createElement(CS,null,r.createElement(kS,null,r.createElement(h.A,{block:!0,onClick:d},"조합식 추가")),r.createElement(fu.A,{style:{height:"100%"},list:n,setSelectValue:s,selectedId:u,customCollectionPath:o.Gf.CRAFTING_RECIPES})),r.createElement(fS,{docID:u,storeItems:i,mutateRecipes:a}))))},AS=C.Ay.div(Nk||(Nk=rS(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n  height: 800px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }
1\n"]))),CS=C.Ay.div(zk||(zk=rS(["\n  height: 100%;\n  overflow: hidden;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n\n  display: grid;\n  grid-template-rows: auto 1fr;\n"]))),kS=C.Ay.div(Bk||(Bk=rS(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),SS=C.Ay.div(Fk||(Fk=rS(["\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  margin-bottom: 16px;\n\n  p {\n    font-size: 13px;\n    margin: 4px 0;\n  }\n"]))),OS=C.Ay.div(Gk||(Gk=rS(["\n  display: grid;\n  grid-template-rows: 1fr auto;\n\n  height: 100%;\n  width: 100%;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"]))),IS=C.Ay.div(Hk||(Hk=rS(["\n  height: 100%;\n  margin-bottom: 60px;\n  padding: 16px;\n  overflow-y: auto;\n  ","\n"])),j.kM),jS=C.Ay.div($k||($k=rS(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),PS=C.Ay.h3(Vk||(Vk=rS(["\n  font-size: 16px;\n  font-weight: 600;\n  margin-bottom: 12px;\n  color: var(--textColor);\n  padding-bottom: 8px;\n"]))),TS=C.Ay.p(Wk||(Wk=rS(["\n  font-size: 12px;\n  line-height: 1.5;\n  color: var(--subTextColor);\n  margin: -4px 0 8px;\n"]))),RS=C.Ay.hr(_k||(_k=rS(["\n  border-bottom: 1px solid var(--lineColor);\n  margin: 24px 0;\n"]))),LS=C.Ay.div(qk||(qk=rS(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n  color: var(--subTextColor);\n  text-align: center;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n  h3 {\n    margin-bottom: 8px;\n    font-size: 16px;\n  }\n\n  p {\n    font-size: 14px;\n    line-height: 1.4;\n  }\n"]))),DS=C.Ay.div(Kk||(Kk=rS(["\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n  width: 100%;\n  display: flex;\n  padding: 12px;\n  gap: 12px;\n"]))),US=C.Ay.div(Yk||(Yk=rS(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  margin-top: 12px;\n"]))),MS=C.Ay.div(Jk||(Jk=rS(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n\n  span {\n    font-size: 14px;\n    color: var(--textColor);\n  }\n"]))),NS=C.Ay.span(Qk||(Qk=rS(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),zS=C.Ay.div(Zk||(Zk=rS(["\n  display: flex;\n  gap: 8px;\n  margin-bottom: 12px;\n"]))),BS=C.Ay.button(Xk||(Xk=rS(["\n  padding: 6px 14px;\n  border-radius: 6px;\n  font-size: 13px;\n  cursor: pointer;\n  border: 1px solid\n    ",";\n  background: ",";\n  color: ",";\n  transition: all 0.15s;\n"])),function(e){return e.selected?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.selected?"var(--primaryColor)":"transparent"},function(e){return e.selected?"#fff":"var(--textColor)"}),FS=C.Ay.p(eS||(eS=rS(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-top: 8px;\n  word-break: break-all;\n"]))),GS=n(39934),HS=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=[{value:"hashtag",label:"아이템 관리",isShow:!0,drawView:r.createElement(GS.A,null)},{value:"combination",label:"아이템 조합 관리",isShow:!0,drawView:r.createElement(wS,null)}];return r.createElement(i.A,{viewOptions:t,defaultViewType:"hashtag"})};function $S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=KS(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,l=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw l}}}}function VS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function WS(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?VS(Object(n),!0).forEach(function(t){_S(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):VS(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _S(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||KS(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function KS(e,t){if(e){if("string"==typeof e)return YS(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?YS(e,t):void 0}}function YS(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function JS(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function QS(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){JS(l,r,a,o,i,"next",e)}function i(e){JS(l,r,a,o,i,"throw",e)}o(void 0)})}}function ZS(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var XS=C.Ay.div(pS||(pS=ZS(["\n  border: 1px solid var(--dangerColor, #e03131);\n  background: rgba(224, 49, 49, 0.06);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  margin-top: 12px;\n"]))),eO=C.Ay.div(vS||(vS=ZS(["\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 12px;\n"]))),tO=C.Ay.div(yS||(yS=ZS(["\n  display: contents;\n"]))),nO=C.Ay.div(gS||(gS=ZS(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),rO=C.Ay.div(bS||(bS=ZS(["\n  font-weight: 700;\n  color: var(--textColor);\n"]))),aO=C.Ay.div(hS||(hS=ZS(["\n  color: var(--subTextColor);\n  font-size: 12px;\n"]))),lO=C.Ay.div(ES||(ES=ZS(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  justify-content: flex-end;\n"]))),oO=C.Ay.p(xS||(xS=ZS(["\n  color: var(--dangerColor, #e03131);\n  font-size: 12px;\n  margin-bottom: 12px;\n  line-height: 1.5;\n"]))),iO=function(e){return String(e||"").replace(/[_\s]/g,"").toLowerCase()};function cO(e){var t=e.type||e.typeName;return Object.keys(Mi.Ef).find(function(e){var n=iO(e),r=iO(Mi.Ef[e]),a=iO(t);return n===a||r===a})||null}function uO(e){return!!e&&new Set(["TIMELINE","POSTING","GUESTBOOK","MEMO"]).has(e)}function sO(e){return dO.apply(this,arguments)}function dO(){return(dO=QS(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,l.fuego.db.collection(t).get();case 2:return n=e.sent,e.abrupt("return",n.docs.map(function(e){return{id:e.id}}));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function fO(e,t){return mO.apply(this,arguments)}function mO(){return(mO=QS(regeneratorRuntime.mark(function e(t,n){var r,a,o,i,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,sO(t);case 2:r=e.sent,a=0,o=0,i=$S(r),e.prev=6,i.s();case 8:if((c=i.n()).done){e.next=24;break}return u=c.value.id,e.prev=10,e.next=13,l.fuego.db.collection(t).doc(u).delete();case 13:a++,n&&n(a,o),e.next=22;break;case 17:e.prev=17,e.t0=e.catch(10),console.error(e.t0),o++,n&&n(a,o);case 22:e.next=8;break;case 24:e.next=29;break;case 26:e.prev=26,e.t1=e.catch(6),i.e(e.t1);case 29:return e.prev=29,i.f(),e.finish(29);case 32:return e.abrupt("return",{ok:a,fail:o,total:r.length});case 33:case"end":return e.stop()}},e,null,[[6,26,29,32],[10,17]])}))).apply(this,arguments)}function pO(){var e=(0,c.vc)(xA.g),t=qS((0,r.useState)(!1),2),n=t[0],a=t[1],l=qS((0,r.useState)(!1),2),o=l[0],i=l[1],u=qS((0,r.useState)(!1),2),s=u[0],d=u[1],f=qS((0,r.useState)(""),2),m=f[0],p=f[1],v=(0,r.useMemo)(function(){return e?e.filter(function(e){var t=e.type||e.typeName,n=String(t||"").toUpperCase();return"FOLDER"!==n&&"LINK"!==n}).map(function(e){var t=function(e){var t=null==e?void 0:e.path;if(t&&String(t).trim())return String(t).trim();var n=cO(e);return n&&Mi.Op[n]||null}(e);return WS(WS({},e),{},{collectionName:t})}):[]},[e]),y=(0,r.useCallback)(function(){var e=QS(regeneratorRuntime.mark(function e(t){var r,a,l,i,c,u,s,f,m,v,y,g,b,h,E,x,w,A;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.collectionName||null){e.next=4;break}return alert("이 보드는 삭제 가능한 컬렉션이 아닙니다."),e.abrupt("return");case 4:if(n&&o){e.next=7;break}return alert("위험 작업 동의 체크박스를 모두 선택해주세요."),e.abrupt("return");case 7:if(window.confirm("[1/2] 정말 ".concat(t.title||"이 보드","의 모든 데이터를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."))){e.next=9;break}return e.abrupt("return");case 9:if(window.confirm("[2/2] 최종 확인: ".concat(r,"의 모든 문서를 삭제합니다. 댓글 또한 삭제됩니다. 이 작업은 돌이킬 수 없으며, 데이터 복구가 불가합니다. 정말 삭제하시겠습니까?"))){e.next=11;break}return e.abrupt("return");case 11:return e.prev=11,d(!0),p("삭제 시작..."),e.next=16,fO(r,function(e,t){p(function(n){return"".concat(n,"\n진행중(게시글): 성공 ").concat(e,"ê±´, 실패 ").concat(t,"ê±´")})});case 16:if(a=e.sent,l=a.ok,i=a.fail,c=a.total,p(function(e){return"".concat(e,"\n완료(게시글): 총 ").concat(c,"ê±´ 중 ì
1„±ê³µ ").concat(l,"ê±´, 실패 ").concat(i,"ê±´")}),!uO(u=cO(t))){e.next=32;break}return s="".concat(r,"Comment"),p(function(e){return"".concat(e,"\n댓글 삭제 시작...")}),e.next=27,fO(s,function(e,t){p(function(n){return"".concat(n,"\n진행중(댓글): 성공 ").concat(e,"ê±´, 실패 ").concat(t,"ê±´")})});case 27:f=e.sent,m=f.ok,v=f.fail,y=f.total,p(function(e){return"".concat(e,"\n완료(댓글): 총 ").concat(y,"ê±´ 중 성공 ").concat(m,"ê±´, 실패 ").concat(v,"ê±´")});case 32:if("GUESTBOOK"!==u){e.next=45;break}return g=r.match(/^(.*?)(\d+)?$/),b=g&&g[2]?g[2]:"",h="story".concat(b),console.log({storyCol:h,typeKey:u}),p(function(e){return"".concat(e,"\n스토리 삭제 시작...")}),e.next=40,fO(h,function(e,t){p(function(n){return"".concat(n,"\n진행중(스토리): 성공 ").concat(e,"ê±´, 실패 ").concat(t,"ê±´")})});case 40:E=e.sent,x=E.ok,w=E.fail,A=E.total,p(function(e){return"".concat(e,"\n완료(스토리): 총 ").concat(A,"ê±´ 중 성공 ").concat(x,"ê±´, 실패 ").concat(w,"ê±´")});case 45:alert("삭제 작업이 완료되었습니다."),e.next=52;break;case 48:e.prev=48,e.t0=e.catch(11),console.error(e.t0),alert("삭제 중 오류가 발생했습니다. 콘솔 로그를 확인해주세요.");case 52:return e.prev=52,d(!1),e.finish(52);case 55:case"end":return e.stop()}},e,null,[[11,48,52,55]])}));return function(t){return e.apply(this,arguments)}}(),[n,o]),g=(0,r.useCallback)(function(){confirm("모든 테마가 초기 환경으로 돌아갑니다. 이미지 재설정이 가능해 집니다. 테마를 리셋하시겠습니까?")&&Sc()},[]);return r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(XS,{style:{display:"flex",flexDirection:"row",gap:6,alignItems:"center",justifyContent:"space-between"}},r.createElement(nO,null,r.createElement(rO,null,"홈페이지 디자인 & 레이아웃 초기화"),r.createElement(aO,null,"홈페이지 테마 관리 목록은 제외됩니다.")),r.createElement(h.A,{shape:"stroke",onClick:g},"홈페이지 디자인 초기화")),r.createElement(XS,null,r.createElement(oO,null,"체크박스를 모두 선택해야 게시글 삭제 버튼이 실행됩니다. ",r.createElement("br",null),"모든 게시판 목록을 불러옵니다. 각 게시판에 대해 전체 데이터를 삭제할 수 있습니다. ",r.createElement("br",null),"이 작업은 매우 위험하며, 복구가 불가능합니다. ",r.createElement("br",null),"포스팅형, 타임라인형, 메모형, 방명록형의 경우 하위 댓글 또한 삭제됩니다."),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},r.createElement(xt.A,{checked:n,onChange:function(){return a(!n)},value:"ack1"},"정말 데이터를 삭제하는 것에 동의합니다."),r.createElement(xt.A,{checked:o,onChange:function(){return i(!o)},value:"ack2"},"이 작업은 되돌릴 수 없음을 이해했습니다."))),r.createElement(XS,{style:{marginTop:16}},r.createElement(eO,null,v&&v.length>0?v.map(function(e){return r.createElement(tO,{key:e.id||e.title},r.createElement(nO,null,r.createElement(rO,null,e.title||e.name||"제목 없음"),r.createElement(aO,null,"게시판 타입: ",function(e){var t=cO(e);if(t&&Mi.E1[t])return Mi.E1[t];var n=e.type||e.typeName;return n?String(n):"N/A"}(e))),r.createElement(lO,null,r.createElement(h.A,{shape:"stroke",disabled:!e.collectionName||s,pending:s,onClick:function(){return y(e)}},"전체 게시글 삭제")))}):r.createElement("div",null,"보드 목록을 불러오는 중이거나 비어 있습니다."))),m&&r.createElement(XS,{style:{marginTop:16}},r.createElement("div",{style:{fontWeight:700,marginBottom:8}}
1,"작업 로그"),r.createElement("pre",{style:{whiteSpace:"pre-wrap",margin:0}},m)))}var vO,yO,gO,bO,hO,EO,xO,wO,AO,CO,kO=r.memo(pO),SO=(n(76602),n(76453));function OO(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function IO(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){OO(l,r,a,o,i,"next",e)}function i(e){OO(l,r,a,o,i,"throw",e)}o(void 0)})}}function jO(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function PO(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var TO=C.Ay.div(vO||(vO=PO(["\n  border: 1px solid var(--dangerColor, #e03131);\n  background: rgba(224, 49, 49, 0.06);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  margin-top: 12px;\n"]))),RO=C.Ay.div(yO||(yO=PO(["\n  margin-top: 12px;\n"]))),LO=C.Ay.div(gO||(gO=PO(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n"]))),DO=C.Ay.div(bO||(bO=PO(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),UO=C.Ay.div(hO||(hO=PO(["\n  font-weight: 700;\n  color: var(--textColor);\n"]))),MO=C.Ay.div(EO||(EO=PO(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  line-height: 1.6;\n"]))),NO=C.Ay.ul(xO||(xO=PO(["\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),zO=C.Ay.li(wO||(wO=PO(["\n  display: grid;\n  grid-template-columns: 180px 1fr auto;\n  gap: 12px;\n  padding: 8px 10px;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  font-size: 13px;\n"]))),BO=C.Ay.span(AO||(AO=PO(["\n  padding: 2px 8px;\n  border-radius: 10px;\n  font-size: 11px;\n  font-weight: 700;\n  color: #fff;\n  background: ",";\n"])),function(e){return e.on?"var(--primaryColor)":"#868e96"}),FO=C.Ay.div(CO||(CO=PO(["\n  color: var(--subTextColor);\n  font-size: 13px;\n"])));function GO(){var e,t,n=(0,c.vc)(kx.Bs),a=(0,c.vc)(kx.gw),o=(0,l.useDocument)(SO.nO,{listen:!0}).data,i=(0,l.useCollection)(SO.Lf,{listen:!0,orderBy:["createdAt","desc"],limit:100}).data,u=!(null==o||!o.showChatAdminModeToggle),s=(0,r.useRef)(!1),d=(e=(0,r.useState)(""),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return jO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jO(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1],p=(0,r.useCallback)(IO(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!s.current){e.next=2;break}return e.abrupt("return");case 2:if(n){e.next=5;break}return m("로그인 정보가 없어 변경할 수 없습니다."),e.abrupt("return");case 5:if(t=!u,window.confirm(t?"[관리자 모드 표시]를 켭니다. 관리자 권한 유저들에게 채팅 토글이 노출됩니다. 진행할까요?":"[관리자 모드 표시]를 끕니다. 채팅 토글이 즉시 숨겨집니다. 진행할까요?")){e.next=9;break}return e.abrupt("return");case 9:return e.prev=9,s.current=!0,m(""),e.next=14,(0,SO.XC)({next:t,userId:n,userName:(null==a?void 0:a.displayName)||""});case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(9),console.error(e.t0),m("상태 변경에 실패했습니다. 잠시 후 다시 시도해주세요.");case 20:return e.prev=20,s.current=!1,e.finish(20);case 23:case"end":return e.stop()}},e,null,[[9,16,20,23]])})),[n,null==a?void 0:a.displayName,u]),v=(0,r.useMemo)(function(){return i||[]},[i]);return r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(TO,null,r.createElement(LO,null,r.createElement(DO,null,r.createElement(UO,null,"관리자 모드 표시"),r.createElement(MO,null,"채팅 화면에서 [관리자 모드] 토글 버튼의 노출 여부를 제어합니다."," ",r.createElement("br",null),"꺼짐: 관리자 권한이 있어도 채íŒ
1… 내 토글이 보이지 않습니다. ",r.createElement("br",null),"켜짐: 관리자 권한 유저에게만 토글이 노출됩니다. (기본값: 꺼짐)")),r.createElement(w.A,{isChecked:u,handleSwitch:p})),f&&r.createElement(MO,{style:{color:"var(--dangerColor, #e03131)",marginTop:8}},f)),r.createElement(RO,null,r.createElement(UO,{style:{marginBottom:8}},"변경 이력"),r.createElement(MO,{style:{marginBottom:12}},"[관리자 모드 표시] 스위치를 켜고 끈 시점과 유저를 기록합니다. (최근 100ê±´)"),0===v.length?r.createElement(FO,null,"아직 변경 이력이 없습니다."):r.createElement(NO,null,v.map(function(e){var t="turn-on"===e.action;return r.createElement(zO,{key:e.id},r.createElement("span",null,function(e){if(!e)return"-";var t=null!=e&&e.toDate?e.toDate():null!=e&&e.seconds?new Date(1e3*e.seconds):new Date(e);if(Number.isNaN(t.getTime()))return"-";var n=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),l=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0");return"".concat(n,"-").concat(r,"-").concat(a," ").concat(l,":").concat(o)}(e.createdAt)),r.createElement("span",null,e.userName||e.userId||"-"),r.createElement(BO,{on:t},t?"ON":"OFF"))}))))}var HO,$O,VO,WO,_O,qO,KO,YO,JO,QO,ZO,XO,eI,tI,nI,rI=r.memo(GO);function aI(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function lI(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){aI(l,r,a,o,i,"next",e)}function i(e){aI(l,r,a,o,i,"throw",e)}o(void 0)})}}function oI(e){return Ya.default.functions("asia-northeast3").httpsCallable(e)}function iI(e,t){return cI.apply(this,arguments)}function cI(){return(cI=lI(regeneratorRuntime.mark(function e(t,n){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=oI("backup-estimateBackup"),e.next=3,r({scope:t,boardId:n});case 3:return a=e.sent,e.abrupt("return",a.data);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function uI(e,t){return sI.apply(this,arguments)}function sI(){return(sI=lI(regeneratorRuntime.mark(function e(t,n){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=oI("backup-exportBackup"),e.next=3,r({scope:t,boardId:n});case 3:return a=e.sent,e.abrupt("return",a.data);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function dI(e){return fI.apply(this,arguments)}function fI(){return(fI=lI(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=oI("backup-runBackupJob"),e.next=3,n({jobId:t});case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function mI(e){return pI.apply(this,arguments)}function pI(){return(pI=lI(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=oI("backup-cancelBackup"),e.next=3,n({jobId:t});case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function vI(e){return yI.apply(this,arguments)}function yI(){return(yI=lI(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=oI("backup-deleteBackup"),e.next=3,n({jobId:t});case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function gI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bI(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gI(Object(n),!0).forEach(function(t){hI(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gI(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function hI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function EI(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function xI(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){EI(l,r,a,o,i,"next",e)}function i(e){EI(l,r,a,o,i,"throw",e)}o(void 0)})}}function wI(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return AI(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?AI(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function AI(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function CI(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(41850);var kI,SI=C.Ay.div(HO||(HO=CI(["\n  border: 1px solid rgba(0, 0, 0, 0.08);\n  background: rgba(255, 255, 255, 0.42);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  margin-top: 12px;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n"]))),OI=C.Ay.div($O||($O=CI(["\n  font-weight: 700;\n  color: var(--textColor);\n  font-size: 15px;\n"]))),II=C.Ay.div(VO||(VO=CI(["\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n"]))),jI=C.Ay.p(WO||(WO=CI(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  line-height: 1.6;\n  margin: 0;\n"]))),PI=C.Ay.p(_O||(_O=CI(["\n  font-size: 12px;\n  margin: 0;\n  line-height: 1.5;\n  color: ",";\n"])),function(e){return"block"===e.level||"high"===e.level||"medium"===e.level?"#d18a1c":"var(--subTextColor)"}),TI=C.Ay.div(qO||(qO=CI(["\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 12px;\n  align-items: center;
1\n"]))),RI=C.Ay.div(KO||(KO=CI(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),LI=C.Ay.span(YO||(YO=CI(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),DI=C.Ay.div(JO||(JO=CI(["\n  position: relative;\n  width: 100%;\n  height: 6px;\n  border-radius: 3px;\n  background: rgba(0, 0, 0, 0.08);\n  overflow: hidden;\n"]))),UI=C.Ay.div(QO||(QO=CI(["\n  position: absolute;\n  inset: 0;\n  width: ","%;\n  background: var(--primaryColor, #4c6ef5);\n  transition: width 160ms linear;\n"])),function(e){return Math.min(100,Math.max(0,e.pct))}),MI=C.Ay.div(ZO||(ZO=CI(["\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  gap: 12px;\n"]))),NI=C.Ay.div(XO||(XO=CI(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),zI=C.Ay.span(eI||(eI=CI(["\n  flex: 0 0 auto;\n  border: 1px solid rgba(0, 0, 0, 0.08);\n  border-radius: 999px;\n  padding: 4px 8px;\n  font-size: 11px;\n  color: var(--subTextColor);\n  background: rgba(255, 255, 255, 0.45);\n"]))),BI=C.Ay.pre(tI||(tI=CI(["\n  margin: 0;\n  white-space: pre-wrap;\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),FI=C.Ay.div(nI||(nI=CI(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 6px 0;\n  border-bottom: 1px dashed rgba(0, 0, 0, 0.08);\n  font-size: 12px;\n  color: var(--subTextColor);\n  &:last-child {\n    border-bottom: none;\n  }\n"])));function GI(e){if(!e)return"-";for(var t=["B","KB","MB","GB","TB"],n=0,r=e;r>=1024&&n<t.length-1;)r/=1024,n++;return"".concat(r.toFixed(0===n?0:1)).concat(t[n])}function HI(e){try{return new Date(e).toLocaleString()}catch(t){return String(e)}}function $I(e){switch(e){case"block":return"예상 용량이 10GB 를 초과합니다. 게시판별로 나눠서 백업해주세요.";case"high":return"예상 용량이 2GB 를 초과합니다. 백업이 장시간 소요될 수 있으며 ZIP 이 자동 분할됩니다.";case"medium":return"예상 용량이 500MB 를 초과합니다. 창을 닫지 말고 완료까지 기다려주세요.";default:return""}}function VI(e){e.forEach(function(e){var t=document.createElement("a");t.href=e.signedUrl,t.download="",t.rel="noopener",document.body.appendChild(t),t.click(),t.remove()})}function WI(){var e,t,a,o,u,s,d,f=(0,c.vc)(xA.g),m=(0,c.vc)(kx.Bs),p=wI((0,r.useState)(kI.CREATE),2),v=p[0],y=p[1],g=wI((0,r.useState)(null),2),b=g[0],E=g[1],x=wI((0,r.useState)(null),2),w=x[0],A=x[1],C=wI((0,r.useState)(null),2),k=C[0],S=C[1],O=wI((0,r.useState)(null),2),I=O[0],j=O[1],P=wI((0,r.useState)({}),2),T=P[0],R=P[1],L=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,l.useDocument)(e?"backupJobs/".concat(e):null,{listen:!0}),a=n.data,o=n.error,i=(0,r.useRef)(new Set);return(0,r.useEffect)(function(){var e,n;if(t.autoDownload&&a&&"succeeded"===a.status&&null!==(e=a.result)&&void 0!==e&&null!==(n=e.parts)&&void 0!==n&&n.length){var r=a.jobId;i.current.has(r)||(i.current.add(r),a.result.parts.forEach(function(e){var t=document.createElement("a");t.href=e.signedUrl,t.download="",t.rel="noopener",document.body.appendChild(t),t.click(),t.remove()}))}},[a,t.autoDownload]),{job:a||null,error:o}}(b,{autoDownload:!0}),D=L.job,U=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return n(83483).useCollection(e?"backupJobs":null,{where:["uid","==",e],orderBy:["createdAt","desc"],limit:t,listen:!0}).data||[]}(m||null,10),M=(0,r.useMemo)(function(){return f?f.filter(function(e){var t=String(e.type||e.typeName||"").toUpperCase();return"FOLDER"!==t&&"LINK"!==t}):[]},[f]),N=(0,r.useCallback)(function(){var e=xI(regeneratorRuntime.mark(function e(t,n){var r,a,l,o,i,c,u,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r="all"===t?"all":n||"",a="all"===t?"전체 데이터":n?"게시판(".concat(n,")"):"게시판",e.prev=2,A(r),E(null),j({key:r,label:a,scope:t,boardId:n,phase:"estimating",message:"예상 용량과 백업 대상을 계산 중입니다."}),e.next=8,iI(t,n);case 8:if(l=e.sent,R(function(e){return bI(bI({},e),{},hI({},r,l))}),j({key:r,label:a,scope:t,boardId:n,phase:"confirming",message:"예상 용량 계산이 끝났습니다. 확인 후 백업을 시작합니다.",estimate:l}),console.info("[backup] estimate completed",{scope:t,boardId:n,estimate:l}),"block"!==l.warn){e.next=16;break}return j({key:r,label:a,scope:t,boardId:n,phase:"blocked",message:$I("block"),estimate:l}),alert($I("block")),e.abrupt("return");case 16:if(o="none"!==l.warn?"\n\n⚠️ ".concat($I(l.warn)):"",i="none"===l.warn||window.confirm("".concat(a," 백업을 시작할까요?\n")+"- 문서: ".concat(l.docCount.toLocaleStr
1ing(),"건\n")+"- 이미지(추정): ".concat(l.imageCount.toLocaleString(),"개\n")+"- 예상 용량: ".concat(GI(l.estBytes))+o+"\n\n백업 ZIP은 생성 완료 후 바로 다운로드되며, 히스토리에서도 다시 받을 수 있습니다."),console.info("[backup] start confirmation result",{scope:t,boardId:n,ok:i,warn:l.warn}),i){e.next=22;break}return j({key:r,label:a,scope:t,boardId:n,phase:"canceled",message:"확인창에서 백업 시작이 취소되었습니다.",estimate:l}),e.abrupt("return");case 22:return j({key:r,label:a,scope:t,boardId:n,phase:"starting",message:"서버에 백업 작업을 생성 중입니다.",estimate:l}),e.next=25,uI(t,n);case 25:c=e.sent,u=c.jobId,s=c.reused,console.info("[backup] export job created",{scope:t,boardId:n,jobId:u,reused:s}),E(u),j({key:r,label:a,scope:t,boardId:n,phase:"watching",message:s?"기존 백업 작업에 다시 연결했습니다. 서버 진행상황을 확인 중입니다.":"백업 작업이 생성되었습니다. 서버에서 ZIP을 생성 중입니다.",estimate:l}),dI(u).catch(function(e){console.error("[backup] run job failed",{jobId:u,error:e})}),e.next=39;break;case 34:e.prev=34,e.t0=e.catch(2),console.error(e.t0),j({key:r,label:a,scope:t,boardId:n,phase:"failed",message:"백업 요청 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0)}),alert("백업 요청 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 39:return e.prev=39,A(null),e.finish(39);case 42:case"end":return e.stop()}},e,null,[[2,34,39,42]])}));return function(t,n){return e.apply(this,arguments)}}(),[]),z=(0,r.useCallback)(function(){var e=xI(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(window.confirm("생성된 ZIP 파일을 삭제할까요? 이 작업은 되돌릴 수 없습니다.")){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,S(t),e.next=6,vI(t);case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(2),alert("ZIP 삭제 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 11:return e.prev=11,S(null),e.finish(11);case 14:case"end":return e.stop()}},e,null,[[2,8,11,14]])}
1));return function(t){return e.apply(this,arguments)}}(),[]),B=(0,r.useCallback)(function(e){E(e.jobId),j({key:"all"===e.scope?"all":e.boardId||"",label:"all"===e.scope?"전체 데이터":"게시판 백업",scope:e.scope,boardId:e.boardId,phase:"watching",message:"기존 백업 작업의 진행상황을 다시 확인합니다.",estimate:e.estimate}),y(kI.CREATE)},[]),F=(0,r.useCallback)(function(){var e=xI(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,B(t),e.next=4,dI(t.jobId);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),alert("백업 재시도 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 9:case"end":return e.stop()}},e,null,[[0,6]])}));return function(t){return e.apply(this,arguments)}}(),[B]),G=(0,r.useCallback)(function(){var e=xI(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(window.confirm("진행 중인 백업 생성을 취소할까요?")){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,mI(t);case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(2),alert("취소 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 10:case"end":return e.stop()}},e,null,[[2,7]])}));return function(t){return e.apply(this,arguments)}}(),[]),H=b&&(null==D?void 0:D.jobId)===b?D:null,$=(0,r.useMemo)(function(){var e,t;if(!H)return 0;var n=(null===(e=H.progress)||void 0===e?void 0:e.total)||0,r=(null===(t=H.progress)||void 0===t?void 0:t.current)||0;return n?Math.round(r/n*100):"running"===H.status?10:0},[H]),V=H?$:function(e){switch(e){case"estimating":return 12;case"confirming":return 28;case"starting":return 42;case"watching":return 55;case"blocked":case"canceled":case"failed":return 100;default:return 0}}(null==I?void 0:I.phase),W=Boolean(I||b||H),_=H?function(e){switch(e){case"queued":return"대기 중";case"running":return"처리 중";case"succeeded":return"완료";case"failed":return"실패";case"canceled":return"취소됨";default:return"준비 중"}}(H.status):function(e){switch(e){case"estimating":return"계산 중";case"confirming":return"확인 대기";case"starting":return"생성 중";case"watching":return"연결 중";case"blocked":return"차단됨";case"canceled":return"취소됨";case"failed":return"실패";default:return"준비 중"}}(null==I?void 0:I.phase),q=H?"succeeded"===H.status?"백업 파일 생성이 완료되었습니다.":"failed"===H.status?(null===(e=H.error)||void 0===e?void 0:e.message)||"백업 처리 중 오류가 발생했습니다.":"canceled"===H.status?"백업 작업이 취소되었습니다.":"서버에서 백업 파일을 생성 중입니다.":(null==I?void 0:I.message)||"서버 상태를 연결 중입니다.",K=(null==H||null===(t=H.progress)||void 0===t?void 0:t.stage)||(null==I?void 0:I.phase)||"ready",Y=(null==H?void 0:H.estimate)||(null==I?void 0:I.estimate),J=(null==I?void 0:I.scope)||(null==H?void 0:H.scope),Z=(null==I?void 0:I.boardId)||(null==H?void 0:H.boardId),X=Boolean(J)&&null===w&&("canceled"===(null==H?void 0:H.status)||"failed"===(null==H?void 0:H.status)||"blocked"===(null==I?void 0:I.phase)||"canceled"===(null==I?void 0:I.phase)||"failed"===(null==I?void 0:I.phase)),ee=W?r.createElement(SI,null,r.createElement(MI,null,r.createElement(NI,null,r.createElement(OI,null,"백업 진행상황"),r.createElement(LI,null,(null==I?void 0:I.label)||("all"===(null==H?void 0:H.scope)?"전체 데이터":"게시판 백업"),null!=H&&H.jobId?" · jobId: ".concat(H.jobId):"")),r.createElement(zI,null,_)),r.createElement(DI,null,r.createElement(UI,{pct:V})),r.createElement(LI,null,"진행률 ",V,"% · 단계: ",K,H?" · ".concat(((null===(a=H.progress)||void 0===a?void 0:a.current)||0).toLocaleString()," / ").concat(((null===(o=H.progress)||void 0===o?void 0:o.total)||0).toLocaleString()):""),r.createElement(jI,null,q),Y&&r.createElement(PI,{level:Y.warn},"문서 ",Y.docCount.toLocaleString(),"건 · 이미지 추정"," ",Y.imageCount.toLocaleString(),"개 · 예상 용량"," ",GI(Y.estBytes),"none"!==Y.warn?" · ".concat($I(Y.warn)):""),"succeeded"===(null==H?void 0:H.status)&&(null===(u=H.result)||void 0===u?void 0:u.parts)&&r.createElement(r.Fragment,null,r.createElement(BI,null,"완료 — 자동 다운로드가 시작됩니다. 보관 기한:"," ",HI((null===(s=H.result.parts[0])||void 0===s?void 0:s.expiresAt)||0),"\n",H.result.parts.map(function(e){return"part-".concat(e.index,": ").concat(GI(e.bytes)," (sha256:").concat(e.sha256.slice(0,12),"…)")}).join("\n")),r.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},r.createElement(h.A,{shape:"stroke",onClick:function(){return VI(H.result.parts)}},"지금 다운로드"))),"failed"===(null==H?void 0:H.status)&&r.createElement(BI,null,"실패: ",(null===(d=H.error)||void 0===d?void 0:d.message)||"알 수 없는 오류"),("queued"===(null==H?void 0:H.status)||"running"===(null==H?void 0:H.status))&&r.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},r.createElement(h.A,{shape:"stroke",onClick:xI(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(window.confirm("진행 중인 백업 생성을 취소할까요?")){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,mI(H.jobId);case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(2),alert("취소 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 10:case"end":return e.stop()}},e,null,[[2,7]])}))},"생성 취소")),X&&J&&r.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},r.createElement(h.A,{shape:"stroke",onClick:function(){return N(J,Z)}},"다시 백업"))):null,te=r.createElement(r.Fragment,null,r.createElement(SI,null,r.createElement(II,null,r.createElement(OI,null,"전체 데이터 백업"),r.createElement(Q.A,{linkto:"https://moogongan-guide.notion.site/3661ce32694c80b29309f1aada294841?s
1ource=copy_link",title:"가이드 이동",tooltip:"백업 가이드 새 창으로 열기"})),r.createElement(jI,null,"홈페이지의 Firestore 데이터와 Storage 이미지/첨부를 ZIP 으로 생성합니다."," ",r.createElement("br",null),"생성 완료 후 바로 다운로드되며, 백업 히스토리에서도 다시 받을 수 있습니다.",r.createElement("br",null),"백업 파일은 생성 후 24시간 동안 보관된 뒤 자동 삭제됩니다."),r.createElement(TI,null,r.createElement("div",null,r.createElement(OI,{style:{fontSize:14}},"전체 데이터 백업"),r.createElement(LI,null,"모든 게시판 + 공용 설정/유저 데이터")),r.createElement(h.A,{shape:"stroke",disabled:null!==w,pending:"all"===w,onClick:function(){return N("all")}},"백업 ZIP 생성"))),ee,r.createElement(SI,null,r.createElement(OI,null,"게시판별 백업"),r.createElement(jI,null,"게시판 단위로 ZIP을 생성합니다. 대용량 홈페이지는 이 방식을 권장합니다."),r.createElement(RI,null,M.length>0?M.map(function(e){var t=String(e.id||e.title),n=w===t,a=T[t];return r.createElement(TI,{key:t},r.createElement("div",null,r.createElement("div",{style:{fontWeight:600}},e.title||e.name),r.createElement(LI,null,function(e){var t=e.type||e.typeName,n=Object.keys(Mi.E1).find(function(e){return String(e).toUpperCase()===String(t||"").toUpperCase()});return n?Mi.E1[n]:String(t||"N/A")}(e),a?" · 예상 ".concat(GI(a.estBytes)):"")),r.createElement(h.A,{shape:"stroke",disabled:null!==w,pending:n,onClick:function(){return N("board",t)}},"백업 생성"))}):r.createElement(LI,null,"게시판 목록을 불러오는 중입니다.")))),ne=r.createElement(SI,null,r.createElement(OI,null,"백업 히스토리 (최근 10건)"),r.createElement(jI,null,"생성 완료된 ZIP 파일을 다시 다운로드할 수 있습니다. 다운로드를 취소해도 생성된 ZIP은 보관 기한까지 히스토리에 남습니다."),r.createElement(RI,null,U.length>0?U.map(function(e){var t,n,a,l=(null===(t=e.result)||void 0===t?void 0:t.parts)||[],o=Boolean(null===(n=e.result)||void 0===n?void 0:n.deleted),i="queued"===e.status||"running"===e.status,c=function(e){if("queued"!==e.status&&"running"!==e.status)return!1;var t=Number(e.updatedAt||e.createdAt||0);return!t||Date.now()-t>3e5}(e),u=o||(null===(a=e.result)||void 0===a?void 0:a.expired),s=l.length>0&&!u&&!o;return r.createElement(FI,{key:e.jobId},r.createElement("div",null,r.createElement("div",{style:{color:"var(--textColor)",fontWeight:600}},"all"===e.scope?"전체":"보드:".concat(e.boardId||"-")," ·"," ",o?"삭제됨":e.status),r.createElement(LI,null,HI(e.createdAt)," ·"," ",l.length>0?l.map(function(e){return GI(e.bytes)}).join(" / "):"-")),r.createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},s?r.createElement(r.Fragment,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return VI(l)}},"다운로드"),r.createElement(h.A,{size:"sm",shape:"stroke",pending:k===e.jobId,disabled:null!==k,onClick:function(){return z(e.jobId)}},"ZIP 삭제")):i?r.createElement(r.Fragment,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return B(e)}},"진행 보기"),c?r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return F(e)}},"생성 재시도"):null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return G(e.jobId)}},"취소")):o?r.createElement(LI,null,"삭제됨"):u?r.createElement(LI,null,"만료됨"):r.createElement(LI,null,"생성 파일 없음")))}):r.createElement(LI,null,"백업 히스토리가 없습니다."))),re=[{value:kI.CREATE,label:"백업 생성",isShow:!0,drawView:te},{value:kI.HISTORY,label:"백업 히스토리",isShow:!0,drawView:ne}];return r.createElement(i.A,{viewOptions:re,defaultViewType:v,customSetViewType:y,style:{marginBottom:12}})}!function(e){e.CREATE="create",e.HISTORY="history"}(kI||(kI={}));var _I=r.memo(WI);function qI(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function KI(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){qI(l,r,a,o,i,"next",e)}function i(e){qI(l,r,a,o,i,"throw",e)}o(void 0)})}}n(33001);var YI,JI,QI,ZI,XI,ej,tj,nj,rj,aj,lj,oj,ij,cj,uj,sj,dj,fj,mj,pj,vj="asia-northeast3",yj=["photocard:read","photocard:write","photocard:delete","status:read","status:write","exploration:read","exploration:write"],gj={"photocard:read":"포토카드 목록/상세 조회","photocard:write":"포토카드 추가/수정","photocard:delete":"포토카드 삭제 (되돌릴 수 없음)","status:read":"캐릭터 능력치 조회","status:write":"HP/MP/공격력 등 변경","exploration:read":"탐색포인트 조회","exploration:write":"탐색포인트 증감"};function bj(e,t){return hj.apply(this,arguments)}function hj(){return hj=KI(regeneratorRuntime.mark(function e(t,n){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=Ya.default.functions(vj).httpsCallable("issueApiKey"),e.next=3,r({label:t,scopes:n});case 3:return a=e.sent,e.abrupt("return",a.data);case 5:case"end":return e.stop()}},e)})),hj.apply(this,arguments)}function Ej(e){return xj.apply(this,arguments)}function xj(){return xj=KI(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=Ya.default.functions(vj).httpsCallable("revokeApiKey"),e.next=3,n({id:t});case 3:case"end":return e.stop()}},e)})),xj.apply(this,arguments)}function wj(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Aj(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){wj(l,r,a,o,i,"next",e)}function i(e){wj(l,r,a,o,i,"throw",e)}o(void 0)})}}function Cj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||kj(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kj(e,t){if(e){if("string"==typeof e)return Sj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sj(e,t):void 0}}function Sj(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Oj(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Ij=C.Ay.div(YI||(YI=Oj(["\n  width: 100%;\n  min-width: 0;\n  max-width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),jj=C.Ay.div(JI||(JI=Oj(["\n  border: 1px solid var(--dangerColor, #e03131);\n  background: rgba(224, 49, 49, 0.06);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  margin-top: 12px;\n  min-width: 0;\n  max-width: 100%;\n"]))),Pj=C.Ay.div(QI||(QI=Oj(["\n  border: 1px solid var(--lineColor);\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  margin-top: 12px;\n  line-height: 1.6;\n  min-width: 0;\n  max-width: 100%;\n"]))),Tj=C.Ay.div(ZI||(ZI=Oj(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  padding: 10px 0;\n  border-bottom: 1px dashed var(--lineColor);\n  &:last-child {\n    border-bottom: none;\n  }\n"]))),Rj=C.Ay.div(XI||(XI=Oj(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  font-size: 13px;\n"]))),Lj=C.Ay.span(ej||(ej=Oj(["\n  display: inline-block;\n  padding: 2px 8px;\n  margin: 2px 4px 2px 0;\n  font-size: 11px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 999px;\n"]))),Dj=C.Ay.pre(tj||(tj=Oj(["\n  background: #111;\n  color: #eee;\n  padding: 12px;\n  border-radius: 8px;\n  overflow-x: auto;\n  font-size: 12px;\n  line-height: 1.6;\n  max-width: 100%;\n  min-width: 0;\n  margin: 0;\n"]))),Uj=C.Ay.p(nj||(nj=Oj(["\n  color: var(--dangerColor, #e03131);\n  font-size: 12px;\n  margin: 8px 0;\n"]))),Mj=C.Ay.div(rj||(rj=Oj(["\n  position: fixed;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.5);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 9999;\n"]))),Nj=C.Ay.div(aj||(aj=Oj(["\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 24px;\n  width: min(520px, 92vw);\n  max-height: 90vh;\n  overflow-y: auto;\n"]))),zj=C.Ay.details(lj||(lj=Oj(["\n  margin-top: 8px;\n  min-width: 0;\n  max-width: 100%;\n  summary {\n    cursor: pointer;\n    padding: 8px 0;\n    font-weight: 700;\n  }\n"]))),Bj={GET:"#61affe",POST:"#49cc90",PATCH:"#50e3c2",DELETE:"#f93e3e",PUT:"#fca130"},Fj=C.Ay.details(oj||(oj=Oj(["\n  border: 1px solid var(--lineColor);\n  border-left: 4px solid var(--borderColor, #999);\n  border-radius: 6px;\n  margin: 8px 0;\n  background: var(--cardBackgroundColor);\n  min-width: 0;\n  max-width: 100%;\n  summary {\n    list-style: none;\n    cursor: pointer;\n    padding: 10px 12px;\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    font-size: 13px;\n    min-width: 0;\n    &::-webkit-details-marker {\n      display: none;\n    }\n  }\n"]))),Gj=C.Ay.span(ij||(ij=Oj(["\n  display: inline-block;\n  min-width: 56px;\n  text-align: center;\n  padding: 4px 8px;\n  border-radius: 4px;\n  font-family: monospace;\n  font-weight: 700;\n  font-size: 11px;\n  color: #fff;\n  background: ",";\n"])),function(e){return Bj[e.$method]||"#999"}),Hj=C.Ay.code(cj||(cj=Oj(["\n  font-family: monospace;\n  font-size: 13px;\n  color: var(--textColor);\n"]))),$j=C.Ay.span(uj||(uj=Oj(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  margin-left: auto;\n"]))),Vj=C.Ay.div(sj||(sj=Oj(["\n  border-top: 1px solid var(--lineColor);\n  padding: 12px;\n  font-size: 12px;\n  line-height: 1.7;\n"]))),Wj=C.Ay.table(dj||(dj=Oj(["\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 12px;\n  margin: 6px 0 12px;\n  th,\n  td {\n    border-bottom: 1px solid var(--lineColor);\n    padding: 6px 8px;\n    text-align: left;\n    vertical-align: top;\n  }
1\n  th {\n    background: var(--bodyBackgroundColor, rgba(0, 0, 0, 0.04));\n    font-weight: 600;\n  }\n"]))),_j=C.Ay.div(fj||(fj=Oj(["\n  display: flex;\n  gap: 4px;\n  margin-top: 6px;\n"]))),qj=C.Ay.button(mj||(mj=Oj(["\n  padding: 4px 10px;\n  font-size: 11px;\n  border: 1px solid var(--lineColor);\n  background: ",";\n  color: ",";\n  border-radius: 4px 4px 0 0;\n  cursor: pointer;\n"])),function(e){return e.$active?"var(--primaryColor, #333)":"var(--cardBackgroundColor)"},function(e){return e.$active?"#fff":"var(--textColor)"}),Kj=C.Ay.button(pj||(pj=Oj(["\n  font-size: 11px;\n  padding: 2px 8px;\n  border: 1px solid var(--lineColor);\n  background: var(--cardBackgroundColor);\n  border-radius: 4px;\n  cursor: pointer;\n  color: var(--textColor);\n"])));function Yj(e){return e?new Date(e).toLocaleString("ko-KR"):"-"}function Jj(){return r.createElement(zj,null,r.createElement("summary",null,"❓ API란?"),r.createElement(Pj,null,r.createElement("p",null,r.createElement("b",null,'API 는 "우리 집 현관 인터폰" 같은 거예요.'),r.createElement("br",null),"외부 사이트(예: 레이드 게시판)에서 홈페이지 데이터베이스에 직접 들어오면 위험하니까, 정해진 창구(API)를 통해서만 요청을 받아요."),r.createElement("ul",null,r.createElement("li",null,r.createElement("b",null,"API Key")," — 이 창구를 사용할 수 있는 ",r.createElement("b",null,"출ìž
1…증"),". 발급 후 외부 사이트의 ",r.createElement("code",null,".env")," 에 저장하세요. 홈페이지에 노출하거나 Github에 업로드해서는 안돼요."),r.createElement("li",null,r.createElement("b",null,"엔드포인트")," — 창구 주소 (예:"," ",r.createElement("code",null,"GET /v1/photocards"),")."),r.createElement("li",null,r.createElement("b",null,"스코프")," — 이 키로 ",r.createElement("b",null,"무엇까지 할 수 있는지"),"를 정하는 체크리스트. 필요한 것만 주고 받는 것이 안전합니다."))))}function Qj(e){var t=e.method,n=e.path,a=e.summary,l=e.scope,o=e.params,i=e.body,c=e.responseExample,u=e.samples,s=Cj((0,r.useState)("curl"),2),d=s[0],f=s[1],m=Cj((0,r.useState)(!1),2),p=m[0],v=m[1],y=(0,r.useCallback)(Aj(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.clipboard.writeText(u[d]);case 3:v(!0),setTimeout(function(){return v(!1)},1200),e.next=9;break;case 7:e.prev=7,e.t0=e.catch(0);case 9:case"end":return e.stop()}},e,null,[[0,7]])})),[u,d]);return r.createElement(Fj,null,r.createElement("summary",null,r.createElement(Gj,{$method:t},t),r.createElement(Hj,null,n),r.createElement($j,null,a)),r.createElement(Vj,null,r.createElement("div",{style:{marginBottom:8}},"필요 스코프: ",r.createElement(Lj,null,l)),o&&o.length>0&&r.createElement(r.Fragment,null,r.createElement("b",null,"Parameters"),r.createElement(Wj,null,r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",
1null,"이름"),r.createElement("th",null,"위치"),r.createElement("th",null,"타입"),r.createElement("th",null,"필수"),r.createElement("th",null,"설명"))),r.createElement("tbody",null,o.map(function(e){return r.createElement("tr",{key:"".concat(e.in,"-").concat(e.name)},r.createElement("td",null,r.createElement("code",null,e.name)),r.createElement("td",null,e.in),r.createElement("td",null,e.type),r.createElement("td",null,e.required?"✓":""),r.createElement("td",null,e.desc))})))),i&&r.createElement(r.Fragment,null,r.createElement("b",null,"Request body"),r.createElement(Dj,null,i)),r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:8}},r.createElement(_j,null,r.createElement(qj,{$active:"curl"===d,onClick:function(){return f("curl")}},"curl"),r.createElement(qj,{$active:"js"===d,onClick:function(){return f("js")}},"JS (Browser)"),r.createElement(qj,{$active:"node"===d,onClick:function(){return f("node")}},"Node.js")),r.createElement(Kj,{onClick:y},p?"복사됨 ✓":"복사")),r.createElement(Dj,{style:{borderTopLeftRadius:0}},u[d]),c&&r.createElement(r.Fragment,null,r.createElement("b",null,"Response 200"),r.createElement(Dj,null,c))))}function Zj(e){var t=e.projectId,n=t?"https://asia-northeast3-".concat(t,".cloudfunctions.net/apiGateway/v1"):"https://asia-northeast3-<PROJECT_ID>.cloudfunctions.net/apiGateway/v1",a=(0,r.useCallback)(function(){var e=function(e){return{openapi:"3.0.3",info:{title:"홈페이지 외부 연동 API",version:"1.0.0",description:"외부 시스템(레이드 보드 등)에서 포토카드 / 캐릭터 status / 탐색포인트 에 접근."},servers:[{url:e}],components:{securitySchemes:{bearerAuth:{type:"http",scheme:"bearer"}},schemas:{Photocard:{type:"object",properties:{id:{type:"string",description:"서버 자동 생성"},title:{type:"string"},subTitle:{type:"string"},description:{type:"string"},thumbnail:{type:"string"},order:{type:"number",description:"직접 수정 금지 (reorder 사용)"},hp:{type:"number"},mp:{type:"number"},attack:{type:"number"},defense:{type:"number"},critical:{type:"number"},speed:{type:"number"},currentHp:{type:"number"},currentMp:{type:"number"},status1:{type:"number"},status2:{type:"number"},status3:{type:"number"},status4:{type:"number"},status5:{type:"number"},createdAt:{type:"number"},editedAt:{type:"number"}},required:["title"]},Error:{type:"object",properties:{code:{type:"string"},message:{type:"string"}}}}},security:[{bearerAuth:[]}],paths:{"/photocards":{get:{summary:"포토카드 목록",parameters:[{name:"path",in:"query",required:!0,schema:{type:"string",enum:["photocard","photocard2","photocard3","photocard4"]}},{name:"limit",in:"query",schema:{type:"integer"}},{name:"cursor",in:"query",schema:{type:"string"}}]},post:{summary:"포토카드 생성",requestBody:{required:!0,content:{"application/json":{schema:{$ref:"#/components/schemas/Photocard"}}}}}},"/photocards/{id}":{get:{summary:"포토카드 단건 조회",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}},{name:"path",in:"query",required:!0,schema:{type:"string"}}]},patch:{summary:"포토카드 부분 수정 (order 수정 금지)"},delete:{summary:"포토카드 삭제"}},"/photocards/reorder":{post:{summary:"순서 재할당 (0..N-1 asc)"}},"/characters/{id}/status":{get:{summary:"캐릭터 status 조회"},patch:{summary:"status 절대값 세팅"}},"/characters/{id}/status/delta":{post:{summary:"status 증감 (transaction, 0 미만 clamp, currentHp/Mp 는 hp/mp 상한 적용)"}},"/users/{uid}/exploration":{get:{summary:"탐색포인트 조회"},patch:{summary:"탐색포인트 설정/증감 (setting/exploration.maxPoints 상한)"}}}}}(n),t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),r=URL.createObjectURL(t),a=document.createElement("a");a.href=r,a.download="openapi.json",a.click(),URL.revokeObjectURL(r)},[n]);return r.createElement(zj,null,r.createElement("summary",null,"📖 엔드포인트 & 스키마"),r.createElement(Pj,null,r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:8}},r.createElement("div",null,r.createElement("div",null,r.createElement("b",null,"Base URL:")," ",r.createElement("code",null,n)),r.createElement("div",{style:{fontSize:12,color:"var(--subTextColor)"}},"인증: ",r.createElement("code",null,"Authorization: Bearer <API_KEY>")," (모든 요청 필수)")),r.createElement(h.A,{shape:"stroke",onClick:a},"OpenAPI 3.0 JSON 다운로드")),r.createElement("p",{style:{fontSize:11,color:"var(--subTextColor)",marginTop:4}},"다운받은 ",r.createElement("code",null,"openapi.json")," 은 ",r.createElement("b",null,"Swagger UI, Postman, Insomnia")," 등에 import 해서 바로 테스트할 수 있어요."),r.createElement("h6",{style:{marginTop:16}},"Photocard"),r.createElement(Qj,{method:"GET",path:"/photocards",summary:"포토카드 목록",scope:"photocard:read",params:[{name:"path",in:"query",required:!0,type:"string",desc:"photocard | photocard2 | photocard3 | photocard4"},{name:"limit",in:"query",type:"number",desc:"최대 200 (기본 50)"},{name:"cursor",in:"query",type:"string",desc:"이전 페이지 마지막 id"}
1],responseExample:'{\n  "items": [{ "id": "pc_abc", "title": "릴리", "order": 0, "hp": 100 }],\n  "nextCursor": "pc_abc"\n}',samples:{curl:'curl "'.concat(n,'/photocards?path=photocard&limit=50" \\\n  -H "Authorization: Bearer $API_KEY"'),js:"const res = await fetch(\n  '".concat(n,"/photocards?path=photocard&limit=50',\n  { headers: { Authorization: 'Bearer ' + API_KEY } },\n);\nconst { items, nextCursor } = await res.json();"),node:"import fetch from 'node-fetch';\nconst API_KEY = process.env.API_KEY;\nconst res = await fetch(\n  '".concat(n,"/photocards?path=photocard',\n  { headers: { Authorization: `Bearer ${API_KEY}` } },\n);\nconst data = await res.json();\nconsole.log(data.items);")}}),r.createElement(Qj,{method:"POST",path:"/photocards",summary:"포토카드 생성",scope:"photocard:write",body:'{\n  "path": "photocard",\n  "title": "몬스터 스켈레톤",\n  "hp": 300, "attack": 25, "defense": 10\n}',responseExample:'{ "id": "pc_xyz", "title": "...", "order": 7, "createdAt": 1734567890000 }',samples:{curl:'curl -X POST "'.concat(n,'/photocards" \\\n  -H "Authorization: Bearer $API_KEY" \\\n  -H "Content-Type: application/json" \\\n  -d \'{"path":"photocard","title":"스켈레톤","hp":300}\''),js:"await fetch('".concat(n,"/photocards', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer ' + API_KEY,\n    'Content-Type': 'application/json',\n  },\n  body: JSON.stringify({ path: 'photocard', title: '스켈레톤', hp: 300 }),\n});"),node:"await fetch('".concat(n,"/photocards', {\n  method: 'POST',\n  headers: {\n    Authorization: `Bearer ${process.env.API_KEY}`,\n    'Content-Type': 'application/json',\n  },\n  body: JSON.stringify({ path: 'photocard', title: '스켈레톤', hp: 300 }),\n});")}}),r.createElement(Qj,{method:"PATCH",path:"/photocards/{id}",summary:"포토카드 부분 수정 (order 금지)",scope:"photocard:write",params:[{name:"id",in:"path",required:!0,type:"string",desc:"포토카드 id"},{name:"path",in:"query",required:!0,type:"string",desc:"컬렉션 path"}],body:'{ "title": "수정된 이름", "hp": 500 }',samples:{curl:'curl -X PATCH "'.concat(n,'/photocards/pc_xyz?path=photocard" \\\n  -H "Authorization: Bearer $API_KEY" \\\n  -H "Content-Type: application/json" \\\n  -d \'{"hp":500}\''),js:"await fetch(`".concat(n,"/photocards/${id}?path=photocard`, {\n  method: 'PATCH',\n  headers: { Authorization: 'Bearer ' + API_KEY, 'Content-Type': 'application/json' },\n  body: JSON.stringify({ hp: 500 }),\n});"),node:"await fetch(`".concat(n,"/photocards/${id}?path=photocard`, {\n  method: 'PATCH',\n  headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },\n  body: JSON.stringify({ hp: 500 }),\n});")}}),r.createElement(Qj,{method:"DELETE",path:"/photocards/{id}",summary:"포토카드 삭제 (되돌릴 수 없음)",scope:"photocard:delete",params:[{name:"id",in:"path",required:!0,type:"string",desc:"포토카드 id"},{name:"path",in:"query",required:!0,type:"string",desc:"컬렉션 path"}],samples:{curl:'curl -X DELETE "'.concat(n,'/photocards/pc_xyz?path=photocard" \\\n  -H "Authorization: Bearer $API_KEY"'),js:"await fetch(`".concat(n,"/photocards/${id}?path=photocard`, {\n  method: 'DELETE',\n  headers: { Authorization: 'Bearer ' + API_KEY },\n});"),node:"await fetch(`".concat(n,"/photocards/${id}?path=photocard`, {\n  method: 'DELETE',\n  headers: { Authorization: `Bearer ${process.env.API_KEY}` },\n});")}}),r.createElement(Qj,{method:"POST",path:"/photocards/reorder",summary:"순서 재할당 (0..N-1 asc, 최대 500)",scope:"photocard:write",body:'{ "path": "photocard", "orderList": ["pc_a", "pc_b", "pc_c"] }',samples:{curl:'curl -X POST "'.concat(n,'/photocards/reorder" \\\n  -H "Authorization: Bearer $API_KEY" \\\n  -H "Content-Type: application/json" \\\n  -d \'{"path":"photocard","orderList":["pc_a","pc_b","pc_c"]}\''),js:"await fetch('".concat(n,"/photocards/reorder', {\n  method: 'POST',\n  headers: { Authorization: 'Bearer ' + API_KEY, 'Content-Type': 'application/json' },\n  body: JSON.stringify({ path: 'photocard', orderList: ids }),\n});"),node:"await fetch('".concat(n,"/photocards/reorder', {\n  method: 'POST',\n  headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },\n  body: JSON.stringify({ path: 'photocard', orderList: ids }),\n});")}}),r.createElement("h6",{style:{marginTop:20}},"Character Status (전투/레이드)"),r.createElement(Qj,{method:"GET",path:"/characters/{id}/status",summary:"캐릭터 현재 스탯 조회",scope:"status:read",params:[{name:"id",in:"path",required:!0,type:"string",desc:"포토카드 id"},{name:"path",in:"query",required:!0,type:"string",desc:"컬렉션 path"}
1],responseExample:'{ "id": "hero01", "status": { "hp": 500, "currentHp": 380, "attack": 42 } }',samples:{curl:'curl "'.concat(n,'/characters/hero01/status?path=photocard" \\\n  -H "Authorization: Bearer $API_KEY"'),js:"const res = await fetch(\n  `".concat(n,"/characters/${charId}/status?path=photocard`,\n  { headers: { Authorization: 'Bearer ' + API_KEY } },\n);\nconst { status } = await res.json();"),node:"const res = await fetch(\n  `".concat(n,"/characters/${charId}/status?path=photocard`,\n  { headers: { Authorization: `Bearer ${process.env.API_KEY}` } },\n);\nconst { status } = await res.json();")}}),r.createElement(Qj,{method:"POST",path:"/characters/{id}/status/delta",summary:"스탯 증감 (transaction, 0 미만 clamp)",scope:"status:write",body:'{\n  "path": "photocard",\n  "currentHp": -120,    // 데미지 120\n  "currentMp": -30,     // 마나 30 소비\n  "attack": 5           // 버프 +5\n}',responseExample:'{ "id": "hero01", "status": { "currentHp": 260, "currentMp": 40, "attack": 47 } }',samples:{curl:'curl -X POST "'.concat(n,'/characters/hero01/status/delta" \\\n  -H "Authorization: Bearer $API_KEY" \\\n  -H "Content-Type: application/json" \\\n  -d \'{"path":"photocard","currentHp":-120}\''),js:"// 레이드 데미지 적용 예시\nasync function applyDamage(charId, damage) {\n  const res = await fetch(\n    `".concat(n,"/characters/${charId}/status/delta`,\n    {\n      method: 'POST',\n      headers: {\n        'Authorization': 'Bearer ' + API_KEY,\n        'Content-Type': 'application/json',\n      },\n      body: JSON.stringify({ path: 'photocard', currentHp: -damage }),\n    },\n  );\n  if (!res.ok) throw new Error((await res.json()).message);\n  return (await res.json()).status;\n}"),node:"import fetch from 'node-fetch';\nexport async function applyDamage(charId, damage) {\n  const res = await fetch(\n    `".concat(n,"/characters/${charId}/status/delta`,\n    {\n      method: 'POST',\n      headers: {\n        Authorization: `Bearer ${process.env.API_KEY}`,\n        'Content-Type': 'application/json',\n      },\n      body: JSON.stringify({ path: 'photocard', currentHp: -damage }),\n    },\n  );\n  if (!res.ok) throw new Error((await res.json()).message);\n  return (await res.json()).status;\n}")}}),r.createElement("h6",{style:{marginTop:20}},"Exploration Point (탐색 포인트)"),r.createElement(Qj,{method:"PATCH",path:"/users/{uid}/exploration",summary:"탐색포인트 설정/증감 (maxPoints 상한 적용)",scope:"exploration:write",body:'{\n  // 둘 중 하나만:\n  "explorationPoint": 3,           // 절대값 세팅\n  "deltaExplorationPoint": -1      // 증감\n}',samples:{curl:'curl -X PATCH "'.concat(n,'/users/uidABC/exploration" \\\n  -H "Authorization: Bearer $API_KEY" \\\n  -H "Content-Type: application/json" \\\n  -d \'{"deltaExplorationPoint":-1}\''),js:"await fetch(`".concat(n,"/users/${uid}/exploration`, {\n  method: 'PATCH',\n  headers: { Authorization: 'Bearer ' + API_KEY, 'Content-Type': 'application/json' },\n  body: JSON.stringify({ deltaExplorationPoint: -1 }),\n});"),node:"await fetch(`".concat(n,"/users/${uid}/exploration`, {\n  method: 'PATCH',\n  headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },\n  body: JSON.stringify({ deltaExplorationPoint: -1 }),\n});")}}),r.createElement("h6",{style:{marginTop:20}},"에러"),r.createElement(Dj,null,'{ "code": "FORBIDDEN", "message": "이 API Key 에는 photocard:delete 권한이 없습니다." }'),r.createElement("p",{style:{fontSize:12,marginTop:4}},"자주 보는 코드: ",r.createElement("code",null,"UNAUTHORIZED")," · ",r.createElement("code",null,"FORBIDDEN")," · ",r.createElement("code",null,"NOT_FOUND")," · ",r.createElement("code",null,"INVALID_PATH")," · ",r.createElement("code",null,"INVALID_BODY")," · ",r.createElement("code",null,"REVOKED"))))}function Xj(e){var t=e.projectId,n=t?"https://asia-northeast3-".concat(t,".cloudfunctions.net/apiGateway/v1"):"https://asia-northeast3-<PROJECT_ID>.cloudfunctions.net/apiGateway/v1";return r.createElement(zj,null,r.createElement("summary",null,"🔌 직접 연결 사용법 (JavaScript 예시)"),r.createElement(Pj,null,r.createElement("p",null,"외부 레이드 보드가 ",r.createElement("b",null,"Node.js 백엔드")," 라고 가정. 브라우저에서 직접 호출하는 건 API Key 가 유저에게 노출되므로 ",r.createElement("b",null,"권장하지 않음"),"."),r.createElement("h6",null,"1) .env 에 키 저장"),r.createElement(Dj,null,"# 외부 레이드 보드 프로젝트 루트 .env\nAPI_BASE=".concat(n,"\nAPI_KEY=sk_live_xxxxxxxxxxxx...xxxx")),r.createElement("h6",null,"2) 공용 클라이언트 (재사용)"),r.createElement(Dj,null,"// api/moogongClient.js\nconst BASE = process.env.API_BASE;\nconst KEY  = process.env.API_KEY;
1\n\nexport async function api(path, { method = 'GET', body, query } = {}) {\n  const url = new URL(BASE + path);\n  if (query) Object.entries(query).forEach(([k, v]) => url.searchParams.set(k, String(v)));\n\n  const res = await fetch(url, {\n    method,\n    headers: {\n      Authorization: `Bearer ${KEY}`,\n      ...(body ? { 'Content-Type': 'application/json' } : {}),\n    },\n    ...(body ? { body: JSON.stringify(body) } : {}),\n  });\n\n  const data = await res.json().catch(() => ({}));\n  if (!res.ok) {\n    const err = new Error(data.message || res.statusText);\n    err.code = data.code;\n    err.status = res.status;\n    throw err;\n  }\n  return data;\n}"),r.createElement("h6",null,"3) 실전 예시 — 레이드 턴 처리"),r.createElement(Dj,null,"// raid/resolveTurn.js\nimport { api } from '../api/moogongClient.js';\n\nexport async function resolveMonsterAttack(playerCharId, damage) {\n  // 1) 데미지 적용 (transaction + 0 미만 clamp 은 서버가 처리)\n  const { status } = await api(\n    `/characters/${playerCharId}/status/delta`,\n    { method: 'POST', body: { path: 'photocard', currentHp: -damage } },\n  );\n\n  // 2) 사망 판정\n  if (status.currentHp <= 0) {\n    await api(`/characters/${playerCharId}`, {\n      method: 'PATCH',\n      query: { path: 'photocard' },\n      body: { isShow: false }, // 기절 처리 (예시)\n    });\n    return { dead: true };\n  }\n  return { dead: false, currentHp: status.currentHp };\n}\n\nexport async function spendExploration(uid, cost) {\n  try {\n    return await api(`/users/${uid}/exploration`, {\n      method: 'PATCH',\n      body: { deltaExplorationPoint: -cost },\n    });\n  } catch (e) {\n    if (e.code === 'FORBIDDEN') throw new Error('키 권한 부족: exploration:write 필요');\n    throw e;\n  }\n}"),r.createElement("h6",null,"4) 에러 재시도 & Rate limit"),r.createElement(Dj,null,"// 429 / 5xx 지수 백오프\nasync function withRetry(fn, { max = 3 } = {}) {\n  for (let i = 0; i < max; i++) {\n    try { return await fn(); }\n    catch (e) {\n      if (e.status && e.status < 500 && e.code !== 'RATE_LIMIT') throw e;\n      await new Promise(r => setTimeout(r, 300 * Math.pow(2, i)));\n    }\n  }\n  throw new Error('재시도 실패');\n}"),r.createElement("h6",null,"🚫 하지 말아야 할 것"),r.createElement("ul",null,r.createElement("li",null,r.createElement("b",null,"브라우저 번들에 API_KEY 포함 금지.")," 유저 개발자도구로 유출됨. 반드시 서버(Node/Cloudflare Workers 등) 경유."),r.createElement("li",null,r.createElement("code",null,"NEXT_PUBLIC_*"),", ",r.createElement("code",null,"VITE_*"),", ",r.createElement("code",null,"REACT_APP_*")," 같은 ",r.createElement("b",null,"클라이언트 노출 prefix 에 API_KEY 넣지 말 것"),"."),r.createElement("li",null,"GitHub commit 금지 (",r.createElement("code",null,".gitignore")," 에 ",r.createElement("code",null,".env")," 추가 필수)."),r.createElement("li",null,"여러 외부 시스템엔 ",r.createElement("b",null,"키 분리 발급")," → 유출 시 해당 키만 폐기 가능."))))}function eP(e){var t=e.onClose,n=e.onIssued,a=Cj((0,r.useState)(""),2),l=a[0],o=a[1],i=Cj((0,r.useState)([]),2),c=i[0],u=i[1],s=Cj((0,r.useState)(!1),2),d=s[0],f=s[1],m=(0,r.useCallback)(function(e){u(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):[].concat(function(e){if(Array.isArray(e))return Sj(e)}(n=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||kj(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);var n})},[]),p=(0,r.useCallback)(Aj(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(l.trim()){e.next=3;break}return alert("라벨을 입력해주세요."),e.abrupt("return");case 3:if(0!==c.length){e.next=6;break}return alert("스코프를 1개 이상 선택해주세요."),e.abrupt("return");case 6:return e.prev=6,f(!0),e.next=10,bj(l.trim(),c);case 10:t=e.sent,n(t,c),e.next=18;break;case 14:e.prev=14,e.t0=e.catch(6),console.error(e.t0),alert("발급 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 18:return e.prev=18,f(!1),e.finish(18);case 21:case"end":return e.stop()}},e,null,[[6,14,18,21]])})),[l,c,n]);return r.createElement(Mj,{onClick:t},r.createElement(Nj,{onClick:function(e){return e.stopPropagation()}},r.createElement("h5",{style:{marginBottom:16}},"새 API Key 발급"),r.createElement("div",{style:{marginBottom:12}},r.createElement("label",{style:{fontSize:13,fontWeight:600}},"라벨 *"),r.createElement(I.A,{name:"apiKeyLabel",value:l,onCh
1ange:function(e){return o(e.target.value)},placeholder:"예: 레이드 보드 연동"})),r.createElement("div",{style:{marginBottom:12}},r.createElement("label",{style:{fontSize:13,fontWeight:600}},"스코프 *"),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6,marginTop:6}},yj.map(function(e){return r.createElement(xt.A,{key:e,value:e,checked:c.includes(e),onChange:function(){return m(e)}},function(e){return"".concat(e," — ").concat(gj[e])}(e))}))),r.createElement("div",{style:{display:"flex",gap:8,justifyContent:"flex-end"}},r.createElement(h.A,{shape:"stroke",onClick:t,disabled:d},"취소"),r.createElement(h.A,{onClick:p,pending:d,disabled:d},"발급"))))}function tP(e){var t=e.rawKey,n=e.onClose,a=Cj((0,r.useState)(!1),2),l=a[0],o=a[1],i=(0,r.useCallback)(Aj(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.clipboard.writeText(t);case 3:o(!0),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),alert("복사 실패 - 직접 선택해서 복사해주세요.");case 9:case"end":return e.stop()}},e,null,[[0,6]])})),[t]);return r.createElement(Mj,null,r.createElement(Nj,null,r.createElement("h5",{style:{marginBottom:12}},"✅ API Key 발급 완료"),r.createElement(Uj,null,"⚠️ 이 키는 ",r.createElement("b",null,"지금 이 화면에서만 1번")," 보입니다. 복사 후 외부 사이트의"," ",r.createElement("code",null,".env")," 에 저장하세요. 창을 닫으면 다시 확인할 수 없습니다."),r.createElement(Dj,{style:{wordBreak:"break-all",whiteSpace:"pre-wrap"}},t),r.createElement("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",marginTop:12}},r.createElement(h.A,{shape:"stroke",onClick:i},l?"복사됨 ✓":"복사하기"),r.createElement(h.A,{onClick:n},"확인 (저장 완료)"))))}function nP(){var e=Cj(f("docs"),2),t=e[0],n=e[1],a=(0,l.useCollection)("apiKeys",{listen:!0,orderBy:["createdAt","desc"]}).data,o=Cj((0,r.useState)(!1),2),c=o[0],u=o[1],s=Cj((0,r.useState)(null),2),d=s[0],m=s[1],p=(0,r.useMemo)(function(){var e;return null===(e=Ya.fuego.db.app.options)||void 0===e?void 0:e.projectId},[]),v=(0,r.useCallback)(function(){var e=Aj(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}return e.abrupt("return");case 2:if(window.confirm("[".concat(t.label,"] 키를 폐기하시겠습니까? 이 키를 사용 중인 외부 사이트는 즉시 접근 불가가 됩니다."))){e.next=4;break}return e.abrupt("return");case 4:return e.prev=4,e.next=7,Ej(t.id);case 7:e.next=13;break;case 9:e.prev=9,e.t0=e.catch(4),console.error(e.t0),alert("폐기 실패: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0));case 13:case"end":return e.stop()}},e,null,[[4,9]])}));return function(t){return e.apply(this,arguments)}}(),[]),y=[{label:"엔드포인트 & 스키마",value:"docs",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(Jj,null),r.createElement(Zj,{projectId:p}),r.createElement(Xj,{projectId:p}))},{label:"API 키 관리",value:"keys",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(Pj,null,r.createElement(Tj,null,r.createElement("div",null,r.createElement("b",null,"발급된 API Key"),r.createElement("div",{style:{fontSize:12,color:"var(--subTextColor)"}},"외부 레이드 보드에서 사용할 키를 발급/폐기합니다.")),r.createElement(h.A,{onClick:function(){return u(!0)}},"+ 새 키 발급")),0===(a||[]).length&&r.createElement("div",{style:{padding:16,color:"var(--subTextColor)"}},"아직 발급된 키가 없습니다."),(a||[]).map(function(e){var t,n=!!e.revokedAt;return r.createElement(Tj,{key:e.id},r.createElement(Rj,null,r.createElement("div",null,r.createElement("b",null,e.label)," ",n&&r.createElement("span",{style:{color:"var(--dangerColor)",fontSize:12}},"(폐기됨)")),r.createElement("div",{style:{fontFamily:"monospace",fontSize:12}},e.prefix),r.createElement("div",null,null===(t=e.scopes)||void 0===t?void 0:t.map(function(e){return r.createElement(Lj,{key:e},e)})),r.createElement("div",{style:{fontSize:11,color:"var(--subTextColor)"}},"발급: ",Yj(e.createdAt)," · 마지막 사용:"," ",Yj(e.lastUsedAt))),r.createElement("div",null,!n&&r.createElement(h.A,{shape:"stroke",onClick:function(){return v(e)}},"폐기")))})),r.createElement(jj,null,r.createElement(Uj,null,"⚠️ API Key 는 ",r.createElement("b",null,"서버 전용"),"입니다. 홈페이지 코드(브라우저)에 직접 포함하거나 GitHub, 채팅 등에 붙여넣지 마세요. 유출 시 즉시"," ",r.createElement("b",null,"폐기 후 재발급")," 하세요.")))}];return r.createElement(b.YO,{wrap:"row",startSec:!0},r.createElement(Ij,null,r.createElement(i.A,{viewOptions:y,defaultViewType:t,customSetViewType:n}),c&&r.createElement(eP,{onClose:function(){return u(!1)},onIssued:function(e){u(!1),m(e.rawKey)}}),d&&r.createElement(tP,{rawKey:d,onClose:function(){return m(null)}})))}var rP,aP=r.memo(nP);function lP(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function oP(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){lP(l,r,a,o,i,"next",e)}function i(e){lP(l,r,a,o,i,"throw",e)}o(void 0)})}}function iP(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return cP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cP(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cP(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var uP,sP,dP,fP,mP,pP,vP,yP,gP=C.Ay.div(rP||(rP=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: repeat(6, 1fr);\n  justify-content: center;\n  align-items: center;\n  padding: 4px 12px;\n  gap: 12px;\n\n  &:nth-child(even) {\n    background-color: rgba(0, 0, 0, 0.1);\n  }\n  font-size: 13px;\n"]))),bP=function(e){var t=e.id,n=o.Gf.CAMP,a=(0,l.useDocument)("".concat(n,"/").concat(t),{listen:!0}),i=a.data,c=a.set,u=iP((0,r.useState)(null),2),s=u[0],d=u[1],f=iP((0,Mr.A)((null==i?void 0:i.isActive)||!1),2),m=f[0],p=f[1],v=iP((0,r.useState)(!1),2),y=v[0],g=v[1],b=iP((0,Mn.zN)({title:(null==i?void 0:i.title)||"",description:(null==i?void 0:i.description)||""}),3),E=b[0],x=E.title,C=E.description,k=b[1],S=b[2],O=(0,r.useCallback)(oP(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return g(!0),e.next=3,(0,me.updateImgAndGetURL)({selectedFile:s,prevImgURL:i&&i.imgURL||"",collectionPath:n});case 3:return t=e.sent,e.next=6,c({title:x,isActive:m,imgURL:t,description:C},{merge:!0});case 6:g(!1);case 7:case"end":return e.stop()}},e)})),[x,m,s,n,C]),j=(0,r.useCallback)(function(){i&&(0,me.deleteImg)({imgURL:i.imgURL||"",docId:t,key:"imgURL",collectionPath:n})},[i,t,n]);return(0,r.useEffect)(function(){i&&S({title:i.title,description:i.description})},[i]),r.createElement(gP,null,r.createElement("div",null,"id : ",null==i?void 0:i.id),r.createElement(I.A,{name:"title",value:x,onChange:k,placeholder:"진영 이름"}),r.createElement(I.A,{name:"description",value:C,onChange:k,placeholder:"서브타이틀"}),r.createElement(w.A,{isChecked:m,handleSwitch:p}," ","진영 활성화"," "),r.createElement(A.A,{id:"camp-".concat(t),setSelectedFile:d,prevImgURL:null==i?void 0:i.imgURL,text:"이미지 추가",customDelete:j,label:"진영 이미지 (권장 200*200)",minHeight:60}),r.createElement(h.A,{onClick:O,pending:y},"저장"))},hP=[{id:"camp1",title:"진영1",isActive:!0,imgURL:""},{id:"camp2",title:"진영2",isActive:!0,imgURL:""},{id:"camp3",title:"진영3",isActive:!0,imgURL:""},{id:"camp4",title:"진영4",isActive:!0,imgURL:""}],EP=function(e){var t,n,a=e.settingPath,i=void 0===a?o.Mb.PHOTOCARD:a,c=(0,l.useDocument)(i,{listen:!0}),u=c.data,s=c.set,d=null!==(t=null==u?void 0:u.useImgShadow)&&void 0!==t&&t,f=null!==(n=null==u?void 0:u.imgShadowColor)&&void 0!==n?n:"rgba(0,0,0,0.35)";return r.createElement(b.YO,null,r.createElement(b.fA,null,"소속/진영 설정 (최대 4개)",r.createElement(b.PF,null,"아래 설정은 모든 포토카드 게시판에 공통 적용됩니다.")),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",gap:12,alignItems:"center",margin:"8px 0 16px"}},r.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},r.createElement("span",null,"진영 이미지 그림자"),r.createElement(w.A,{isChecked:d,handleSwitch:function(){s({useImgShadow:!d},{merge:!0})}})),r.createElement("div",{style:{opacity:d?1:.5,pointerEvents:d?"auto":"none"}},r.createElement(E.A,{name:"imgShadowColor",value:f,onChange:function(e){s({imgShadowColor:e},{merge:!0})},withInput:!0}))),null==hP?void 0:hP.map(function(e,t){return r.createElement(bP,{key:e.id,id:e.id})}))},xP=n(78703);function wP(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function AP(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){wP(l,r,a,o,i,"next",e)}function i(e){wP(l,r,a,o,i,"throw",e)}o(void 0)})}}function CP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function kP(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?CP(Object(n),!0).forEach(function(t){SP(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):CP(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function SP(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OP(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return IP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?IP(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function IP(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function jP(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var PP=C.Ay.div(uP||(uP=jP(["\n  display: flex;\n  gap: 8px;\n  justify-content: flex-end;\n  margin-top: 16px;\n"]))),TP=C.Ay.div(sP||(sP=jP(["\n  font-size: 13px;\n  color: var(--textColor);\n  line-height: 1.6;\n\n  strong {\n    color: var(--primaryColor);\n  }\n"]))),RP=C.Ay.div(dP||(dP=jP(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),LP=C.Ay.div(fP||(fP=jP(["\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n"]))),DP=C.Ay.div(mP||(mP=jP(["\n  padding-left: 10px;\n  border-left: 3px solid ",";\n  margin-bottom: 2px;\n"])),function(e){return e.accent||"var(--primaryColor)"}),UP=C.Ay.h6(pP||(pP=jP([""]))),MP=C.Ay.div(vP||(vP=jP(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-top: 2px;\n  line-height: 1.4;\n"]))),NP=C.Ay.div(yP||(yP=jP(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"])));function zP(e){var t=e.settingPath,n="".concat(void 0===t?"setting/photocard":t,"EditPermission"),a=OP((0,r.useState)(!1),2),o=a[0],i=a[1],c=OP((0,r.useState)(!1),2),u=c[0],s=c[1],d=(0,r.useRef)(!1);d.current=o;var f=(0,l.useDocument)(n,{listen:!0}).data,m=OP((0,r.useState)(xP.qZ),2),p=m[0],v=m[1];(0,r.useEffect)(function(){f&&!d.current&&v(kP(kP({},xP.qZ),f))},[f]);var y=(0,r.useCallback)(function(e){v(function(t){return kP(kP({},t),{},SP({},e,!t[e]))}),i(!0)},[]),g=(0,r.useCallback)(function(){v(function(e){return kP(kP({},e),Object.keys(xP.Is).reduce(function(e,t){return kP(kP({},e),{},SP({},t,!0))},{}))}),i(!0)},[]),E=(0,r.useCallback)(function(){v(function(e){return kP(kP({},e),Object.keys(xP.Is).reduce(function(e,t){return kP(kP({},e),{},SP({},t,!1))},{}))}),i(!0)},[]),x=(0,r.useCallback)(AP(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,t={addProfile:!!p.addProfile,titleEdit:!!p.titleEdit,subtitleEdit:!!p.subtitleEdit,descEdit:!!p.descEdit,thumbnail:!!p.thumbnail,hoverThumbnail:!!p.hoverThumbnail,bgmURL:!!p.bgmURL,soundURL:!!p.soundURL,accessType:!!p.accessType,closetShowTag:!!p.closetShowTag,closetShowSubTitle:!!p.closetShowSubTitle,closetShowDescription:!!p.closetShowDescription,closetShowStandingDialogue:!!p.closetShowStandingDialogue,closetAddButton:!!p.closetAddButton,tabDesign:!!p.tabDesign,tabEdit:!!p.tabEdit,standingSetting:!!p.standingSetting,statEdit:!!p.statEdit,closetStandingTab:!!p.closetStandingTab,giftItem:!!p.giftItem,itemCraftButton:!!p.itemCraftButton,deleteProfile:!!p.deleteProfile},e.next=5,Ya.default.firestore().doc(n).set(kP(kP({},t),{},{updatedAt:new Date}),{merge:!0});case 5:i(!1),alert("저장되었습니다."),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(1),console.error("저장 실패:",e.t0),alert("저장에 실패했습니다: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||"알 수 없는 오류"));case 13:s(!1);case 14:case"end":return e.stop()}},e,null,[[1,9]])})),[p]),w=function(e){return r.createElement(Nn.A,{key:e,label:xP.Is[e].label,description:xP.Is[e].desc,isChecked:!!p[e],onToggle:function(){return y(e)}})};return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"[멤버용] 포토카드 관리 권한 설정"),r.createElement(b.qF,null,r.createElement(TP,null,r.createElement("strong",null,"⚠️ 멤버 권한 전용 설정"),r.createElement("br",null),"이 설정은 ",r.createElement("strong",null,"[멤버]")," 권한을 가진 유저가 자신의 프로필(포토카드)을 편집할 때 적용됩니다.",r.createElement("br",null),r.createElement("strong",null,"[관리자]"),"는 모든 항목을 편집할 수 있으며,"," ",r.createElement("strong",null,"[손님]"),"은 모든 편집 권한 자
1체가 없습니다.",r.createElement("br",null),r.createElement("br",null),"※ 담당 오너 선택, 진영 선택, 공개설정은"," ",r.createElement("strong",null,"관리자 전용"),"으로 항상 관리자만 편집 가능합니다."),r.createElement("div",{style:{padding:"20px 0",display:"flex",gap:8}},r.createElement(h.A,{shape:"stroke",onClick:g},"전체 허용"),r.createElement(h.A,{shape:"stroke",onClick:E},"전체 비허용")),r.createElement(RP,null,r.createElement(LP,null,r.createElement(DP,null,r.createElement(UP,null,"포토카드 설정 항목"),r.createElement(MP,null,"멤버가 수정할 수 있는 기본 프로필 정보 항목")),r.createElement(NP,null,["addProfile","titleEdit","subtitleEdit","descEdit","thumbnail","hoverThumbnail","bgmURL","soundURL","accessType"].map(w))),r.createElement(LP,null,r.createElement(DP,{accent:"var(--subTextColor)"},r.createElement(UP,null,"옷장 설정 항목"),r.createElement(MP,null,"포토카드 상세 페이지에서 표시할 옷장 정보 요소")),r.createElement(NP,null,["closetShowTag","closetShowSubTitle","closetShowDescription","closetShowStandingDialogue","closetAddButton"].map(w))),r.createElement(LP,null,r.createElement(DP,null,r.createElement(UP,null,"버튼 접근 권한"),r.createElement(MP,null,"멤버에게 노출할 편집 버튼 및 기능 접근 권한")),r.createElement(NP,null,["tabDesign","tabEdit","standingSetting","statEdit","closetStandingTab","giftItem","itemCraftButton","deleteProfile"].map(w)))),r.createElement(PP,null,r.createElement(h.A,{color:"primary",onClick:x,disabled:!o,pending:u},o?"저장하기":"✓ 저장됨"))))}var BP,FP,GP,HP,$P,VP,WP,_P,qP,KP,YP,JP,QP=r.memo(zP),ZP=n(41491),XP=["data","setOrderList"];function eT(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function tT(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){eT(l,r,a,o,i,"next",e)}function i(e){eT(l,r,a,o,i,"throw",e)}o(void 0)})}}function nT(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return rT(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rT(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rT(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function aT(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var lT,oT,iT,cT,uT,sT,dT=C.Ay.div(BP||(BP=aT(["\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  margin-bottom: 12px;\n  overflow: hidden;\n"]))),fT=C.Ay.div(FP||(FP=aT(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 12px 16px;\n  border-bottom: 1px solid var(--lineColor);\n  cursor: grab;\n\n  &:active {\n    cursor: grabbing;\n  }\n"]))),mT=C.Ay.div(GP||(GP=aT(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex: 1;\n"]))),pT=C.Ay.div(HP||(HP=aT(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n  padding: 4px;\n"]))),vT=C.Ay.div($P||($P=aT(["\n  width: 14px;\n  height: 2px;\n  background: var(--subTextColor);\n  border-radius: 1px;\n"]))),yT=C.Ay.span(VP||(VP=aT(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),gT=C.Ay.span(WP||(WP=aT(["\n  font-size: 11px;\n  padding: 2px 8px;\n  background: var(--primaryColor);\n  color: white;\n  border-radius: 4px;\n"]))),bT=C.Ay.div(_P||(_P=aT(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),hT=C.Ay.div(qP||(qP=aT(["\n  display: ",";\n  padding: 16px;\n"])),function(e){return e.isOpen?"block":"none"}),ET=C.Ay.div(KP||(KP=aT(["\n  margin: 16px 0;\n  padding: 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);
1\n  background-color: var(--cardBackgroundColor);\n"]))),xT=C.Ay.div(YP||(YP=aT(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 12px;\n  margin-top: 12px;\n"]))),wT=C.Ay.div(JP||(JP=aT(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-size: 13px;\n  color: var(--textColor);\n"]))),AT=function(e){var t=e.data,n=e.setOrderList,a=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,XP),l=nT((0,r.useState)(!1),2),i=l[0],c=l[1],u=nT((0,r.useState)(t.title||""),2),s=u[0],d=u[1],f=nT((0,r.useState)(t.contents||""),2),m=f[0],p=f[1],v=nT((0,r.useState)(t.isDefault||!1),2),y=v[0],g=v[1],b=nT((0,r.useState)(!1),2),E=b[0],x=b[1];(0,r.useEffect)(function(){d(t.title||""),p(t.contents||""),g(t.isDefault||!1)},[t]);var A=(0,r.useCallback)(tT(regeneratorRuntime.mark(function e(){var n,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}return e.abrupt("return");case 2:if(x(!0),e.prev=3,n=Ya.default.firestore(),r=n.collection(o.Gf.PROFILE_TEMPLATE).doc(t.id),!y){e.next=14;break}return e.next=9,n.collection(o.Gf.PROFILE_TEMPLATE).where("isDefault","==",!0).get();case 9:return a=e.sent,l=n.batch(),a.docs.forEach(function(e){e.id!==t.id&&l.update(e.ref,{isDefault:!1})}),e.next=14,l.commit();case 14:return e.next=16,r.update({title:s,contents:m,isDefault:y,editedAt:new Date});case 16:alert("템플릿이 저장되었습니다."),e.next=23;break;case 19:e.prev=19,e.t0=e.catch(3),console.error("템플릿 저장 실패:",e.t0),alert("저장 중 오류가 발생했습니다.");case 23:return e.prev=23,x(!1),e.finish(23);case 26:case"end":return e.stop()}},e,null,[[3,19,23,26]])})),[t.id,s,m,y]),C=(0,r.useCallback)(tT(regeneratorRuntime.mark(function e(){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}return e.abrupt("return");case 2:if(confirm('"'.concat(t.title,'" 템플릿을 삭제하시겠습니까?'))){e.next=4;break}return e.abrupt("return");case 4:return e.prev=4,r=Ya.default.firestore(),e.next=8,r.collection(o.Gf.PROFILE_TEMPLATE).doc(t.id).delete();case 8:null==n||n(function(e){return e.filter(function(e){return e.id!==t.id})}),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(4),console.error("템플릿 삭제 실패:",e.t0),alert("삭제 중 오류가 발생했습니다.");case 15:case"end":return e.stop()}},e,null,[[4,11]])})),[t.id,t.title,n]);return r.createElement(dT,null,r.createElement(fT,a,r.createElement(mT,null,r.createElement(pT,null,r.createElement(vT,null),r.createElement(vT,null),r.createElement(vT,null)),r.createElement(yT,null,t.title||"제목 없음"),t.isDefault&&r.createElement(gT,null,"기본")),r.createElement(bT,null,r.createElement(Do.A,{icon:"ArrowDown12",onClick:function(){return c(!i)}}))),r.createElement(hT,{isOpen:i},r.createElement(I.A,{label:"템플릿 이름",name:"title",value:s,onChange:function(e){return d(e.target.value)},placeholder:"템플릿 이름을 입력하세요"}),r.createElement(ET,null,r.createElement(ZP.A,{style:{height:"auto",marginBottom:24},editorStyle:{height:"auto"},isEdit:!0,contents:m,setContents:p,id:"profile-template-".concat(t.id)})),r.createElement(xT,null,r.createElement(wT,null,r.createElement("span",null,"기본 템플릿으로 설정"),r.createElement(w.A,{isChecked:y,handleSwitch:function(){return g(!y)}})),r.createElement("div",{style:{display:"flex",gap:8}},r.createElement(h.A,{shape:"stroke",color:"warning",size:"sm",onClick:C},"삭제"),r.createElement(h.A,{size:"sm",onClick:A,disabled:E},E?"저장 중...":"저장")))))};function CT(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function kT(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){CT(l,r,a,o,i,"next",e)}function i(e){CT(l,r,a,o,i,"throw",e)}o(void 0)})}}function ST(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function OT(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var IT,jT,PT,TT=C.Ay.p(lT||(lT=OT(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  margin: 8px 0 16px;\n  line-height: 1.5;\n"]))),RT=C.Ay.div(oT||(oT=OT(["\n  text-align: center;\n  padding: 40px 20px;\n  color: var(--subTextColor);\n  font-size: 14px;\n  border: 1px dashed var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  margin-top: 16px;\n"]))),LT=C.Ay.div(iT||(iT=OT(["\n  margin-top: 16px;\n"]))),DT=C.Ay.div(cT||(cT=OT(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 12px 16px;\n  background: var(--backgroundColor);\n  border: 1px dashed var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  margin-bottom: 16px;\n"]))),UT=C.Ay.div(uT||(uT=OT(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  line-height: 1.4;
1\n"]))),MT=C.Ay.div(sT||(sT=OT(["\n  display: flex;\n  gap: 8px;\n"]))),NT=function(e){var t,n,a,i=e.settingPath,c=void 0===i?o.Mb.PHOTOCARD:i,u=(n=(0,r.useState)(!1),a=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,a)||function(e,t){if(e){if("string"==typeof e)return ST(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ST(e,t):void 0}}(n,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0],d=u[1],f=(0,l.useCollection)(o.Gf.PROFILE_TEMPLATE,{listen:!0,orderBy:["order","asc"]}),m=f.data,p=f.add,v=(0,l.useDocument)(c,{listen:!0}).data,y=(0,r.useCallback)(kT(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,p({title:"새 템플릿",contents:"",order:(null==m?void 0:m.length)||0,isDefault:0===(null==m?void 0:m.length),createdAt:new Date,editedAt:new Date});case 3:e.next=9;break;case 5:e.prev=5,e.t0=e.catch(0),console.error("템플릿 추가 실패:",e.t0),alert("템플릿 추가 중 오류가 발생했습니다.");case 9:case"end":return e.stop()}},e,null,[[0,5]])})),[m,p]),g=(0,r.useCallback)(kT(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=null==v?void 0:v.defaultContents){e.next=4;break}return alert("마이그레이션할 기존 데이터가 없습니다."),e.abrupt("return");case 4:if(confirm("기존 [포토카드 프로필 내용 일괄 관리] 데이터를 새 템플릿으로 추가하시겠습니까?")){e.next=6;break}return e.abrupt("return");case 6:return d(!0),e.prev=7,e.next=10,p({title:"기존 프로필 템플릿",contents:t,order:(null==m?void 0:m.length)||0,isDefault:0===(null==m?void 0:m.length),createdAt:new Date,editedAt:new Date});case 10:return n=Ya.default.firestore(),e.next=13,n.doc(c).update({defaultContents:""});case 13:alert("마이그레이션이 완료되었습니다."),e.next=20;break;case 16:e.prev=16,e.t0=e.catch(7),console.error("마이그레이션 실패:",e.t0),alert("마이그레이션 중 오류가 발생했습니다.");case 20:return e.prev=20,d(!1),e.finish(20);case 23:case"end":return e.stop()}},e,null,[[7,16,20,23]])})),[v,m,p]),E=!(null==v||null===(t=v.defaultContents)||void 0===t||!t.trim());return r.createElement(b.YO,null,r.createElement(b.fA,null,"프로필 템플릿 관리",r.createElement(b.PF,null,"여러 개의 프로필 템플릿을 만들고 관리할 수 있습니다.",r.createElement("br",null),"'기본 템플릿'으로 설정된 템플릿이 폼 작성 시 자동으로 적용됩니다.")),E&&r.createElement(DT,null,r.createElement(UT,null,"기존 [프로필 내용 일괄 관리] 데이터가 있습니다.",r.createElement("br",null),"새 템플릿 시스템으로 마이그레이션하세요."),r.createElement(h.A,{size:"sm",onClick:g,disabled:s},s?"이동 중...":"데이터 이동")),r.createElement(MT,null,r.createElement(h.A,{onClick:y,block:!0,shape:"stroke",icon:"Plus14"},"템플릿 추가")),r.createElement(TT,null,"⚙️ 드래그, 드롭으로 순서 이동이 가능합니다.",r.createElement("br",null),"각 템플릿을 클릭하여 내용을 수정하고 저장하세요."),r.createElement(LT,null,m&&m.length>0?r.createElement(ma.A,{list:m,handleUpdateOrder:xa,collectionPath:o.Gf.PROFILE_TEMPLATE},r.createElement(AT,{data:m[0]})):r.createElement(RT,null,r.createElement("p",{style:{marginBottom:8,fontWeight:600}},"등록된 템플릿이 없습니다."),r.createElement("p",null,"위 버튼을 클릭하여 첫 번째 템플릿을 추가해보세요."))))},zT=(n(65397),n(96646));function BT(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var FT=C.Ay.div(IT||(IT=BT(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),GT=C.Ay.div(jT||(jT=BT(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n"]))),HT=C.Ay.button(PT||(PT=BT(["\n  padding: 8px 14px;\n  border-radius: var(--buttonBorderRadius);\n  font-size: 13px;\n  font-weight: ",";\n  color: ",";\n  background-color: ",";\n  border: 1px solid\n    ",";\n  cursor: pointer;\n  transition: all 0.15s;\n\n  &:hover {\n    border-color: var(--primaryColor);\n  }\n"])),function(e){return e.$active?700:400},function(e){return e.$active?"var(--buttonTextColor)":"var(--textColor)"}
1,function(e){return e.$active?"var(--buttonBackgroundColor)":"var(--cardBackgroundColor)"},function(e){return e.$active?"var(--primaryColor)":"var(--lineColor)"}),$T=[{value:"rightTop",label:"오른쪽 상단"},{value:"rightMiddle",label:"오른쪽 중앙"},{value:"rightBottom",label:"오른쪽 하단"},{value:"centerTop",label:"중앙 상단"},{value:"centerBottom",label:"중앙 하단"}];function VT(e){var t=e.value,n=e.onChange,a=e.label,l=void 0===a?"액션 버튼 위치":a,o=e.description,i=(0,r.useCallback)(function(e){n(e)},[n]);return r.createElement(FT,null,r.createElement(Jr.A,{label:l,description:o}),r.createElement(GT,null,$T.map(function(e){return r.createElement(HT,{key:e.value,$active:t===e.value,onClick:function(){return i(e.value)}},e.label)})))}var WT,_T,qT,KT=r.memo(VT);function YT(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var JT=C.Ay.div(WT||(WT=YT(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),QT=C.Ay.div(_T||(_T=YT(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n"]))),ZT=C.Ay.button(qT||(qT=YT(["\n  padding: 8px 14px;\n  border-radius: var(--buttonBorderRadius);\n  font-size: 13px;\n  font-weight: ",";\n  color: ",";\n  background-color: ",";\n  border: 1px solid\n    ",";\n  cursor: pointer;\n  transition: all 0.15s;\n\n  &:hover {\n    border-color: var(--primaryColor);\n  }\n"])),function(e){return e.$active?700:400},function(e){return e.$active?"var(--buttonTextColor)":"var(--textColor)"},function(e){return e.$active?"var(--buttonBackgroundColor)":"var(--cardBackgroundColor)"},function(e){return e.$active?"var(--primaryColor)":"var(--lineColor)"}),XT=[{value:"square",label:"사각 버튼형"},{value:"history",label:"히스토리형"}];function eR(e){var t=e.menuType,n=(e.menuPosition,e.onChangeType);return e.onChangePosition,r.createElement(JT,null,r.createElement(Ro.A,null,"옷장 메뉴 타입"),r.createElement(QT,null,XT.map(function(e){return r.createElement(ZT,{key:e.value,$active:t===e.value,onClick:function(){return n(e.value)}},e.label)})))}var tR,nR=r.memo(eR);function rR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rR(Object(n),!0).forEach(function(t){lR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function lR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oR(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var iR,cR,uR,sR,dR,fR,mR,pR,vR=C.Ay.div(tR||(tR=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n"]))),yR=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,i=(t=(0,r.useState)({isStatusInventoryShow:!1,useStatusSec:!1,useSkillSec:!1,useEquipmentSec:!1,useConsumableSec:!1,isHistoryShow:!1,isSidePanelShow:!0,isMusicShow:!0,isVoiceShow:!0,isMyRoomShow:!0}),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return oR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oR(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(0,l.useDocument)("".concat(o.Gf.STATUS,"/statusSetting"),{listen:!0}),d=s.data,f=s.set,m=(0,r.useCallback)(function(e){u(function(t){return aR(aR({},t),{},lR({},e,!t[e]))}),f(lR({},e,!c[e]),{merge:!0})},[c,f]);return(0,r.useEffect)(function(){var e,t,n,r;d&&u({isStatusInventoryShow:d.isStatusInventoryShow||!1,useStatusSec:d.useStatusSec||!1,usePetSec:d.usePetSec||!1,useSkillSec:d.useSkillSec||!1,useEquipmentSec:d.useEquipmentSec||!1,useConsumableSec:d.useConsumableSec||!1,isHistoryShow:d.isHistoryShow||!1,isSidePanelShow:null===(e=d.isSidePanelShow)||void 0===e||e,isMusicShow:null===(t=d.isMusicShow)||void 0===t||t,isVoiceShow:null===(n=d.isVoiceShow)||void 0===n||n,isMyRoomShow:null===(r=d.isMyRoomShow)||void 0===r||r})},[d]),r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"사이드 버튼 활성화"),r.createElement(b._B,null,r.createElement("p",null,"📌 모든 프로필에 공통으로 적용되는 아이콘 활성화 여부입니다."),r.createElement("p",null,"- 인벤토리 버튼은 '상점형' 게시판이 있는 경우 이용 가능합니다."),a.l.photocardThemeSet&&r.createElement("p",null,"- 히스토리 버튼은 '포토카드 연표 추가' 기능이 있는 경우 이용 가능합니다."),r.createElement("p",null,"- 스탯, 스킬, 장비 섹션은 '스탯/스킬 관리' 기능이 있는 경우 이용 가능합니다.")),r.createElement(vR,null,[{label:"사이드 패널 버튼",key:"isSidePanelShow",show:!0},{label:"음악재생 버튼",key:"isMusicShow",show:!0},{label:"보이스 버튼",key:"isVoiceShow",show:!0},{label:"마이룸 버튼",key:"isMyRoomShow",show:a.l.stickerDoc},{label:"히스토리 버튼",key:"isHistoryShow",show:a.l.photocardThemeSet},{label:"펫 섹션",key:"usePetSec",show:a.l.petSystem},{label:"스탯 섹션",key:"useStatusSec",show:a.l.status},{label:"스킬 섹션",key:"useSkillSec",show:a.l.status},{label:"장비 섹션",key:"useEquipmentSec",show:a.l.status},{label:"장착 소모품 섹션",key:"useConsumableSec",show:a.l.status}].map(function(e){var t=e.label,n=e.key;return e.show?r.createElement(b.Fd,{key:n,style:{textAlign:"left"}},r.createElement(b.O9,null,t),r.createElement(w.A,{isChecked:c[n],handleSwitch:function(){return m(n)}})):null})))};function gR(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var bR=(0,C.Ay)(fi.Ay)(iR||(iR=gR(["\n  padding: 20px;\n  margin-bottom: 12px;\n"]))),hR=C.Ay.div(cR||(cR=gR(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 16px;\n\n  h6 {\n    margin: 0;\n    font-size: 15px;\n    font-weight: 600;\n  }\n"]))),ER=C.Ay.div(uR||(uR=gR(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 12px 0;\n  border-bottom: 1px solid var(--lineColor);\n\n  &:last-child {\n    border-bottom: none;\n    padding-bottom: 0;\n  }\n\n  &:first-child {\n    padding-top: 0;\n  }\n"]))),xR=C.Ay.div(sR||(sR=gR(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),wR=C.Ay.span(dR||(dR=gR(["\n  font-weight: 600;\n  font-size: 14px;\n  color: var(--textColor);\n"]))),AR=C.Ay.span(fR||(fR=gR(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  line-height: 1.4;\n"]))),CR=C.Ay.div(mR||(mR=gR(["\n  display: flex;\n  align-items: flex-end;\n  gap: 12px;\n\n  > div:first-child {\n    flex: 1;\n  }\n"]))),kR=C.Ay.div(pR||(pR=gR(["\n  display: flex;\n  justify-content: flex-end;\n  margin-top: 16px;\n"]))),SR=["expandedRows"];function OR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function IR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?OR(Object(n),!0).forEach(function(t){jR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):OR(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function jR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function PR(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return TR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?TR(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function TR(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var RR=function(e){var t,n=e.settingPath,a=void 0===n?o.Mb.PHOTOCARD:n,i=(0,l.useDocument)(a,{listen:!0}),c=i.data,u=i.set,s=PR((0,Mn.zN)({width:(null==c?void 0:c.customWidth)||"460px"}),2),d=s[0].width,f=s[1],m=(0,r.useCallback)(function(){var e=(0,nt.R$)(d,"460px");u({customWidth:e},{merge:!0})},[u,d]),p=PR((0,r.useState)((null==c?void 0:c.actionButtonPosition)||"rightTop"),2),v=p[0],y=p[1],g=PR((0,r.useState)((null==c?void 0:c.closetMenuType)||"square"),2),E=g[0],w=g[1],A=PR((0,r.useState)((null==c?void 0:c.closetMenuPosition)||"left"),2),C=A[0],k=A[1],S=PR((0,r.useState)((null==c?void 0:c.standingImageFit)||"fit"),2),O=S[0],j=S[1],P=(0,r.useCallback)(function(e){y(e)},[]),T=(0,r.useCallback)(function(e){w(e)},[]),R=(0,r.useCallback)(function(e){k(e)},[]),L=(0,r.useCallback)(function(){u({actionButtonPosition:v,closetMenuType:E,closetMenuPosition:C,standingImageFit:O},{merge:!0})},[u,v,E,C,O]),D=PR((0,r.useState)(null!==(t=null==c?void 0:c.inventoryConfig)&&void 0!==t?t:zT.a),2),U=D[0],M=D[1],N=PR((0,r.useState)(!1),2),z=N[0],B=N[1],F=PR((0,r.useState)(!1),2),G=F[0],H=F[1],$=(0,r.useCallback)(function(){B(!0),H(!1),U.expandedRows;var e=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(U,SR);u({inventoryConfig:e},{merge:!0}).then(function(){H(!0),setTimeout(function(){return H(!1)},2e3)}).finally(function(){return B(!1)})},[u,U]);return(0,r.useEffect)(function(){var e;c&&(y(c.actionButtonPosition||"rightTop"),w(c.closetMenuType||"square"),k(c.closetMenuPosition||"left"),j(c.standingImageFit||"fit"),M(null!==(e=null==c?void 0:c.inventoryConfig)&&void 0!==e?e:zT.a))},[c]),r.createElement(r.Fragment,null,r.createElement(yR,null),r.createElement(b.YO,null,r.createElement(b.fA,null,"레이아웃 설정",r.createElement(b.PF,null,"포토카드의 전체적인 레이아웃을 조정합니다.")),r.createElement(bR,null,r.createElement(CR,null,r.createElement(I.A,{label:"사이드 탭 영역 너비",description:"포토카드 우측의 탭 영역 너비를 설정합니다. (기본값: 460px)",value:d,name:"width",onChange:f,placeholder:"460px"}),r.createElement(h.A,{onClick:m},"저장"))),r.createElement(bR,null,r.createElement(hR,null,r.createElement("h6",null,"옷장 메뉴 & 액션 버튼 레이아웃")),r.createElement(nR,{menuType:E,menuPosition:C,onChangeType:T,onChangePosition:R}),r.createElement("div",{style:{marginTop:16}},r.createElement(KT,{value:v,onChange:P,description:"포토카드 페이지의 액션 버튼(사이드 패널, 마이룸 등) 배치 위치를 설정합니다."})),r.createElement(ER,null,r.createElement(xR,null,r.createElement(wR,null,"이미지 핏 옵션"),r.createElement(AR,null,"포토카드 상세의 기본 이미지 출력 방식을 설정합니다.",r.createElement("br",null),"개별 옷장 설정이 있는 경우 개별 설정이 우선됩니다."),r.createElement("div",{style:{width:260}},r.createElement(x.A,{selectList:[{key:"fit",value:"화면에 핏되게 리사이징"},{key:"original",value:"원본 사이즈 출력"}],selectedKey:O,setSelectedKey:function(e){return j(e)},dropdownStyle:{width:"100%"}})))),r.createElement(kR,null,r.createElement(h.A,{shape:"filled",onClick:L},"레이아웃 저장")))),r.createElement(b.YO,null,r.createElement(b.fA,null,"인벤토리 설정",r.createElement(b.PF,null,"모든 포토카드의 인벤토리(가방) 뷰 타입과 그리드 크기를 일괄 설정합니다.")),r.createElement(bR,null,r.createElement(ER,null,r.createElement(xR,null,r.createElement(wR,null,"뷰 타입"),r.createElement(AR,null,"인벤토리 표시 방식을 선택합니다.")),r.createElement("div",{style:{display:"flex",gap:4}}
1,r.createElement(h.A,{shape:"list"===U.viewType?"filled":"stroke",size:"sm",onClick:function(){return M(function(e){return IR(IR({},e),{},{viewType:"list"})})}},"리스트"),r.createElement(h.A,{shape:"grid"===U.viewType?"filled":"stroke",size:"sm",onClick:function(){return M(function(e){return IR(IR({},e),{},{viewType:"grid"})})}},"그리드"))),"grid"===U.viewType&&r.createElement(ER,null,r.createElement(xR,null,r.createElement(wR,null,"기본 행 수 (1~100)"),r.createElement(AR,null,"기본 표시 행 수입니다. 열 수는 사이드 탭 영역 너비에 맞춰 자동 계산됩니다.",r.createElement("br",null),"유저가 확장권으로 행을 추가할 수 있습니다.")),r.createElement("input",{type:"number",min:1,max:100,value:U.gridRows,onChange:function(e){return M(function(t){return IR(IR({},t),{},{gridRows:Math.max(1,Math.min(100,Number(e.target.value)))})})},style:{width:56,padding:"4px 6px",border:"1px solid var(--lineColor)",borderRadius:6,background:"var(--bgColor)",color:"var(--textColor)",fontSize:12,textAlign:"center"}})),r.createElement(kR,null,r.createElement(h.A,{shape:"filled",onClick:$,disabled:z},z?"저장 중...":"인벤토리 설정 저장"),G&&r.createElement("span",{style:{fontSize:11,color:"var(--successColor, #22c55e)",marginLeft:8}},"저장됨!")))))},LR=(n(55722),n(83566)),DR=n(97431);function UR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function MR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?UR(Object(n),!0).forEach(function(t){NR(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):UR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function NR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zR(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return BR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?BR(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function BR(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var FR=function(e){var t,n,a=e.settingPath,i=void 0===a?o.Mb.PHOTOCARD:a,c=null!==(t=i.split("/").pop())&&void 0!==t?t:"photocard",u=(0,l.useDocument)(i,{listen:!0}),s=u.data,d=u.set,f=u.update,m=zR((0,r.useState)((null==s?void 0:s.useImage)||!1),2),p=m[0],v=m[1],y=zR((0,r.useState)((null==s?void 0:s.showDefaultCustomTab)||!1),2),g=y[0],h=y[1],E=(0,r.useCallback)(function(){h(function(e){return!e}),d({showDefaultCustomTab:!g},{merge:!0})},[g]),x=(0,r.useCallback)(function(){var e=!p;v(e),e&&!g?(h(!0),d({useImage:e,showDefaultCustomTab:!0},{merge:!0})):d({useImage:e},{merge:!0}),R(function(t){for(var n={},r=0,a=Object.values(DR.Fd);r<a.length;r++){var l=a[r];n[l]=MR(MR({},t[l]),{},{useImage:e})}return n})},[d,g,p]),A=zR((0,Mn.zN)({profile:DR.lB[DR.Fd.PROFILE],item:DR.lB[DR.Fd.ITEM],bag:DR.lB[DR.Fd.BAG],log:DR.lB[DR.Fd.LOG],relationship:DR.lB[DR.Fd.RELATIONSHIP],secret:DR.lB[DR.Fd.SECRET]}),1)[0],C=A.profile,k=A.item,S=A.bag,O=A.log,I=A.relationship,j=A.secret,P=zR((0,r.useState)((NR(n={},DR.Fd.PROFILE,{text:C,imgURL:"",isActive:!0,useImage:p}),NR(n,DR.Fd.ITEM,{text:k,imgURL:"",isActive:!0,useImage:p}),NR(n,DR.Fd.BAG,{text:S,imgURL:"",isActive:!0,useImage:p}),NR(n,DR.Fd.LOG,{text:O,imgURL:"",isActive:!0,useImage:p}),NR(n,DR.Fd.RELATIONSHIP,{text:I,imgURL:"",isActive:!0,useImage:p}),NR(n,DR.Fd.SECRET,{text:j,imgURL:"",isActive:!0,useImage:p}),n)),2),T=P[0],R=P[1],L=(0,r.useCallback)(function(e,t){return f(NR({},"customTabList.".concat(e),t))},[f]);(0,r.useCallback)(function(){d({showDefaultCustomTab:g,useImage:p},{merge:!0})},[g,d,p]),(0,r.useEffect)(function(){var e,t;if(s){v(null!==(e=null==s?void 0:s.useImage)&&void 0!==e&&e),h(null!==(t=null==s?void 0:s.showDefaultCustomTab)&&void 0!==t&&t);var n=null==s?void 0:s.customTabList;n&&R(function(e){for(var t,r={},a=(NR(t={},DR.Fd.PROFILE,C),NR(t,DR.Fd.ITEM,k),NR(t,DR.Fd.BAG,S),NR(t,DR.Fd.LOG,O),NR(t,DR.Fd.RELATIONSHIP,I),NR(t,DR.Fd.SECRET,j),t),l=0,o=Object.values(DR.Fd);l<o.length;l++){var i,c,u,s,d,f,m,v,y,g,b,h,E,x=o[l];r[x]={text:null!==(i=null===(c=n[x])||void 0===c?void 0:c.text)&&void 0!==i?i:a[x],imgURL:null!==(u=null===(s=n[x])||void 0===s?void 0:s.imgURL)&&void 0!==u?u:e[x].imgURL,hoverImgURL:null!==(d=null!==(f=null===(m=n[x])||void 0===m?void 0:m.hoverImgURL)&&void 0!==f?f:e[x].hoverImgURL)&&void 0!==d?d:"",isActive:null===(v=null===(y=n[x])||void 0===y?void 0:y.isActive)||void 0===v||v,useImage:null!==(g=null===(b=n[x])||void 0===b?void 0:b.useImage)&&void 0!==g?g:p,editPermission:null!==(h=null===(E=n[x])||void 0===E?void 0:E.editPermission)&&void 0!==h?h:e[x].editPermission}}return r})}},[s,C,k,S,O,I,j]);var D=[{tabKey:DR.Fd.PROFILE,label:DR.lB[DR.Fd.PROFILE],isShow:!0}
1,{tabKey:DR.Fd.ITEM,label:DR.lB[DR.Fd.ITEM],isShow:!0},{tabKey:DR.Fd.BAG,label:DR.lB[DR.Fd.BAG],isShow:!0},{tabKey:DR.Fd.LOG,label:DR.lB[DR.Fd.LOG],isShow:!0},{tabKey:DR.Fd.RELATIONSHIP,label:DR.lB[DR.Fd.RELATIONSHIP],isShow:!0},{tabKey:DR.Fd.SECRET,label:DR.lB[DR.Fd.SECRET],isShow:!0,description:"🔒 관리자와 포토카드 오너만 열람 가능한 비밀 탭입니다."}];return r.createElement(b.YO,null,r.createElement(b.fA,null,"탭 디자인 일괄 설정",r.createElement(b.PF,null,"모든 포토카드에 공통으로 적용되는 탭 디자인을 설정합니다.")),r.createElement(bR,null,r.createElement(ER,null,r.createElement(xR,null,r.createElement(wR,null,"일괄 디자인 적용"),r.createElement(AR,null,"활성화하면 아래 설정이 모든 포토카드에 기본값으로 적용됩니다.",r.createElement("br",null),"개별 포토카드의 탭 설정이 있으면 그 설정이 우선됩니다.")),r.createElement(w.A,{isChecked:g,handleSwitch:E})),r.createElement(ER,null,r.createElement(xR,null,r.createElement(wR,null,"탭 버튼에 이미지 사용"),r.createElement(AR,null,"텍스트 대신 이미지로 탭 버튼을 표시합니다.")),r.createElement(w.A,{isChecked:p,handleSwitch:x}))),r.createElement(bR,null,r.createElement(hR,null,r.createElement("h6",null,"탭별 설정")),r.createElement(b._B,null,r.createElement("p",null,"💡 각 탭별로 라벨 텍스트와 이미지를 설정할 수 있습니다.",r.createElement("br",null),"스위치를 OFF하면 해당 탭이 숨겨집니다.",r.createElement("br",null),p?"※ [탭 버튼에 이미지 사용]이 ON이면, 활성 탭은 이미지 URL이 있어야 이미지 탭으로 표시됩니다.":"※ [탭 버튼에 이미지 사용]이 OFF이면, 텍스트 탭으로 표시됩니다.",r.createElement("br",null),"※ svg이미지(벡터 작업)를 사용하면 탭 이미지가 보다 선명하게 출력됩니다.",!g&&r.createElement(r.Fragment,null,r.createElement("br",null),"※ 현재 [일괄 디자인 적용]이 OFF라서, 여기서 저장해도 즉시 모든 포토카드에 적용되진 않습니다. (ON으로 켜면 적용됩니다)"))),r.createElement(LR.A,{configs:D,tabSettings:T,set:d,onSave:L,onChange:function(e,t){return R(function(n){return MR(MR({},n),{},NR({},e,t))})},collectionPath:i,docId:c,style:{overflow:"unset"}})))};function GR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function HR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?GR(Object(n),!0).forEach(function(t){$R(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GR(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VR(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function WR(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){VR(l,r,a,o,i,"next",e)}function i(e){VR(l,r,a,o,i,"throw",e)}o(void 0)})}}function _R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return qR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qR(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qR(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var KR=function(e){var t=e.settingPath,n=void 0===t?o.Mb.PHOTOCARD:t,a=(0,l.useDocument)(n,{listen:!0}),i=a.data,u=a.set,s=_R((0,c.L4)(Xr.vG),2),d=s[0],f=s[1],m=_R((0,c.L4)(Jy.ag),1)[0];r.useEffect(function(){i&&f((null==i?void 0:i.themeSet)||{})},[i]);var p=(0,r.useCallback)(WR(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,me.updateImgAndGetURL)({selectedFile:m.selectedBgFile,prevImgURL:m.prevBgImgURL,collectionPath:n});case 2:t=e.sent,u({themeSet:HR(HR({},d),{},{backgroundImgURL:t})},{merge:!0});case 4:case"end":return e.stop()}},e)})),[d,u,m]);return r.createElement(b.YO,null,r.createElement(b.fA,null,"일괄 테마 설정",r.createElement(b.PF,null,"포토카드 페이지의 배경, 색상, 폰트 등을 설정합니다.")),r.createElement(Zr.A,{data:(null==i?void 0:i.themeSet)||null,collectionPath:"setting",docId:"photocard",options:{themeColors:!0,bgm:!1,bgImg:!0,setCustomTheme:!0,font:!0,bgEffect:!0},setGlobal:!1}),r.createElement(kR,null,r.createElement(h.A,{shape:"filled",onClick:p},"테마 저장하기")))};function YR(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var JR,QR,ZR,XR,eL,tL,nL,rL,aL,lL,oL,iL,cL,uL,sL,dL,fL,mL,pL,vL=function(e){var t,n,l=e.settingPath,c=void 0===l?o.Mb.PHOTOCARD:l,u=(e.boardLabel,t=(0,r.useState)("layoutSettings"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return YR(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?YR(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0],d=u[1],f=!0===a.l.photocardThemeSet,m=[{label:"레이아웃 설정",value:"layoutSettings",isShow:!0,drawView:r.createElement(RR,{settingPath:c})},{label:"탭 디자인 설정",value:"tabDesignSettings",isShow:f,drawView:r.createElement(FR,{settingPath:c})},{label:"일괄 테마 설정",value:"themeSettings",isShow:f,drawView:r.createElement(KR,{settingPath:c})},{label:"프로필 템플릿",value:"profileTemplate",isShow:f,drawView:r.createElement(NT,{settingPath:c})},{label:"진영 설정",value:"photocardCampSet",isShow:f,drawView:r.createElement(EP,{settingPath:c})},{label:"포토카드 관리 권한 설정",value:"photocardEditPermission",isShow:!0,drawView:r.createElement(QP,{settingPath:c})}];return r.createElement(i.A,{viewOptions:m,defaultViewType:s,customSetViewType:d})},yL=(n(79256),n(61342)),gL=n(88459),bL=n(81481),hL=(n(59807),n(7907)),EL=n(67936),xL=n(96944);function wL(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function AL(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wL(Object(n),!0).forEach(function(t){IL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function CL(e){return function(e){if(Array.isArray(e))return OL(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||SL(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function kL(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||SL(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function SL(e,t){if(e){if("string"==typeof e)return OL(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?OL(e,t):void 0}}function OL(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function IL(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jL(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var PL=C.Ay.div(JR||(JR=jL(["\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n"]))),TL=C.Ay.div(QR||(QR=jL(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n"]))),RL=C.Ay.button(ZR||(ZR=jL(["\n  background: none;\n  border: none;\n  cursor: pointer;\n  font-size: 12px;\n  color: var(--subTextColor);\n  padding: 2px 4px;\n  &:hover {\n    color: var(--textColor);\n  }\n"]))),LL=C.Ay.div(XR||(XR=jL(["\n  display: flex;\n  align-items: flex-end;\n  gap: 8px;\n  padding: 10px 12px;\n  border-radius: 8px;\n  border: 1px dashed var(--lineColor);\n"]))),DL=C.Ay.div(eL||(eL=jL(["\n  display: flex;\n  flex-direction: column;\n  border-radius: 10px;\n  border: 1px solid var(--lineColor);\n"]))),UL=C.Ay.button(tL||(tL=jL(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 14px;\n  border: none;\n  border-bottom: ",";\n  border-radius: ",";\n  cursor: pointer;\n  width: 100%;\n  text-align: left;\n  &:hover {\n    opacity: 0.85;\n  }
1\n"])),function(e){return e.isOpen?"1px solid var(--lineColor)":"none"},function(e){return e.isOpen?"10px 10px 0 0":"10px"}),ML=C.Ay.span(nL||(nL=jL(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  border: 1px solid var(--lineColor);\n  color: var(--subTextColor);\n  font-size: 11px;\n  font-weight: 700;\n  flex-shrink: 0;\n"]))),NL=C.Ay.span(rL||(rL=jL(["\n  flex: 1;\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),zL=C.Ay.span(aL||(aL=jL(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  transform: ",";\n  transition: transform 0.2s ease;\n  flex-shrink: 0;\n"])),function(e){return e.isOpen?"rotate(180deg)":"rotate(0deg)"}),BL=C.Ay.div(lL||(lL=jL(["\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  padding: 14px;\n"]))),FL=C.Ay.div(oL||(oL=jL(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 10px 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n"]))),GL=C.Ay.div(iL||(iL=jL(["\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--subTextColor);\n  padding-bottom: 4px;\n  border-bottom: 1px solid var(--lineColor);\n"]))),HL=C.Ay.div(cL||(cL=jL(["\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  gap: 8px;\n"]))),$L=C.Ay.span(uL||(uL=jL(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 18px;\n  height: 18px;\n  border-radius: 50%;\n  border: 1px solid var(--lineColor);\n  color: var(--subTextColor);\n  font-size: 10px;\n  font-weight: 700;\n  flex-shrink: 0;\n  align-self: flex-end;\n  margin-bottom: 7px;\n"]))),VL=C.Ay.div(sL||(sL=jL(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),WL=C.Ay.div(dL||(dL=jL(["\n  display: flex;\n  align-items: flex-end;\n  justify-content: space-between;\n  gap: 8px;\n"]))),_L=C.Ay.span(fL||(fL=jL(["\n  flex: 1;\n  min-width: 0;\n  color: var(--subTextColor);\n  font-size: 12px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  padding-bottom: 8px;\n"]))),qL=C.Ay.div(mL||(mL=jL(["\n  text-align: center;\n  padding: 16px 0;\n  color: var(--subTextColor);\n  font-size: 13px;\n  border-radius: 8px;\n  border: 1px dashed var(--lineColor);\n"]))),KL=[{value:"조건 없음",key:""},{value:"특정 아이템 보유 시",key:yL.hv.ITEM_OWNERSHIP},{value:"특정 스탯 수치 달성 시",key:yL.hv.STAT_VALUE},{value:"로그 개수 달성 시",key:yL.hv.LOG_COUNT}],YL=(IL(pL={},yL.hv.ITEM_OWNERSHIP,"아이템 보유"),IL(pL,yL.hv.STAT_VALUE,"스탯 수치"),IL(pL,yL.hv.LOG_COUNT,"로그 개수"),pL);function JL(e){var t=e.value,n=e.onChange,a=kL((0,r.useState)(new Set),2),i=a[0],c=a[1],u=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:["isActive","==",!0]}).data,s=(0,r.useCallback)(function(e){c(function(t){var n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),d=(0,r.useCallback)(function(){c(new Set(t.map(function(e,t){return t})))},[t]),f=(0,r.useCallback)(function(){c(new Set)},[]),m=t.length>0&&i.size===t.length,p=(0,r.useCallback)(function(){var e=t.length;n([].concat(CL(t),[{type:yL.hv.ITEM_OWNERSHIP,itemIds:[],statConditions:[],logCount:1}])),c(function(t){return new Set(Array.from(t).concat(e))})},[t,n]),v=(0,r.useCallback)(function(e){n(t.filter(function(t,n){return n!==e})),c(function(t){var n=new Set;return t.forEach(function(t){t<e?n.add(t):t>e&&n.add(t-1)}),n})},[t,n]),y=(0,r.useCallback)(function(e,r){var a=CL(t);a[e]=r,n(a)},[t,n]),g=(0,r.useCallback)(function(e,t){t?y(e,{type:t,itemIds:[],statConditions:[],logCount:1}):v(e)},[v,y]),E=(0,r.useCallback)(function(e,n){var r=t[e];if(r){var a=r.itemIds||[],l="function"==typeof n?n(a):n||[],o=new Set(l),i={};Object.entries(r.itemAmounts||{}).forEach(function(e){var t=kL(e,2),n=t[0],r=t[1];o.has(n)&&(i[n]=r)}),l.forEach(function(e){i[e]||(i[e]=1)}),y(e,AL(AL({},r),{},{itemIds:l,itemAmounts:i}))}},[t,y]),w=(0,r.useCallback)(function(e,n,r){var a=t[e];if(a){var l=Number.isFinite(r)&&r>0?Math.floor(r):1;y(e,AL(AL({},a),{},{itemAmounts:AL(AL({},a.itemAmounts||{}),{},IL({},n,l))}))}},[t,y]),A=(0,r.useCallback)(function(e,n,r){var a=t[e];if(a){var l=CL(a.statConditions||[]);l[n]=AL(AL({},l[n]),r),y(e,AL(AL({},a),{},{statConditions:l}))}},[t,y]),C=(0,r.useCallback)(function(e,n){var r=t[e];r&&y(e,AL(AL({},r),{},{statConditions:(r.statConditions||[]).filter(function(e,t){return t!==n})}))},[t,y]),k=(0,r.useCallback)(function(e){var n=t[e];n&&y(e,AL(AL({},n),{},{statConditions:[].concat(CL(n.statConditions||[]),[{statId:"",minValue:0}])}))},[t,y]),S=(0,r.useCallback)(function(e,n){var r=t[e];r&&y(e,AL(AL({},r),{},{logCount:n}))},[t,y]);return r.createElement(PL,null,r.createElement(TL,null,r.createElement("div",null,r.createElement("h6",null,"퀘스트 완료 조건"),r.createElement(b.PF,null,"중복 설
1정할 수 있습니다. 모든 완료 조건을 수행해야 합니다.")),t.length>0&&r.createElement(RL,{type:"button",onClick:m?f:d},m?"모두 접기 ▲":"모두 펼치기 ▼")),r.createElement(LL,null,r.createElement(h.A,{onClick:p,style:{width:"100%"}},"+ 완료 조건 추가")),0===t.length&&r.createElement(qL,null,"추가된 완료 조건이 없습니다"),t.map(function(e,t){var n,a=i.has(t),l=null!==(n=YL[e.type])&&void 0!==n?n:e.type;return r.createElement(DL,{key:t},r.createElement(UL,{type:"button",isOpen:a,onClick:function(){return s(t)}},r.createElement(ML,null,t+1),r.createElement(NL,null,l," 조건"),r.createElement(h.A,{shape:"stroke",onClick:function(e){e.stopPropagation(),v(t)},style:{flexShrink:0,padding:"2px 10px",fontSize:12}},"삭제"),r.createElement(zL,{isOpen:a},"▼")),a&&r.createElement(BL,null,r.createElement(x.l,{label:"완료 조건 타입",selectList:KL,selectedKey:e.type||"",setSelectedKey:function(e){return g(t,e)},dropdownStyle:{width:"100%"}}),e.type===yL.hv.ITEM_OWNERSHIP&&r.createElement(FL,null,r.createElement(vu.A,{label:"보유해야 할 아이템 (복수 선택 가능)",collectionPath:o.Gf.STORE,selectedIDList:e.itemIds||[],setSelectedIDList:function(e){return E(t,e)},id:"completion-items-".concat(t),placeholder:"아이템명 입력 후 선택"}),(e.itemIds||[]).length>0&&r.createElement(VL,null,(e.itemIds||[]).map(function(n){var a;return r.createElement(WL,{key:n},r.createElement(_L,null,n),r.createElement(I.A,{label:"필요 수량",value:String((null===(a=e.itemAmounts)||void 0===a?void 0:a[n])||1),name:"item-amount-".concat(t,"-").concat(n),type:"number",onChange:function(e){return w(t,n,Number(e.target.value))},placeholder:"필요 수량",style:{width:100}}))}))),e.type===yL.hv.STAT_VALUE&&r.createElement(FL,null,r.createElement(GL,null,"필요 스탯 조건"),0===(e.statConditions||[]).length&&r.createElement(qL,null,"추가된 스탯 조건이 없습니다"),(e.statConditions||[]).map(function(e,n){return r.createElement(HL,{key:n},r.createElement($L,null,n+1),r.createElement(x.l,{label:"스탯 선택",selectList:(u||[]).map(function(e){return{value:e.value||e.id,key:e.id}}),selectedKey:e.statId||"",setSelectedKey:function(e){return A(t,n,{statId:e})},maxHeight:160,dropdownStyle:{width:"100%"},dropdownDirection:"topLeft"}),r.createElement(I.A,{label:"최소 수치",value:String(e.minValue||0),name:"stat-min-".concat(t,"-").concat(n),type:"number",onChange:function(e){return A(t,n,{minValue:Number(e.target.value)})},placeholder:"최소 수치",style:{width:90}}),r.createElement(h.A,{shape:"stroke",onClick:function(){return C(t,n)},style:{flexShrink:0}},"삭제"))}),r.createElement(h.A,{shape:"stroke",onClick:function(){return k(t)}},"+ 스탯 조건 추가")),e.type===yL.hv.LOG_COUNT&&r.createElement(I.A,{label:"필요 로그 개수",value:String(e.logCount||1),name:"log-count-".concat(t),type:"number",onChange:function(e){return S(t,Number(e.target.value))},placeholder:"필요 로그 개수",style:{maxWidth:160}})))}))}var QL,ZL,XL,eD,tD,nD,rD,aD,lD=r.memo(JL);function oD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function iD(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oD(Object(n),!0).forEach(function(t){cD(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oD(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function cD(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uD(e){return function(e){if(Array.isArray(e))return sD(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return sD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sD(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function sD(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function dD(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var fD=C.Ay.div(QL||(QL=dD(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),mD=C.Ay.p(ZL||(ZL=dD(["\n  font-size: 0.8rem;\n  color: var(--subTextColor);\n  margin: 0;\n  line-height: 1.5;\n"]))),pD=C.Ay.div(XL||(XL=dD(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 12px 14px;\n  border: 1px solid var(--lineColor);\n  border-radius: 10px;\n"]))),vD=C.Ay.div(eD||(eD=dD(["\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--subTextColor);\n  padding-bottom: 4px;\n  border-bottom: 1px solid var(--lineColor);\n"]))),yD=C.Ay.div(tD||(tD=dD(["\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  gap: 8px;
1\n"]))),gD=C.Ay.div(nD||(nD=dD(["\n  display: grid;\n  grid-template-columns: 1fr auto auto;\n  align-items: flex-end;\n  gap: 8px;\n"]))),bD=C.Ay.span(rD||(rD=dD(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  border: 1px solid var(--lineColor);\n  color: var(--subTextColor);\n  font-size: 11px;\n  font-weight: 700;\n  flex-shrink: 0;\n  align-self: flex-end;\n  margin-bottom: 6px;\n"]))),hD=C.Ay.div(aD||(aD=dD(["\n  text-align: center;\n  padding: 16px 0;\n  color: var(--subTextColor);\n  font-size: 13px;\n  border-radius: 8px;\n  border: 1px dashed var(--lineColor);\n"]))),ED=[{value:"조건 없음",key:yL.g4.NONE},{value:"특정 스탯 수치 이상",key:yL.g4.STAT},{value:"특정 아이템 보유 시",key:yL.g4.ITEM}];function xD(e){var t=e.value,n=e.onChange,a=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:["isActive","==",!0]}).data,i=(0,r.useCallback)(function(e){e===yL.g4.NONE?n(null):n({type:e,statConditions:[],itemConditions:[],failMessage:"조건을 충족하지 않아 퀘스트를 수락할 수 없습니다."})},[n]),c=(0,r.useCallback)(function(e,r){if(t){var a=uD(t.statConditions||[]);a[e]=iD(iD({},a[e]),r),n(iD(iD({},t),{},{statConditions:a}))}},[t,n]),u=(0,r.useCallback)(function(e){t&&n(iD(iD({},t),{},{statConditions:(t.statConditions||[]).filter(function(t,n){return n!==e})}))},[t,n]),s=(0,r.useCallback)(function(){t&&n(iD(iD({},t),{},{statConditions:[].concat(uD(t.statConditions||[]),[{statId:"",minValue:0}])}))},[t,n]),d=(0,r.useCallback)(function(e,r){if(t){var a=uD(t.itemConditions||[]);a[e]=iD(iD({},a[e]),r),n(iD(iD({},t),{},{itemConditions:a}))}},[t,n]),f=(0,r.useCallback)(function(e){t&&n(iD(iD({},t),{},{itemConditions:(t.itemConditions||[]).filter(function(t,n){return n!==e})}))},[t,n]),m=(0,r.useCallback)(function(){t&&n(iD(iD({},t),{},{itemConditions:[].concat(uD(t.itemConditions||[]),[{itemId:"",quantity:1}])}))},[t,n]),p=(0,r.useCallback)(function(e){t&&n(iD(iD({},t),{},{failMessage:e}))},[t,n]),v=!t||t.type===yL.g4.NONE;return r.createElement(fD,null,r.createElement("h6",null,"퀘스트 수락(진행) 조건"),r.createElement(mD,null,"대표 캐릭터가 아래 조건을 충족해야 퀘스트를 수락할 수 있습니다."),r.createElement(x.l,{label:"수락 조건 타입",selectList:ED,selectedKey:(null==t?void 0:t.type)||yL.g4.NONE,setSelectedKey:i,dropdownStyle:{width:"100%"}}),v&&r.createElement(hD,null,"수락 조건이 설정되지 않았습니다"),(null==t?void 0:t.type)===yL.g4.STAT&&r.createElement(pD,null,r.createElement(vD,null,"필요 스탯 조건 (모두 충족해야 수락 가능)"),0===(t.statConditions||[]).length&&r.createElement(hD,null,"추가된 스탯 조건이 없습니다"),(t.statConditions||[]).map(function(e,t){return r.createElement(yD,{key:t},r.createElement(bD,null,t+1),r.createElement(x.l,{label:"스탯 선택",selectList:(a||[]).map(function(e){return{value:e.value||e.id,key:e.id}}),selectedKey:e.statId||"",setSelectedKey:function(e){return c(t,{statId:e})},maxHeight:160,dropdownStyle:{width:"100%"},dropdownDirection:"topLeft"}),r.createElement(I.A,{label:"최소 수치",value:String(e.minValue||0),name:"stat-accept-min-".concat(t),type:"number",onChange:function(e){return c(t,{minValue:Number(e.target.value)})},placeholder:"최소 수치",style:{width:90}}),r.createElement(h.A,{shape:"stroke",onClick:function(){return u(t)},style:{flexShrink:0}},"삭제"))}),r.createElement(h.A,{onClick:s},"+ 스탯 조건 추가")),(null==t?void 0:t.type)===yL.g4.ITEM&&r.createElement(pD,null,r.createElement(vD,null,"필요 아이템 조건 (모두 보유해야 수락 가능)"),0===(t.itemConditions||[]).length&&r.createElement(hD,null,"추가된 아이템 조건이 없습니다"),(t.itemConditions||[]).map(function(e,t){return r.createElement(gD,{key:t},r.createElement(vu.A,{label:"아이템 ".concat(t+1),collectionPath:o.Gf.STORE,selectedIDList:e.itemId?[e.itemId]:[],setSelectedIDList:function(n){var r=e.itemId?[e.itemId]:[],a="function"==typeof n?n(r):n||[];d(t,{itemId:a[0]||""})},id:"accept-item-".concat(t),placeholder:"아이템명 입력 후 선택"}),r.createElement(I.A,{label:"필요 수량",value:String(e.quantity||1),name:"item-accept-qty-".concat(t),type:"number",onChange:function(e){return d(t,{quantity:Number(e.target.value)||1})},placeholder:"수량",style:{width:80}}),r.createElement(h.A,{shape:"stroke",onClick:function(){return f(t)},style:{flexShrink:0}},"삭제"))}),r.createElement(h.A,{shape:"stroke",onClick:m},"+ 아이템 조건 추가")),!v&&r.createElement(pD,null,r.createElement(vD,null,"조건 미충족 시 안내 메시지"),r.createElement(I.A,{label:"",value:(null==t?void 0:t.failMessage)||"",name:"fail-message",onCh
1ange:function(e){return p(e.target.value)},placeholder:"조건을 충족하지 않아 퀘스트를 수락할 수 없습니다."})))}var wD,AD,CD,kD,SD,OD,ID,jD,PD,TD,RD,LD,DD,UD,MD,ND,zD,BD,FD=r.memo(xD);function GD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function HD(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?GD(Object(n),!0).forEach(function(t){qD(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GD(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $D(e){return function(e){if(Array.isArray(e))return _D(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||WD(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function VD(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||WD(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function WD(e,t){if(e){if("string"==typeof e)return _D(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_D(e,t):void 0}}function _D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function qD(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function KD(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(25456),n(21299);var YD=C.Ay.div(wD||(wD=KD(["\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n"]))),JD=C.Ay.div(AD||(AD=KD(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 8px;\n"]))),QD=C.Ay.div(CD||(CD=KD(["\n  display: flex;\n  align-items: baseline;\n  gap: 8px;\n  min-width: 0;\n\n  h6 {\n    flex-shrink: 0;\n  }\n"]))),ZD=C.Ay.button(kD||(kD=KD(["\n  background: none;\n  border: none;\n  cursor: pointer;\n  font-size: 12px;\n  color: var(--subTextColor);\n  padding: 2px 4px;\n  &:hover {\n    color: var(--textColor);\n  }\n"]))),XD=C.Ay.div(SD||(SD=KD(["\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  gap: 8px;\n"]))),eU=C.Ay.button(OD||(OD=KD(["\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  width: 100%;\n  padding: 12px 0;\n  border-radius: 8px;\n  border: 1px dashed var(--lineColor);\n  background: none;\n  color: var(--subTextColor);\n  font-size: 13px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.15s ease;\n  &:hover {\n    border-color: var(--primaryColor);\n    color: var(--primaryColor);\n    background: var(--hoverColor, rgba(0, 0, 0, 0.02));\n  }\n"]))),tU=C.Ay.div(ID||(ID=KD(["\n  display: flex;\n  flex-direction: column;\n  border-radius: 10px;\n  border: 1px solid var(--lineColor);\n"]))),nU=C.Ay.button(jD||(jD=KD(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 14px;\n  border: none;\n  border-bottom: ",";\n  border-radius: ",";\n  cursor: pointer;\n  width: 100%;\n  text-align: left;\n\n  &:hover {\n    background: var(--hoverColor, var(--lineColor));\n  }\n"])),function(e){return e.isOpen?"1px solid var(--lineColor)":"none"},function(e){return e.isOpen?"10px 10px 0 0":"10px"}),rU=C.Ay.span(PD||(PD=KD(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;
1\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  border: 1px solid var(--lineColor);\n  color: var(--subTextColor);\n  font-size: 11px;\n  font-weight: 700;\n  flex-shrink: 0;\n"]))),aU=C.Ay.span(TD||(TD=KD(["\n  flex: 1;\n  min-width: 0;\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),lU=C.Ay.span(RD||(RD=KD(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  font-weight: 400;\n"]))),oU=C.Ay.span(LD||(LD=KD(["\n  display: inline;\n  margin-left: 6px;\n  font-size: 12px;\n  color: var(--subTextColor);\n  font-weight: 400;\n  overflow-wrap: anywhere;\n"]))),iU=C.Ay.span(DD||(DD=KD(["\n  min-width: 0;\n  font-size: 12px;\n  color: var(--subTextColor);\n  font-weight: 400;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n"]))),cU=C.Ay.span(UD||(UD=KD(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  transform: ",";\n  transition: transform 0.2s ease;\n  flex-shrink: 0;\n"])),function(e){return e.isOpen?"rotate(180deg)":"rotate(0deg)"}),uU=C.Ay.div(MD||(MD=KD(["\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  padding: 14px;\n  background: var(--bgColor);\n"]))),sU=C.Ay.div(ND||(ND=KD(["\n  display: flex;\n  align-items: flex-end;\n  gap: 8px;\n"]))),dU=C.Ay.div(zD||(zD=KD(["\n  text-align: center;\n  padding: 20px 0;\n  color: var(--subTextColor);\n  font-size: 13px;\n  border-radius: 8px;\n  border: 1px dashed var(--lineColor);\n"]))),fU=[{value:"아이템",key:yL.E.ITEM},{value:"스탯 수치",key:yL.E.STAT},{value:"재화",key:yL.E.CURRENCY},{value:"타이틀",key:yL.E.TITLE},{value:"탐색 포인트",key:yL.E.EXPLORATION_POINT}],mU=(qD(BD={},yL.E.ITEM,"아이템"),qD(BD,yL.E.STAT,"스탯 수치"),qD(BD,yL.E.CURRENCY,"재화"),qD(BD,yL.E.TITLE,"타이틀"),qD(BD,yL.E.EXPLORATION_POINT,"탐색 포인트"),BD),pU=function(e){var t=Number(e||0);return t>0?"+".concat(t):String(t)},vU=function(e,t){return e&&(e.value||e.title||e.displayText||e.name)||t};function yU(e){var t=e.rewards,n=e.onChange,a=e.isRandomReward,i=void 0!==a&&a,c=e.onRandomRewardChange,u=e.sectionLabel,s=VD((0,r.useState)(yL.E.CURRENCY),2),d=s[0],f=(s[1],VD((0,r.useState)(new Set),2)),m=f[0],p=f[1],v=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:["isActive","==",!0]}).data,y=(0,l.useCollection)(o.Gf.STORE,{listen:!0}).data,g=(0,l.useCollection)(o.Gf.MEMBERTITLE,{listen:!0}).data,b=(0,r.useMemo)(function(){return new Map((y||[]).map(function(e){return[e.id,e]}))},[y]),E=(0,r.useMemo)(function(){return new Map((g||[]).map(function(e){return[e.id,e]}))},[g]),w=(0,r.useMemo)(function(){return new Map((v||[]).flatMap(function(e){return[[e.id,e],[e.key,e]]}))},[v]),A=(0,r.useCallback)(function(e){p(function(t){var n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),C=(0,r.useCallback)(function(){p(new Set(t.map(function(e,t){return t})))},[t]),k=(0,r.useCallback)(function(){p(new Set)},[]),S=t.length>0&&m.size===t.length,O=(0,r.useCallback)(function(){var e={type:d,amount:1};d===yL.E.STAT&&(e.statRewards=[{statId:"",amount:1}]);var r=t.length;n([].concat($D(t),[e])),p(function(e){return new Set(Array.from(e).concat(r))})},[t,n,d]),j=(0,r.useCallback)(function(e,r){var a=$D(t);a[e]=HD(HD({},a[e]),r),n(a)},[t,n]),P=(0,r.useCallback)(function(e){n(t.filter(function(t,n){return n!==e})),p(function(t){var n=new Set;return t.forEach(function(t){t<e?n.add(t):t>e&&n.add(t-1)}),n})},[t,n]),T=(0,r.useCallback)(function(e,t){return r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},r.createElement(vu.A,{label:"아이템 선택 (복수 선택 가능)",collectionPath:o.Gf.STORE,selectedIDList:e.itemIds||(e.itemId?[e.itemId]:[]),setSelectedIDList:function(n){var r=e.itemIds||(e.itemId?[e.itemId]:[]),a="function"==typeof n?n(r):n||[];j(t,{itemIds:a,itemId:a[0]||""})},id:"reward-item-".concat(t),placeholder:"아이템명 입력 후 선택 (여러 개 선택 가능)"}),r.createElement(I.A,{label:"아이템당 수량",value:String(e.amount||1),name:"amount-".concat(t),type:"number",onChange:function(e){return j(t,{amount:Number(e.target.value)})},placeholder:"수량",style:{maxWidth:160}}))},[j]),R=(0,r.useCallback)(function(e,t){return r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},(e.statRewards||[]).map(function(n,a){return r.createElement(XD,{key:a},r.createElement(x.l,{label:"스탯 보상 (복수 스탯 가능)",selectList:(v||[]).map(function(e){return{value:e.value||e.id,key:e.id}}),selectedKey:n.statId||"",setSelectedKey:function(n){var r=$D(e.statRewards||[]);r[a]=HD(HD({},r[a]),{},{statId:n}),j(t,{statRewards:r})},dropdownStyle:{width:"100%"}}),r.createElement(I.A,{label:"증가 수치",value:String(n.amount||0),name:"stat-amount-".concat(t,"-").concat(a),type:"number",onChange:function(n){var r=$D(e.statRewards||[]);r[a]=HD(HD({},r[a]),{},{amount:Number(n.target.value)}),j(t,{statRewards:r})},placeholder:"ex: 1, -1",style:{maxWidth:100}}),r.createElement(h.A,{shape:"stroke",onClick:function(){var n=(e.statRewards||[]).filter(function(e,t){return t!==a});j(t,{statRewards:n})}},"삭제"))}),r.createElement(h.A,{shape:"stroke",onClick:function(){var n=[].concat($D(e.statRewards||[]),[{statId:"",amount:1}]);j(t,{statRewards:n})}},"스탯 추가"))},[v,j]),L=(0,r.useCallback)(function(e,t){return r.createElement("div",{style:{display:"grid",gridTemplateColumns:"160px",gap:8}},r.createElement(I.A,{label:"금액",value:String(e.amount||0),name:"amount-".concat(t),type:"number",onChange:function(e){return j(t,{amount:Number(e.target.value)})},placeholder:"금액"}))},[j]),D=(0,r.useCallback)(function(e,t){return r.createElement("div",{style:{display:"grid",gridTemplateColumns:"160px",gap:8}},r.createElement(I.A,{label:"탐색 포인트 (양수: 지급, 음수: 차감)",value:String(e.amount||0),name:"amount-".concat(t),type:"number",onChange:function(e){return j(t,{amount:Number(e.target.value)})},placeholder:"ex: 10, -10"}))},[j]),U=(0,r.useCallback)(function(e,t){return r.createElement(vu.A,{label:"타이틀 선택",placeholder:"타이틀 입력 후 ENTER",collectionPath:o.Gf.MEMBERTITLE,selectedIDList:e.titleId?[e.titleId]:e.itemId?[e.itemId]:[],setSelectedIDList:function(n){var r=e.titleId?[e.titleId]:e.itemId?[e.itemId]:[],a="function"==typeof n?n(r):n||[];j(t,{titleId:a[0]||""})},id:"reward-title-".concat(t),selectOnlyOne:!0})},[j]),M=(0,r.useMemo)(function(){var e;return qD(e={},yL.E.ITEM,T),qD(e,yL.E.STAT,R),qD(e,yL.E.CURRENCY,L),qD(e,yL.E.TITLE,U),qD(e,yL.E.EXPLORATION_POINT,D),e},[T,R,L,U,D]),N=(0,r.useCallback)(function(){c&&c(!i)},[i,c]),z=(0,r.useCallback)(function(e){switch(e.type){case yL.E.ITEM:var t=e.itemIds||(e.itemId?[e.itemId]:[]);if(0===t.length)return"아이템 선택 필요";var n=" x".concat(e.amount||1);
1return t.map(function(t){return"".concat(vU(b.get(t)||e.itemData,"아이템명 불러오는 중")).concat(n)}).join(", ");case yL.E.STAT:var r=e.statRewards||[];return 0===r.length?"스탯 선택 필요":r.map(function(e){var t=vU(w.get(e.statId),e.statId?"스탯명 불러오는 중":"스탯 선택 필요");return"".concat(t," ").concat(pU(e.amount))}).join(", ");case yL.E.CURRENCY:return"재화 ".concat(pU(e.amount));case yL.E.TITLE:var a=e.titleId||e.itemId||"";return a?"타이틀 ".concat(vU(E.get(a),"타이틀명 불러오는 중")):"타이틀 선택 필요";case yL.E.EXPLORATION_POINT:return"탐색 포인트 ".concat(pU(e.amount));default:return"보상 값 확인 필요"}},[E,w,b]),B=(0,r.useMemo)(function(){return(t||[]).map(function(e){return z(e)})},[z,t]),F=(0,r.useMemo)(function(){return 0===B.length?"":B.join(" / ")},[B]);return r.createElement(YD,null,r.createElement(JD,null,r.createElement(QD,null,r.createElement("h6",null,null!=u?u:"퀘스트 보상"),F&&r.createElement(iU,{title:F},F)),t.length>0&&r.createElement(ZD,{type:"button",onClick:S?k:C},S?"모두 접기 ▲":"모두 펼치기 ▼")),c&&r.createElement(Nn.A,{label:"랜덤 보상 지급",description:"활성화하면 아래 보상 중 하나만 랜덤으로 지급됩니다",isChecked:i,onToggle:N}),r.createElement(eU,{type:"button",onClick:O},"+ 보상 추가"),0===(t||[]).length&&r.createElement(dU,null,"추가된 보상이 없습니다"),(t||[]).map(function(e,t){var n,a=e.type||yL.E.ITEM,l=M[a],o=m.has(t),c=null!==(n=mU[a])&&void 0!==n?n:a,u=B[t];return r.createElement(tU,{key:t},r.createElement(nU,{type:"button",isOpen:o,onClick:function(){return A(t)}},r.createElement(rU,null,t+1),r.createElement(aU,null,c," 보상",u&&r.createElement(oU,null,"· ",u),i&&r.createElement(lU,null," · 랜덤 후보")),r.createElement(h.A,{shape:"stroke",onClick:function(e){e.stopPropagation(),P(t)},style:{flexShrink:0,padding:"2px 10px",fontSize:12}},"삭제"),r.createElement(cU,{isOpen:o},"▼")),o&&r.createElement(uU,null,r.createElement(sU,null,r.createElement(x.l,{label:"보상 타입 변경",selectList:fU,selectedKey:a,setSelectedKey:function(e){var n={type:e};e===yL.E.STAT&&(n.statRewards=[{statId:"",amount:1}]),j(t,n)},dropdownStyle:{width:"200px"}})),l?l(e,t):null))}))}var gU,bU,hU,EU,xU,wU,AU,CU,kU,SU,OU,IU,jU,PU,TU,RU,LU,DU,UU,MU,NU=r.memo(yU);function zU(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function BU(e){return function(e){if(Array.isArray(e))return VU(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||$U(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function FU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function GU(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?FU(Object(n),!0).forEach(function(t){HU(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FU(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function HU(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $U(e,t){if(e){if("string"==typeof e)return VU(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?VU(e,t):void 0}}function VU(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var WU=[{value:1,label:"월",isWeekend:!1},{value:2,label:"화",isWeekend:!1},{value:3,label:"수",isWeekend:!1},{value:4,label:"목",isWeekend:!1},{value:5,label:"금",isWeekend:!1},{value:6,label:"토",isWeekend:!0},{value:0,label:"일",isWeekend:!0}],_U=[{label:"매일",days:[1,2,3,4,5,6,0]},{label:"주중",days:[1,2,3,4,5]},{label:"주말",days:[6,0]},{label:"월/수/금",days:[1,3,5]},{label:"화/목",days:[2,4]}];function qU(e){var t,n,a,l,o,i,c,u,s,d,f=e.value,m=e.onClose,p=e.onSave,v=(s=(0,r.useState)(f),d=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(s,d)||$U(s,d)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=v[0],g=v[1],b=(0,r.useCallback)(function(e){g(function(t){return GU(GU({},t),e)})},[]),E=(0,r.useCallback)(function(e){var t,n=null!==(t=y.daysOfWeek)&&void 0!==t?t:[],r=n.includes(e)?n.filter(function(t){return t!==e}):[].concat(BU(n),[e]);b({daysOfWeek:r})},[y.daysOfWeek,b]),x=(0,r.useCallback)(function(e){b({daysOfWeek:e})},[b]),w=(0,r.useMemo)(function(){var e,t,n,r,a,l=[];if(null!==(e=y.dateRange)&&void 0!==e&&e.startDate&&null!==(t=y.dateRange)&&void 0!==t&&t.endDate?l.push("".concat(y.dateRange.startDate," ~ ").concat(y.dateRange.endDate)):null!==(n=y.dateRange)&&void 0!==n&&n.startDate?l.push("".concat(y.dateRange.startDate,"부터")):null!==(r=y.dateRange)&&void 0!==r&&r.endDate&&l.push("".concat(y.dateRange.endDate,"까지")),y.frequencyLimit){var o=y.frequencyLimit,i=o.days,c=o.maxCount;1===i&&1===c?l.push("하루 1회 수행 가능"):1===i?l.push("하루 ".concat(c,"회까지 수행 가능")):l.push("".concat(i,"일 동안 ").concat(c,"회까지 수행 가능"))}else l.push("횟수 제한 없이 수행 가능");var u=null!==(a=y.daysOfWeek)&&void 0!==a?a:[];if(u.length>0&&u.length<7){var s=BU(u).sort(function(e,t){return(0===e?7:e)-(0===t?7:t)}).map(function(e){var t;return null===(t=WU.find(function(t){return t.value===e}))||void 0===t?void 0:t.label}).filter(Boolean).join(", ");l.push("".concat(s,"요일만"))}return l.join(" · ")},[y]),A=(0,r.useCallback)(function(){p(y)},[y,p]);return r.createElement(k.A,{outsideClick:m,contentStyle:{width:640,maxWidth:"94%"},variant:"scale"},r.createElement(cM,null,r.createElement(S.rQ,null,r.createElement(h.A,{size:"sm",color:"primary",onClick:A},"저장"),r.createElement(uM,null,r.createElement("h6",null,"반복 수행 조건 설정")),r.createElement(O.A,{onClick:m})),r.createElement(S.sC,{maxHeight:680},r.createElement(sM,null,r.createElement(dM,null,r.createElement(fM,null,"수행 가능 기간 (선택)"),r.createElement(EM,null,r.createElement(wM,{type:"date",value:(null===(t=y.dateRange)||void 0===t?void 0:t.startDate)||"",onChange:function(e){var t;
1return b({dateRange:{startDate:e.target.value,endDate:(null===(t=y.dateRange)||void 0===t?void 0:t.endDate)||""}})},placeholder:"시작일"}),r.createElement(xM,null,"~"),r.createElement(wM,{type:"date",value:(null===(n=y.dateRange)||void 0===n?void 0:n.endDate)||"",onChange:function(e){var t;return b({dateRange:{startDate:(null===(t=y.dateRange)||void 0===t?void 0:t.startDate)||"",endDate:e.target.value}})},placeholder:"종료일"}),((null===(a=y.dateRange)||void 0===a?void 0:a.startDate)||(null===(l=y.dateRange)||void 0===l?void 0:l.endDate))&&r.createElement(OM,{type:"button",onClick:function(){return b({dateRange:void 0})}},"초기화")),r.createElement(SM,null,"미설정 시 기간 제한 없음. 지정 시 해당 기간 내에서만 수행 가능합니다")),r.createElement(dM,null,r.createElement(fM,null,"수행 주기 (선택)"),r.createElement(vM,null,r.createElement(yM,{type:"button",$isActive:1===(null===(o=y.frequencyLimit)||void 0===o?void 0:o.days)&&1===(null===(i=y.frequencyLimit)||void 0===i?void 0:i.maxCount),onClick:function(){return b({frequencyLimit:{days:1,maxCount:1}})}},"하루 1회"),r.createElement(yM,{type:"button",$isActive:!y.frequencyLimit,onClick:function(){return b({frequencyLimit:void 0})}},"제한없음")),r.createElement(AM,null,r.createElement(kM,{type:"number",min:1,value:(null===(c=y.frequencyLimit)||void 0===c?void 0:c.days)||"",onChange:function(e){var t;return b({frequencyLimit:{days:Number(e.target.value),maxCount:(null===(t=y.frequencyLimit)||void 0===t?void 0:t.maxCount)||1}})},placeholder:"N"}),r.createElement(CM,null,"일 동안"),r.createElement(kM,{type:"number",min:1,value:(null===(u=y.frequencyLimit)||void 0===u?void 0:u.maxCount)||"",onChange:function(e){var t;return b({frequencyLimit:{days:(null===(t=y.frequencyLimit)||void 0===t?void 0:t.days)||1,maxCount:Number(e.target.value)}})},placeholder:"M"}),r.createElement(CM,null,"회까지"),y.frequencyLimit&&r.createElement(OM,{type:"button",onClick:function(){return b({frequencyLimit:void 0})}},"초기화")),r.createElement(SM,null,"KST 자정 기준 N일 동안 M회까지 수행 가능. 미설정 시 제한없음(하루에도 여러 번 수행 가능)")),r.createElement(dM,null,r.createElement(fM,null,"수행 가능 요일 (선택)"),r.createElement(mM,null,WU.map(function(e){var t;return r.createElement(pM,{key:e.value,type:"button",$isSelected:(null!==(t=y.daysOfWeek)&&void 0!==t?t:[]).includes(e.value),$isWeekend:e.isWeekend,onClick:function(){return E(e.value)}},e.label)})),r.createElement(SM,null,"미선택 시 매일 수행 가능. 선택 시 해당 요일에만 수행할 수 있습니다")),r.createElement(dM,null,r.createElement(fM,null,"요일 빠른 선택"),r.createElement(vM,null,_U.map(function(e){var t,n=null!==(t=y.daysOfWeek)&&void 0!==t?t:[],a=e.days.length===n.length&&e.days.every(function(e){return n.includes(e)});return r.createElement(yM,{key:e.label,type:"button",$isActive:a,onClick:function(){return x(e.days)}},e.label)}))),r.createElement(gM,null,r.createElement("span",null,"📅"),r.createElement(bM,null,w)),r.createElement(hM,null,"💡 완료조건이 ",r.createElement("b",null,"로그 올리기"),"인 경우 게시글 업로드가 수행 트리거가 됩니다.")))))}var KU,YU,JU,QU,ZU,XU,eM,tM,nM,rM,aM,lM,oM,iM=r.memo(qU),cM=C.Ay.div(gU||(gU=zU(["\n  width: 100%;\n  text-align: left;\n  background: var(--backgroundColor);\n"]))),uM=C.Ay.div(bU||(bU=zU(["\n  text-align: left;\n\n  h6 {\n    margin: 0;\n  }\n"]))),sM=C.Ay.div(hU||(hU=zU(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),dM=C.Ay.div(EU||(EU=zU(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),fM=C.Ay.label(xU||(xU=zU(["\n  color: var(--textColor);\n  font-size: 13px;\n  font-weight: 500;\n"]))),mM=C.Ay.div(wU||(wU=zU(["\n  display: flex;\n  gap: 6px;\n  flex-wrap: wrap;\n"]))),pM=C.Ay.button(AU||(AU=zU(["\n  width: 40px;\n  height: 40px;\n  border-radius: 8px;\n  border: 2px solid\n    ",";\n  background: ",";\n  color: ",";\n  font-size: 14px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover {\n    border-color: var(--primaryColor);\n  }\n"])),function(e){return e.$isSelected?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$isSelected?"var(--primaryColor)20":"var(--backgroundColor)"},function(e){var t=e.$isSelected,n=e.$isWeekend;return t?"var(--primaryColor)":n?"#ef4444":"var(--textColor)"}),vM=C.Ay.div(CU||(CU=zU(["\n  display: flex;\n  gap: 6px;\n  flex-wrap: wrap;\n"]))),yM=C.Ay.button(kU||(kU=zU(["\n  padding: 6px 14px;\n  border-radius: 20px;\n  border: 1px solid\n    ",";\n  background: ",";\n  color: ",";\n  font-size: 12px;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover {\n    border-color: var(--primaryColor);\n    color: ",";\n  }\n"])),function(e){return e.$isActive?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$isActive?"var(--primaryColor)":"var(--backgroundColor)"},function(e){return e.$isActive?"#fff":"var(--subTextColor)"},function(e){return e.$isActive?"#fff":"var(--textColor)"}),gM=C.Ay.div(SU||(SU=zU(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 14px;\n  background: var(--inkColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  border-left: 3px solid var(--primaryColor);\n"]))),bM=C.Ay.span(OU||(OU=zU(["\n  color: var(--textColor);\n  font-size: 13px;\n  font-weight: 500;\n"]))),hM=C.Ay.div(IU||(IU=zU(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  line-height: 1.5;\n  padding: 10px 14px;\n  background: var(--inkColor);\n  border-radius: 6px;\n  border-left: 3px solid var(--primaryColor);\n\n  b {\n    color: var(--textColor);\n    font-weight: 600;\n  }\n"]))),EM=C.Ay.div(jU||(jU=zU(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),xM=C.Ay.span(PU||(PU=zU(["\n  color: var(--subTextColor);\n  font-size: 14px;\n"]))),wM=C.Ay.input(TU||(TU=zU(["\n  padding: 8px 10px;\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  background: var(--backgroundColor);\n  color: var(--textColor);\n  font-size: 13px;\n  font-family: var(--defaultFontFamily);\n  &:focus {\n    outline: none;\n    border-color: var(--primaryColor);\n  }\n"]))),AM=C.Ay.div(RU||(RU=zU(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),CM=C.Ay.span(LU||(LU=zU(["\n  color: var(--textColor);\n  font-size: 13px;\n  white-space: nowrap;\n"]))),kM=C.Ay.input(DU||(DU=zU(["\n  width: 64px;\n  padding: 8px 10px;\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  background: var(--backgroundColor);\n  color: var(--textColor);\n  font-size: 13px;\n  font-family: var(--defaultFontFamily);\n  text-align: center;\n  &:focus {\n    outline: none;\n    border-color: var(--primaryColor);\n  }\n"]))),SM=C.Ay.span(UU||(UU=zU(["\n  font-size: 11px;\n  color: var(--subTextColor);\n"]))),OM=C.Ay.button(MU||(MU=zU(["\n  padding: 4px 10px;\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n  background: none;\n  color: var(--subTextColor);\n  font-size: 12px;\n  cursor: pointer;\n  &:hover {\n    color: var(--textColor);\n  }\n"])));function IM(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function jM(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function PM(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function TM(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?PM(Object(n),!0).forEach(function(t){RM(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):PM(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function RM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function LM(e,t){if(e){if("string"==typeof e)return DM(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?DM(e,t):void 0}}function DM(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function UM(e){var t,n,a=e.value,l=e.onChange,o=e.onSave,i=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||LM(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=function(){var e;if(!a)return{enabled:!1,daysOfWeek:[]};if("frequencyLimit"in a||"dateRange"in a)return a;var t=a;return{enabled:t.enabled,daysOfWeek:null!==(e=t.daysOfWeek)&&void 0!==e?e:[]}}(),d=(0,r.useCallback)(function(e){l(TM(TM({},s),e))},[s,l]),f=(0,r.useMemo)(function(){var e,t,n,r;return null!==(e=s.dateRange)&&void 0!==e&&e.startDate&&null!==(t=s.dateRange)&&void 0!==t&&t.endDate?"".concat(s.dateRange.startDate," ~ ").concat(s.dateRange.endDate):null!==(n=s.dateRange)&&void 0!==n&&n.startDate?"".concat(s.dateRange.startDate,"부터"):null!==(r=s.dateRange)&&void 0!==r&&r.endDate?"".concat(s.dateRange.endDate,"까지"):"기간 제한 없음"},[s.dateRange]),m=(0,r.useMemo)(function(){if(!s.frequencyLimit)return"횟수 제한 없음";var e=s.frequencyLimit,t=e.days,n=e.maxCount;return 1===t&&1===n?"하루 1회":1===t?"하루 ".concat(n,"회까지"):"".concat(t,"일 동안 ").concat(n,"회까지")},[s.frequencyLimit]),p=(0,r.useMemo)(function(){var e,t=null!==(e=s.daysOfWeek)&&void 0!==e?e:[];if(0===t.length||7===t.length)return"매일 수행 가능";var n=function(e){return function(e){if(Array.isArray(e))return DM(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||LM(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t).sort(function(e,t){return(0===e?7:e)-(0===t?7:t)}).map(function(e){var t;return null===(t=WU.find(function(t){return t.value===e}))||void 0===t?void 0:t.label}).filter(Boolean).join(", ");return"".concat(n,"요일만")},[s.daysOfWeek]);return r.createElement("div",null,r.createElement("h6",null,"퀘스트 반복 조건"),r.createElement(KM,null,r.createElement(YM,null,r.createElement(JM,null,r.createElement(QM,null,"🔁 반복 수행 퀘스트"),r.createElement(w.A,{isChecked:s.enabled,handleSwitch:function(){return d({enabled:!s.enabled})}})),r.createElement(ZM,null,"수락 1회 후 진행중 상태로 유지되며, 아래 조건 내에서 반복 수행할 수 있습니다. ",r.createElement("br",null),"수락한 유저는 조건을 만족하는 동안 진행중 상태로 유지됩니다.")),s.enabled?r.createElement(XM,null,r.createElement(tN,null,r.createElement(nN,null,r.createElement(rN,null,"기간"),r.createElement(aN,null,f)),r.createElement(nN,null,r.createElement(rN,null,"수행 주기"),r.createElement(aN,null,m)),r.createElement(nN,null,r.createElement(rN,null,"요일"),r.createElement(aN,null,p))),r.createElement(lN,null,r.createElement(oN,{type:"button",onClick:function(){return u(!0)}},"세부 조건 설정"))):r.createElement(eN,null,"반복 수행을 켜면 기간, 횟수, 요일 조건을 세부 설정할 수 있습니다.")),c&&r.createElement(iM,{value:s,onClose:function(){return u(!1)},onSave:function(){var e,t=(e=regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return l(t),e.next=3,null==o?void 0:o(t);case 3:u(!1);case 4:case"end":return e.stop()}},e)}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){jM(l,r,a,o,i,"next",e)}function i(e){jM(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}()}))}var MM,NM,zM,BM,FM,GM,HM,$M,VM,WM,_M,qM=r.memo(UM),KM=C.Ay.div(KU||(KU=IM(["\n  margin-top: 8px;\n  padding: 20px;\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;
1\n  background: var(--cardBackgroundColor);\n"]))),YM=C.Ay.div(YU||(YU=IM(["\n  margin-bottom: 0;\n"]))),JM=C.Ay.div(JU||(JU=IM(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 4px;\n"]))),QM=C.Ay.h4(QU||(QU=IM(["\n  color: var(--textColor);\n  font-size: 15px;\n  font-weight: 600;\n  margin: 0;\n"]))),ZM=C.Ay.p(ZU||(ZU=IM(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  margin: 0;\n  line-height: 1.5;\n"]))),XM=C.Ay.div(XU||(XU=IM(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding-top: 16px;\n"]))),eN=C.Ay.div(eM||(eM=IM(["\n  margin-top: 16px;\n  padding: 12px 14px;\n  border-radius: 8px;\n  background: var(--inkColor);\n  color: var(--subTextColor);\n  font-size: 12px;\n  line-height: 1.5;\n"]))),tN=C.Ay.dl(tM||(tM=IM(["\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n  border-top: 1px solid var(--lineColor);\n  border-bottom: 1px solid var(--lineColor);\n"]))),nN=C.Ay.div(nM||(nM=IM(["\n  min-width: 0;\n  display: grid;\n  grid-template-columns: 96px 1fr;\n  gap: 12px;\n  padding: 10px 2px;\n\n  & + & {\n    border-top: 1px solid var(--lineColor);\n  }\n\n  @media (max-width: 520px) {\n    grid-template-columns: 1fr;\n    gap: 4px;\n  }\n"]))),rN=C.Ay.dt(rM||(rM=IM(["\n  display: block;\n  color: var(--subTextColor);\n  font-size: 12px;\n  line-height: 1.4;\n  font-weight: 600;\n"]))),aN=C.Ay.dd(aM||(aM=IM(["\n  display: block;\n  margin: 0;\n  color: var(--textColor);\n  font-size: 13px;\n  font-weight: 600;\n  line-height: 1.4;\n  word-break: keep-all;\n"]))),lN=C.Ay.div(lM||(lM=IM(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n\n  @media (max-width: 520px) {\n    align-items: stretch;\n    flex-direction: column;\n  }\n"]))),oN=C.Ay.button(oM||(oM=IM(["\n  flex: 0 0 auto;\n  height: 34px;\n  padding: 0 14px;\n  border: 1px solid var(--primaryColor);\n  border-radius: 8px;\n  background: var(--primaryColor);\n  color: #fff;\n  font-size: 12px;\n  font-weight: 600;\n  font-family: var(--defaultFontFamily);\n  cursor: pointer;\n\n  &:hover {\n    filter: brightness(0.95);\n  }\n"])));function iN(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function cN(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function uN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uN(Object(n),!0).forEach(function(t){dN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uN(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fN={enabled:!1,baseSuccessRate:70,influenceStat:{type:"none"}};function mN(e){var t,n,a,i,c,u,s,d=e.value,f=e.onChange,m=null!=d?d:fN,p=(0,l.useCollection)(o.Gf.STATUS,{listen:!0,where:["isActive","==",!0]}).data,v=(0,r.useCallback)(function(e){f(sN(sN({},m),e))},[m,f]),y=(0,r.useCallback)(function(e){var t;f(sN(sN({},m),{},{influenceStat:sN(sN({},null!==(t=m.influenceStat)&&void 0!==t?t:{type:"none"}),e)}))},[m,f]),g=[{key:"none",value:"없음 (순수 랜덤)"}].concat(function(e){if(Array.isArray(e))return cN(e)}(s=(p||[]).map(function(e){return{key:e.id,value:e.value||e.id}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(s)||function(e,t){if(e){if("string"==typeof e)return cN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cN(e,t):void 0}}(s)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),b="stat"===(null===(t=m.influenceStat)||void 0===t?void 0:t.type)&&m.influenceStat.statId?m.influenceStat.statId:"none";return r.createElement(vN,null,r.createElement("h6",null,"확률 퀘스트 성공 판정 시스템"),r.createElement(yN,null,r.createElement(gN,null,r.createElement(bN,null,r.createElement(hN,null,"🎲 확률 판정 사용"),r.createElement(w.A,{isChecked:m.enabled,handleSwitch:function(){return v({enabled:!m.enabled})}})),r.createElement(EN,null,"활성화하면 퀘스트 수행 시 성공/실패가 랜덤 판정됩니다")),m.enabled&&r.createElement(xN,null,r.createElement(wN,null,r.createElement(I.A,{label:"기본 성공 확률 (%)",value:String(m.baseSuccessRate),name:"baseSuccessRate",type:"number",onChange:function(e){var t=Math.max(0,Math.min(100,Number(e.target.value)));v({baseSuccessRate:t})},placeholder:"0 ~ 100",style:{maxWidth:160}})),r.createElement(wN,null,r.createElement(x.l,{label:"확률에 영향을 미치는 스탯",selectList:g,selectedKey:b,
1setSelectedKey:function(e){y("none"===e?{type:"none",statId:void 0}:{type:"stat",statId:e})},dropdownStyle:{width:"100%"}})),"stat"===(null===(n=m.influenceStat)||void 0===n?void 0:n.type)&&r.createElement(AN,null,r.createElement(I.A,{label:"스탯 1당 보정치 (%)",value:String(null!==(a=m.influenceStat.weight)&&void 0!==a?a:1),name:"weight",type:"number",onChange:function(e){return y({weight:Number(e.target.value)})},placeholder:"기본 1",style:{maxWidth:130}}),r.createElement(I.A,{label:"최대 보정 상한 (%)",value:String(null!==(i=m.influenceStat.maxBonus)&&void 0!==i?i:30),name:"maxBonus",type:"number",onChange:function(e){return y({maxBonus:Number(e.target.value)})},placeholder:"기본 30",style:{maxWidth:130}})),r.createElement(CN,null,r.createElement("span",null,"📊"),r.createElement(kN,null,"기본 성공 확률: ",r.createElement("b",null,m.baseSuccessRate,"%"),"stat"===(null===(c=m.influenceStat)||void 0===c?void 0:c.type)&&m.influenceStat.statId&&r.createElement(r.Fragment,null," ","+ 스탯 보정 최대"," ",r.createElement("b",null,null!==(u=m.influenceStat.maxBonus)&&void 0!==u?u:30,"%")))))))}var pN=r.memo(mN),vN=C.Ay.div(MM||(MM=iN(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),yN=C.Ay.div(NM||(NM=iN(["\n  padding: 20px;\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;\n  background: var(--cardBackgroundColor);\n"]))),gN=C.Ay.div(zM||(zM=iN([""]))),bN=C.Ay.div(BM||(BM=iN(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 4px;\n"]))),hN=C.Ay.h4(FM||(FM=iN(["\n  color: var(--textColor);\n  font-size: 15px;\n  font-weight: 600;\n  margin: 0;\n"]))),EN=C.Ay.p(GM||(GM=iN(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  margin: 0;\n"]))),xN=C.Ay.div(HM||(HM=iN(["\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n  padding-top: 16px;\n  margin-top: 16px;\n  border-top: 1px solid var(--lineColor);\n"]))),wN=C.Ay.div($M||($M=iN([""]))),AN=C.Ay.div(VM||(VM=iN(["\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n"]))),CN=C.Ay.div(WM||(WM=iN(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 14px;\n  background: var(--inkColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  border-left: 3px solid var(--primaryColor);\n"]))),kN=C.Ay.span(_M||(_M=iN(["\n  color: var(--textColor);\n  font-size: 13px;\n"])));function SN(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}var ON=Ya.default.firestore();function IN(e){return jN.apply(this,arguments)}function jN(){return e=regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.questId,r=t.bgImgURL,a=t.iconURL,n){e.next=3;break}throw new Error("퀘스트 ID가 필요합니다.");case 3:if(e.prev=3,!r){e.next=7;break}return e.next=7,(0,me.deleteImgStorage)(r).catch(function(e){console.warn("배경 이미지 삭제 실패:",e)});case 7:if(!a){e.next=10;break}return e.next=10,(0,me.deleteImgStorage)(a).catch(function(e){console.warn("아이콘 이미지 삭제 실패:",e)});case 10:return e.next=12,ON.collection(o.Gf.QUEST).doc(n).delete();case 12:console.log("퀘스트 삭제 완료: ".concat(n)),e.next=19;break;case 15:throw e.prev=15,e.t0=e.catch(3),console.error("퀘스트 삭제 오류:",e.t0),e.t0;case 19:case"end":return e.stop()}},e,null,[[3,15]])}),jN=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){SN(l,r,a,o,i,"next",e)}function i(e){SN(l,r,a,o,i,"throw",e)}o(void 0)})},jN.apply(this,arguments);var e}var PN,TN,RN,LN,DN,UN,MN,NN,zN,BN,FN,GN=n(18858);function HN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $N(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?HN(Object(n),!0).forEach(function(t){VN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HN(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function VN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function WN(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function _N(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){WN(l,r,a,o,i,"next",e)}function i(e){WN(l,r,a,o,i,"throw",e)}o(void 0)})}}function qN(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||KN(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function KN(e,t){if(e){if("string"==typeof e)return YN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?YN(e,t):void 0}}function YN(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function JN(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var QN=C.Ay.div(PN||(PN=JN(["\n  display: grid;\n  grid-template-rows: auto 1fr auto;\n  gap: 8px;\n  height: 100%;\n  min-height: 0;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"]))),ZN=C.Ay.div(TN||(TN=JN(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 12px;\n  overflow-y: auto;\n  min-height: 0;\n  ",";\n"])),j.kM),XN=C.Ay.div(RN||(RN=JN(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n\n  & > * {\n    flex: 1;\n  }\n"]))),ez=C.Ay.div(LN||(LN=JN(["\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n  gap: 8px;\n"]))),tz=C.Ay.div(DN||(DN=JN(["\n  ",";\n  padding: 0 12px;\n"])),GN.BA),nz=C.Ay.div(UN||(UN=JN(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  padding: 12px;\n  border-radius: 8px;\n  border: 1px dashed var(--lineColor);\n"]))),rz=C.Ay.table(MN||(MN=JN(["\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 13px;\n\n  th,\n  td {\n    padding: 10px 8px;\n    text-align: left;\n    border-bottom: 1px solid var(--lineColor);\n  }\n\n  th {\n    font-weight: 600;\n    color: var(--subTextColor);\n    font-size: 12px;\n  }\n\n  tbody tr:hover {\n  }\n"]))),az=C.Ay.select(NN||(NN=JN(["\n  padding: 4px 8px;\n  border-radius: 4px;\n  border: 1px solid ",";\n  background: ",";\n  color: ",";\n  font-size: 12px;\n  font-weight: 600;\n  cursor: pointer;\n\n  &:focus {\n    outline: none;\n    box-shadow: 0 0 0 2px ",";\n  }\n"])),function(e){return e.$statusColor},function(e){var t=e.$statusColor;return"".concat(t,"15")},function(e){return e.$statusColor},function(e){var t=e.$statusColor;return"".concat(t,"30")}),lz=C.Ay.div(zN||(zN=JN(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 40px 20px;\n  background: var(--inkColor);\n  border-radius: 8px;\n  color: var(--subTextColor);\n\n  span {\n    font-size: 32px;\n    margin-bottom: 12px;\n  }\n\n  p {\n    margin: 0 0 4px;\n    font-weight: 500;\n  }\n\n  small {\n    font-size: 12px;\n  }\n"]))),oz=C.Ay.div(BN||(BN=JN(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  padding-top: 12px;\n  border-top: 1px solid var(--lineColor);\n"]))),iz=C.Ay.span(FN||(FN=JN(["\n  display: inline-flex;\n  align-items: center;\n  padding: 4px 10px;\n  border-radius: 12px;\n  font-size: 12px;\n  font-weight: 600;\n  background: ",";\n  color: ",";\n  border: 1px solid ",";\n"])),function(e){var t=e.$color;return"".concat(t,"15")},function(e){return e.$color},function(e){var t=e.$color;return"".concat(t,"30")}),cz={size:!0,align:!0,color:!0,list:!0,blockquote:!0,codeblock:!1,link:!0,image:!0,file:!1,html:!1,emoji:!1,header:!1},uz=function(e){var t=e.questId,n=(0,l.useDocument)("".concat(o.Gf.QUEST,"/").concat(t),{listen:!0}).data,a=(0,l.useDocument)(o.Mb.QUEST,{listen:!0}).data,u=qN((0,r.useState)(""),2),s=u[0],d=u[1],f=qN((0,r.useState)(""),2),m=f[0],p=f[1],v=qN((0,r.useState)(""),2),y=v[0],g=v[1],b=qN((0,r.useState)(!0),2),E=b[0],C=b[1],k=qN((0,r.useState)(""),2),S=k[0],O=k[1],j=qN((0,r.useState)(null),2),P=j[0],T=j[1],R=qN((0,r.useState)(null),2),L=R[0],D=R[1],U=qN((0,r.useState)(null),2),M=U[0],N=U[1],z=qN((0,r.useState)(!0),2),B=z[0],F=z[1],G=qN((0,r.useState)(yL.Zs.MAIN),2),H=G[0],$=G[1],V=qN((0,r.useState)([]),2),W=V[0],_=V[1],q=qN((0,r.useState)(""),2),K=q[0],Y=q[1],J=qN((0,r.useState)(!1),2),Q=J[0],Z=J[1],X=qN((0,r.useState)(new Set),2),ee=X[0],te=X[1],ne=qN((0,r.useState)({}),2),re=ne[0],ae=ne[1],le=(0,r.useMemo)(function(){return!!n&&(0,EL.uc)(n)},[n]),oe=(0,c.vc)(kx.Bs),ie=qN((0,r.useState)([]),2),ce=ie[0],ue=ie[1],se=qN((0,r.useState)(!1),2),de=se[0],fe=se[1],pe=qN((0,r.useState)(""),2),ve=(pe[0],pe[1]),ye=qN((0,r.useState)([]),2),ge=ye[0],be=ye[1],he=qN((0,r.useState)(null),2),Ee=he[0],xe=he[1],we=qN((0,r.useState)(null),2),Ae=we[0],Ce=we[1],ke=qN((0,r.useState)(void 0),2),Se=ke[0],Oe=ke[1],Ie=qN((0,r.useState)(void 0),2),je=Ie[0],Pe=Ie[1],Te=qN((0,r.useState)(!0),2),Re=Te[0],Le=Te[1],De=qN((0,r.useState)([]),2),Ue=De[0],Me=De[1],Ne=qN((0,r.useState)([]),2),ze=Ne[0],Be=Ne[1],Ge=qN((0,r.useState)(null),2),He=Ge[0],$e=Ge[1],Ve=(0,l.useCollection)(o.Gf.WORLDMAP,{listen:!0,where:["isVisible","==",!0]}).data,We=(0,r.useMemo)(function(){var e=[{value:"지역 없음",key:""}];return Ve&&Ve.filter(function(e){return e.id&&"worldmapSetting"!==e.id}
1).forEach(function(t){e.push({value:t.name,key:t.id||""})}),e},[Ve]);(0,r.useEffect)(function(){var e,r,a,l,o;if(n){d(n.title||""),p(n.subTitle||"");var i=n.description||n.contents||"";g(i),C(null===(e=n.isActive)||void 0===e||e),O(n.location||"");var c=(null==n?void 0:n.participants)||[],u=(null==n?void 0:n.acceptedMembers)||[];if(c.length>0)_(c);else if(u.length>0){var s=u.map(function(e){return{odId:e,status:yL.bz.ACCEPTED,joinedAt:Date.now(),updatedAt:Date.now()}});_(s)}else _([]);ue(n.rewards||[]),fe(null!==(r=n.isRandomReward)&&void 0!==r&&r),F(null===(a=n.isShowTitle)||void 0===a||a);var f=n.completionCondition,m=n.completionConditions;Array.isArray(m)&&m.length>0?be(m):be(f?[f]:[]),xe(n.acceptCondition||null),$e(n.requestedBy||null),Ce(n.repeatSchedule||null),Oe(null!==(l=n.repeatScheduleV2)&&void 0!==l?l:void 0),Pe(null!==(o=n.probability)&&void 0!==o?o:void 0),Le(!1!==n.enableQuestLog),$(n.type||yL.Zs.MAIN);var v,y,b=n.branchRewards;b?(Me(null!==(v=b.successRewards)&&void 0!==v?v:[]),Be(null!==(y=b.failureRewards)&&void 0!==y?y:[])):(Me([]),Be([])),ve("".concat(t,":").concat(i.length))}},[n,t]),(0,r.useEffect)(function(){if(le&&t&&0!==W.length){var e=!1,n=W.map(function(e){return(0,yL.Zc)(e)}).filter(Boolean);return _N(regeneratorRuntime.mark(function r(){var a,l;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Promise.all(n.map(function(e){return Ya.default.firestore().collection(o.Gf.USERS).doc(e).collection("quests").doc(t).get()}));case 3:if(a=r.sent,!e){r.next=6;break}return r.abrupt("return");case 6:l={},a.forEach(function(e,t){var r,a,o,i;if(e.exists){var c=e.data(),u=null!==(r=null==c||null===(a=c.lastExecutedAt)||void 0===a||null===(o=a.toMillis)||void 0===o?void 0:o.call(a))&&void 0!==r?r:(null==c?void 0:c.lastExecutedAt)instanceof Date?c.lastExecutedAt.getTime():void 0;l[n[t]]={count:null!==(i=null==c?void 0:c.executionCount)&&void 0!==i?i:0,lastAt:u}}}),ae(l),r.next=14;break;case 11:r.prev=11,r.t0=r.catch(0),console.warn("반복 퀘스트 수행 카운트 조회 실패:",r.t0);case 14:case"end":return r.stop()}},r,null,[[0,11]])}))(),function(){e=!0}}ae({})},[le,t,W]);var _e=(0,r.useCallback)(_N(regeneratorRuntime.mark(function e(){var r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(K){e.next=2;break}return e.abrupt("return");case 2:if(!W.some(function(e){return(0,yL.Zc)(e)===K})){e.next=5;break}return alert("이미 추가된 멤버입니다."),e.abrupt("return");case 5:return a={odId:r=K,status:yL.bz.ACCEPTED,joinedAt:Date.now(),updatedAt:Date.now()},_(function(e){return[].concat(function(e){if(Array.isArray(e))return YN(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||KN(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[a]);var t}),Y(""),te(function(e){return new Set(e).add(r)}),e.prev=10,e.next=13,(0,hL.cR)({questId:t,questTitle:s,questSubTitle:null==n?void 0:n.subTitle,questSummary:null==n?void 0:n.summary,targetUserId:r,adminUid:oe||void 0});case 13:(l=e.sent).characterId&&_(function(e){return e.map(function(e){return(0,yL.Zc)(e)===r?$N($N({},e),{},{characterId:l.characterId}):e})}),e.next=22;break;case 17:e.prev=17,e.t0=e.catch(10),console.error("멤버 추가 오류:",e.t0),_(function(e){return e.filter(function(e){return(0,yL.Zc)(e)!==r})}),alert("멤버 추가 중 오류가 발생했습니다.\n".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||""));case 22:return e.prev=22,te(function(e){var t=new Set(e);return t.delete(r),t}),e.finish(22);case 25:case"end":return e.stop()}},e,null,[[10,17,22,25]])})),[K,W,t,s,n,oe]),qe=(0,r.useCallback)(function(){var e=_N(regeneratorRuntime.mark(function e(n,r){var a,l,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=W.find(function(e){return(0,yL.Zc)(e)===n})){e.next=3;break}return e.abrupt("return");case 3:if((l=a.status||yL.bz.ACCEPTED)!==r){e.next=6;break}return e.abrupt("return");case 6:if(_(function(e){return e.map(function(e){return(0,yL.Zc)(e)===n?$N($N({},e),{},{status:r,updatedAt:Date.now()}):e})}),o=(0,yL.Zc)(a)){e.next=12;break}return alert("해당 멤버의 유저 ID를 확인할 수 없습니다."),_(function(e){return e.map(function(e){return(0,yL.Zc)(e)===n?$N($N({},e),{},{status:l,updatedAt:a.updatedAt}):e})}),e.abrupt("return");case 12:if(te(function(e){return new Set(e).add(n)}),e.prev=13,r!==yL.bz.COMPLETED&&r!==yL.bz.ABANDONED){e.next=19;break}return e.next=17,(0,hL.Y2)({questId:t,questTitle:s,targetUserId:o,targetCharacterId:a.characterId,newMemberStatus:r,adminUid:oe||void 0});case 17:e.next=22;break;case 19:if(r!==yL.bz.ACCEPTED){e.next=22;break}return e.next=22,(0,hL.wi)({questId:t,questTitle:s,targetUserId:o,targetCharacterId:a.characterId,adminUid:oe||void 0});case 22:e.next=29;break;case 24:e.prev=24,e.t0=e.catch(13),console.error("멤버 상태 변경 오류:",e.t0),_(function(e){return e.map(function(e){return(0,yL.Zc)(e)===n?$N($N({},e),{},{status:l,updatedAt:a.updatedAt}):e})}),alert("상태 변경 중 오류가 발생했습니다.\n".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||""));case 29:return e.prev=29,te(function(e){var t=new Set(e);return t.delete(n),t}),e.finish(29);case 32:case"end":return e.stop()}},e,null,[[13,24,29,32]])}));return function(t,n){return e.apply(this,arguments)}}(),[W,t,s,oe]),Ke=(0,r.useCallback)(function(){var e=_N(regeneratorRuntime.mark(function e(n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(confirm("이 멤버를 목록에서 완전히 삭제하시겠습니까?")){e.next=2;break}return e.abrupt("return");case 2:return r=W.filter(function(e){return(0,yL.Zc)(e)!==n}),_(r),e.prev=4,e.next=7,(0,gL.U)({data:{participants:r,acceptedMembers:r.filter(function(e){return e.status===yL.bz.ACCEPTED}).map(function(e){return e.odId})},collectionPath:o.Gf.QUEST,docId:t,editedBy:oe||void 0});case 7:e.next=14;break;case 9:e.prev=9,e.t0=e.catch(4),console.error("멤버 삭제 오류:",e.t0),_(W),alert("멤버 삭제 ì
1¤‘ 오류가 발생했습니다.");case 14:case"end":return e.stop()}},e,null,[[4,9]])}));return function(t){return e.apply(this,arguments)}}(),[W,t]),Ye=(0,r.useCallback)(function(){var e=_N(regeneratorRuntime.mark(function e(n){var r,a,l,i,c,u,s,d;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return c={enabled:n.enabled,daysOfWeek:null!==(r=n.daysOfWeek)&&void 0!==r?r:[]},(null!==(a=n.dateRange)&&void 0!==a&&a.startDate||null!==(l=n.dateRange)&&void 0!==l&&l.endDate)&&(c.dateRange={startDate:(null===(u=n.dateRange)||void 0===u?void 0:u.startDate)||"",endDate:(null===(s=n.dateRange)||void 0===s?void 0:s.endDate)||""}),n.frequencyLimit&&(c.frequencyLimit={days:Math.max(1,Number(n.frequencyLimit.days)||1),maxCount:Math.max(1,Number(n.frequencyLimit.maxCount)||1)}),d={enabled:c.enabled,daysOfWeek:null!==(i=c.daysOfWeek)&&void 0!==i?i:[]},Oe(c),Ce(d),e.prev=8,e.next=11,(0,gL.U)({data:{repeatSchedule:d,repeatScheduleV2:c},collectionPath:o.Gf.QUEST,docId:t,editedBy:oe||void 0});case 11:alert("반복 수행 조건이 저장되었습니다."),e.next=18;break;case 14:e.prev=14,e.t0=e.catch(8),console.error("반복 수행 ì¡°ê±´ 저장 오류:",e.t0),alert("반복 수행 ì¡°ê±´ 저장 중 오류가 발생했습니다.");case 18:case"end":return e.stop()}},e,null,[[8,14]])}));return function(t){return e.apply(this,arguments)}}(),[oe,t]),Je=(0,r.useCallback)(_N(regeneratorRuntime.mark(function e(){var r,a,l,i,c,u,d,f,p;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&!Q){e.next=2;break}return e.abrupt("return");case 2:return Z(!0),e.prev=3,e.next=6,(0,me.updateImgAndGetURL)({selectedFile:P,collectionPath:o.Gf.QUEST,prevImgURL:(null==n?void 0:n.bgImgURL)||""});case 6:return r=e.sent,e.next=9,(0,me.updateImgAndGetURL)({selectedFile:L,collectionPath:o.Gf.QUEST,prevImgURL:(null==n?void 0:n.iconURL)||""});case 9:return a=e.sent,e.next=12,(0,me.updateImgAndGetURL)({selectedFile:M,collectionPath:o.Gf.QUEST,prevImgURL:(null==n?void 0:n.borderImgURL)||""});case 12:return l=e.sent,c=(i=function(e){return(e||[]).map(function(e){if(e.type===yL.E.ITEM){var t=e.itemIds||(e.itemId?[e.itemId]:[]);return{type:e.type,itemIds:t,itemId:t[0]||"",amount:e.amount||1}}return e.type===yL.E.STAT?{type:e.type,statRewards:(e.statRewards||[]).filter(function(e){return e.statId})}:e.type===yL.E.CURRENCY?{type:e.type,amount:e.amount||0}:e.type===yL.E.TITLE?{type:yL.E.TITLE,titleId:e.titleId||e.itemId||""}:e.type===yL.E.EXPERIENCE?{type:e.type,amount:e.amount||0}:{type:e.type}})})(ce),u=i(Ue),d=i(ze),f=!0===(null==je?void 0:je.enabled),p=$N({id:t,type:H,title:s||"",subTitle:m||"",description:y||"",isActive:!!E,location:S||"",rewards:(f&&u.length>0?u:c)||[],isRandomReward:de,participants:W||[],acceptedMembers:W.filter(function(e){return e.status===yL.bz.ACCEPTED}).map(function(e){return e.odId}),contents:y||"",bgImgURL:r,iconURL:a,borderImgURL:l,isShowTitle:B,acceptCondition:null!=Ee?Ee:bL.A.firestore.FieldValue.delete(),completionConditions:ge.length>0?ge:bL.A.firestore.FieldValue.delete(),completionCondition:ge.length>0?ge[0]:bL.A.firestore.FieldValue.delete(),requestedBy:null!=He?He:bL.A.firestore.FieldValue.delete(),probability:null!=je?je:bL.A.firestore.FieldValue.delete(),enableQuestLog:Re},f?{branchRewards:{successRewards:u,failureRewards:d}}:{branchRewards:bL.A.firestore.FieldValue.delete()}),e.next=21,(0,gL.U)({data:p,collectionPath:o.Gf.QUEST,docId:t,editedBy:oe||void 0});case 21:alert("퀘스트가 저장되었습니다."),e.next=28;break;case 24:e.prev=24,e.t0=e.catch(3),console.error("퀘스트 저장 오류:",e.t0),alert("퀘스트 저장 중 오류가 발생했습니다.");case 28:return e.prev=28,Z(!1),e.finish(28);case 31:case"end":return e.stop()}},e,null,[[3,24,28,31]])})),[t,Q,H,s,m,y,E,S,ce,de,W,P,L,M,n,B,Ee,ge,He,je,Re,Ue,ze]),Qe=(0,r.useCallback)(_N(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:if(window.confirm("'".concat(s||"이 퀘스트","'를 삭제하시겠습니까?\n\n※ 삭제 후 복구할 수 없습니다."))){e.next=5;break}return e.abrupt("return");case 5:return e.prev=5,e.next=8,IN({questId:t,bgImgURL:null==n?void 0:n.bgImgURL,iconURL:null==n?void 0:n.iconURL});case 8:alert("퀘스트가 삭제되었습니다."),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(5),console.error("퀘스트 삭제 오류:",e.t0),alert("퀘스트 삭제 ì
1¤‘ 오류가 발생했습니다.");case 15:case"end":return e.stop()}},e,null,[[5,11]])})),[t,s,n]),Ze=qN((0,r.useState)("basic"),2),Xe=Ze[0],et=Ze[1],tt=r.createElement(ZN,null,r.createElement(w.A,{isChecked:E,handleSwitch:function(){return C(function(e){return!e})}},"퀘스트 활성화(보이기) 여부"),r.createElement(w.A,{isChecked:B,handleSwitch:function(){return F(function(e){return!e})}},"타이틀 표시 여부"),r.createElement("div",null,r.createElement(Ro.A,null,"퀘스트 타입"),r.createElement(Fe.z,null,r.createElement(Fe.A,{value:yL.Zs.MAIN,id:"questType-main",name:"questType",checked:H===yL.Zs.MAIN,onChange:function(){return $(yL.Zs.MAIN)}},(0,yL.bo)(yL.Zs.MAIN,a)),r.createElement(Fe.A,{value:yL.Zs.SUB,id:"questType-sub",name:"questType",checked:H===yL.Zs.SUB,onChange:function(){return $(yL.Zs.SUB)}},(0,yL.bo)(yL.Zs.SUB,a)),r.createElement(Fe.A,{value:yL.Zs.MEMBER_REQUEST,id:"questType-member-request",name:"questType",checked:H===yL.Zs.MEMBER_REQUEST,onChange:function(){return $(yL.Zs.MEMBER_REQUEST)}},(0,yL.bo)(yL.Zs.MEMBER_REQUEST,a)))),r.createElement(qg.A,{label:"퀘스트 요청자 (캐릭터 선택)",initialList:He?[{key:He.key,path:He.path}]:[],setUserList:function(e){if(e&&e.length>0){var t=e[0];$e({key:t.key,path:t.path,thumbnail:t.thumbnail,value:t.value})}else $e(null)},onlySelect:!0,placeholder:"퀘스트 요청 캐릭터 검색",block:!0}),r.createElement(ez,null,r.createElement(I.A,{label:"제목",value:s,name:"title",onChange:function(e){return d(e.target.value)},placeholder:"제목"}),r.createElement(I.A,{label:"부제목",value:m,name:"subTitle",onChange:function(e){return p(e.target.value)},placeholder:"부제목"})),r.createElement(x.l,{label:"퀘스트 지역",selectList:We,selectedKey:S||"",setSelectedKey:function(e){return O(e)},dropdownStyle:{width:"100%"}}),r.createElement("p",{style:{fontSize:12,color:"var(--subTextColor)"}},"퀘스트 기본 디자인 보다 우선시 됩니다."),r.createElement(ez,null,r.createElement(A.A,{label:"퀘스트 아이콘 (정사각형 권장)",prevImgURL:(null==n?void 0:n.iconURL)||"",id:"quest-icon-img-".concat(t),setSelectedFile:D}),r.createElement(A.A,{label:"퀘스트 ë°°ê²½ 이미지",prevImgURL:(null==n?void 0:n.bgImgURL)||"",id:"quest-bg-img-".concat(t),setSelectedFile:T}),r.createElement(A.A,{label:"퀘스트 보더 이미지",prevImgURL:(null==n?void 0:n.borderImgURL)||"",id:"quest-border-img-".concat(t),setSelectedFile:N})),r.createElement(pN,{value:je,onChange:Pe}),r.createElement(Nn.A,{label:"로그 게시판 활성화",description:"이 퀘스트에서 로그(기록) 작성을 허용합니다. 비활성화하면 로그 섹션이 숨겨집니다.",isChecked:Re,onToggle:function(){return Le(function(e){return!e})}}),r.createElement(Ro.A,null,"퀘스트 내용"),r.createElement(tz,null,r.createElement(Yy.A,{setToolbar:cz,style:{minHeight:500},id:"quest-editor-".concat(t),value:y||"",onChange:g}))),nt=r.createElement(ZN,null,r.createElement(qM,{value:null!=Se?Se:Ae,onChange:function(e){var t;Oe(e),Ce({enabled:e.enabled,daysOfWeek:null!==(t=e.daysOfWeek)&&void 0!==t?t:[]})},onSave:Ye}),null!=je&&je.enabled?r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},r.createElement(NU,{rewards:Ue,onChange:Me,sectionLabel:"✅ 성공 보상"}),r.createElement(NU,{rewards:ze,onChange:Be,sectionLabel:"❌ 실패 보상"})):r.createElement(NU,{rewards:ce,onChange:ue,isRandomReward:de,onRandomRewardChange:fe})),rt=function(e){switch(e){case yL.bz.ACCEPTED:return"#22c55e";case yL.bz.COMPLETED:return"#3b82f6";case yL.bz.ABANDONED:return"#f59e0b";default:return"var(--subTextColor)"}},at=[{label:"기본 설정",value:"basic",isShow:!0,drawView:tt},{label:"보상",value:"rewards",isShow:!0,drawView:nt},{label:"수락조건",value:"accept",isShow:!0,drawView:r.createElement(ZN,null,r.createElement(FD,{value:Ee,onChange:xe}))},{label:"완료조건",value:"completion",isShow:!0,drawView:r.createElement(ZN,null,r.createElement(lD,{value:ge,onChange:be}))},{label:"진행 멤버",value:"members",isShow:!0,drawView:r.createElement(ZN,null,r.createElement("h6",null,"퀘스트 참여 멤버 관리"),r.createElement(nz,null,r.createElement(xL.A,{selectedOwnerId:K,setSelectedOwnerId:Y,label:"유저 선택",width:200}),r.createElement(h.A,{onClick:_e,size:"sm",disabled:!K},"+ 멤버 추가")),W.length>0?r.createElement(rz,null,r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",
1null,"유저"),r.createElement("th",null,"상태"),le&&r.createElement("th",null,"수행 횟수"),le&&r.createElement("th",null,"마지막 수행"),r.createElement("th",null,"마지막 업데이트"),r.createElement("th",null,"관리"))),r.createElement("tbody",null,W.map(function(e){var t,n=(0,yL.Zc)(e),a=e.status||yL.bz.ACCEPTED,l=e.updatedAt||e.joinedAt,o=ee.has(n),i=re[n];return r.createElement("tr",{key:n},r.createElement("td",null,r.createElement(Lo.A,{uid:n,avatarSize:"28px",noLink:!0})),r.createElement("td",null,r.createElement(az,{value:a,onChange:function(e){return qe(n,e.target.value)},$statusColor:rt(a),disabled:o,title:o?"변경 적용 중...":void 0},Object.entries(yL.xE).map(function(e){var t=qN(e,2),n=t[0],a=t[1];return r.createElement("option",{key:n,value:n},a)})),o&&r.createElement("span",{style:{fontSize:11,color:"var(--subTextColor)",marginLeft:6}},"적용 중...")),le&&r.createElement("td",{style:{fontSize:12}},null!==(t=null==i?void 0:i.count)&&void 0!==t?t:0),le&&r.createElement("td",{style:{fontSize:12,color:"var(--subTextColor)"}},null!=i&&i.lastAt?new Date(i.lastAt).toLocaleString("ko-KR",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"-"),r.createElement("td",{style:{fontSize:12,color:"var(--subTextColor)"}},new Date(l).toLocaleString("ko-KR",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),r.createElement("td",null,r.createElement(h.A,{size:"sm",color:"warning",shape:"stroke",onClick:function(){return Ke(n)},disabled:o},"삭제")))}))):r.createElement(lz,null,r.createElement("span",null,"👥"),r.createElement("p",null,"아직 참여 중인 멤버가 없습니다.")),W.length>0&&r.createElement(oz,null,r.createElement(iz,{$color:"#22c55e"},"진행 중:"," ",W.filter(function(e){return(e.status||yL.bz.ACCEPTED)===yL.bz.ACCEPTED}).length),r.createElement(iz,{$color:"#3b82f6"},"완료:"," ",W.filter(function(e){return e.status===yL.bz.COMPLETED}).length),r.createElement(iz,{$color:"#f59e0b"},"포기:"," ",W.filter(function(e){return e.status===yL.bz.ABANDONED}).length)))}];return t?r.createElement(QN,null,r.createElement(i.A,{viewOptions:at,defaultViewType:Xe,customSetViewType:et,style:{padding:"12px 12px 0"}}),r.createElement(XN,null,r.createElement(h.A,{onClick:Je,pending:Q,disabled:Q,block:!0},"저장"),r.createElement(h.A,{onClick:Qe,color:"warning",block:!0},"퀘스트 삭제"))):null};function sz(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function dz(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){sz(l,r,a,o,i,"next",e)}function i(e){sz(l,r,a,o,i,"throw",e)}o(void 0)})}}function fz(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return mz(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mz(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mz(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var pz,vz,yz,gz,bz,hz,Ez,xz=function(){var e=(0,l.useDocument)(o.Mb.QUEST,{listen:!0}).data,t=Ya.default.firestore(),n=fz((0,r.useState)(null),2),a=n[0],i=n[1],c=fz((0,r.useState)(null),2),u=c[0],s=c[1],d=fz((0,r.useState)(null),2),f=d[0],m=d[1],p=fz((0,r.useState)(!1),2),v=p[0],y=p[1],g=fz((0,r.useState)(""),2),E=g[0],x=g[1],w=fz((0,r.useState)(""),2),C=w[0],k=w[1],S=fz((0,r.useState)(""),2),O=S[0],I=S[1],j=fz((0,r.useState)(!1),2),P=j[0],T=j[1],R=fz((0,r.useState)(!1),2),L=R[0],D=R[1],U=fz((0,r.useState)(!1),2),M=U[0],N=U[1];(0,r.useEffect)(function(){x((null==e?void 0:e.defaultIconImgURL)||""),k((null==e?void 0:e.defaultBgImgURL)||""),I((null==e?void 0:e.defaultBorderImgURL)||""),T(!1),D(!1),N(!1)},[e]);var z=(0,r.useCallback)(function(){T(!0),i(null),x("")},[]),B=(0,r.useCallback)(function(){D(!0),s(null),k("")},[]),F=(0,r.useCallback)(function(){N(!0),m(null),I("")},[]),G=(0,r.useCallback)(dz(regeneratorRuntime.mark(function n(){var r,l,o,c,d,p;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(y(!0),n.prev=1,r=(null==e?void 0:e.defaultIconImgURL)||"",l=(null==e?void 0:e.defaultBgImgURL)||"",o=(null==e?void 0:e.defaultBorderImgURL)||"",c=r,d=l,p=o,!P||!r){n.next=12;break}return n.next=11,(0,me.deleteImgStorage)(r);case 11:c="";case 12:if(!L||!l){n.next=16;break}return n.next=15,(0,me.deleteImgStorage)(l);case 15:d="";case 16:if(!M||!o){n.next=20;break}return n.next=19,(0,me.deleteImgStorage)(o);case 19:p="";case 20:if(!a){n.next=24;break}return n.next=23,(0,me.updateImgAndGetURL)({selectedFile:a,prevImgURL:P?"":r,collectionPath:"setting",deletePrevURL:!P});case 23:c=n.sent;case 24:if(!u){n.next=28;break}return n.next=27,(0,me.updateImgAndGetURL)({selectedFile:u,prevImgURL:L?"":l,collectionPath:"setting",deletePrevURL:!L});case 27:d=n.sent;case 28:if(!f){n.next=32;break}return n.next=31,(0,me.updateImgAndGetURL)({selectedFile:f,prevImgURL:M?"":o,collectionPath:"setting",deletePrevURL:!M});case 31:p=n.sent;case 32:return n.next=34,t.collection("setting").doc("quest").set({defaultIconImgURL:c,defaultBgImgURL:d,defaultBorderImgURL:p},{merge:!0});case 34:alert("퀘스트 기본 디자인이 저장되었습니다."),i(null),s(null),m(null),T(!1),D(!1),N(!1),n.next=47;break;case 43:n.prev=43,n.t0=n.catch(1),console.error("퀘스트 기본 디자인 저장 실패:",n.t0),alert("저장 중 오류가 발생했습니다.");case 47:return n.prev=47,y(!1),n.finish(47);case 50:case"end":return n.stop()}},n,null,[[1,43,47,50]])})),[null==e?void 0:e.defaultIconImgURL,null==e?void 0:e.defaultBgImgURL,null==e?void 0:e.defaultBorderImgURL,P,L,M,a,u,f,t]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"퀘스트 기본 설정",r.createElement(b.PF,null,"퀘스트 목록의 기본 아이콘/배경/보더 이미지를 등록합니다.")),r.createElement(b.N9,null,r.createElement(b.O9,null,"퀘스트 아이콘(정사각형 권장)"),r.createElement("div",{style:{marginBottom:24,width:"100%",maxWidth:400}},r.createElement(A.A,{id:"quest-default-icon",setSelectedFile:i,prevImgURL:E||"",text:"이미지 추가",customDelete:z,style:{height:100}}))),r.createElement(b.N9,null,r.createElement(b.O9,null,"퀘스트 배경 이미지"),r.createElement("div",{style:{marginBottom:24,width:"100%",maxWidth:400}},r.createElement(A.A,{id:"quest-default-bg",setSelectedFile:s,prevImgURL:C||"",text:"이미지 추가",customDelete:B,style:{height:100}}))),r.createElement(b.N9,null,r.createElement(b.O9,null,"퀘스트 보더 이미지"),r.createElement("div",{style:{marginBottom:24,width:"100%",maxWidth:400}},r.createElement(A.A,{id:"quest-default-border",setSelectedFile:m,prevImgURL:O||"",text:"이미지 추가",customDelete:F,style:{height:100}}))),r.createElement("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:12}},r.createElement(h.A,{onClick:G,pending:v,disabled:v},"저장하기")))},wz=n(15548);function Az(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Cz(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Az(l,r,a,o,i,"next",e)}function i(e){Az(l,r,a,o,i,"throw",e)}o(void 0)})}}function kz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sz(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?kz(Object(n),!0).forEach(function(t){Oz(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Oz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Iz(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return jz(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jz(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jz(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Pz(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(42708);var Tz=C.Ay.section(pz||(pz=Pz(["\n  padding: 28px 0;\n  border-top: 1px solid var(--lineColor);\n\n  &:first-of-type {\n    border-top: 0;\n    padding-top: 4px;\n  }\n"]))),Rz=C.Ay.div(vz||(vz=Pz(["\n  margin-bottom: 16px;\n\n  h6 {\n    font-size: 22px;\n    font-weight: 700;\n    margin-bottom: 6px;\n  }\n\n  p {\n    font-size: 13px;\n    color: var(--subTextColor);\n    line-height: 1.5;\n    word-break: keep-all;\n  }\n"]))),Lz=C.Ay.div(yz||(yz=Pz(["\n  display: grid;\n  grid-template-columns: 160px minmax(0, 1fr);\n  gap: 16px;\n  align-items: start;\n  margin-top: 14px;\n\n  @media (max-width: 640px) {\n    grid-template-columns: 1fr;\n    gap: 8px;\n  }\n"]))),Dz=C.Ay.div(gz||(gz=Pz(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  min-width: 0;\n"]))),Uz=C.Ay.p(bz||(bz=Pz(["\n  max-width: 640px;\n  font-size: 12px;\n  line-height: 1.5;\n  color: var(--subTextColor);\n  word-break: keep-all;\n"]))),Mz=C.Ay.div(hz||(hz=Pz(["\n  display: grid;\n  grid-template-columns: repeat(3, minmax(160px, 1fr));\n  gap: 10px;\n\n  @media (max-width: 780px) {\n    grid-template-columns: 1fr;\n  }\n"]))),Nz=C.Ay.div(Ez||(Ez=Pz(["\n  display: flex;\n  justify-content: flex-end;\n  padding-top: 16px;\n"]))),zz=function(){var e,t=(0,l.useDocument)(o.Mb.QUEST,{listen:!0}).data,n=Ya.default.firestore(),i=Iz((0,r.useState)(!1),2),c=i[0],u=i[1],s=Iz((0,r.useState)(""),2),d=s[0],f=s[1],m=Iz((0,r.useState)(""),2),p=m[0],v=m[1],y=Iz((0,r.useState)(yL.AK),2),g=y[0],E=y[1],w=Iz((0,r.useState)(!1),2),A=w[0],C=w[1];(0,r.useEffect)(function(){var e,n,r,a,l,o,i,c,s,d,m,p,y;if(t){var g=t.timelineIntegration;u(null!==(e=null==g?void 0:g.enabled)&&void 0!==e&&e),f(null!==(n=null==g?void 0:g.timelineBoardPath)&&void 0!==n?n:""),v(null!==(r=null===(a=t.customTerms)||void 0===a?void 0:a.questLabel)&&void 0!==r?r:""),E({main:null!==(l=null===(o=t.customTerms)||void 0===o||null===(i=o.typeLabels)||void 0===i?void 0:i.main)&&void 0!==l?l:yL.AK.main,sub:null!==(c=null===(s=t.customTerms)||void 0===s||null===(d=s.typeLabels)||void 0===d?void 0:d.sub)&&void 0!==c?c:yL.AK.sub,memberRequest:null!==(m=null===(p=t.customTerms)||void 0===p||null===(y=p.typeLabels)||void 0===y?void 0:y.memberRequest)&&void 0!==m?m:yL.AK.memberRequest})}},[t]);var k=(0,r.useCallback)(function(e,t){E(function(n){return Sz(Sz({},n),{},Oz({},e,t))})},[]),S=a.l.boardSet.filter(function(e){return e.typeName===Mi.Ef.TIMELINE||e.type===Mi.Ef.TIMELINE}).map(function(e){return{key:e.path||e.id||"",value:e.title||e.name||e.path||""}}),O=(0,r.useCallback)(Cz(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return C(!0),e.prev=1,e.next=4,n.doc(o.Mb.QUEST).set({t
1imelineIntegration:{enabled:c,timelineBoardPath:d||null},customTerms:{questLabel:p.trim()||null,typeLabels:{main:g.main.trim()||null,sub:g.sub.trim()||null,memberRequest:g.memberRequest.trim()||null}}},{merge:!0});case 4:e.next=10;break;case 6:e.prev=6,e.t0=e.catch(1),console.error(e.t0),alert("저장 중 오류가 발생했습니다.");case 10:return e.prev=10,C(!1),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[1,6,10,13]])})),[n,c,d,p,g]);return r.createElement(b.YO,{style:{marginBottom:24}},r.createElement(Tz,null,r.createElement(Rz,null,r.createElement("h6",null,"게시판 연동"),r.createElement("p",null,"퀘스트 수행 기록을 타임라인 게시판과 연결합니다.")),r.createElement(Lz,null,r.createElement(b.O9,null,"타임라인 연동"),r.createElement(Dz,null,r.createElement(Nn.A,{label:"타임라인 게시판 연동",isChecked:c,onToggle:function(){return u(function(e){return!e})}}),r.createElement(Uz,null,"켜면 퀘스트 페이지의 로그 섹션 대신 타임라인 업로드 모달에서 퀘스트 수행 기록을 작성합니다."))),c&&r.createElement(Lz,null,r.createElement(b.O9,null,"연동 게시판"),r.createElement(Dz,null,S.length>0?r.createElement(x.A,{selectList:S,selectedKey:d,defaultValue:(null===(e=S.find(function(e){return e.key===d}))||void 0===e?void 0:e.value)||"선택",setSelectedKey:f,style:{minWidth:180,maxWidth:320}}):r.createElement(Uz,null,"연동할 수 있는 타임라인 게시판이 없습니다.")))),r.createElement(Tz,null,r.createElement(Rz,null,r.createElement("h6",null,"커스텀 용어 설정"),r.createElement("p",null,"사용자 화면에 표시되는 퀘스트 관련 명칭을 변경합니다.")),r.createElement(Lz,null,r.createElement(b.O9,null,"대표 용어"),r.createElement(Dz,null,r.createElement(I.A,{name:"questLabel",value:p,onChange:function(e){return v(e.target.value)},placeholder:"퀘스트 (비워두면 기본값)",style:{maxWidth:280}}),r.createElement(Uz,null,"목록, 버튼, 안내 문구에서 '퀘스트' 대신 사용할 단어입니다. 예: 미션, 임무"))),r.createElement(Lz,null,r.createElement(b.O9,null,"타입별 워딩"),r.createElement(Dz,null,r.createElement(Mz,null,r.createElement(I.A,{label:"메인 타입",name:"mainQuestTypeLabel",value:g.main,onChange:function(e){return k("main",e.target.value)},placeholder:yL.AK.main}),r.createElement(I.A,{label:"사이드 타입",name:"subQuestTypeLabel",value:g.sub,onChange:function(e){return k("sub",e.target.value)},placeholder:yL.AK.sub}),r.createElement(I.A,{label:"멤버 의뢰 타입",name:"memberRequestQuestTypeLabel",value:g.memberRequest,onChange:function(e){return k("memberRequest",e.target.value)},placeholder:yL.AK.memberRequest})),r.createElement(Uz,null,"Quest 페이지의 타입 섹션명과 상세 배지에 표시됩니다. 빈 값은 기본 워딩으로 표시됩니다.")))),r.createElement(Nz,null,r.createElement(h.A,{onClick:O,pending:A},"저장")))};function Bz(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Fz(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Bz(l,r,a,o,i,"next",e)}function i(e){Bz(l,r,a,o,i,"throw",e)}o(void 0)})}}function Gz(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Hz(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hz(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hz(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var $z,Vz,Wz,_z,qz,Kz,Yz,Jz,Qz,Zz,Xz,eB,tB,nB,rB,aB,lB,oB,iB,cB,uB,sB,dB,fB,mB,pB,vB,yB,gB,bB,hB,EB,xB,wB,AB,CB,kB,SB,OB,IB,jB,PB,TB,RB,LB,DB,UB,MB,NB,zB,BB,FB,GB,HB,$B,VB,WB,_B,qB,KB,YB,JB,QB=function(e){var t=new URLSearchParams(e||"").get("questFilter");return"all"===t||"main"===t||"sub"===t||"memberRequest"===t?t:null},ZB=function(){var e=(0,wz.zy)(),t=o.Gf.QUEST,n=(0,l.useCollection)(t,{listen:!0,orderBy:["createdAt","desc"]}).data,a=(0,l.useDocument)(o.Mb.QUEST,{listen:!0}).data,c=Gz((0,r.useState)(""),2),u=c[0],s=c[1],d=Gz((0,r.useState)(function(){return QB(e.search)||"all"}),2),f=d[0],m=d[1],p={all:"전체",main:(0,yL.bo)(yL.Zs.MAIN,a),sub:(0,yL.bo)(yL.Zs.SUB,a),memberRequest:(0,yL.bo)(yL.Zs.MEMBER_REQUEST,a)},v=(0,r.useMemo)(function(){var e,t=n||[];switch(f){case"main":e=t.filter(function(e){return e.type===yL.Zs.MAIN});break;case"sub":e=t.filter(function(e){return e.type===yL.Zs.SUB});break;case"memberRequest":e=t.filter(function(e){return e.type===yL.Zs.MEMBER_REQUEST});break;default:e=t}return e.slice().sort(function(e,t){var n,r,a,l;return(null!==(n=null!==(r=e.order)&&void 0!==r?r:e.priority)&&void 0!==n?n:1/0)-(null!==(a=null!==(l=t.order)&&void 0!==l?l:t.priority)&&void 0!==a?a:1/0)})},[n,f]);(0,r.useEffect)(function(){var e;u&&(v.some(function(e){return e.id===u})||s((null===(e=v[0])||void 0===e?void 0:e.id)||""))},[v,u]),(0,r.useEffect)(function(){var t=QB(e.search);t&&m(t)},[e.search]);var y=(0,r.useCallback)(Fz(regeneratorRuntime.mark(function e(){var t,n,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={all:yL.Zs.MAIN,main:yL.Zs.MAIN,sub:yL.Zs.SUB,memberRequest:yL.Zs.MEMBER_REQUEST}
1,n=t[f]||yL.Zs.MAIN,r=new Date,a={id:"",type:n,title:"새 퀘스트",subTitle:"",description:"설명을 입력하세요",location:"",requirements:[],rewards:[],difficulty:1,priority:0,createdAt:r,updatedAt:r,createdBy:"admin",isActive:!0},e.next=6,(0,gL.U)({data:a,collectionPath:o.Gf.QUEST});case 6:l=e.sent,s(l);case 8:case"end":return e.stop()}},e)})),[f]),g=(0,r.useCallback)(function(){var e=Fz(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,e.prev=1,r=Ya.default.firestore(),a=r.batch(),n.forEach(function(e,t){if(e.id){var n=r.collection(o.Gf.QUEST).doc(e.id);a.update(n,{priority:t,order:t})}}),e.next=7,a.commit();case 7:console.log("✅ 퀘스트 순서 저장 완료"),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("퀘스트 순서 저장 오류:",e.t0);case 13:case"end":return e.stop()}},e,null,[[1,10]])}));return function(t){return e.apply(this,arguments)}}(),[]);return r.createElement(b.YO,{startSec:!0},r.createElement(i.A,{viewOptions:[{label:"기본 설정",value:"questProbabilityEditor",isShow:!0,drawView:r.createElement(zz,null)},{value:"all",label:"전체",isShow:!0,drawView:r.createElement(r.Fragment,null)},{value:"main",label:(0,yL.bo)(yL.Zs.MAIN,a),isShow:!0,drawView:r.createElement(r.Fragment,null)},{value:"sub",label:(0,yL.bo)(yL.Zs.SUB,a),isShow:!0,drawView:r.createElement(r.Fragment,null)},{value:"memberRequest",label:(0,yL.bo)(yL.Zs.MEMBER_REQUEST,a),isShow:!0,drawView:r.createElement(r.Fragment,null)},{label:"퀘스트 카드 디자인",value:"defaultQuestSet",isShow:!0,drawView:r.createElement(xz,null)}],defaultViewType:f,customSetViewType:function(e){return m(e)},style:{marginBottom:"12px"}}),r.createElement(b.fA,null,p[f]," 퀘스트 목록",r.createElement(b.PF,null,"퀘스트 목록을 관리합니다.")),r.createElement(ci.A,{list:v,onAdd:y,addButtonText:"퀘스트 추가",searchPlaceholder:"퀘스트 검색(enter)",droppableCollectionPath:o.Gf.QUEST,onSelect:s,selectedId:u,onOrder:g,rightEditor:r.createElement(uz,{key:u,questId:u})}))},XB=function(){return r.createElement(r.Fragment,null,r.createElement(ZB,null))};function eF(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var tF,nF,rF,aF,lF,oF,iF,cF,uF,sF=C.Ay.div($z||($z=eF(["\n  margin: 0 auto;\n"]))),dF=(C.Ay.div(Vz||(Vz=eF(["\n  margin-bottom: 30px;\n  text-align: center;
1\n"]))),C.Ay.h1(Wz||(Wz=eF(["\n  margin: 0 0 8px 0;\n  font-size: 32px;\n  color: #333;\n  font-weight: bold;\n"]))),C.Ay.p(_z||(_z=eF(["\n  margin: 0;\n  font-size: 16px;\n  color: #666;\n"]))),C.Ay.div(qz||(qz=eF(["\n  display: flex;\n  gap: 4px;\n  margin-bottom: 30px;\n  background: white;\n  padding: 8px;\n  border-radius: 12px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n  overflow-x: auto;\n"]))),C.Ay.button(Kz||(Kz=eF(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 12px 16px;\n  border: none;\n  background: ",";\n  color: ",";\n  border-radius: 8px;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  white-space: nowrap;\n  \n  &:hover {\n    background-color: var(--inkColor);\n  }\n"])),function(e){return e.$isActive?"var(--buttonBackgroundColor)":"transparent"},function(e){return e.$isActive?"var(--buttonTextColor)":"var(--textColor)"}),C.Ay.span(Yz||(Yz=eF(["\n  font-size: 18px;\n"]))),C.Ay.span(Jz||(Jz=eF(["\n  font-size: 14px;\n  font-weight: 500;\n"]))),C.Ay.div(Qz||(Qz=eF(["\n  background: white;\n  border-radius: 12px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n"]))),C.Ay.div(Zz||(Zz=eF(["\n"])))),fF=C.Ay.div(Xz||(Xz=eF(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 24px;\n"]))),mF=C.Ay.h2(eB||(eB=eF(["\n  margin: 0;\n  font-size: 24px;\n  font-weight: bold;\n"]))),pF=(C.Ay.div(tB||(tB=eF(["\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n  gap: 20px;\n"]))),C.Ay.div(nB||(nB=eF(["\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 16px;\n  border-radius: 12px;\n  padding: 20px;\n  border: 1px solid var(--lineColor);\n  transition: transform 0.2s ease, box-shadow 0.2s ease;\n  \n  &:hover {\n    cursor: var(--hoverCursorURL), pointer;\n    transform: translateY(-2px);\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n  }\n"]))),C.Ay.img(rB||(rB=eF(["\n  width: 80px;\n  height: 80px;\n  object-fit: cover;\n  border-radius: 50%;\n  margin-bottom: 16px;\n  border: 3px solid var(--cardBackgroundColor);\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n  flex-shrink: 0;\n"]))),C.Ay.div(aB||(aB=eF(["\n  margin-bottom: 16px;\n"]))),C.Ay.h3(lB||(lB=eF(["\n  margin: 0 0 4px 0;\n  font-size: 18px;\n  color: #333;\n  font-weight: bold;\n"]))),C.Ay.div(oB||(oB=eF(["\n  font-size: 14px;\n  color: #666;\n  margin-bottom: 8px;\n"]))),C.Ay.div(iB||(iB=eF(["\n  display: inline-block;\n  padding: 4px 8px;\n  border-radius: 4px;\n  font-size: 12px;\n  font-weight: bold;\n  color: white;\n  background: ",";\n  margin-bottom: 12px;\n"])),function(e){var t={common:"#9E9E9E",rare:"#4CAF50",epic:"#9C27B0",legendary:"#FF9800"};return t[e.$rarity]||t.common}),C.Ay.div(cB||(cB=eF(["\n  font-size: 12px;\n"]))),C.Ay.div(uB||(uB=eF(["\n  margin-bottom: 2px;\n"]))),C.Ay.div(sB||(sB=eF(["\n  display: flex;\n  gap: 8px;\n"]))),C.Ay.button(dB||(dB=eF(["\n  padding: 6px 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n  font-size: 12px;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  \n  ","\n"])),function(e){switch(e.$variant){case"primary":return"\n          background: var(--primaryColor);\n          color: white;\n          border-color: var(--primaryColor);\n          &:hover { background: #1976D2; }\n        ";case"danger":return"\n          background: var(--primaryColor);\n          color: white;\n          border-color: var(--primaryColor);\n          &:hover { background: #d32f2f; }\n        ";default:return"\n          background: var(--cardBackgroundColor);\n          color: #666;\n          &:hover { background: #f5f5f5; }\n        "}}),C.Ay.div(fB||(fB=eF(["\n  position: absolute;\n  top: 16px;\n  right: 16px;\n  padding: 4px 8px;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: bold;\n  color: white;\n  background: ",";\n"])),function(e){return e.$isActive,"var(--primaryColor)"}),C.Ay.div(mB||(mB=eF(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"])))),vF=C.Ay.div(pB||(pB=eF(["\n  display: flex;\n  align-items: flex-start;\n  gap: 16px;\n  padding: 20px;\n  ",";\n"])),GN.BA),yF=C.Ay.div(vB||(vB=eF(["\n  width: 50px;\n  height: 50px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 24px;\n  color: white;\n  flex-shrink: 0;\n"]))),gF=C.Ay.div(yB||(yB=eF(["\n  flex: 1;\n"]))),bF=C.Ay.h3(gB||(gB=eF(["\n  margin: 0 0 4px 0;\n  font-size: 18px;\n"]))),hF=C.Ay.p(bB||(bB=eF(["\n  margin: 0 0 8px 0;\n  font-size: 14px;\n  color: var(--subTextColor);
1 \n"]))),EF=C.Ay.div(hB||(hB=eF(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-bottom: 12px;\n"]))),xF=C.Ay.div(EB||(EB=eF(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n"]))),wF=C.Ay.div(xB||(xB=eF(["\n  padding: 6px 8px;\n  font-size: 11px;\n  font-weight: 500;\n  border: 1px solid var(--lineColor);\n  border-radius: 4px;\n"]))),AF=C.Ay.div(wB||(wB=eF(["\n  display: flex;\n  flex-direction: row;\n  gap: 8px;\n  align-items: flex-end;\n"]))),CF=(C.Ay.input.attrs({type:"checkbox"})(AB||(AB=eF(["\n  width: 50px;\n  height: 25px;\n  appearance: none;\n  ",";\n  border-radius: 25px;\n  position: relative;\n  cursor: pointer;\n  transition: background 0.2s ease;\n  \n  &:checked {\n    background: var(--primaryColor);\n  }\n  \n  &::before {\n    content: '';\n    position: absolute;\n    top: 2px;\n    left: 2px;\n    width: 21px;\n    height: 21px;\n    background: var(--cardBackgroundColor);\n    border-radius: 50%;\n    transition: transform 0.2s ease;\n  }\n  \n  &:checked::before {\n    transform: translateX(25px);\n  }\n"])),GN.BA),C.Ay.div(CB||(CB=eF(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),C.Ay.div(kB||(kB=eF(["\n  padding: 20px;\n  ",";\n  border-radius: 12px;\n  border: 1px solid var(--lineColor);\n"])),GN.BA),C.Ay.div(SB||(SB=eF(["\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  margin-bottom: 16px;\n"]))),C.Ay.h3(OB||(OB=eF(["\n  margin: 0;\n  font-size: 18px;\n  color: var(--textColor);\n"]))),C.Ay.div(IB||(IB=eF(["\n  padding: 4px 8px;\n  background: var(--subCardBackgroundColor);\n  color: var(--primaryColor);\n  border-radius: 4px;\n  font-size: 12px;\n  font-weight: 500;\n"]))),C.Ay.div(jB||(jB=eF(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),C.Ay.div(PB||(PB=eF(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),C.Ay.div(TB||(TB=eF(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 8px;\n"])))),kF=(C.Ay.div(RB||(RB=eF(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  font-weight: bold;\n  flex-shrink: 0;\n"]))),C.Ay.div(LB||(LB=eF(["\n  font-size: 14px;\n  color: var(--textColor);\n  line-height: 1.4;\n"]))),C.Ay.div(DB||(DB=eF(["\n  display: flex;\n  gap: 8px;\n"]))),C.Ay.div(UB||(UB=eF(["\n  padding: 24px;\n  border-radius: 12px;\n"]))),C.Ay.div(MB||(MB=eF(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 20px;\n"]))),C.Ay.h3(NB||(NB=eF(["\n  margin: 0;\n  font-size: 20px;\n  color: var(--textColor);\n"])))),SF=(C.Ay.div(zB||(zB=eF(["\n  margin-bottom: 20px;\n"]))),C.Ay.div(BB||(BB=eF(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 12px 0;\n  \n  &:last-child {\n    border-bottom: none;\n  }\n"]))),C.Ay.div(FB||(FB=eF(["\n  font-size: 14px;\n  color: var(--subTextColor);\n"]))),C.Ay.div(GB||(GB=eF(["\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--textColor);\n"]))),C.Ay.div(HB||(HB=eF(["\n  margin-bottom: 20px;\n  padding: 16px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n"]))),C.Ay.div($B||($B=eF(["\n  display: flex;\n  justify-content: space-between;\n  margin-bottom: 8px;\n  \n  &:last-child {\n    margin-bottom: 0;\n  }\n"]))),C.Ay.div(VB||(VB=eF(["\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),C.Ay.div(WB||(WB=eF(["\n  font-size: 13px;\n  font-weight: 500;\n  color: var(--textColor);\n"]))),C.Ay.div(_B||(_B=eF(["\n  display: flex;\n  gap: 12px;\n"]))),C.Ay.div(qB||(qB=eF(["\n  text-align: center;\n  padding: 60px 20px;\n  color: var(--subTextColor);\n  font-size: 18px;\n"]))),C.Ay.div(KB||(KB=eF(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  height: 100vh;\n  gap: 16px;\n"])))),OF=C.Ay.div(YB||(YB=eF(["\n  width: 40px;\n  height: 40px;\n  border: 4px solid var(--cardLineColor);\n  border-top-color: var(--primaryColor);\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n  \n  @keyframes spin {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n"]))),IF=C.Ay.div(JB||(JB=eF(["\n  font-size: 16px;\n  color: var(--subTextColor);\n"])));function jF(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function PF(e){return function(e){if(Array.isArray(e))return zF(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||NF(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function TF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function RF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?TF(Object(n),!0).forEach(function(t){LF(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TF(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function LF(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DF(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function UF(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){DF(l,r,a,o,i,"next",e)}function i(e){DF(l,r,a,o,i,"throw",e)}o(void 0)})}}function MF(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||NF(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function NF(e,t){if(e){if("string"==typeof e)return zF(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zF(e,t):void 0}}function zF(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var BF,FF,GF,HF,$F,VF,WF,_F=function(e){return"level".concat(e)},qF=function(e){return Number(String(e).replace("level","")||0)},KF=function(e){var t=e.docId,n=(0,l.useDocument)("".concat(o.Gf.PET,"/").concat(t),{listen:!0}),a=n.data,i=(n.set,(null==a?void 0:a.evolutionTrees)||{}),c=(0,r.useMemo)(function(){return Object.keys(i||{}).filter(function(e){return Array.isArray(null==i?void 0:i[e])}).sort(function(e,t){return qF(e)-qF(t)})},[i]),u=MF((0,r.useState)([]),2),s=u[0],d=u[1],f=MF((0,r.useState)({}),2),m=f[0],p=f[1],v=MF((0,r.useState)(""),2),y=v[0],g=v[1],b=(0,r.useCallback)(function(){var e=UF(regeneratorRuntime.mark(function e(n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.fuego.db.doc("".concat(o.Gf.PET,"/").concat(t)),e.next=3,l.fuego.db.runTransaction(function(){var e=UF(regeneratorRuntime.mark(function e(t){var a,l,o,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.get(r);case 2:l=e.sent,o=((null==l||null===(a=l.data)||void 0===a?void 0:a.call(l))||{}).evolutionTrees||{},i=n(o),t.update(r,{evolutionTrees:i,updatedAt:new Date});case 6:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}());case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),[t]),E=(0,r.useCallback)(function(e,t,n){b(function(r){return RF(RF({},r),{},LF({},e,(r[e]||[]).map(function(e,r){return r===t?RF(RF({},e),n):e})))})},[b]),x=(0,r.useCallback)(function(e,t){return"".concat(e,"__").concat(t)},[]),w=(0,r.useCallback)(function(e,t,n){var r="".concat(e,"__").concat(t);p(function(e){return RF(RF({},e),{},LF({},r,n))})},[]),C=(0,r.useCallback)(function(e,t){var n="".concat(e,"__").concat(t),r=m[n];"string"==typeof r&&E(e,t,{name:r})},[m,E]),k=(0,r.useCallback)(function(e,t){b(function(n){return RF(RF({},n),{},LF({},e,(n[e]||[]).filter(function(e,n){return n!==t})))})},[b]),S=(0,r.useCallback)(function(e){var t=qF(e)||1;b(function(n){return RF(RF({},n),{},LF({},e,[].concat(PF(n[e]||[]),[{id:"",name:"",imgURL:"",requiredLevel:t}])))})},[b]),O=(0,r.useCallback)(function(){var e=UF(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=RF({},i||{}),r=(n[t]||[]).length,a=qF(t),!(r>0)){e.next=7;break}if(confirm("요구 레벨 ".concat(a," 그룹을 삭제할까요? (옵션 ").concat(r,"개 포함)"))){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,b(function(e){var n=RF({},e||{});return delete n[t],n});case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error(e.t0),alert("그룹 삭제 ì
1¤‘ 오류가 발생했습니다."),e.abrupt("return");case 17:d(function(e){return e.filter(function(e){return e!==t})}),alert("그룹이 삭제되었습니다.");case 19:case"end":return e.stop()}},e,null,[[7,12]])}));return function(t){return e.apply(this,arguments)}}(),[i]),j=(0,r.useCallback)(function(){var e=Number(y);if(e&&!isNaN(e)){var t=_F(e);b(function(e){return(e||{})[t]?e:RF(RF({},e||{}),{},LF({},t,[]))}),d(function(e){return Array.from(new Set([].concat(PF(e),[t])))}),g("")}},[y,b]),P=(0,r.useCallback)(function(e,t,n){var r=_F(n);b(function(a){var l,o=(a[e]||[])[t];if(!o)return a;var i=(a[e]||[]).filter(function(e,n){return n!==t}),c=[].concat(PF(a[r]||[]),[RF(RF({},o),{},{requiredLevel:n})]);return RF(RF({},a),{},(LF(l={},e,i),LF(l,r,c),l))}),d(function(e){return Array.from(new Set([].concat(PF(e),[r])))})},[b]),T=(0,r.useCallback)(UF(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,b(function(e){var t=RF({},e||{});return Object.keys(m||{}).forEach(function(e){var n=MF(String(e).split("__"),2),r=n[0],a=n[1],l=Number(a),o=m[e];if(r&&!isNaN(l)){var i=Array.isArray(t[r])?t[r]:[];i[l]&&(i[l]=RF(RF({},i[l]),{},{name:o}),t[r]=i)}}),t});case 3:alert("진화 트리가 저장되었습니다."),p({}),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0),alert("진화 트리 저장에 실패했습니다.");case 11:case"end":return e.stop()}},e,null,[[0,7]])})),[m,b,p]);return r.createElement(r.Fragment,null,r.createElement(QF,null,r.createElement(YF,null,r.createElement(I.A,{label:"요구 레벨 추가",placeholder:"예: 3",name:"new-level",value:y,onChange:function(e){return g(e.target.value)}}),r.createElement(h.A,{onClick:j,style:{alignSelf:"end"}},"추가")),c.map(function(e){var n=s.includes(e),a=qF(e),l=(i[e]||[]).length;return r.createElement(ZF,{key:e},r.createElement(XF,{$open:n,onClick:function(){return d(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):[].concat(PF(t),[e])})}},r.createElement("div",null,"요구 레벨 ",a),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},r.createElement("div",{style:{color:"var(--subTextColor)",fontSize:12}},"옵션 ",l))),n&&r.createElement(eG,null,r.createElement(nG,null,r.createElement("div",{style:{color:"var(--subTextColor)",fontSize:12}},"그룹 키: ",e),r.createElement("div",{style:{display:"flex",gap:8}},r.createElement(h.A,{shape:"stroke",size:"sm",color:"warning",onClick:function(){return O(e)}},"그룹 삭제"),r.createElement(h.A,{size:"sm",onClick:function(){return S(e)}},"옵션 추가"))),(i[e]||[]).map(function(n,l){var i,c;return r.createElement(tG,{key:"".concat(e,"-").concat(n.id||l)},r.createElement(I.A,{label:"단계명",value:null!==(i=m[x(e,l)])&&void 0!==i?i:n.name,name:"".concat(e,"-name-").concat(l),onChange:function(t){var n;return w(e,l,null==t||null===(n=t.target)||void 0===n?void 0:n.value)},onBlur:function(t){return C(e,l)},onCompositionEnd:function(t){return C(e,l)}}),r.createElement(I.A,{label:"요구 레벨",value:null!==(c=n.requiredLevel)&&void 0!==c?c:a,name:"".concat(e,"-req-").concat(l),onChange:function(t){return P(e,l,Number(t.target.value))}}),r.createElement(A.A,{label:"진화 이미지",setSelectedFile:function(){var t=UF(regeneratorRuntime.mark(function t(r){var a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,(0,me.updateImgAndGetURL)({selectedFile:r,collectionPath:o.Gf.PET,prevImgURL:n.imgURL});case 4:a=t.sent,E(e,l,{imgURL:a});case 6:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}(),prevImgURL:n.imgURL,id:"evo-".concat(t,"-").concat(e,"-").concat(l),style:{maxHeight:"60px"},minHeight:60}),r.createElement(h.A,{size:"sm",onClick:function(){return k(e,l)},color:"warning",style:{height:"fit-content"}},"삭제"))})))})),r.createElement(JF,null,r.createElement(h.A,{onClick:T,block:!0},"저장")))},YF=C.Ay.div(tF||(tF=jF(["\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 8px;\n  margin-bottom: 24px;\n  border-bottom: 1px dashed var(--lineColor);\n  padding-bottom: 24px;\n"]))),JF=C.Ay.div(nF||(nF=jF(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;
1\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n  align-items: center;\n  justify-content: flex-end;\n"]))),QF=C.Ay.div(rF||(rF=jF(["\n  padding: 0 12px 24px 12px;\n  height: 100%;\n  overflow-y: auto;\n  ","\n"])),j.kM),ZF=C.Ay.div(aF||(aF=jF(["\n  border: 1px solid var(--lineColor);\n  background: var(--cardBackgroundColor);\n  border-radius: 10px;\n  margin-top: 10px;\n"]))),XF=C.Ay.button(lF||(lF=jF(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr auto;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 12px;\n  border: none;\n  border-bottom: 1px solid var(--lineColor);\n  border-radius: 10px 10px ",";\n  background: ",";\n  color: var(--textColor);\n  text-align: left;\n"])),function(e){return e.$open?"0 0":"10px 10px"},function(e){return e.$open?"rgba(var(--primaryColorRGB),0.06)":"var(--cardBackgroundColor)"}),eG=C.Ay.div(oF||(oF=jF(["\n  padding: 10px 12px 12px 12px;\n"]))),tG=(C.Ay.h6(iF||(iF=jF(["\n  margin-bottom: 12px;\n"]))),C.Ay.div(cF||(cF=jF(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr auto;\n  gap: 8px;\n  margin-bottom: 8px;\n"])))),nG=C.Ay.div(uF||(uF=jF(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 8px;\n"]))),rG=n(17378);function aG(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function lG(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function oG(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){lG(l,r,a,o,i,"next",e)}function i(e){lG(l,r,a,o,i,"throw",e)}o(void 0)})}}function iG(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||cG(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cG(e,t){if(e){if("string"==typeof e)return uG(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uG(e,t):void 0}}function uG(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function sG(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dG(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sG(Object(n),!0).forEach(function(t){fG(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sG(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function fG(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var mG,pG=function(e){var t=e.docId,n=(0,l.useDocument)("".concat(o.Gf.PET,"/").concat(t),{listen:!0}),a=n.data,i=n.set,c=(0,l.useDocument)("petSetting/personalities",{listen:!0}).data,u=(0,r.useMemo)(function(){var e=dG({},rG.iO),t=(null==c?void 0:c.types)||{};return dG(dG({},e),t)},[c]),s=iG((0,r.useState)((null==a?void 0:a.title)||""),2),d=s[0],f=s[1],m=iG((0,r.useState)((null==a?void 0:a.category)||""),2),p=m[0],v=m[1],y=iG((0,r.useState)(null),2),g=y[0],b=y[1],E=iG((0,r.useState)((null==a?void 0:a.personalities)||[]),2),x=E[0],w=E[1],C=iG((0,r.useState)(!1),2),k=C[0],S=C[1];(0,r.useEffect)(function(){a&&(f(a.title||""),v(a.category||""),w(a.personalities||[]))},[a]);var O=(0,r.useCallback)(oG(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=a&&a.id){e.next=2;break}return e.abrupt("return");case 2:if(!confirm("[".concat(null==a?void 0:a.title,"] 펫 템플릿을 삭제하시겠습니까?"))){e.next=6;break}return e.abrupt("return",(0,zu.E)({collectionPath:o.Gf.PET,imgURL:a.imgURL,docId:a.id}));case 6:return e.abrupt("return");case 7:case"end":return e.stop()}},e)})),[a]),j=(0,r.useCallback)(function(){a&&a.id&&(0,me.deleteImg)({imgURL:a.imgURL||"",docId:a.id,key:"imgURL",collectionPath:o.Gf.PET}),b(null)},[a]),P=(0,r.useCallback)(oG(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(S(!0),e.prev=1,t=(null==a?void 0:a.imgURL)||"",!g){e.next=7;break}return e.next=6,(0,me.updateImgAndGetURL)({selectedFile:g,collectionPath:o.Gf.PET,prevImgURL:null==a?void 0:a.imgURL});case 6:t=e.sent;case 7:return n={title:d,category:p,imgURL:t,personalities:x.filter(
1Boolean),updatedAt:new Date},e.next=10,i(dG({},n),{merge:!0});case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),console.error("펫 템플릿 저장 실패:",e.t0);case 15:return e.prev=15,S(!1),e.finish(15);case 18:case"end":return e.stop()}},e,null,[[1,12,15,18]])})),[d,p,x,g,i,null==a?void 0:a.imgURL]);return a?r.createElement(r.Fragment,null,r.createElement(vG,null,r.createElement(hG,null,"펫 템플릿 편집"),r.createElement(gG,null,r.createElement(I.A,{label:"이름",value:d,name:"title",onChange:function(e){return f(e.target.value)},placeholder:"예: 레오"}),r.createElement(I.A,{label:"종류",value:p,name:"category",onChange:function(e){return v(e.target.value)},placeholder:"예: 고양이"})),r.createElement(bG,null,r.createElement(hG,null,"대표 이미지"),r.createElement(A.A,{id:"pet-template-".concat(a.id),setSelectedFile:b,prevImgURL:null==a?void 0:a.imgURL,text:"이미지 추가",customDelete:j,label:"펫 이미지 (권장 52*52)"})),r.createElement(bG,null,r.createElement(hG,null,"성격 키워드"),r.createElement(EG,null,Object.entries(u).map(function(e){var t=iG(e,2),n=t[0],a=t[1];return r.createElement(xG,{key:n,$active:x.includes(n),onClick:function(){return function(e){w(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):[].concat(function(e){if(Array.isArray(e))return uG(e)}(n=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||cG(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);var n})}(n)},type:"button",role:"checkbox","aria-checked":x.includes(n),"aria-label":"".concat(a," 선택")},a)})))),r.createElement(yG,null,r.createElement(h.A,{onClick:O,loading:k,block:!0,color:"warning"},"삭제"),r.createElement(h.A,{onClick:P,loading:k,block:!0},"저장"))):null},vG=C.Ay.div(BF||(BF=aG(["\n  width: 100%;\n  height: 100%;\n  padding: 12px;\n  ",";\n"])),j.kM),yG=C.Ay.div(FF||(FF=aG(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n  align-items: center;\n  justify-content: flex-end;\n"]))),gG=C.Ay.div(GF||(GF=aG(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 8px;\n  align-items: flex-end;\n"]))),bG=C.Ay.div(HF||(HF=aG(["\n  margin-top: 16px;\n  padding-top: 12px;\n  border-top: 1px dashed var(--lineColor);\n"]))),hG=C.Ay.h6($F||($F=aG(["\n  margin-bottom: 12px;\n"]))),EG=C.Ay.div(VF||(VF=aG(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n"]))),xG=C.Ay.button(WF||(WF=aG(["\n  padding: 6px 10px;\n  border-radius: 16px;\n  border: 1px solid\n    ",";\n  background: ",";\n  color: ",";\n  cursor: pointer;\n  font-size: 12px;\n  transition: 0.2s ease;\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  &:hover {\n    transform: translateY(-1px);\n  }\n  &::after {\n    content: '✓';\n    display: ",";\n    font-weight: 700;\n    color: var(--primaryColor);\n    font-size: 12px;\n    line-height: 1;\n  }\n"])),function(e){return e.$active?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$active?"rgba(var(--primaryColorRGB),0.15)":"transparent"},function(e){return e.$active?"var(--primaryColor)":"var(--textColor)"},function(e){return e.$active?"inline-block":"none"});function wG(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var AG,CG,kG,SG=function(e){var t,n,a=e.docId,l=(t=(0,r.useState)("default"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return wG(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wG(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=l[0],c=l[1],u=[{value:"default",label:"기본 설정",isShow:!0,drawView:r.createElement(pG,{docId:a})},{value:"evolutionTree",label:"진화 트리",isShow:!0,drawView:r.createElement(KF,{docId:a})}];return r.createElement(OG,null,r.createElement(i.A,{viewOptions:u,defaultViewType:o,customSetViewType:c}))},OG=C.Ay.div(mG||(mG=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-rows: auto 1fr 65px;\n  padding-top: 12px;\n  position: relative;\n  height: 800px;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"])));function IG(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return jG(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jG(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jG(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function PG(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var TG,RG,LG,DG,UG,MG=C.Ay.div(AG||(AG=PG(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 12px;\n  height: 800px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),NG=C.Ay.div(CG||(CG=PG(["\n  height: 100%;\n  overflow: hidden;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n\n  display: grid;\n  grid-template-rows: auto 1fr;\n"]))),zG=C.Ay.div(kG||(kG=PG(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),BG=function(e){var t=IG((0,r.useState)([]),2),n=(t[0],t[1],IG((0,r.useState)(null),2)),a=n[0],i=n[1],c=(0,l.useCollection)(o.Gf.PET,{listen:!0,orderBy:["createdAt","desc"]}).data,u=(0,mu.W)({list:c}),s=u.searchResult;return u.isEmpty,r.createElement(dF,null,r.createElement(b.R2,{style:{marginBottom:"20px"}},r.createElement("ul",{style:{listStyle:"disc",paddingLeft:"20px"}},r.createElement("li",null,"[펫 템플릿]은 유저 외형 커스텀이 적용되지 않은, 시스템적으로 계속 존재하는 [펫의 유형] 입니다."),r.createElement("li",null,"예시 : 펫의 템플릿 유형은 [골든 리트리버] 이나, 유저가 직접 이름을 [멍멍이]로 지어줄 수 있습니다."),r.createElement("li",null,"진화 트리 설정이 가능합니다."))),r.createElement(MG,null,r.createElement(NG,null,r.createElement(zG,null,r.createElement(du.A,{block:!0,placeholder:"펫 검색(enter)",noResult:!0}),r.createElement(h.A,{onClick:function(){var e={id:"",title:"펫 이름",category:"",imgURL:"",rarity:"common",dialogues:[],personalities:[],isActive:!1,createdAt:new Date,updatedAt:new Date};(0,yu.Wb)({collectionPath:o.Gf.PET,data:e,fileList:{}})}},"펫 템플릿 추가")),r.createElement(fu.A,{list:s||c,setSelectValue:i,selectedId:null!=a?a:void 0,collectionPath:o.Gf.PET,style:{height:"100%"}})),a&&r.createElement(SG,{docId:a})))};function FG(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function GG(e){return function(e){if(Array.isArray(e))return qG(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_G(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function HG(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?HG(Object(n),!0).forEach(function(t){VG(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HG(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function VG(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function WG(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||_G(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _G(e,t){if(e){if("string"==typeof e)return qG(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qG(e,t):void 0}}function qG(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function KG(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var YG=C.Ay.div(TG||(TG=KG(["\n  font-size: 15px;\n"]))),JG=C.Ay.div(RG||(RG=KG(["\n  display: grid;\n  grid-template-columns: 1fr 140px;\n  gap: 12px;\n  align-items: center;
1\n"]))),QG=C.Ay.div(LG||(LG=KG(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 12px 0;\n  border-top: 1px solid var(--lineColor);\n"]))),ZG=C.Ay.div(DG||(DG=KG(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),XG=C.Ay.div(UG||(UG=KG(["\n  width: 100%;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"])));function eH(){return"".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"action","_").concat(Math.random().toString(36).slice(2,10))}var tH=[{id:"action_1",name:"인사하기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"👋",color:"#6C5CE7",description:""},{id:"action_2",name:"먹이주기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"🍖",color:"#2ECC71",description:""},{id:"action_3",name:"놀아주기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"🧸",color:"#F39C12",description:""},{id:"action_4",name:"재우기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"😴",color:"#8E44AD",description:""}];function nH(e){var t=e.isOpen,n=e.initialAction,a=e.canCreateMore,i=e.onCancel,c=e.onSubmit,u=e.index,s=void 0===u?0:u,d=Boolean(n),f=(0,l.useDocument)("".concat(o.Gf.PETSETTING,"/actions"),{listen:!0}),m=f.data,p=f.set,v=WG((0,r.useState)(""),2),y=v[0],g=v[1],b=WG((0,r.useState)(0),2),x=b[0],A=b[1],C=WG((0,Be.Ge)({primaryColor:n&&n.color||"#6C5CE7"},{setGlobal:!1}),4),j=C[0].primaryColor,P=C[1],T=C[2],R=C[3],L=WG((0,r.useState)(""),2),D=L[0],U=L[1],M=WG((0,r.useState)(""),2),N=M[0],z=M[1],B=WG((0,r.useState)(!1),2),F=B[0],G=B[1],H=WG((0,r.useState)(!1),2),$=H[0],V=H[1],W=WG((0,r.useState)(0),2),_=W[0],q=W[1],K=WG((0,r.useState)(!1),2),Y=K[0],J=K[1],Q=WG((0,r.useState)(0),2),Z=Q[0],X=Q[1],ee=WG((0,r.useState)(!1),2),te=ee[0],ne=ee[1],re=WG((0,r.useState)(0),2),ae=re[0],le=re[1];(0,r.useEffect)(function(){if(t)if(n){var e,r,a,l,o,i,c,u;g(n.name||""),A(n.cooldown||0),T(),R({primaryColor:n.color||"#6C5CE7"});var s=n.icon||"";"string"==typeof s&&/^https?:\/\//.test(s)?(z(s),U("")):(U(s),z("")),G(!(null===(e=n.effects)||void 0===e||!e.triggerInteraction)),V(!(null===(r=n.effects)||void 0===r||!r.currency)),q((null===(a=n.effects)||void 0===a||null===(l=a.currency)||void 0===l?void 0:l.amount)||0),J("number"==typeof(null===(o=n.effects)||void 0===o?void 0:o.petExp)),X((null===(i=n.effects)||void 0===i?void 0:i.petExp)||0),ne("number"==typeof(null===(c=n.effects)||void 0===c?void 0:c.hungerDecrease)),le((null===(u=n.effects)||void 0===u?void 0:u.hungerDecrease)||0)}else g(""),A(0),T(),R({primaryColor:"var(--primaryColor)"}),U(""),z(""),G(!1),V(!1),q(0),J(!1),X(0),ne(!1),le(0)},[t,null==n?void 0:n.id]);var oe=(0,r.useMemo)(function(){var e=Array.isArray(null==m?void 0:m.items)?m.items:[],t=tH.map(function(t,n){return e[n]?$G($G({},t),e[n]):t});return t.length<4?[].concat(GG(t),GG(tH.slice(t.length,4))):t.slice(0,4)},[m]);if(!t)return null;var ie=function(){var e,t=(e=regeneratorRuntime.mark(function e(){var t,r,l,o,i,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(d||a){e.next=3;break}return alert("행동은 최대 4개까지 지정할 수 있어요."),e.abrupt("return");case 3:return t={},F&&(t.triggerInteraction=!0),$&&(t.currency={amount:Number(_)||0}),Y&&(t.petExp=Number(Z)||0),te&&(t.hungerDecrease=Number(ae)||0),r=oe,l=n||r[s]||tH[s]||{id:eH()},o=null!=N&&N.trim()?N.trim():D||l.icon||"✨",i=$G($G({},l),{},{name:y||l.name||"새 행동",cooldown:Number(x)||0,icon:o,color:j||l.color||"#6C5CE7",effects:t}),u=r.map(function(e,t){return t===s?i:e}),e.prev=13,e.next=16,p({items:u,updatedAt:new Date},{merge:!0});case 16:c(i),e.next=23;break;case 19:e.prev=19,e.t0=e.catch(13),console.error(e.t0),alert("저장 중 오류가 발생했습니다.");case 23:case"end":return e.stop()}},e,null,[[13,19]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){FG(l,r,a,o,i,"next",e)}function i(e){FG(l,r,a,o,i,"throw",e)}o(void 0)})});return function(){return t.apply(this,arguments)}}();return r.createElement(k.A,{outsideClick:i,contentStyle:{width:560}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:i}),r.createElement("div",{style:{textAlign:"left"}},r.createElement("h6",null,d?"행동 편집":"새 행동 생성")),r.createElement(h.A,{onClick:ie},"저장")),r.createElement(S.sC,{style:{textAlign:"left"}},r.createElement(QG,null,r.createElement(XG,null,r.createElement(E.A,{name:"primaryColor",value:j||"",onChange:P,
1withInput:!1,style:{width:"auto"}}),r.createElement(I.A,{label:"타이틀",name:"actionTitle",value:y,onChange:function(e){return g(e.target.value)},placeholder:"행동명을 입력하세요"})),r.createElement(I.A,{label:"행동 재사용 시간 (분)",name:"cooldown",type:"number",min:0,value:x,onChange:function(e){return A(Number(e.target.value)||0)}})),r.createElement(QG,null,r.createElement("h6",null,"아이콘"),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12}},r.createElement(I.A,{label:"아이콘 텍스트/이모지",name:"iconText",value:D,onChange:function(e){return U(e.target.value)},placeholder:"예: ✨ / 🧸 / 😀"}),r.createElement(I.A,{label:"아이콘 이미지 URL(선택)",name:"iconImgURL",value:N,onChange:function(e){return z(e.target.value)},placeholder:"https://..."})),((null==N?void 0:N.trim())||D)&&r.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},r.createElement("div",{style:{fontSize:24}},D),(null==N?void 0:N.trim())&&r.createElement("img",{src:N,alt:"icon",style:{width:36,height:36,objectFit:"contain"}}),r.createElement(ZG,null,"이미지 URL이 지정되면 이미지가 우선 사용됩니다."))),r.createElement(QG,null,r.createElement("h6",null,"트리거 기능"),r.createElement(ZG,null,"각 항목은 독립적으로 활성화/비활성화할 수 있습니다."),r.createElement(JG,null,r.createElement(YG,null,"상호작용 문구 출력"),r.createElement(w.A,{isChecked:F,handleSwitch:function(){return G(function(e){return!e})}}))),r.createElement(QG,null,r.createElement(JG,null,r.createElement(YG,null,"재화 얻기"),r.createElement(w.A,{isChecked:$,handleSwitch:function(){return V(function(e){return!e})}})),$&&r.createElement(I.A,{label:"재화 수치",name:"currencyAmount",type:"number",value:_,onChange:function(e){return q(Number(e.target.value)||0)}})),r.createElement(QG,null,r.createElement(JG,null,r.createElement(YG,null,"펫 경험치 얻기"),r.createElement(w.A,{isChecked:Y,handleSwitch:function(){return J(function(e){return!e})}})),Y&&r.createElement(I.A,{label:"수치",name:"petExpAmount",type:"number",value:Z,onChange:function(e){return X(Number(e.target.value)||0)}})),r.createElement(QG,null,r.createElement(JG,null,r.createElement(YG,null,"행동 비용(배고픔 소모, 마이너스 - 입력x)"),r.createElement(w.A,{isChecked:te,handleSwitch:function(){return ne(function(e){return!e})}})),te&&r.createElement(I.A,{label:"수치",name:"hungerDecreaseAmount",type:"number",value:ae,onChange:function(e){return le(Number(e.target.value)||0)}}))))}function rH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function aH(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rH(Object(n),!0).forEach(function(t){lH(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rH(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function lH(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oH(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||iH(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iH(e,t){if(e){if("string"==typeof e)return cH(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cH(e,t):void 0}}function cH(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var uH,sH,dH=[{id:"action_1",name:"인사하기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"👋",color:"#6C5CE7",description:""},{id:"action_2",name:"먹이주기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"🍖",color:"#2ECC71",description:""},{id:"action_3",name:"놀아주기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"🧸",color:"#F39C12",description:""},{id:"action_4",name:"재우기",type:"greeting",isEnabled:!0,cooldown:0,effects:{},icon:"😴",color:"#8E44AD",description:""}],fH=function(e){var t=oH((0,r.useState)([]),2),n=t[0],a=t[1],i=oH((0,r.useState)(!1),2),c=i[0],u=i[1],s=oH((0,r.useState)(null),2),d=s[0],f=s[1],m=oH((0,r.useState)(0),2),p=m[0],v=m[1],y=(0,l.useDocument)("".concat(o.Gf.PETSETTING,"/").concat("actions"),{listen:!0}),g=y.data,b=y.set;(0,r.useEffect)(function(){var e=Array.isArray(null==g?void 0:g.items)?g.items:[];e&&e.length>0?a(e.slice(0,10)):g&&(a(dH),b({items:dH,updatedAt:new Date},{merge:!0}))},[g,b]);var E=(0,r.useMemo)(function(){return n.length<10},[n.length]),x=(0,r.useCallback)(function(){u(!1),f(null)},[]),A=(0,r.useCallback)(function(){n.length>=10?alert("행동은 최대 10개까지 지정할 수 있어요."):(f(null),v(n.length),u(!0))},[n.length]),C=(0,r.useCallback)(function(e){a(function(t){var n,r=function(e){if(Array.isArray(e))return cH(e)}(n=t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||iH(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();if(p<r.length)r[p]=e;else{if(r.length>=10)return alert("행동은 최대 10개까지 지정할 수 있어요."),t;r.push(e)}return b({items:r,updatedAt:new Date},{merge:!0}),r}),u(!1),f(null)},[p,b]),k=(0,r.useCallback)(function(e){window.confirm("해당 행동을 삭제하시겠어요?")&&a(function(t){var n=t.filter(function(t){return t.id!==e});return b({items:n,updatedAt:new Date},{merge:!0}),n})},[b]);return r.createElement(dF,null,r.createElement(fF,null,r.createElement(mF,null,"펫 행동 관리"),r.createElement(h.A,{onClick:A},"+ 새 행동 생성")),r.createElement(pF,null,n.map(function(e,t){return r.createElement(vF,{key:e.id},r.createElement(yF,{style:{backgroundColor:e.color}},e.icon),r.createElement(gF,null,r.createElement(bF,null,e.name),r.createElement(hF,null,e.description),r.createElement(EF,null,"재사용 대기 시간: ",e.cooldown,"분"),r.createElement(xF,null,e.effects.petExp&&r.createElement(wF,null,"✨ 펫 경험치: +",e.effects.petExp),e.effects.currency&&r.createElement(wF,null,"💰 재화: +",e.effects.currency.amount),e.effects.hungerDecrease&&r.createElement(wF,null,"🍽️ 배고픔 소모
1: -",e.effects.hungerDecrease),e.effects.triggerInteraction&&r.createElement(wF,null,"🤝 상호작용 문구 출력"))),r.createElement(AF,null,r.createElement(w.A,{isChecked:e.isEnabled,handleSwitch:function(){return t=e.id,void a(function(e){var n=e.map(function(e){return e.id===t?aH(aH({},e),{},{isEnabled:!e.isEnabled}):e});return b({items:n,updatedAt:new Date},{merge:!0}),n});var t}}),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return function(e,t){f(e),v(t),u(!0)}(e,t)}},"편집"),r.createElement(h.A,{size:"sm",shape:"stroke",color:"warning",onClick:function(){return k(e.id)}},"삭제")))})),r.createElement(nH,{isOpen:c,initialAction:d,canCreateMore:E,onCancel:x,onSubmit:C,index:p}))};function mH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function pH(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mH(Object(n),!0).forEach(function(t){vH(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mH(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vH(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yH(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function gH(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){yH(l,r,a,o,i,"next",e)}function i(e){yH(l,r,a,o,i,"throw",e)}o(void 0)})}}function bH(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||hH(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hH(e,t){if(e){if("string"==typeof e)return EH(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?EH(e,t):void 0}}function EH(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function xH(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var wH=C.Ay.p(uH||(uH=xH(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin: 12px 0;\n"]))),AH=C.Ay.div(sH||(sH=xH(["\n  display: flex;\n  gap: 8px;\n  align-items: center;
1\n"])));function CH(){return"".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"interaction","_").concat(Math.random().toString(36).slice(2,10))}var kH,SH,OH,IH,jH,PH=function(e){var t=(0,l.useDocument)("".concat(o.Gf.PETSETTING,"/").concat("interactions"),{listen:!0}),n=t.data,a=t.set,i=bH((0,r.useState)([]),2),c=i[0],u=i[1],s=bH((0,r.useState)(""),2),d=s[0],f=s[1],m=bH((0,r.useState)(5),2),p=m[0],v=m[1];(0,r.useEffect)(function(){var e=Array.isArray(null==n?void 0:n.items)?n.items:[];u(e)},[n]);var y=(0,r.useCallback)(function(){var e=(d||"").trim();if(!e)return alert("대사를 입력하세요.");var t=Math.max(1,Math.min(10,Number(p)||1));u(function(n){return[{id:CH(),text:e,weight:t}].concat(function(e){if(Array.isArray(e))return EH(e)}(r=n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||hH(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var r}),f(""),v(5)},[d,p]),g=(0,r.useCallback)(gH(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a({items:c,updatedAt:new Date},{merge:!0});case 3:alert("상호작용 문구가 저장되었습니다."),e.next=10;break;case 6:e.prev=6,e.t0=e.catch(0),console.error(e.t0),alert("저장 중 오류가 발생했습니다.");case 10:case"end":return e.stop()}},e,null,[[0,6]])})),[c,a]),E=(0,r.useCallback)(function(){var e=gH(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a({items:c,updatedAt:new Date},{merge:!0});case 3:alert("저장되었습니다."),e.next=10;break;case 6:e.prev=6,e.t0=e.catch(0),console.error(e.t0),alert("저장 중 오류가 발생했습니다.");case 10:case"end":return e.stop()}},e,null,[[0,6]])}));return function(t){return e.apply(this,arguments)}}(),[c,a]),x=(0,r.useCallback)(function(){var e=gH(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=c.filter(function(e){return e.id!==t}),u(n),e.next=5,a({items:n,updatedAt:new Date},{merge:!0});case 5:e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0),alert("삭제 중 오류가 발생했습니다.");case 11:case"end":return e.stop()}},e,null,[[0,7]])}));return function(t){return e.apply(this,arguments)}}(),[c,a]),w=(0,r.useCallback)(function(e,t,n){u(function(r){return r.map(function(r){return r.id===e?pH(pH({},r),{},vH({},t,"weight"===t?Math.max(1,Math.min(10,Number(n)||1)):n)):r})})},[]),A=(0,r.useMemo)(function(){return c.reduce(function(e,t){return e+(Number(t.weight)||0)},0)},[c]),C=(0,r.useMemo)(function(){return[{key:"index",header:"#",width:50,align:"center",render:function(e){return c.findIndex(function(t){return t.id===e.id})+1}},{key:"text",header:"문구",render:function(e){return r.createElement(I.A,{name:"text-".concat(e.id),value:e.text,onChange:function(t){return w(e.id,"text",t.target.value)},placeholder:"${나의펫}이 ${상대펫}을 좋아합니다."})}},{key:"weight",header:"가중치",width:100,align:"center",render:function(e){return r.createElement(I.A,{name:"weight-".concat(e.id),type:"number",min:1,max:10,value:e.weight,onChange:function(t){return w(e.id,"weight",t.target.value)}})}},{key:"actions",header:"액션",width:120,align:"center",render:function(e){return r.createElement(AH,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return E(e.id)}},"저장"),r.createElement(Do.A,{size:"sm",shape:"default",icon:"Trash14",onClick:function(){return x(e.id)}}))}}]},[c,w,E,x]);return r.createElement(b.YO,null,r.createElement("h6",null,"상호작용 문구 관리"),r.createElement(fi.Ay,null,r.createElement(CF,{style:{padding:0,background:"transparent"}},r.createElement(I.A,{label:"상호작용 문구 입력",name:"interaction-text",placeholder:"${나의펫}이 ${상대펫}을 좋아합니다.",value:d,onChange:function(e){return f(e.target.value)}}),r.createElement(I.A,{label:"가중치 (랜덤 확률 1~10)",name:"interaction-weight",type:"number",value:p,min:1,max:10,onChange:function(e){return v(Number(e.target.value)||1)}}),r.createElement(h.A,{onClick:y,style:{flexShrink:0,alignSelf:"end"},icon:"Plus14"},"새 문구 추가")),r.createElement(wH,null,"가중치 합에 비례해 확률이 정해집니다. 예) 전체 합이"," ",Math.max(A,1),"이고 내 가중치가 5면 대략"," ",Math.round(5/Math.max(A,1)*100),"% 확률로 선택됩니다.",r.createElement("br",null),r.createElement("b",null,"문구 템플릿 변수: ","${나의펫}",", ","${상대펫}"," (고정 명칭)")),r.createElement("div",{style:{marginTop:12,display:"flex",justifyContent:"flex-end"}},r.createElement(h.A,{onClick:g,block:!0},"모두 저장")),r.createElement("div",{style:{marginTop:12}},r.createElement(pw.A,{columns:C,data:c,rowKey:function(e){return e.id},emptyText:"등록된 상호작용 문구가 없습니다."}))))},TH=(n(53889),n(28933)),RH=n(51896);function LH(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];
1if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return DH(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?DH(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,l=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw l}}}}function DH(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function UH(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function MH(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){UH(l,r,a,o,i,"next",e)}function i(e){UH(l,r,a,o,i,"throw",e)}o(void 0)})}}function NH(){return NH=MH(regeneratorRuntime.mark(function e(){var t,n,r,a,l,i,c,u,s,d,f,m,p,v,y,g,b,h,E,x,w,A,C,k;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ya.fuego.db.doc("".concat(o.Gf.PETSETTING,"/opponentPetsPool")).get();case 2:if(r=e.sent,a=(null===(t=r.data())||void 0===t?void 0:t.items)||[],Array.isArray(a)&&0!==a.length){e.next=6;break}return e.abrupt("return",{processed:0,failed:0});case 6:return e.next=8,Ya.fuego.db.doc("".concat(o.Gf.PETSETTING,"/interactions")).get();case 8:if(l=e.sent,i=(null===(n=l.data())||void 0===n?void 0:n.items)||[],Array.isArray(i)&&0!==i.length){e.next=12;break}return e.abrupt("return",{processed:0,failed:0});case 12:c=function(){return(0,TH.OB)(i)},u=function(e){if(!a.length)return null;var t=e?a.filter(function(t){return t.userId&&t.userId!==e}):a,n=t.length>0?t:a,r=n[Math.floor(Math.random()*n.length)];return r?{name:r.name||"상대펫"}:null},s=0,d=0,f=Ya.fuego.db.batch(),m=0,p=function(){var e=MH(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==m){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,f.commit();case 4:f=Ya.fuego.db.batch(),m=0;case 6:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),v=LH(a),e.prev=20,v.s();case 22:if((y=v.n()).done){e.next=48;break}if(g=y.value,e.prev=24,b=c()){e.next=28;break}return e.abrupt("continue",46);case 28:if(h=g.name||"나의펫",E=u(g.userId),x=(null==E?void 0:E.name)||"상대펫",w=(0,TH.Ay)(b,{myPetName:h,opponentPetName:x}),A={id:"".concat((0,RH.A)(),"_").concat(Date.now()),userId:g.userId,petId:g.petId,type:"random_dialogue",message:w,createdAt:new Date,isAutoGenerated:!0},C="".concat(o.Gf.USERS,"/").concat(g.userId,"/pets/").concat(g.petId,"/logs"),k=Ya.fuego.db.collection(C).doc(),f.set(k,A),!((m+=1)>=400)){e.next=40;break}return e.next=40,p();case 40:s+=1,e.next=46;break;case 43:e.prev=43,e.t0=e.catch(24),d+=1;case 46:e.next=22;break;case 48:e.next=53;break;case 50:e.prev=50,e.t1=e.catch(20),v.e(e.t1);case 53:return e.prev=53,v.f(),e.finish(53);case 56:return e.next=58,p();case 58:try{alert("모든 펫에게 새로운 상호작용 문구가 출력되었습니다.")}catch(e){}return e.abrupt("return",{processed:s,failed:d});case 60:case"end":return e.stop()}},e,null,[[20,50,53,56],[24,43]])})),NH.apply(this,arguments)}function zH(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function BH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function FH(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?BH(Object(n),!0).forEach(function(t){GH(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):BH(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function GH(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HH(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function $H(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){HH(l,r,a,o,i,"next",e)}function i(e){HH(l,r,a,o,i,"throw",e)}o(void 0)})}}function VH(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||WH(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function WH(e,t){if(e){if("string"==typeof e)return _H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_H(e,t):void 0}}function _H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qH,KH,YH,JH,QH,ZH,XH,e$,t$,n$,r$,a$,l$,o$,i$=36e5,c$=C.Ay.div(kH||(kH=zH(["\n  display: flex;\n  flex-direction: column;\n"]))),u$=C.Ay.div(SH||(SH=zH(["\n  display: flex;\n  justify-content: space-between;\n  gap: 12px;\n  padding: 8px 12px;\n  border-bottom: 1px solid var(--cardLineColor);\n  color: var(--textColor);\n"]))),s$=C.Ay.div(OH||(OH=zH(["\n  font-size: 13px;\n"]))),d$=C.Ay.div(IH||(IH=zH(["\n  font-size: 11px;\n  color: var(--subTextColor);\n"]))),f$=C.Ay.div(jH||(jH=zH(["\n  padding: 16px;\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),m$=function(e){var t=(0,l.useDocument)("".concat(o.Gf.PETSETTING,"/").concat("interaction_default"),{listen:!0}),n=t.data,a=t.set,i=((0,l.useDocument)("".concat(o.Gf.PETSETTING,"/interactions"),{listen:!0}).data,VH((0,r.useState)(!1),2)),c=i[0],u=i[1],s=VH((0,r.useState)("24"),2),d=s[0],f=s[1],m=VH((0,r.useState)(!1),2),p=m[0],v=m[1],y=VH((0,r.useState)([]),2),g=y[0],E=y[1],x=VH((0,r.useState)(!1),2),A=x[0],C=x[1],k=VH((0,r.useState)([]),2),S=k[0],O=k[1];(0,r.useEffect)(function(){var e,t;if(n){u(Boolean(n.isEnabled));var r=Number(null!==(e=n.interval)&&void 0!==e?e:864e5),a=isFinite(r)&&r>0?r/i$:24;f(String(a)),v(Boolean(null===(t=n.conditions)||void 0===t?void 0:t.onlyOwnedPets)),E(Array.isArray(n.templates)?n.templates:[])}},[n]);var I=(0,r.useCallback)($H(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,TH.tq)({customMyPetName:"나의펫"});case 2:t=e.sent,O(function(e){return[t].concat(function(e){if(Array.isArray(e))return _H(e)}(n=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||WH(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var n});case 4:case"end":return e.stop()}},e)})),[]),j=(0,r.useCallback)($H(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,l.fuego.db.collectionGroup("pets").get();case 3:return t=e.sent,n=[],t.docs.forEach(function(e){var t=e.data()||{};t&&t.customName&&t.userId&&n.push({userId:t.userId,petId:e.id,name:t.customName})}),r=l.fuego.db.doc("".concat(o.Gf.PETSETTING,"/opponentPetsPool")),e.next=9,r.set({items:n,updatedAt:new Date},{merge:!0});case 9:alert("랜덤 상대 펫 풀 재정렬 완료 (".concat(n.length,"마리)")),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(0),console.error(e.t0),alert("재정렬 중 오류가 발생했습니다.");case 16:case"end":return e.stop()}},e,null,[[0,12]])})),[]),P=(0,r.useCallback)($H(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,C(!0),t=Math.max(.1,parseFloat(d||"24")),e.next=5,a({isEnabled:c,interval:Math.round(t*i$),templates:g,conditions:FH(FH({},(null==n?void 0:n.conditions)||{}),{},{onlyOwnedPets:p}),updatedAt:new Date},{merge:!0});case 5:alert("상호작용 설정이 저장되었습니다."),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0),alert("저장에 실패했습니다.");case 12:return e.prev=12,C(!1),e.finish(12);case 15:case"end":return e.stop()}},e,null,[[0,8,12,15]])})),[c,d,p,g,a,n]),T=(0,r.useCallback)(function(){!function(){NH.apply(this,arguments)}()},[]);return r.createElement(b.YO,null,r.createElement("h6",null,"상호작용 설정"),r.createElement(fi.Ay,null,r.createElement(fi.aR,null,r.createElement(w.A,{isChecked:c,handleSwitch:function(){return u(function(e){return!e})}},r.createElement("div",null,"랜덤 문구 출력 활성화"))),r.createElement("div",{style:{display:"flex",gap:8,marginTop:12}},r.createElement(h.A,{onClick:T,shape:"stroke",block:!0},"모든 펫에게 지금 상호작용 문구 출력"),r.createElement(h.A,{onClick:P,loading:A,block:!0},"저장"))),r.createElement(fi.Ay,{style:{marginTop:12}},r.createElement(fi.aR,null,r.createElement(kF,null,"로그 미리보기"),r.createElement("div",{style:{display:"flex",gap:8}},r.createElement(h.A,{shape:"stroke",onClick:j},"랜덤 상대 펫 재정렬"),r.createElement(h.A,{shape:"stroke",onClick:I},"모의 랜덤 문구 출력"))),0===S.length?r.createElement(f$,null,"아직 미리보기 로그가 없어요"):r.createElement(c$,null,S.map(function(e){return r.createElement(u$,{key:e.id},r.createElement(s$,null,e.message),r.createElement(d$,null,new Date(e.timestamp).toLocaleTimeString()))}
1))))};function p$(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function v$(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function y$(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){v$(l,r,a,o,i,"next",e)}function i(e){v$(l,r,a,o,i,"throw",e)}o(void 0)})}}function g$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function b$(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g$(Object(n),!0).forEach(function(t){h$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h$(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E$(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||x$(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x$(e,t){if(e){if("string"==typeof e)return w$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w$(e,t):void 0}}function w$(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var A$,C$=function(e){var t,n=e.system,a=e.onUpdate,l=E$((0,Mn.zN)({id:n.id,isActive:Boolean(n.isActive),levelTemplate:n.levelTemplate,maxLevel:n.maxLevel,levelRequirements:n.levelRequirements,levelUpRewards:n.levelUpRewards||{}}),5),o=l[0],i=(l[1],l[2],l[3]),c=l[4];return(0,r.useEffect)(function(){i({id:n.id,isActive:Boolean(n.isActive),levelTemplate:n.levelTemplate,maxLevel:n.maxLevel,levelRequirements:n.levelRequirements,levelUpRewards:n.levelUpRewards||{}})},[n,i]),r.createElement(j$,null,r.createElement(P$,null,r.createElement(I$,null,"기본 설정"),r.createElement(T$,null,r.createElement(R$,null,"레벨 시스템 활성화 여부"),r.createElement(L$,null,"레벨 시스템을 활성화하면 펫이 레벨업을 할 수 있습니다. ",r.createElement("br",null),"레벨 시스템 활성화와 별개로 펫의 [경험치]섹션은 [펫 행동] 활동을 위해 존재합니다."),r.createElement(w.A,{isChecked:Boolean(o.isActive),handleSwitch:function(){var e=!Boolean(o.isActive);c("isActive",e),a(n.id,{isActive:e})}})),r.createElement(T$,{style:{display:"flex",gap:12}},r.createElement("div",{style:{flex:1}},(t=[{value:"linear",description:S$("linear")},{value:"exponential",description:S$("exponential")}],r.createElement(x.A,{label:"레벨 템플릿",name:"levelTemplate",selectList:t,selectedKey:o.levelTemplate||"linear",setSelectedKey:function(e){return t=e||"linear",i(function(e){return b$(b$({},e),{},{levelTemplate:t,levelRequirements:k$(t,e.maxLevel)})}),void a(n.id,{levelTemplate:t});var t}})),r.createElement(L$,{style:{marginTop:6}},S$(o.levelTemplate||"linear"))),r.createElement(I.A,{label:"최대 레벨",name:"maxLevel",type:"number",value:o.maxLevel,onChange:function(e){var t=parseInt(e.target.value)||1;i(function(e){return b$(b$({},e),{},{maxLevel:t,levelRequirements:k$(e.levelTemplate,t)})}),a(n.id,{maxLevel:t})},min:1,max:1e3,placeholder:"1"}))),r.createElement(P$,null,r.createElement(I$,null,"레벨업 요구사항"),r.createElement(D$,null,Array.from({length:o.maxLevel-1},function(e,t){var l,i,u=t+2,s=o.levelRequirements[t]||0;return r.createElement(U$,{key:t},r.createElement(M$,null,"Lv.",u),r.createElement(I.A,{label:"레벨업 필요 경험치",name:"req_".concat(t),type:"number",value:s,onChange:function(e){return function(e,t){var r,l=parseInt(t.target.value)||0,i=function(e){if(Array.isArray(e))return w$(e)}(r=o.levelRequirements)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||x$(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();i[e]=l,c("levelRequirements",i),a(n.id,{levelRequirements:i})}(t,e)},placeholder:"경험치"}),r.createElement(N$,null,r.createElement(I.A,{label:"레벨업 보상 재화 지급",name:"reward_currency_".concat(u),type:"number",value:(null===(l=o.levelUpRewards)||void 0===l||null===(i=l[u])||void 0===i?void 0:i.currency)||0,onChange:function(e){return function(e,t){var r=parseInt(t.target.value)||0,l=b$({},o.levelUpRewards||{});l[e]||(l[e]={}),l[e].currency=r,c("levelUpRewards",l),a(n.id,{levelUpRewards:l})}(u,e)},placeholder:"0"})))}))))},k$=function(e,t){for(var n=[],r=2;r<=t;r++){var a=void 0;switch(e){case"linear":default:a=1e3*r;break;case"exponential":a=100*Math.pow(r,2)}n.push(a)}return n},S$=function(e){switch(e){case"linear":return"레벨업 마다 일정하게 요구 경험치가 증가합니다. 초보자에게 친화적입니다. 계산된 값을 기준으로 직접 수정할 수 있습니다.";case"exponential":return"레벨이 올라갈수록 기하급수적으로 더 많은 경험치가 필요합니다. 계산된 값을 기준으로 직접 수정할 수 있습니다.";default:return""}},O$=C.Ay.div(qH||(qH=p$([""]))),I$=C.Ay.h3(KH||(KH=p$(["\n  font-size: 18px;\n  font-weight: bold;\n  margin-bottom: 16px;\n  color: var(--textColor);\n"]))),j$=C.Ay.div(YH||(YH=p$(["\n  display: flex;\n  flex-direction: column;\n  gap: 32px;\n"]))),P$=C.Ay.div(JH||(JH=p$(["\n  padding: 20px;\n  border: 1px solid var(--cardLineColor);\n  border-radius: 12px;
1\n  background: var(--cardBackgroundColor);\n"]))),T$=C.Ay.div(QH||(QH=p$(["\n  margin-bottom: 20px;\n"]))),R$=C.Ay.label(ZH||(ZH=p$(["\n  display: block;\n  font-size: 14px;\n  font-weight: bold;\n  color: var(--textColor);\n  margin-bottom: 8px;\n"]))),L$=C.Ay.div(XH||(XH=p$(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin-top: 4px;\n  line-height: 1.4;\n"]))),D$=C.Ay.div(e$||(e$=p$(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),U$=C.Ay.div(t$||(t$=p$(["\n  display: flex;\n  gap: 12px;\n\n  align-items: center;\n  justify-content: space-between;\n  padding: 10px 12px;\n  border: 1px solid var(--cardLineColor);\n  border-radius: 6px;\n  background: var(--subCardBackgroundColor);\n"]))),M$=C.Ay.div(n$||(n$=p$(["\n  font-weight: bold;\n  display: flex;\n  gap: 12px;\n  color: var(--primaryColor);\n"]))),N$=C.Ay.div(r$||(r$=p$(["\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 16px;\n"]))),z$=C.Ay.div(a$||(a$=p$(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  height: 300px;\n  gap: 16px;\n"]))),B$=C.Ay.div(l$||(l$=p$(["\n  font-size: 48px;\n  opacity: 0.5;\n"]))),F$=C.Ay.div(o$||(o$=p$(["\n  font-size: 16px;\n  color: var(--subTextColor);\n"]))),G$=function(e){var t=E$((0,r.useState)([]),2),n=t[0],a=t[1],i=E$((0,r.useState)(""),2),c=i[0],u=i[1],s=(0,l.useDocument)("".concat(o.Gf.PETSETTING,"/levelSystem"),{listen:!0}),d=s.data,f=s.set;(0,r.useEffect)(function(){var e,t,n,r,l="levelSystem",o=!1,i="linear";if(d){var c,s={id:d.id||l,isActive:null!==(c=d.isActive)&&void 0!==c?c:o,levelTemplate:d.levelTemplate||d.type||i,maxLevel:d.maxLevel||10,levelRequirements:(e=d.maxLevel||10,t=d.levelTemplate||d.type||i,n=Array.isArray(d.levelRequirements)?d.levelRequirements:[],r=Math.max(0,e-1),Array.from({length:r},function(e,r){var a=n[r];if(Number.isFinite(a))return Number(a);var l=r+2;return"linear"===t?1e3*l:100*Math.pow(l,2)})),levelUpRewards:d.levelUpRewards||{}};return a([s]),void u(s.id)}var f={id:l,isActive:o,levelTemplate:i,maxLevel:10,levelRequirements:Array.from({length:9},function(e,t){return 1e3*(t+2)}),levelUpRewards:{}};a([f]),u(f.id)},[d]);var m=(0,r.useCallback)(function(e,t){a(function(n){return n.map(function(n){if(n.id===e){var r=b$(b$({},n),t);return(t.levelTemplate||t.maxLevel)&&(r.levelRequirements=k$(r.levelTemplate,r.maxLevel)),r}return n})})},[]),p=n.find(function(e){return e.id===c}),v=(0,r.useCallback)(y$(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;
1)switch(e.prev=e.next){case 0:if(p){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,t=b$(b$({},p),{},{id:p.id||"levelSystem"}),e.next=6,f(t,{merge:!0});case 6:alert("레벨 시스템이 저장되었습니다."),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(2),console.error(e.t0),alert("저장 중 오류가 발생했습니다.");case 13:case"end":return e.stop()}},e,null,[[2,9]])})),[p,f]);return r.createElement(dF,null,r.createElement(fF,null,r.createElement(mF,null,"레벨 시스템 관리"),r.createElement(h.A,{onClick:v},"저장하기")),r.createElement(O$,null,p?r.createElement(C$,{system:p,onUpdate:m}):r.createElement(z$,null,r.createElement(B$,null,"📊"),r.createElement(F$,null,"레벨 시스템을 선택하세요"))))};function H$(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function $$(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){H$(l,r,a,o,i,"next",e)}function i(e){H$(l,r,a,o,i,"throw",e)}o(void 0)})}}function V$(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return W$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W$(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W$(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var _$,q$,K$,Y$,J$,Q$,Z$=C.Ay.div(A$||(A$=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  gap: 12px;\n"]))),X$=function(e){var t,n,a,i=(0,l.useDocument)("".concat(o.Mb.PET),{listen:!0}),c=i.data,u=i.set,s=V$((0,Mn.zN)({maxHunger:null!==(t=null==c?void 0:c.maxHunger)&&void 0!==t?t:100,hungerDecay:null!==(n=null==c?void 0:c.hungerDecay)&&void 0!==n?n:1,maxExp:null!==(a=null==c?void 0:c.maxExp)&&void 0!==a?a:100}),2),d=s[0],f=d.maxHunger,m=d.hungerDecay,p=d.maxExp,v=s[1],y=V$((0,Mr.A)((null==c?void 0:c.isActive)||!0),2),g=y[0],E=(y[1],V$((0,r.useState)(""),2)),x=E[0],w=E[1];(0,r.useEffect)(function(){var e,t;c&&w(null!==(e=null==c||null===(t=c.customTerms)||void 0===t?void 0:t.petLabel)&&void 0!==e?e:"")},[c]);var C=V$(r.useState(null),2),k=C[0],S=C[1],O=(0,r.useCallback)(function(){null!=c&&c.backgroundImgURL&&(0,me.deleteImg)({imgURL:c.backgroundImgURL,docId:"pet-default",key:"backgroundImgURL",collectionPath:o.Mb.PET})},[null==c?void 0:c.backgroundImgURL]),j=(0,r.useCallback)($$(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=(null==c?void 0:c.backgroundImgURL)||"",!k){e.next=5;break}return e.next=4,(0,me.updateImgAndGetURL)({selectedFile:k,collectionPath:o.Mb.PET,prevImgURL:null==c?void 0:c.backgroundImgURL});case 4:t=e.sent;case 5:n={maxHunger:f,hungerDecay:m,maxExp:p,isActive:g,backgroundImgURL:t,customTerms:{petLabel:x.trim()||null}},u(n,{merge:!0}),S(null);case 8:case"end":return e.stop()}},e)})),[f,m,p,g,x,k,null==c?void 0:c.backgroundImgURL,u]);return r.createElement(b.YO,null,r.createElement("h6",null,"펫 기본 설정"),r.createElement(Z$,null,r.createElement(I.A,{label:"최대 포만감(maxHunger)",value:String(f),name:"maxHunger",onChange:v,placeholder:"예: 100"}),r.createElement(I.A,{label:"배고픔 감소량/시간(분)",value:String(m),name:"hungerDecay",onChange:v,placeholder:"예: 1"}),r.createElement(I.A,{label:"최대 경험치(레벨 시스템 우선 적용됨)",value:String(p),name:"maxExp",onChange:v,placeholder:"예: 1"})),r.createElement("div",{style:{marginTop:16}},r.createElement("h6",null,"펫 기본 배경 이미지"),r.createElement(A.A,{id:"pet-default-bg",setSelectedFile:S,prevImgURL:(null==c?void 0:c.backgroundImgURL)||"",text:"이미지 추가",customDelete:O,label:"권장 1000*800",style:{minWidth:240,height:80}})),r.createElement("div",{style:{marginTop:16}},r.createElement("h6",null,"커스텀 용어"),r.createElement(b.N9,null,r.createElement(b.O9,null,"펫 표시 이름"),r.createElement(I.A,{name:"petLabel",value:x,onChange:function(e){return w(e.target.value)},placeholder:"펫 (비워두면 기본값)",style:{maxWidth:200}}),r.createElement(b.PF,null,"사용자 화면에서 '펫' 대신 표시할 단어를 입력하세요. (예: 포켓몬, 몬스터)"))),r.createElement(h.A,{onClick:j},"저장"))};function eV(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function tV(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){eV(l,r,a,o,i,"next",e)}function i(e){eV(l,r,a,o,i,"throw",e)}o(void 0)})}}function nV(e){return function(e){if(Array.isArray(e))return lV(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||aV(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rV(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||aV(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function aV(e,t){if(e){if("string"==typeof e)return lV(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lV(e,t):void 0}}function lV(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function oV(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function iV(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oV(Object(n),!0).forEach(function(t){cV(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oV(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function cV(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uV(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(68200);var sV,dV,fV,mV,pV,vV,yV,gV,bV,hV,EV,xV,wV,AV=C.Ay.div(_$||(_$=uV(["\n  display: grid;\n  grid-template-columns: 260px 1fr;\n  gap: 12px;\n  align-items: start;\n"]))),CV=C.Ay.div(q$||(q$=uV(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),kV=C.Ay.div(K$||(K$=uV(["\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 8px;\n  align-items: end;\n"]))),SV=C.Ay.div(Y$||(Y$=uV(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  height: fit-content;\n"]))),OV=C.Ay.button(J$||(J$=uV(["\n  padding: 6px 10px;\n  border-radius: 16px;\n  border: 1px solid\n    ",";\n  background: ",";\n  color: ",";\n  cursor: pointer;\n  font-size: 12px;\n  transition: 0.2s ease;\n"])),function(e){return e.$active?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$active?"rgba(var(--primaryColorRGB),0.15)":"transparent"},function(e){return e.$active?"var(--primaryColor)":"var(--textColor)"}),IV=C.Ay.div(Q$||(Q$=uV(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  margin-bottom: 16px;\n  padding-bottom: 16px;\n  border-bottom: 1px dashed var(--lineColor);\n"]))),jV=function(e){var t=(0,l.useDocument)("".concat("petSetting","/").concat("personalities"),{listen:!0}),n=t.data,a=t.set,o=(0,r.useMemo)(function(){return iV({},rG.iO)},[]),i=(0,r.useMemo)(function(){return iV({},rG.ck)},[]),c=rV((0,r.useState)(o),2),u=c[0],s=c[1],d=rV((0,r.useState)({}),2),f=d[0],m=d[1],p=rV((0,r.useState)(!1),2),v=p[0],y=p[1],g=rV((0,r.useState)(""),2),E=g[0],x=g[1],w=rV((0,r.useState)(""),2),A=w[0],C=w[1],k=rV((0,r.useState)(""),2),S=k[0],O=k[1],j=rV((0,r.useState)(""),2),P=j[0],T=j[1];(0,r.useEffect)(function(){if(!n)return s(o),void m(i);s(n.types&&Object.keys(o).length?iV(iV({},o),n.types||{}):o);var e={},t=n.scripts||{};Array.from(new Set([].concat(nV(Object.keys(i)),nV(Object.keys(t||{}))))).forEach(function(n){var r=Array.isArray(null==t?void 0:t[n])?t[n]:void 0,a=i[n]||[];e[n]=nV(r||a)}),m(e)},[n,o,i]),(0,r.useEffect)(function(){var e=Object.keys(u||{});!E&&e.length>0&&x(e[0])},[u,E]),(0,r.useEffect)(function(){T(E)},[E]);var R=(0,r.useCallback)(function(e,t){s(function(n){return iV(iV({},n),{},cV({},e,t))})},[]),L=(0,r.useCallback)(function(e,t,n){m(function(r){var a=Array.isArray(r[e])?nV(r[e]):[];return a[t]=n,iV(iV({},r),{},cV({},e,a))})},[]),D=(0,r.useCallback)(function(e){m(function(t){var n=Array.isArray(t[e])?nV(t[e]):[];return n.push(""),iV(iV({},t),{},cV({},e,n))})},[]),U=(0,r.useCallback)(function(e,t){m(function(n){var r=Array.isArray(n[e])?nV(n[e]):[];return r.splice(t,1),iV(iV({},n),{},cV({},e,r))})},[]),M=(0,r.useCallback)(function(){confirm("기본값으로 초기화할까요? 기존 수정 내용은 사라집니다.")&&(s(o),m(i))},[o,i]),N=function(e){var t=(e||"").trim();return t?/^[a-z0-9_]+$/.test(t)?"":"키는 소문자/숫자/언더스코어만 허용됩니다.":"키는 비어 있을 수 없습니다."},z=(0,r.useCallback)(tV(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=N(A))){e.next=3;break}return e.abrupt("return",alert(t));case 3:if(!u[A]){e.next=5;break}return e.abrupt("return",alert("이미 존재하는 키입니다."));case 5:return n=iV(iV({},u),{},cV({},A,S||A)),r=iV(iV({},f),{},cV({},A,[])),e.prev=7,y(!0),e.next=11,a({types:n,scripts:r,updatedAt:new Date},{merge:!0});case 11:s(n),m(r),x(A),C(""),O(""),e.next=22;break;case 18:e.prev=18,e.t0=e.catch(7),console.error(e.t0),alert("키 추가 저장에 실패했습니다.");case 22:return e.prev=22,y(!1),e.finish(22);case 25:case"end":return e.stop()}},e,null,[[7,18,22,25]])})),[A,S,u,f,a]),B=E&&f[E]||[],F=(0,r.useCallback)(tV(regeneratorRuntime.mark(function e(){var t,n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,y(!0),t={},Object.keys(u||{}
1).forEach(function(e){var n=(e||"").trim(),r=String(u[e]||"").trim();n&&(t[n]=r||n)}),n={},Object.keys(t).forEach(function(e){var t=(e===E?B:Array.isArray(null==f?void 0:f[e])?f[e]:[]).map(function(e){return String(e||"").trim()}).filter(Boolean);n[e]=t}),r={types:t,scripts:n,updatedAt:new Date},e.next=9,a(r,{merge:!1});case 9:alert("성격 설정이 저장되었습니다."),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(0),console.error(e.t0),alert("저장에 실패했습니다.");case 16:return e.prev=16,y(!1),e.finish(16);case 19:case"end":return e.stop()}},e,null,[[0,12,16,19]])})),[u,f,E,B,a]),G=(0,r.useMemo)(function(){return Object.keys(u||{})},[u]);return r.createElement(b.YO,null,r.createElement("h6",null,"펫 성격 키워드 및 대사 설정"),r.createElement(fi.Ay,null,r.createElement(IV,null,r.createElement("h6",null,"키워드 추가"),r.createElement("div",{style:{display:"flex",gap:8}},r.createElement(I.A,{label:"새 키워드 키",name:"new-key",placeholder:"예: brave",value:A,onChange:function(e){return C(e.target.value)}}),r.createElement(I.A,{label:"새 키워드 표시 이름",name:"new-label",placeholder:"예: 용감함",value:S,onChange:function(e){return O(e.target.value)}}),r.createElement(h.A,{size:"sm",onClick:z,style:{flexShrink:0},icon:"Plus14"},"추가"))),r.createElement("h6",null,"성격 키워드"),r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingBottom:8}},r.createElement("div",{style:{color:"var(--subTextColor)",fontSize:12}},"기본값은 시스템 내장값이며, 저장 시 커스텀 값이 반영됩니다."),r.createElement("div",{style:{display:"flex",gap:8}},r.createElement(h.A,{shape:"stroke",onClick:M},"기본값 복원"),r.createElement(h.A,{loading:v,onClick:F},"저장"))),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1.5fr",gap:8}},r.createElement(SV,null,G.map(function(e){return r.createElement(OV,{key:e,$active:E===e,onClick:function(){return x(e)}},u[e]," ",r.createElement("span",{style:{color:"var(--subTextColor)",marginLeft:6,fontSize:11}},"#",e))})),E&&r.createElement("div",{style:{paddingTop:12}},r.createElement(AV,null,r.createElement("div",null,r.createElement(Ro.A,null,"키워드 키"),r.createElement(I.A,{name:"key-".concat(E),value:P,onChange:function(e){return T(e.target.value)},placeholder:"예: active"})),r.createElement("div",null,r.createElement(Ro.A,null,"표시 이름"),r.createElement(I.A,{name:"label-".concat(E),value:u[E]||"",onChange:function(e){return R(E,e.target.value)},placeholder:"예: 활동적"}))),r.createElement("div",{style:{marginTop:8}},r.createElement(Ro.A,null,"대사 목록"),r.createElement(CV,null,(B||[]).map(function(e,t){return r.createElement(kV,{key:"".concat(E,"-").concat(t)},r.createElement(I.A,{name:"script-".concat(E,"-").concat(t),value:e,onChange:function(e){return L(E,t,e.target.value)},placeholder:"대사를 입력하세요"}),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return U(E,t)}},"삭제"))}),r.createElement("div",null,r.createElement(h.A,{size:"sm",onClick:function(){return D(E)}},"+ 대사 추가"))))))))},PV=n(698);function TV(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function RV(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function LV(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){RV(l,r,a,o,i,"next",e)}function i(e){RV(l,r,a,o,i,"throw",e)}o(void 0)})}}function DV(e){return function(e){if(Array.isArray(e))return NV(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||MV(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function UV(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||MV(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function MV(e,t){if(e){if("string"==typeof e)return NV(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?NV(e,t):void 0}}function NV(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function zV(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function BV(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zV(Object(n),!0).forEach(function(t){FV(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zV(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function FV(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var GV,HV,$V,VV,WV,_V,qV,KV=function(e){var t=e.uid,n=(0,l.useCollection)("".concat(o.Gf.USERS,"/").concat(t,"/pets"),{listen:!0,orderBy:["createdAt","desc"]}),a=n.data,i=n.mutate,c=(null==a?void 0:a.length)||0,u=(0,l.useCollection)(o.Gf.PET,{listen:!0,orderBy:["createdAt","desc"]}).data,s=(0,tC.A)().openToast,d=(0,l.useDocument)("petSetting/personalities",{listen:!0}).data,f=(0,r.useMemo)(function(){var e=BV({},rG.iO),t=(null==d?void 0:d.types)||{};return BV(BV({},e),t)},[d]),m=UV((0,r.useState)({}),2),p=m[0],v=m[1],y=UV((0,r.useState)({}),2),g=y[0],b=y[1],E=UV((0,r.useState)({}),2),x=E[0],w=E[1],A=UV((0,r.useState)({}),2),C=A[0],k=A[1],S=UV((0,r.useState)({}),2),O=S[0],j=S[1],P=UV((0,r.useState)({}),2),T=P[0],R=P[1],L=UV((0,r.useState)({}),2),D=L[0],U=L[1];(0,r.useEffect)(function(){a&&(v(function(e){var t=BV({},e);return a.forEach(function(e){void 0===t[e.id]&&(t[e.id]=Array.isArray(e.personalities)?DV(e.personalities):[])}),t}),b(function(e){var t=BV({},e);return a.forEach(function(e){void 0===t[e.id]&&(t[e.id]=e.customName||"")}),t}),w(function(e){var t=BV({},e);return a.forEach(function(e){void 0===t[e.id]&&(t[e.id]=Number(e.level)||1)}),t}),k(function(e){var t=BV({},e);return a.forEach(function(e){void 0===t[e.id]&&(t[e.id]=Number(e.hunger)||0)}),t}),j(function(e){var t=BV({},e);return a.forEach(function(e){void 0===t[e.id]&&(t[e.id]=Number(e.experience)||0)}),t}),R(function(e){var t=BV({},e);return a.forEach(function(e){if(!Array.isArray(t[e.id])){var n,r,a=null!==(n=null==e||null===(r=e.ownerCharacter)||void 0===r?void 0:r.id)&&void 0!==n?n:null==e?void 0:e.ownerCharacterId;t[e.id]=a?[String(a)]:[]}}),t}))},[a]);var M=(0,r.useCallback)(function(e,t){v(function(n){var r=Array.isArray(n[e])?n[e]:[],a=r.includes(t)?r.filter(function(e){return e!==t}):[].concat(DV(r),[t]);return BV(BV({},n),{},FV({},e,a))})},[]),N=(0,r.useCallback)(function(e,t){var n=(u||[]).find(function(e){return e.id===t}),r=Array.isArray(null==n?void 0:n.personalities)?n.personalities:[];v(function(t){return BV(BV({},t),{},FV({},e,DV(r)))})},[u]),z=(0,r.useCallback)(function(){var e=LV(regeneratorRuntime.mark(function e(n){var r,a,i,c,u,d,f,m,v,y;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u=p[n]||[],d=null!==(r=g[n])&&void 0!==r?r:"",f=Math.max(1,Number(null!==(a=x[n])&&void 0!==a?a:1)||1),m=Math.max(0,Math.min(100,Number(null!==(i=C[n])&&void 0!==i?i:0)||0)),v=Math.max(0,Number(null!==(c=O[n])&&void 0!==c?c:0)||0),y=(T[n]||[])[0],e.prev=6,U(function(e){return BV(BV({},e),{},FV({},n,!0))}),e.next=10,l.fuego.db.collection("".concat(o.Gf.USERS,"/").concat(t,"/pets")).doc(n).set(BV(BV({customName:d,personalities:u,level:f,hunger:m,experience:v},y?{ownerCharacter:{id:y,collectionPath:o.Gf.PHOTOCARD}}:{}),{},{updatedAt:new Date}),{merge:!0});case 10:s("펫 정보가 저장되었습니다."),e.next=17;break;case 13:e.prev=13,e.t0=e.catch(6),console.error(e.t0),s("저장 중 오류가 발생했습니다.");case 17:return e.prev=17,U(function(e){return BV(BV({},e),{},FV({},n,!1))}),e.finish(17);case 20:case"end":return e.stop()}},e,null,[[6,13,17,20]])}));return function(t){return e.apply(this,arguments)}}(),[p,g,x,C,O,T,t,s]),B=(0,r.useCallback)(function(){var e=LV(regeneratorRuntime.mark(function e(n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(window.confirm("해당 펫을 회수하시겠어요?\n펫의 레벨업 상태 및 커스텀 외형(이미지/이름 등)이 모두 삭제됩니다. 되돌릴 수 없습니다.")){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,U(function(e){return BV(BV({},e),{},FV({},n,!0))}),e.next=7,l.fuego.db.collection("".concat(o.Gf.USERS,"/").concat(t,"/pets")).doc(n).delete();case 7:return s("펫을 회수했습니다."),e.next=10,i();case 10:e.next=17;break;case 12:e.prev=12,e.t0=e.catch(3),console.error(e.t0),s("펫 회수 중 오류가 발생했습니다."),alert("펫 회수 중 오류가 발생했습니다.");case 17:return e.prev=17,U(function(e){return BV(BV({},e),{},FV({},n,!1))}),e.finish(17);case 20:case"end":return e.stop()}},e,null,[[3,12,17,20]])}));return function(t){return e.apply(this,arguments)}}(),[t,s,i]);return r.createElement(YV,null,r.createElement(JV,null,r.createElement(QV,null,"보유중인 펫"),r.createElement(iW,null,c.toString()," 마리")),c>0?r.createElement(ZV,null,null==a?void 0:a.map(function(e){var t,n,a,l,i,c,u,s,d=p[e.id]||[],m=D[e.id]||!1,v=null!==(t=null!==(n=g[e.id])&&void 0!==n?n:e.customName)&&void 0!==t?t:"";return r.createElement(XV,{key:e.id},r.createElement(eW,null,e.customImgURL?r.createElement(tW,{src:e.customImgURL,alt:e.customName||e.petTemplateId}):r.createElement("div",{style:{width:64,height:64,borderRadius:8,background:"rgba(255,255,255,0.04)",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--subTextColor)",fontSize:12}},"이미지 없음"),r.createElement("div",null,r.createElement(nW,null,e.customName||e.petTemplateId),r.createElement(rW,null,"ID: ",e.id))),r.createElement("div",null,r.createElement(I.A,{name:"pet-name-".concat(e.id),placeholder:"펫 이름 입력",value:v,onCh
1ange:function(t){return b(function(n){return BV(BV({},n),{},FV({},e.id,t.target.value))})}})),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:8}},r.createElement(I.A,{label:"레벨",name:"pet-level-".concat(e.id),type:"number",value:null!==(a=null!==(l=x[e.id])&&void 0!==l?l:e.level)&&void 0!==a?a:1,onChange:function(t){return w(function(n){return BV(BV({},n),{},FV({},e.id,Number(t.target.value)||1))})},min:1}),r.createElement(I.A,{label:"배고픔(0~100)",name:"pet-hunger-".concat(e.id),type:"number",value:null!==(i=null!==(c=C[e.id])&&void 0!==c?c:e.hunger)&&void 0!==i?i:0,onChange:function(t){return k(function(n){return BV(BV({},n),{},FV({},e.id,Number(t.target.value)||0))})},min:0,max:100}),r.createElement(I.A,{label:"경험치",name:"pet-exp-".concat(e.id),type:"number",value:null!==(u=null!==(s=O[e.id])&&void 0!==s?s:e.experience)&&void 0!==u?u:0,onChange:function(t){return j(function(n){return BV(BV({},n),{},FV({},e.id,Number(t.target.value)||0))})},min:0})),r.createElement("div",null,r.createElement(vu.A,{label:"소유 캐릭터 지정",placeholder:"캐릭터 검색",collectionPath:o.Gf.PHOTOCARD,selectedIDList:T[e.id]||[],setSelectedIDList:function(t){return R(function(n){return BV(BV({},n),{},FV({},e.id,"function"==typeof t?t(n[e.id]||[]):t))})},id:"pet_owner_char_".concat(e.id),selectOnlyOne:!0,orderBy:["createdAt","desc"]})),r.createElement(oW,null,r.createElement("div",{style:{fontSize:11,color:"var(--subTextColor)"}},"성격"),r.createElement("div",{style:{display:"flex",gap:6}},r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return N(e.id,e.petTemplateId)}},"템플릿 적용"))),r.createElement(aW,null,Object.entries(f).map(function(t){var n=UV(t,2),a=n[0],l=n[1];return r.createElement(lW,{key:"".concat(e.id,"-").concat(a),$active:Array.isArray(d)&&d.includes(a),onClick:function(){return M(e.id,a)},type:"button",role:"checkbox","aria-checked":Array.isArray(d)&&d.includes(a),"aria-label":"".concat(l," 선택")},l)})),r.createElement("div",{style:{display:"flex",gap:6}},r.createElement(h.A,{size:"sm",loading:m,shape:"stroke",onClick:function(){return B(e.id)},block:!0},"펫 회수"),r.createElement(h.A,{size:"sm",loading:m,onClick:function(){return z(e.id)},block:!0},"저장")))})):r.createElement("div",{style:{color:"var(--subTextColor)",fontSize:13}},"아직 보유한 펫이 없습니다."))},YV=C.Ay.div(sV||(sV=TV(["\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;\n  padding: 12px;\n"]))),JV=C.Ay.div(dV||(dV=TV(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 10px;\n"]))),QV=C.Ay.h6(fV||(fV=TV(["\n  margin: 0;\n  font-size: 14px;\n  color: var(--subTextColor);\n"]))),ZV=C.Ay.div(mV||(mV=TV(["\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\n  gap: 12px;\n"]))),XV=C.Ay.div(pV||(pV=TV(["\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;\n  background: var(--backgroundColor);\n  padding: 12px;\n  display: grid;\n  grid-template-rows: auto auto auto 1fr;\n  gap: 8px;\n  transition: border-color 0.2s ease, box-shadow 0.2s ease;\n  &:hover {\n    border-color: var(--primaryColor);\n    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);\n  }\n"]))),eW=C.Ay.div(vV||(vV=TV(["\n  display: grid;\n  grid-template-columns: 64px 1fr auto;\n  gap: 10px;\n  align-items: center;
1\n"]))),tW=C.Ay.img(yV||(yV=TV(["\n  width: 64px;\n  height: 64px;\n  object-fit: cover;\n  border-radius: 8px;\n  background: rgba(255, 255, 255, 0.04);\n"]))),nW=C.Ay.div(gV||(gV=TV(["\n  font-weight: 700;\n  font-size: 13px;\n  color: var(--textColor);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n"]))),rW=C.Ay.div(bV||(bV=TV(["\n  font-size: 11px;\n  color: var(--subTextColor);\n"]))),aW=C.Ay.div(hV||(hV=TV(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n"]))),lW=C.Ay.button(EV||(EV=TV(["\n  padding: 4px 8px;\n  border-radius: 14px;\n  border: 1px solid\n    ",";\n  background: ",";\n  color: ",";\n  cursor: pointer;\n  font-size: 11px;\n  transition: 0.2s ease;\n"])),function(e){return e.$active?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$active?"rgba(var(--primaryColorRGB),0.15)":"transparent"},function(e){return e.$active?"var(--primaryColor)":"var(--textColor)"}),oW=C.Ay.div(xV||(xV=TV(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 6px;\n"]))),iW=C.Ay.div(wV||(wV=TV(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"])));function cW(e){return function(e){if(Array.isArray(e))return uW(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return uW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uW(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uW(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function sW(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function dW(e){return fW.apply(this,arguments)}function fW(){var e;return e=regeneratorRuntime.mark(function e(t){var n,r,a,l,i,c,u,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.uid,r=t.template,a=t.representativeCharacter,l=Ya.default.firestore(),i=l.collection("".concat(o.Gf.USERS,"/").concat(n,"/pets")).doc(),c=a?{id:a.id,collectionPath:o.Gf.PHOTOCARD}:null,u={id:i.id,userId:n,petTemplateId:r.id,customName:r.title,customImgURL:r.imgURL,ownerCharacter:c,legacyPetImgList:[],level:1,experience:1,hunger:100,personalities:Array.isArray(r.personalities)?cW(r.personalities):[],isActive:!1,createdAt:new Date},e.next=7,i.set(u);case 7:return s=l.doc("".concat(o.Gf.PETSETTING,"/opponentPetsPool")),e.next=10,s.set({items:bL.A.firestore.FieldValue.arrayUnion({userId:n,petId:u.id,petname:r.title}),updatedAt:new Date},{merge:!0});case 10:return e.abrupt("return",u);case 11:case"end":return e.stop()}},e)}),fW=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){sW(l,r,a,o,i,"next",e)}function i(e){sW(l,r,a,o,i,"throw",e)}o(void 0)})},fW.apply(this,arguments)}function mW(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function pW(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function vW(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){pW(l,r,a,o,i,"next",e)}function i(e){pW(l,r,a,o,i,"throw",e)}o(void 0)})}}function yW(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return gW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gW(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gW(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var bW=function(e){var t=e.uid,n=(0,l.useCollection)("".concat(o.Gf.USERS,"/").concat(t,"/pets"),{listen:!0,orderBy:["createdAt","desc"]}),a=n.data,i=n.mutate,u=(null==a?void 0:a.length)||0,s=(0,l.useCollection)(o.Gf.PET,{listen:!0,orderBy:["createdAt","desc"]}).data,d=(0,c.vc)(PV.hT),f=yW((0,r.useState)([]),2),m=f[0],p=f[1],v=yW((0,r.useState)(!1),2),y=v[0],g=v[1],b=(0,tC.A)().openToast,E=(0,r.useMemo)(function(){return m&&m.length>0?m[0]:void 0},[m]),x=(0,r.useCallback)(vW(regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(u>=50)){e.next=5;break}return b("펫은 최대 50마리까지 보유 가능합니다."),alert("펫은 최대 50마리까지 보유 가능합니다."),e.abrupt("return");case 5:if(t){e.next=7;break}return e.abrupt("return");case 7:if(E){e.next=11;break}return b("지급할 펫을 선택해주세요."),alert("지급할 펫을 선택해주세요."),e.abrupt("return");case 11:if(n=(s||[]).find(function(e){return e.id===E})){e.next=16;break}return b("선택한 펫 템플릿을 찾을 수 없습니다."),alert("선택한 펫 템플릿을 찾을 수 없습니다."),e.abrupt("return");case 16:return e.prev=16,g(!0),e.next=20,dW({uid:t,template:n,representativeCharacter:d});case 20:return b("펫이 지급되었습니다."),alert("펫이 지급되었습니다."),p([]),e.next=25,i();case 25:e.next=32;break;case 27:e.prev=27,e.t0=e.catch(16),console.error(e.t0),b("펫 지급 중 오류가 발생했습니다."),alert("펫 지급 중 오류가 발생했습니다.");case 32:return e.prev=32,g(!1),e.finish(32);case 35:case"end":return e.stop()}},e,null,[[16,27,32,35]])})),[t,E,s,b,u,i]);return r.createElement(fi.Ay,null,r.createElement(hW,null,r.createElement(EW,null,r.createElement(KV,{uid:t}),r.createElement(xW,null,r.createElement(CW,null,r.createElement(wW,{style:{margin:0}},r.createElement(AW,null,"지급할 펫 선택")),r.createElement(vu.A,{placeholder:"템플릿명 입력 후 ENTER",collectionPath:o.Gf.PET,selectedIDList:m,setSelectedIDList:p,id:"give-pet-itemselector",selectOnlyOne:!0,orderBy:["createdAt","desc"]}),r.createElement(h.A,{onClick:x,block:!0,disabled:!E||y},y?"지급중...":"펫 지급하기"))))))},hW=C.Ay.div(GV||(GV=mW([""]))),EW=C.Ay.div(HV||(HV=mW(["\n  display: grid;\n  grid-template-rows: auto auto;\n  gap: 16px;\n  width: 100%;\n"]))),xW=C.Ay.div($V||($V=mW(["\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;\n  padding: 12px;\n"]))),wW=C.Ay.div(VV||(VV=mW(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 10px;\n"]))),AW=C.Ay.h6(WV||(WV=mW(["\n  margin: 0;\n  font-size: 14px;\n  color: var(--subTextColor);\n"]))),CW=C.Ay.div(_V||(_V=mW(["\n  display: grid;\n  grid-template-rows: auto auto 1fr auto;\n  gap: 12px;\n"])));function kW(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}C.Ay.div(qV||(qV=mW(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"])));var SW,OW=function(e){var t,n,a=(t=(0,r.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return kW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kW(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],c=a[1],u=(0,l.useCollection)("".concat(o.Gf.USERS),{listen:!0,orderBy:["createdAt","desc"]}).data;return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"멤버별 보유 펫 관리"),r.createElement(b.R2,{style:{marginBottom:12}},r.createElement("p",null,"⚠️ 펫은 '유저'별로 할당됩니다. (캐릭터당X)"),r.createElement("p",null,"유저는 여러 마리의 펫을 보유할 수 있습니다. (최대 50마리)"),r.createElement("p",null,"펫 회수 버튼을 클릭하면 펫을 회수할 수 있습니다."),r.createElement("p",null,"유저는 아이템을 통해 펫의 배경 이미지, 커스텀 이미지 교체가 가능합니다.")),r.createElement(ci.A,{list:u||[],searchPlaceholder:"멤버 검색(enter)",droppableCollectionPath:o.Gf.USERS,onSelect:c,selectedId:i,rightEditor:r.createElement(bW,{uid:i}),searchCondition:"displayName"}))};function IW(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return jW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jW(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jW(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e.DEFAULT="default",e.TEMPLATES="templates",e.ACTIONS="actions",e.INTERACTIONS="interactions",e.EVOLUTION="evolution",e.LEVELS="levels",e.DIALOGUE="dialogue",e.PERSONALITIES="personalities"}(SW||(SW={}));var PW,TW,RW,LW,DW,UW,MW,NW=function(){var e=IW((0,r.useState)(SW.DIALOGUE),2),t=e[0],n=e[1],a=IW((0,r.useState)(!1),2),l=a[0],o=(a[1],[{value:SW.DIALOGUE,label:"펫 지급",isShow:!0,drawView:r.createElement(OW,null)},{value:SW.DEFAULT,label:"기본 설정",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(X$,null))},{value:SW.TEMPLATES,label:"펫 템플릿",isShow:!0,drawView:r.createElement(BG,null)},{value:SW.ACTIONS,label:"펫 행동",isShow:!0,drawView:r.createElement(fH,null)},{value:SW.INTERACTIONS,label:"상호작용",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(m$,null),r.createElement(PH,null),",")},{value:SW.PERSONALITIES,label:"펫 성격",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(jV,null))},{value:SW.LEVELS,label:"레벨 시스템",isShow:!0,drawView:r.createElement(G$,null)}]);return l?r.createElement(SF,null,r.createElement(OF,null),r.createElement(IF,null,"펫 시스템 설정을 불러오는 중...")):r.createElement(sF,null,r.createElement(i.A,{viewOptions:o,defaultViewType:t,customSetViewType:n}))},zW=C.Ay.div(PW||(PW=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  margin-top: 12px;\n"]))),BW="setting/betting/slides",FW=function(){var e=(0,l.useCollection)(BW,{listen:!0,orderBy:["order","asc"]}).data,t=(0,r.useCallback)(function(){da({collectionPath:BW})},[]),n=(0,r.useCallback)(function(e){xa({orderList:e.orderList,collectionPath:BW})},[]);return r.createElement(r.Fragment,null,r.createElement("h5",null,"베팅 배너 슬라이드"),r.createElement("p",{style:{padding:"24px 0",color:"var(--subTextColor)"}},"⚙️ 드래그, 드롭으로 순서 이동이 가능합니다.",r.createElement("br",null),"높이 220px, 너비는 관리자가 설정한 전체 레이아웃의 폭에 맞추어 집니다."),r.createElement(h.A,{onClick:t,block:!0},"슬라이드 추가"),r.createElement(zW,null,r.createElement(ma.A,{list:e,handleUpdateOrder:n,collectionPath:BW},r.createElement(Va,null))))},GW=n(40478),HW=n(24842);function $W(e,t){if(e){if("string"==typeof e)return VW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?VW(e,t):void 0}}function VW(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function WW(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}C.Ay.div(TW||(TW=WW(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),C.Ay.div(RW||(RW=WW(["\n  display: grid;\n  grid-template-columns: 1fr auto;\n  align-items: center;\n  gap: 8px;\n"])));var _W,qW=C.Ay.div(LW||(LW=WW(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 8px;\n"]))),KW=C.Ay.div(DW||(DW=WW(["\n  display: flex;\n  gap: 8px;\n"]))),YW=C.Ay.div(UW||(UW=WW(["\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n  gap: 8px;\n  margin: 6px 0 8px;\n"]))),JW=C.Ay.div(MW||(MW=WW(["\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n"]))),QW=function(e){var t,n,a=e.topicId,i=(0,l.useDocument)(a?"".concat(o.Gf.BETTING,"/").concat(a):null,{listen:!0}).data,c=(0,r.useMemo)(function(){return(null==i?void 0:i.participants)||[]},[null==i?void 0:i.participants]),u=(t=(0,r.useState)(!0),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||$W(t,n)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0],d=u[1],f=((0,r.useMemo)(function(){var e=function(e){return function(e){if(Array.isArray(e))return VW(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||$W(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(c);return e.sort(function(e,t){return s?t.bettingAmount-e.bettingAmount:e.bettingAmount-t.bettingAmount}),e},[c,s]),(0,r.useMemo)(function(){var e=c.reduce(function(e,t){return e+((null==t?void 0:t.bettingAmount)||0)},0),t=c.length||1;return{total:e,avg:Math.round(e/t),max:c.reduce(function(e,t){return Math.max(e,t.bettingAmount||0)},0)}},[c])),m=(0,l.useCollection)(a?"".concat(o.Gf.BETTING,"/").concat(a,"/bets"):null,{listen:!0}).data,p=(0,r.useMemo)(function(){var e=new Map;return(m||[]).forEach(function(t){var n=t.optionKey||"",r=e.get(n)||{count:0,total:0};r.count+=1,r.total+=Number(t.amount||0),e.set(n,r)}),e},[m]),v=(0,r.useMemo)(function(){return((null==i?void 0:i.options)||[]).map(function(e){var t=p.get(e.key)||{count:0,total:0},n=t.count?Math.round(t.total/t.count):0;return{key:e.key,label:e.label||e.key,count:t.count,total:t.total,avg:n}})},[null==i?void 0:i.options,p]),y=(0,r.useMemo)(function(){var e=(null==i?void 0:i.options)||[],t=new Map(e.map(function(e){return[e.key,e.label||e.key]})),n=(m||[]).map(function(e){return{id:e.id||"".concat(e.topicId,"__").concat(e.userId),userId:e.userId,optionLabel:t.get(e.optionKey)||e.optionKey,amount:e.amount||0,createdAt:e.createdAt||0}});return n.sort(function(e,t){return s?t.amount-e.amount:e.amount-t.amount}),n},[m,null==i?void 0:i.options,s]),g=[{key:"user",header:"사용자",render:function(e){return r.createElement(Lo.A,{uid:e.userId,shape:"full",avatarSize:"16px"})}},{key:"optionLabel",header:"선택지",accessor:function(e){return e.optionLabel}},{key:"amount",header:"베팅 금액",render:function(e){return r.createElement("strong",null,e.amount.toLocaleString())},align:"right"},{key:"createdAt",header:"시간",accessor:function(e){return r.createElement("span",{style:{color:"var(--subTextColor)"}},function(e){if(!e)return"-";var t=new Date(e),n=function(e){return String(e).padStart(2,"0")};return"".concat(t.getFullYear(),"-").concat(n(t.getMonth()+1),"-").concat(n(t.getDate())," ").concat(n(t.getHours()),":").concat(n(t.getMinutes()))}(e.createdAt))}}];return r.createElement(fi.Ay,{style:{padding:12}},r.createElement(qW,null,r.createElement("strong",null,"참여자 (",m&&m.length||0,")"),r.createElement(KW,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return d(function(e){return!e})}},"정렬: ",s?"금액 높은순":"금액 낮은순"))),r.createElement(YW,null,v.map(function(e){return r.createElement(HW.A,{key:e.key,variant:"outline"},r.createElement(JW,null,r.createElement("div",null,e.label),r.createElement("div",null,r.createElement("strong",null,e.count),"명 / ",e.total.toLocaleString())))})),r.createElement(KW,{style:{margin:"4px 0 8px"}},r.createElement(HW.A,{variant:"secondary"},"총액: ",r.createElement("strong",null,f.total.toLocaleString())),r.createElement(HW.A,{variant:"outline"},"평균: ",r.createElement("strong",null,f.avg.toLocaleString())),r.createElement(HW.A,null,"최대: ",r.createElement("strong",null,f.max.toLocaleString()))),r.createElement(pw.A,{columns:g,data:y,rowKey:function(e){return e.id},emptyText:r.createElement("div",{style:{color:"var(--subTextColor)"}},"아직 참여자가 없습니다.")}))},ZW=n(54135);function XW(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var e_,t_=C.Ay.div(_W||(_W=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 12px;\n\n  ","\n"])),GN.BA),n_=function(e){var t,n,a=e.editing,l=e.setEditing,o=e.announceDate,c=e.setAnnounceDate,u=(t=(0,r.useState)("set"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return XW(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?XW(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=u[0],d=u[1],f=[{value:"set",label:"베팅 설정",isShow:!0,drawView:r.createElement(ZW.A,{editing:a,setEditing:l,announceDate:o,setAnnounceDate:c})},{value:"stats",label:"베팅 통계",isShow:!0,drawView:r.createElement(QW,{topicId:a.id||""})}];return r.createElement(r.Fragment,null,r.createElement(t_,null,r.createElement(i.A,{viewOptions:f,defaultViewType:s,customSetViewType:d})))};function r_(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function a_(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){r_(l,r,a,o,i,"next",e)}function i(e){r_(l,r,a,o,i,"throw",e)}o(void 0)})}}function l_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o_(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l_(Object(n),!0).forEach(function(t){i_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c_(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return u_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u_(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var s_,d_=C.Ay.div(e_||(e_=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  padding: 24px;\n"]))),f_=function(){var e=(0,l.useCollection)("".concat(o.Gf.BETTING),{listen:!0,orderBy:["order","asc"]}).data,t=(0,r.useMemo)(function(){return{title:"",options:[],correctKey:void 0,announceAt:void 0}},[]),n=c_((0,r.useState)(t),2),a=n[0],i=n[1],c=c_((0,r.useState)(void 0),2),u=c[0],s=c[1],d=(0,r.useCallback)(function(t){var n=(e||[]).find(function(e){return e.id===t});n&&(i(o_({},n)),s(n.announceAt?new Date(n.announceAt):void 0))},[e]),f=(0,r.useCallback)(a_(regeneratorRuntime.mark(function e(){var t,n,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=Date.now(),(n=new Date).setHours(12,0,0,0),r=n.getTime(),a={title:"새 베팅 주제",options:[{key:"opt-a-".concat(t),label:"선택지 A"},{key:"opt-b-".concat(t),label:"선택지 B"},{key:"opt-c-".concat(t),label:"선택지 C"}],correctKey:"",announceAt:r,createdAt:t,updatedAt:t,order:0},e.next=7,(0,GW.Mz)(a);case 7:l=e.sent,i(o_(o_({},a),{},{id:l})),s(n);case 10:case"end":return e.stop()}},e)})),[]),m=(0,r.useCallback)(function(){var e=a_(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,e.prev=1,r=Ya.default.firestore(),a=r.batch(),n.forEac
1h(function(e,t){if(e.id){var n=r.collection(o.Gf.BETTING).doc(e.id);a.update(n,{order:t})}}),e.next=7,a.commit();case 7:console.log("✅ 베팅 순서 저장 완료"),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("베팅 순서 저장 오류:",e.t0);case 13:case"end":return e.stop()}},e,null,[[1,10]])}));return function(t){return e.apply(this,arguments)}}(),[]);return r.createElement(d_,null,r.createElement(ci.A,{list:e||[],onAdd:f,addButtonText:"베팅 추가",searchPlaceholder:"주제 검색(enter)",droppableCollectionPath:o.Gf.BETTING,onSelect:d,selectedId:null==a?void 0:a.id,onOrder:m,rightEditor:r.createElement(n_,{editing:a,setEditing:i,announceDate:u,setAnnounceDate:s})}))};function m_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var p_=C.Ay.div(s_||(s_=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 12px;\n\n  ","\n"])),GN.BA),v_=function(e){var t,n,a=e.editing,l=e.setEditing,c=e.announceDate,u=e.setAnnounceDate,s=(t=(0,r.useState)("set"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return m_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m_(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=s[1],m=[{value:"set",label:"베팅 설정",isShow:!0,drawView:r.createElement(ZW.A,{editing:a,setEditing:l,announceDate:c,setAnnounceDate:u,hideDelete:!0,customCollectionPath:o.Gf.DEMO_BETTING,title:"유저의 커스텀 베팅",saveText:"저장",customBettingOpttion:!0})}];return r.createElement(p_,null,r.createElement(i.A,{viewOptions:m,defaultViewType:d,customSetViewType:f}))};function y_(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function g_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function b_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h_(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E_(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var x_=function(){var e=(0,l.useCollection)("".concat(o.Gf.DEMO_BETTING),{listen:!0,orderBy:["order","asc"]}).data,t=(0,r.useMemo)(function(){return{title:"",options:[],correctKey:void 0,announceAt:void 0}},[]),n=h_((0,r.useState)(t),2),a=n[0],i=n[1],c=h_((0,r.useState)(void 0),2),u=c[0],s=c[1],d=(0,r.useCallback)(function(t){var n=(e||[]).find(function(e){return e.id===t});n&&(i(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?g_(Object(n),!0).forEach(function(t){b_(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},n)),s(n.announceAt?new Date(n.announceAt):void 0))},[e]),f=(0,r.useCallback)(function(){var e,t=(e=regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,e.prev=1,r=Ya.default.firestore(),a=r.batch(),n.forEach(function(e,t){if(e.id){var n=r.collection(o.Gf.DEMO_BETTING).doc(e.id);a.update(n,{order:t})}}),e.next=7,a.commit();case 7:console.log("✅ 데모 베팅 순서 저장 완료"),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),console.error("데모 베팅 순서 저장 오류:",e.t0);case 13:case"end":return e.stop()}},e,null,[[1,10]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){y_(l,r,a,o,i,"next",e)}function i(e){y_(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),[]);return r.createElement(ci.A,{list:e||[],searchPlaceholder:"유저 주제 검색(enter)",droppableCollectionPath:o.Gf.DEMO_BETTING,onSelect:d,selectedId:null==a?void 0:a.id,onOrder:f,rightEditor:r.createElement(v_,{editing:a,setEditing:i,announceDate:u,setAnnounceDate:s})})};function w_(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function A_(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){w_(l,r,a,o,i,"next",e)}function i(e){w_(l,r,a,o,i,"throw",e)}o(void 0)})}}function C_(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return k_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k_(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var S_,O_=function(){var e=(0,l.useDocument)(o.Mb.BETTING,{listen:!0}).data,t=Ya.default.firestore(),n=C_((0,r.useState)(null),2),a=n[0],i=n[1],c=C_((0,r.useState)(null),2),u=c[0],s=c[1],d=C_((0,r.useState)(null),2),f=d[0],m=d[1],p=C_((0,r.useState)(!1),2),v=p[0],y=p[1],g=C_((0,r.useState)(""),2),E=g[0],x=g[1],w=C_((0,r.useState)(""),2),C=w[0],k=w[1],S=C_((0,r.useState)(""),2),O=S[0],I=S[1],j=C_((0,r.useState)(!1),2),P=j[0],T=j[1],R=C_((0,r.useState)(!1),2),L=R[0],D=R[1],U=C_((0,r.useState)(!1),2),M=U[0],N=U[1];(0,r.useEffect)(function(){x((null==e?void 0:e.defaultBgImgURL)||""),k((null==e?void 0:e.defaultBorderImgURL)||""),I((null==e?void 0:e.defaultHoverBgImgURL)||""),T(!1),D(!1),N(!1)},[e]);var z=(0,r.useCallback)(function(){T(!0),i(null),x("")},[]),B=(0,r.useCallback)(function(){D(!0),s(null),k("")},[]),F=(0,r.useCallback)(function(){N(!0),m(null),I("")},[]),G=(0,r.useCallback)(A_(regeneratorRuntime.mark(function n(){var r,l,o,c,d,p;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(y(!0),n.prev=1,r=(null==e?void 0:e.defaultBgImgURL)||"",l=(null==e?void 0:e.defaultBorderImgURL)||"",o=(null==e?void 0:e.defaultHoverBgImgURL)||"",c=r,d=l,p=o,!P||!r){n.next=12;break}return n.next=11,(0,me.deleteImgStorage)(r);case 11:c="";case 12:if(!L||!l){n.next=16;break}return n.next=15,(0,me.deleteImgStorage)(l);case 15:d="";case 16:if(!M||!o){n.next=20;break}return n.next=19,(0,me.deleteImgStorage)(o);case 19:p="";case 20:if(!a){n.next=24;break}return n.next=23,(0,me.updateImgAndGetURL)({selectedFile:a,prevImgURL:P?"":r,collectionPath:"setting",deletePrevURL:!P});case 23:c=n.sent;case 24:if(!u){n.next=28;break}return n.next=27,(0,me.updateImgAndGetURL)({selectedFile:u,prevImgURL:L?"":l,collectionPath:"setting",deletePrevURL:!L});case 27:d=n.sent;case 28:if(!f){n.next=32;break}return n.next=31,(0,me.updateImgAndGetURL)({selectedFile:f,prevImgURL:M?"":o,collectionPath:"setting",deletePrevURL:!M});case 31:p=n.sent;case 32:return n.next=34,t.collection("setting").doc("betting").set({defaultBgImgURL:c,defaultBorderImgURL:d,defaultHoverBgImgURL:p},{merge:!0});case 34:alert("베팅 목록 디자인이 저장되었습니다."),i(null),s(null),m(null),T(!1),D(!1),N(!1),n.next=47;break;case 43:n.prev=43,n.t0=n.catch(1),console.error("베팅 목록 디자인 저장 실패:",n.t0),alert("저장 중 오류가 발생했습니다.");case 47:return n.prev=47,y(!1),n.finish(47);case 50:case"end":return n.stop()}},n,null,[[1,43,47,50]])})),[null==e?void 0:e.defaultBgImgURL,null==e?void 0:e.defaultBorderImgURL,null==e?void 0:e.defaultHoverBgImgURL,P,L,M,a,u,f,t]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"베팅 목록 디자인",r.createElement(b.PF,null,"베팅 목록 아이템의 기본 배경/보더/호버 배경 이미지를 등록합니다.")),r.createElement(b.N9,null,r.createElement(b.O9,null,"기본 배경 이미지"),r.createElement("div",{style:{marginBottom:24,width:"100%",maxWidth:400}},r.createElement(A.A,{id:"betting-default-bg",setSelectedFile:i,prevImgURL:E,text:"이미지 추가",customDelete:z,style:{height:100}}))),r.createElement(b.N9,null,r.createElement(b.O9,null,"호버 배경 이미지"),r.createElement("div",{style:{marginBottom:24,width:"100%",maxWidth:400}},r.createElement(A.A,{id:"betting-default-hover-bg",setSelectedFile:m,prevImgURL:O,text:"이미지 추가",customDelete:F,style:{height:100}}))),r.createElement(b.N9,null,r.createElement(b.O9,null,"보더 이미지"),r.createElement("div",{style:{marginBottom:24,width:"100%",maxWidth:400}},r.createElement(A.A,{id:"betting-default-border",setSelectedFile:s,prevImgURL:C,text:"이미지 추가",customDelete:B,style:{height:100}}))),r.createElement("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:12}},r.createElement(h.A,{onClick:G,pending:v,disabled:v},"저장하기")))};function I_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e.DEFAULT="default",e.LIST="list",e.DEMO="demo",e.DESIGN="design"}(S_||(S_={}));var j_,P_=function(){var e,t,n=(e=(0,r.useState)(S_.LIST),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I_(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],l=n[1],o=[{value:S_.DEFAULT,label:"베팅 슬라이드 배너",isShow:!0,drawView:r.createElement(FW,null)},{value:S_.LIST,label:"베팅 목록",isShow:!0,drawView:r.createElement(f_,null)},{value:S_.DEMO,label:"유저 베팅 목록",isShow:!0,drawView:r.createElement(x_,null)},{value:S_.DESIGN,label:"베팅 목록 디자인",isShow:!0,drawView:r.createElement(O_,null)}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:o,defaultViewType:a,customSetViewType:l}))};function T_(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function R_(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){T_(l,r,a,o,i,"next",e)}function i(e){T_(l,r,a,o,i,"throw",e)}o(void 0)})}}function L_(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return D_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?D_(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var U_=C.Ay.div(j_||(j_=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  width: 100%;\n  display: flex;\n  justify-content: flex-end;\n  align-items: center;\n  margin-bottom: 24px;\n"]))),M_={size:!0,align:!0,color:!0,list:!0,blockquote:!0,codeblock:!0,link:!0,image:!0,file:!1,html:!0,emoji:!0,video:!0,header:!0,divider:!0},N_=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME)),n=t.data,a=t.set,i=L_((0,c.L4)(Jy.ID),2),u=i[0],s=i[1],d=L_((0,c.L4)(Jy.J9),2),f=d[0],m=d[1],p=L_((0,c.L4)(Jy.ak),2),v=p[0],y=p[1],g=L_((0,r.useState)(!1),2),E=g[0],x=g[1],w=(0,r.useCallback)(R_(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a({contents:u,htmlContents:f,isHtmlMode:v||!1,backgroundSet:E},{merge:!0});case 2:case"end":return e.stop()}},e)})),[u,f,v,E]);return(0,r.useEffect)(function(){n&&(s(n.contents||""),m(n.htmlContents||""),x(n.backgroundSet),y(n.isHtmlMode||!1))},[n]),r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"메인 공지"),r.createElement(h.A,{block:!0,onClick:w},"저장하기"),r.createElement(U_,null),r.createElement(b.Fd,null,r.createElement(b.O9,null,"배경 설정"),r.createElement(xt.A,{value:"main-home-background",checked:E,onChange:function(){x(function(e){return!e})}},"배경 있음")),r.createElement(zv,{data:n,set:a,showBannerIncludeNotice:!0}),r.createElement(Ky.HomeGrid,{isBackground:E,style:{padding:"0 16px"}},r.createElement(Yy.A,{value:u,onChange:s,htmlValue:f||u||"",onHtmlChange:m,setToolbar:M_,style:{minHeight:500},placeholder:"홈페이지 공지용 내용을 입력해 주세요.",id:"edit-home",customIsHtmlMode:v,customSetHtmlMode:y}))))},z_=n(49079);function B_(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function F_(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){B_(l,r,a,o,i,"next",e)}function i(e){B_(l,r,a,o,i,"throw",e)}o(void 0)})}}function G_(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H_(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var $_=function(e){var t,n,a,i,c,u;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var s=G_((0,r.useState)(null),2),d=s[0],f=s[1],m=G_((0,r.useState)(!1),2),p=m[0],v=m[1],y=G_((0,r.useState)(null),2),g=y[0],E=y[1],x=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),w=x.data,C=x.set,k=G_((0,Mn.zN)({masterName:(null==w||null===(t=w.masterInfo)||void 0===t?void 0:t.masterName)||"마스터명",description:(null==w||null===(n=w.masterInfo)||void 0===n?void 0:n.description)||"마스터 설명",keywords:(null==w||null===(a=w.masterInfo)||void 0===a?void 0:a.keywords)||"키워드1, 키워드2",buttonText:(null==w||null===(i=w.masterInfo)||void 0===i?void 0:i.buttonText)||"이웃 추가"}),3),S=k[0],O=S.masterName,j=S.description,P=S.keywords,T=S.buttonText,R=k[1],L=(k[2],(0,r.useCallback)(function(e){var t=e.imgURL,n=e.key;t&&(0,me.deleteSettingImg)({imgURL:t,parentKey:"masterInfo",key:n,docId:o.kV.MAINHOME,collectionPath:o.Gf.MAINHOME})},[w])),D=(0,r.useCallback)(function(){f(null),E(null)},[]),U=(0,r.useCallback)(F_(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(v(!0),C({masterInfo:{description:j,keywords:P,masterName:O,buttonText:T}},{merge:!0}),!d){e.next=5;break}return e.next=5,(0,me.updateSettingImg)({fileList:{selectedFile:d,prevImgURL:(null==w||null===(t=w.masterInfo)||void 0===t?void 0:t.imgURL)||""},collectionPath:o.Gf.MAINHOME,docId:o.kV.MAINHOME,parentKey:"masterInfo",key:"imgURL"});case 5:if(!g){e.next=8;break}return e.next=8,(0,me.updateSettingImg)({fileList:{selectedFile:g,prevImgURL:(null==w||null===(n=w.masterInfo)||void 0===n?void 0:n.skinURL)||""},collectionPath:o.Gf.MAINHOME,docId:o.kV.MAINHOME,parentKey:"masterInfo",key:"skinURL"});case 8:v(!1),D();case 10:case"end":return e.stop()}},e)})),[j,P,O,T,w,d,g]);return r.createElement(b.YO,null,r.createElement(b.fA,null,"마스터(관리자) 정보 디자인"),r.createElement(b.N9,null,r.createElement("div",null,r.createElement(z_.A,null)),r.createElement(b.sm,null,r.createElement(b.Fd,null,r.createElement(b.O9,null,"마스터 프로필 이미지"),r.createElement(A.A,{minHeight:120,id:"master-img-".concat(null==w?void 0:w.id),setSelectedFile:f,prevImgURL:(null==w||null===(c=w.masterInfo)||void 0===c?void 0:c.imgURL)||"",text:"이미지 추가",customDelete:function(){var e;return L({imgURL:null==w||null===(e=w.masterInfo)||void 0===e?void 0:e.imgURL,key:"imgURL"})}})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"마스터 스킨(뒤) 이미지"),r.createElement(A.A,{minHeight:120,id:"master-skin-".concat(null==w?void 0:w.id),setSelectedFile:E,prevImgURL:(null==w||null===(u=w.masterInfo)||void 0===u?void 0:u.skinURL)||"",text:"이미지 추가",customDelete:function(){var e;return L({imgURL:null==w||null===(e=w.masterInfo)||void 0===e?void 0:e.skinURL,key:"skinURL"})}})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"마스터 이름"),r.createElement(I.A,{placeholder:"마스터(관리자) 이름",maxLength:5e3,name:"masterName",value:O,onChange:R,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"마스터 설명"),r.createElement(fe.A,{placeholder:"마스터(관리자) 설명",minRows:4,name:"description",value:j,onChange:R,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"키워드 (,로 단어 구분)"),r.createElement(I.A,{placeholder:",로 단어 구분",maxLength:5e3,name:"keywords",value:P,onChange:R,required:!0})),r.createElement(b.Fd,null,r.createElement(b.O9,null,"버튼 텍스트"),r.createElement(I.A,{placeholder:"이웃 추가",maxLength:20,name:"buttonText",value:T,onChange:R})),r.createElement(h.A,{onClick:U,pending:p},"저장하기"))))};function V_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var W_,__,q_,K_,Y_,J_,Q_,Z_,X_,eq,tq,nq,rq,aq=function(){var e,t,n=(e=(0,r.useState)("mainHomeNotice"),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return V_(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?V_(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],l=n[1],o=[{value:"mainHomeNotice",label:"메인 공지",isShow:!0,drawView:r.createElement(N_,null)},{value:"masterInfo",label:"마스터 정보",isShow:!0,drawView:r.createElement($_,null)}];return r.createElement(r.Fragment,null,r.createElement(i.A,{viewOptions:o,defaultViewType:a,customSetViewType:l}))},lq=n(71361),oq=n(90113),iq=n(79153),cq=n(2245),uq=n(2899),sq=n(35220);function dq(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function fq(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){dq(l,r,a,o,i,"next",e)}function i(e){dq(l,r,a,o,i,"throw",e)}o(void 0)})}}function mq(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return pq(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pq(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pq(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function vq(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var yq,gq,bq,hq,Eq=C.Ay.div(W_||(W_=vq(["\n  display: flex;\n  gap: 4px;\n"]))),xq=C.Ay.div(__||(__=vq(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),wq=C.Ay.div(q_||(q_=vq(["\n  display: flex;\n  gap: 16px;\n  align-items: center;
1\n"]))),Aq=C.Ay.div(K_||(K_=vq(["\n  display: grid;\n  grid-template-columns: repeat(3, 24px);\n  grid-template-rows: repeat(3, 24px);\n  gap: 4px;\n  padding: 12px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n  background-color: var(--cardBackgroundColor);\n"]))),Cq=C.Ay.button(Y_||(Y_=vq(["\n  width: 24px;\n  height: 24px;\n  border-radius: 4px;\n  border: 2px solid var(--lineColor);\n  background-color: ",";\n  cursor: pointer;\n  transition: all 0.2s;\n  position: relative;\n\n  &::after {\n    content: '';\n    position: absolute;\n    width: 8px;\n    height: 8px;\n    border-radius: 50%;\n    background-color: ",";\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  &:hover {\n    border-color: var(--primaryColor);\n    &::after {\n      background-color: var(--primaryColor);\n    }\n  }\n\n  ","\n"])),function(e){return e.isActive?"var(--primaryColor)":"var(--backgroundColor)"},function(e){return e.isActive?"white":"var(--lineColor)"},function(e){return e.isActive&&"\n    box-shadow: 0 2px 8px rgba(var(--primaryColorRGB), 0.3);\n  "}),kq=C.Ay.div(J_||(J_=vq(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  font-size: 13px;\n  line-height: 1.5;\n"]))),Sq=C.Ay.div(Q_||(Q_=vq(["\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Oq=C.Ay.div(Z_||(Z_=vq(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  word-break: keep-all;\n"]))),Iq=C.Ay.div(X_||(X_=vq(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),jq=C.Ay.div(eq||(eq=vq(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 12px;\n  border-radius: 8px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n"]))),Pq=C.Ay.div(tq||(tq=vq(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  text-align: left;\n  line-height: 1.5;\n"]))),Tq=C.Ay.div(nq||(nq=vq(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Rq=C.Ay.div(rq||(rq=vq(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  word-break: keep-all;\n"]))),Lq=function(e){var t,n,a,l,o=e.close,i=e.data,u=e.collectionPath,s=mq((0,r.useState)(!1),2),d=s[0],f=s[1],m=mq((0,r.useState)(null),2),p=m[0],v=m[1],y=mq((0,r.useState)(i?i.imgURL:null),2),g=y[0],b=y[1],E=mq((0,r.useState)(!0),2),C=E[0],j=E[1],P=mq((0,r.useState)(!1),2),T=P[0],R=P[1],L=(0,c.vc)(kx.Bs),D=mq((0,Mn.zN)({title:i?i.title:"제목 없음"}),3),U=D[0].title,M=D[1],N=(D[2],mq((0,r.useState)((null==i?void 0:i.anchorH)||"left"),2)),z=N[0],B=N[1],F=mq((0,r.useState)((null==i?void 0:i.anchorV)||"top"),2),G=F[0],H=F[1],$=mq((0,r.useState)(null!==(t=null==i?void 0:i.isHidden)&&void 0!==t&&t),2),V=$[0],W=$[1],_=mq((0,r.useState)(null===(n=null==i?void 0:i.showOnMobile)||void 0===n||n),2),q=_[0],K=_[1],Y=mq((0,r.useState)((null==i?void 0:i.clickMotion)||"none"),2),J=Y[0],Q=Y[1],Z=mq((0,r.useState)(null!==(a=null==i?void 0:i.mouseTracking)&&void 0!==a&&a),2),X=Z[0],ee=Z[1],te=mq((0,r.useState)((null==i?void 0:i.mouseTrackingStrength)||"medium"),2),ne=te[0],re=te[1],ae=(0,r.useCallback)(function(){v(null),b(null)},[]),le=(0,r.useCallback)(fq(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return f(!0),t={title:U,selectedFile:p,isHidden:V,authorId:L,comment:"",anchorH:z,anchorV:G,clickMotion:J,showOnMobile:q,mouseTracking:X,mouseTrackingStrength:ne},e.next=4,(0,iq.F)({data:t,collectionPath:u,newBoardCheck:!1});case 4:f(!1),ae(),o();case 7:case"end":return e.stop()}},e)})),[U,p,L,z,G,V,J,q,X,ne,u,o,ae]),oe=(0,r.useCallback)(fq(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i){e.next=2;break}return e.abrupt("return");case 2:return f(!0),t={title:U,isHidden:V,authorId:L,comment:"",anchorH:z,anchorV:G,clickMotion:J,showOnMobile:q,mouseTracking:X,mouseTrackingStrength:ne},n={selectedFile:p,prevImgURL:i.imgURL},e.next=7,(0,cq.z)({data:t,collectionPath:u,fileList:n,docId:i.id});case 7:f(!1),ae(),o();case 10:case"end":return e.stop()}},e)})),[i,U,p,L,z,G,V,J,q,X,ne,u,o,ae]),ie=(0,r.useCallback)(fq(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i){e.next=2;break}return e.abrupt("return");case 2:if(!window.confirm("정말 삭제하시겠습니까?")){e.next=7;break}return e.next=6,(0,uq.N)({data:i,collectionPath:u});case 6:o();case 7:case"end":return e.stop()}},e)})),[i,u,o]);return(0,r.useEffect)(function(){p&&b(URL.createObjectURL(p))}
1,[p]),(0,r.useEffect)(function(){j(!U||T)},[U,T]),r.createElement(k.A,{blockZindex:!0,outsideClick:function(){},contentStyle:{maxWidth:500}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:o}),r.createElement("div",{style:{textAlign:"left"}},r.createElement("h6",null,i?"스티커 수정":"스티커 추가")),r.createElement(Eq,null,i&&r.createElement(h.A,{onClick:ie,color:"warning"},"삭제"),r.createElement(h.A,{onClick:i?oe:le,pending:d,disabled:C},i?"수정하기":"추가하기"))),r.createElement(S.sC,null,r.createElement(S.r4,null,r.createElement(S.rZ,{height:"200px"},r.createElement(A.A,{id:"global-sticker-thumb",prevImgURL:g,setSelectedFile:v,isUploading:T,setIsUploading:R,fileReset:ae,accept:"image/*"})),r.createElement(S.f6,null,r.createElement(I.A,{label:"스티커명",placeholder:"스티커명을 입력하세요",name:"title",value:U,onChange:M}),r.createElement(xq,null,r.createElement(Ro.A,{style:{fontSize:"13px",fontWeight:600}},"위치 고정 기준"),r.createElement(wq,null,r.createElement(Aq,null,r.createElement(Cq,{type:"button",position:"top-left",isActive:"left"===z&&"top"===G,onClick:function(){B("left"),H("top")}}),r.createElement(Cq,{type:"button",position:"top-center",isActive:"center"===z&&"top"===G,onClick:function(){B("center"),H("top")}}),r.createElement(Cq,{type:"button",position:"top-right",isActive:"right"===z&&"top"===G,onClick:function(){B("right"),H("top")}}),r.createElement(Cq,{type:"button",position:"middle-left",isActive:"left"===z&&"center"===G,onClick:function(){B("left"),H("center")}}),r.createElement(Cq,{type:"button",position:"center",isActive:"center"===z&&"center"===G,onClick:function(){B("center"),H("center")}}),r.createElement(Cq,{type:"button",position:"middle-right",isActive:"right"===z&&"center"===G,onClick:function(){B("right"),H("center")}}),r.createElement(Cq,{type:"button",position:"bottom-left",isActive:"left"===z&&"bottom"===G,onClick:function(){B("left"),H("bottom")}}),r.createElement(Cq,{type:"button",position:"bottom-center",isActive:"center"===z&&"bottom"===G,onClick:function(){B("center"),H("bottom")}}),r.createElement(Cq,{type:"button",position:"bottom-right",isActive:"right"===z&&"bottom"===G,onClick:function(){B("right"),H("bottom")}})),r.createElement(kq,null,r.createElement(Sq,null,(l="top"===G?"â
1†‘ 위":"center"===G?"↕ 중앙":"아래 ↓","".concat("left"===z?"← 왼쪽":"center"===z?"↔ 중앙":"오른쪽 →"," / ").concat(l))),r.createElement(Oq,null,"브라우저 크기가 변경되어도 선택한 기준점으로 위치 유지")))),r.createElement(Iq,null,r.createElement(Ro.A,{style:{fontSize:"13px",fontWeight:600}},"표시 설정"),r.createElement(jq,null,r.createElement(Pq,null,r.createElement(Tq,null,"보이기"),r.createElement(Rq,null,V?"현재 숨김 상태입니다":"현재 표시 중입니다")),r.createElement(w.A,{isChecked:!V,handleSwitch:function(){return W(!V)}})),r.createElement(jq,null,r.createElement(Pq,null,r.createElement(Tq,null,"모바일에서 보이기"),r.createElement(Rq,null,"모바일 환경에서의 스티커 표시 여부를 설정합니다")),r.createElement(w.A,{isChecked:q,handleSwitch:function(){return K(!q)}}))),r.createElement(x.A,{label:"클릭 모션",selectList:[{key:"none",value:"없음",description:sq.gM.none},{key:"bounce",value:"통통 튀기",description:sq.gM.bounce},{key:"shake",value:"흔들기",description:sq.gM.shake},{key:"rotate",value:"회전",description:sq.gM.rotate},{key:"pulse",value:"펄스",description:sq.gM.pulse},{key:"flip",value:"뒤집기",description:sq.gM.flip},{key:"swing",value:"매달림",description:sq.gM.swing}],selectedKey:J,setSelectedKey:Q,optionFlexDirection:"column"}),r.createElement(Iq,null,r.createElement(Ro.A,{style:{fontSize:"13px",fontWeight:600}},"마우스 트래킹"),r.createElement(jq,null,r.createElement(Pq,null,r.createElement(Tq,null,"마우스 따라다니기"),r.createElement(Rq,null,"마우스 움직임에 따라 스티커가 살짝 따라다닙니다")),r.createElement(w.A,{isChecked:X,handleSwitch:function(){return ee(!X)}}))),X&&r.createElement(x.A,{label:"트래킹 강도",selectList:[{key:"weak",value:"약함",description:wp.yp.weak},{key:"medium",value:"중간",description:wp.yp.medium},{key:"strong",value:"강함",description:wp.yp.strong}],selectedKey:ne,setSelectedKey:re,optionFlexDirection:"column"})))))};function Dq(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Uq(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Uq(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Uq(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Mq(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Nq=(0,C.Ay)(oq.P.li)(yq||(yq=Mq(["\n  position: relative;\n  aspect-ratio: 1;\n  border-radius: 8px;\n  overflow: hidden;\n  cursor: var(--hoverCursorURL), pointer;\n  border: 2px solid var(--lineColor);\n  background: var(--backgroundColor);\n  transition: all 0.2s;\n  user-select: none;\n\n  &:hover {\n    border-color: var(--primaryColor);\n    transform: translateY(-2px);\n    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n  }\n\n  &:active {\n    transform: translateY(0px);\n  }\n\n  img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    display: block;\n    pointer-events: none;\n    user-select: none;\n  }\n"]))),zq=C.Ay.div(gq||(gq=Mq(["\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--subTextColor);\n  font-size: 12px;\n  pointer-events: none;\n  user-select: none;\n"]))),Bq=C.Ay.div(bq||(bq=Mq(["\n  position: absolute;\n  top: 8px;\n  right: 8px;\n  background-color: var(--primaryColor);\n  color: var(--buttonTextColor);\n  padding: 4px 8px;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: 600;\n  pointer-events: none;
1\n"]))),Fq=C.Ay.div(hq||(hq=Mq(["\n  position: absolute;\n  bottom: 8px;\n  left: 8px;\n  display: flex;\n  gap: 4px;\n  flex-wrap: wrap;\n  pointer-events: none;\n"])));function Gq(e){var t=e.data,n=Dq((0,r.useState)(!1),2),a=n[0],l=n[1],i=Dq((0,r.useState)(!1),2),c=i[0],u=(i[1],(0,r.useCallback)(function(e){e.preventDefault(),e.stopPropagation(),l(!0)},[t.clickMotion])),s=(0,r.useCallback)(function(){l(!1)},[]),d=t.clickMotion||"none";return r.createElement(r.Fragment,null,r.createElement(Nq,{onClick:u,animate:c&&"none"!==d?sq.p1[d]:{}},t.imgURL?r.createElement("img",{src:t.imgURL,alt:t.title||"스티커",loading:"lazy"}):r.createElement(zq,null,t.title||"이미지 없음"),t.isHidden&&r.createElement(Bq,null,"숨김"),!1===t.showOnMobile&&r.createElement(Bq,{style:{top:"auto",bottom:8}},"모바일 숨김"),("none"!==d||t.mouseTracking)&&r.createElement(Fq,null,"none"!==d&&r.createElement(Bq,{style:{position:"relative",top:"auto",right:"auto",left:"auto",backgroundColor:"rgba(59, 130, 246, 0.9)"}},sq.yz[d]),t.mouseTracking&&r.createElement(Bq,{style:{position:"relative",top:"auto",right:"auto",left:"auto",backgroundColor:"rgba(16, 185, 129, 0.9)"}},"🖱️ 트래킹"))),a&&r.createElement(Lq,{close:s,data:t,collectionPath:o.Gf.GLOBAL_STICKERS}))}var Hq,$q=r.memo(Gq);function Vq(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Wq,_q,qq,Kq,Yq,Jq,Qq,Zq,Xq=C.Ay.ul(Hq||(Hq=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n  gap: 12px;\n  padding: 16px;\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  background-color: var(--cardBackgroundColor);\n  min-height: 150px;\n"]))),eK=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(0,l.useCollection)(o.Gf.GLOBAL_STICKERS,{listen:!0,orderBy:["order","asc"]}).data,i=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Vq(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vq(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(0,r.useCallback)(function(){return u(!0)},[]),d=(0,r.useCallback)(function(){return u(!1)},[]);return r.createElement(r.Fragment,null,r.createElement(b.PF,{style:{margin:0}},"홈페이지 전체에 고정되는 스티커 이미지를 관리합니다.",r.createElement("br",null),"드래그하여 위치를 조정할 수 있습니다."),r.createElement(h.A,{onClick:s,block:!0},"스티커 추가"),r.createElement(Xq,null,a&&a.length>0?a.map(function(e,t){return r.createElement($q,{key:e.id,data:e})}):r.createElement("div",{style:{gridColumn:"1 / -1",textAlign:"center",color:"var(--subTextColor)",padding:"40px 20px"}},"등록된 스티커가 없습니다")),c&&r.createElement(Lq,{close:d,collectionPath:o.Gf.GLOBAL_STICKERS}))};function tK(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return nK(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nK(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nK(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function rK(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var aK=C.Ay.div(Wq||(Wq=rK(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n"]))),lK=C.Ay.div(_q||(_q=rK(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),oK=C.Ay.div(qq||(qq=rK(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 12px 16px;\n  background-color: var(--cardBackgroundColor);\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n"]))),iK=C.Ay.div(Kq||(Kq=rK(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),cK=C.Ay.div(Yq||(Yq=rK(["\n  font-size: 14px;\n  font-weight: 600;\n"]))),uK=C.Ay.div(Jq||(Jq=rK(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"])));C.Ay.div(Qq||(Qq=rK(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  line-height: 1.6;\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-radius: 8px;\n"]))),C.Ay.div(Zq||(Zq=rK(["\n  width: 100%;\n  height: 1px;\n  background-color: var(--lineColor);\n  margin: 32px 0;\n"])));var sK,dK,fK=function(){var e=(0,l.useDocument)("".concat(o.Mb.GLOBAL_STICKERS),{listen:!0}),t=e.data,n=e.set,a=tK((0,r.useState)((null==t?void 0:t.authType)||lq.Yj.MEMBER),2),i=a[0],c=a[1],u=tK((0,r.useState)(void 0===(null==t?void 0:t.isLocked)||t.isLocked),2),s=u[0],d=u[1];return(0,r.useEffect)(function(){null!=t&&t.authType&&c(t.authType),void 0!==(null==t?void 0:t.isLocked)&&d(t.isLocked)},[null==t?void 0:t.authType,null==t?void 0:t.isLocked]),(0,r.useEffect)(function(){i&&n({authType:i},{merge:!0})},[i,n]),(0,r.useEffect)(function(){n({isLocked:s},{merge:!0})},[s,n]),r.createElement(r.Fragment,null,r.createElement(aK,null,r.createElement(lK,null,r.createElement(Ro.A,{style:{fontSize:"16px",fontWeight:700}},"스티커 이동 설정"),r.createElement(oK,null,r.createElement(iK,null,r.createElement(cK,null,s?"🔒 이동 잠금중":"🔓 이동 해제"),r.createElement(uK,null,s?"스티커가 고정되어 있습니다. 드래그할 수 없습니다.":"스티커를 드래그하여 위치를 변경할 수 있습니다.")),r.createElement(w.A,{isChecked:!s,handleSwitch:function(){return d(!s)}}))),r.createElement(lK,null,r.createElement(Ro.A,{style:{fontSize:"16px",fontWeight:700}},"전역 스티커 관리"),r.createElement(eK,null))))},mK=n(74039),pK=n(79016);function vK(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function yK(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){vK(l,r,a,o,i,"next",e)}function i(e){vK(l,r,a,o,i,"throw",e)}o(void 0)})}}function gK(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var bK=C.Ay.div(sK||(sK=gK(["\n  height: 100%;\n  overflow-y: auto;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n  display: flex;\n  flex-direction: column;\n  ","\n"])),j.kM),hK=C.Ay.div(dK||(dK=gK(["\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--subTextColor);\n  font-size: 14px;\n"])));function EK(e){var t=e.docID,n=(0,l.useDocument)(t?"".concat(o.Gf.RAID,"/").concat(t):null,{listen:!0}).data,a=(0,r.useCallback)(yK(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&n){e.next=2;break}return e.abrupt("return");case 2:if(window.confirm("정말 삭제하시겠습니까?")){e.next=4;break}return e.abrupt("return");case 4:return e.prev=4,e.next=7,(0,mK.c)(o.Gf.RAID,t,n.thumbnailURL,n.backgroundURL);case 7:alert("삭제되었습니다."),e.next=14;break;case 10:e.prev=10,e.t0=e.catch(4),console.error("레이드 삭제 오류:",e.t0),alert("삭제 ì
1¤‘ 오류가 발생했습니다.");case 14:case"end":return e.stop()}},e,null,[[4,10]])})),[t,n]);return t?r.createElement(bK,null,r.createElement(pK.w8,{raidId:t,onDelete:a})):r.createElement(bK,null,r.createElement(hK,null,"레이드를 선택해주세요"))}var xK,wK,AK,CK=r.memo(EK);function kK(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function SK(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){kK(l,r,a,o,i,"next",e)}function i(e){kK(l,r,a,o,i,"throw",e)}o(void 0)})}}function OK(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function IK(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var jK=C.Ay.div(xK||(xK=IK(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1.5fr;\n  gap: 12px;\n  height: 700px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n    height: auto;\n    gap: 16px;\n  }\n\n  @media (max-width: 480px) {\n    height: 100%;\n  }\n"]))),PK=C.Ay.div(wK||(wK=IK(["\n  height: 100%;\n  overflow: hidden;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n  display: grid;\n  grid-template-rows: auto 1fr;\n"]))),TK=C.Ay.div(AK||(AK=IK(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),RK=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=o.Gf.RAID,i=(t=(0,r.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return OK(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?OK(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1],s=(0,l.useCollection)(a,{listen:!0,orderBy:["order","asc"]}).data,d=(0,r.useCallback)(SK(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,mK._)(a,{title:"새 레이드",order:s?s.length:0});case 3:t=e.sent,u(t),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error("레이드 추가 오류:",e.t0),alert("레이드 추가 중 오류가 발생했습니다.");case 11:case"end":return e.stop()}},e,null,[[0,7]])})),[s,a]),f=(0,r.useCallback)(function(){var e=SK(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.orderList,e.prev=1,e.next=4,(0,mK.Mr)(a,n);case 4:console.log("✅ 레이드 순서 저장 완료"),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("레이드 순서 저장 오류:",e.t0),alert("순서 저장 중 오류가 발생했습니다.");case 11:case"end":return e.stop()}},e,null,[[1,7]])}));return function(t){return e.apply(this,arguments)}}(),[a]),m=(0,mu.W)({list:s}).searchResult;return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"레이드 관리",r.createElement(b.PF,null,"레이드를 생성하고 관리합니다. 레이드에 참가할 몬스터를 설정하고,",r.createElement("br",null),"협력형 또는 순서 지정형 레이드 방식을 선택할 수 있습니다.")),r.createElement(jK,null,r.createElement(PK,null,r.createElement(TK,null,r.createElement(du.A,{block:!0,placeholder:"레이드 검색",noResult:!0}),r.createElement(h.A,{block:!0,onClick:d},"레이드 추가")),r.createElement(fu.A,{list:m||s,setSelectValue:u,selectedId:c,customCollectionPath:a,handleOrder:f,style:{height:"100%"}})),r.createElement(CK,{docID:c})))},LK=function(){return r.createElement(RK,null)};function DK(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function UK(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?DK(Object(n),!0).forEach(function(t){MK(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DK(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function MK(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function NK(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function zK(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){NK(l,r,a,o,i,"next",e)}function i(e){NK(l,r,a,o,i,"throw",e)}o(void 0)})}}var BK,FK,GK,HK=Ya.default.firestore(),$K=["어둠의 드래곤","그림자 늑대","얼음 골렘","불의 정령","고대의 수호자","심연의 크라켄","천둥의 와이번","독의 바실리스크","대지의 거인","폭풍의 하피","어둠의 리치","용암 비홀더"],VK=["어둠의 숨결","얼음 창","불꽃 구체","번개 일격","독안개","치명타","광역 공격","전체 공격"];function WK(){var e=$K[Math.floor(Math.random()*$K.length)],t=Math.floor(9e3*Math.random())+1e3,n=Math.floor(5*Math.random())+1,r=["SINGLE","AOE","IGNORE_DEFENSE"],a=[1,2,3].map(function(e){return{id:"skill-".concat(e),name:1===e?"기본 공격":VK[Math.floor(Math.random()*VK.length)],targetType:r[Math.floor(Math.random()*r.length)],attackType:"공격",defenseType:"공격",attackRange:Math.floor(3*Math.random())+1}}),l=[{id:"pattern-a",name:"패턴A",sequence:[{skillId:"skill-1",skillName:"기본 공격"},{skillId:"skill-2",skillName:a[1].name}]},{id:"pattern-b",name:"패턴B",sequence:[{skillId:"skill-1",skillName:"기본 공격"},{skillId:"skill-3",skillName:a[2].name},{skillId:"skill-2",skillName:a[1].name}]},{id:"pattern-c",name:"패턴C",sequence:[{skillId:"skill-3",skillName:a[2].name},{skillId:"skill-3",skillName:a[2].name},{skillId:"skill-2",skillName:a[1].name}]}];return{title:e,maxHp:t,speed:n,movement:Math.floor(3*Math.random())+1,size:1,description:"".concat(e,"에 대한 설명을 입력하세요."),skills:a,attackPatterns:l,hpPhasePatterns:[{hpRange:"HP 100-70%",hpMin:70,hpMax:100,patternId:"pattern-a"},{hpRange:"HP 70-40%",hpMin:40,hpMax:70,patternId:"pattern-b"},{hpRange:"HP 40-0%",hpMin:0,hpMax:40,patternId:"pattern-c"}],rewards:[{itemId:"",isMainReward:!0,isGuaranteed:!1,probability:30},{itemId:"",isMainReward:!1,isGuaranteed:!0,probability:0},{itemId:"",isMainReward:!1,isGuaranteed:!1,probability:50}]}}function _K(e,t){return qK.apply(this,arguments)}function qK(){return(qK=zK(regeneratorRuntime.mark(function e(t,n){var r,a,l,o,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=HK.collection(t),l=WK(),o=UK(UK(UK({},l),n),{},{order:n.order||0,isActive:null===(r=n.isActive)||void 0===r||r,createdAt:new Date}),i=a.doc(),e.next=6,i.set(UK(UK({},o),{},{id:i.id}));case 6:return e.abrupt("return",i.id);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function KK(e,t,n,r){return YK.apply(this,arguments)}function YK(){return(YK=zK(regeneratorRuntime.mark(function e(t,n,r,a){var l,o,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(l=HK.collection(t).doc(n),o=(null==a?void 0:a.prevImgURL)||"",null==a||!a.selectedFile){e.next=9;break}if(!a.prevImgURL){e.next=6;break}return e.next=6,(0,me.deleteImgStorage)(a.prevImgURL);case 6:return e.next=8,(0,me.saveAndGetImgURL)(t,a.selectedFile);case 8:o=e.sent;case 9:return i=UK(UK({},r),{},{imgURL:o,updatedAt:new Date}),e.abrupt("return",l.set(i,{merge:!0}));case 11:case"end":return e.stop()}},e)}))).apply(this,arguments)}function JK(e,t,n){return QK.apply(this,arguments)}function QK(){return(QK=zK(regeneratorRuntime.mark(function e(t,n,r){var a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=HK.collection(t).doc(n),!r){e.next=4;break}return e.next=4,(0,me.deleteImgStorage)(r);case 4:return e.abrupt("return",a.delete());case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ZK(e,t){return XK.apply(this,arguments)}function XK(){return(XK=zK(regeneratorRuntime.mark(function e(t,n){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=HK.batch(),a=HK.collection(t),n.forEac
1h(function(e,t){e.id&&r.update(a.doc(e.id),{order:t})}),e.abrupt("return",r.commit());case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function eY(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var tY=C.Ay.div(BK||(BK=eY(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),nY=C.Ay.div(FK||(FK=eY(["\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n  margin-bottom: 8px;\n"]))),rY=C.Ay.div(GK||(GK=eY(["\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n  gap: 12px;\n"])));function aY(e){var t=e.docID,n=e.title,a=e.maxHp,l=e.speed,o=e.movement,i=e.size,c=e.description,u=e.previewImgURL,s=e.isUploading,d=e.setTitle,f=e.setMaxHp,m=e.setSpeed,p=e.setMovement,v=e.setSize,y=e.setDescription,g=e.setSelectedFile,b=e.setIsUploading,h=e.fileReset;return r.createElement(r.Fragment,null,r.createElement(tY,null,r.createElement(nY,null,"몬스터 설정"),r.createElement(rY,null,r.createElement(I.A,{label:"몬스터명",name:"title",placeholder:"몬스터명",value:n,onChange:function(e){return d(e.target.value)}}),r.createElement(I.A,{label:"최대 HP",name:"maxHp",type:"number",placeholder:"0",value:a,onChange:function(e){return f(e.target.value)}}),r.createElement(I.A,{label:"속도",name:"speed",type:"number",placeholder:"1",value:l,onChange:function(e){return m(e.target.value)}}),r.createElement(I.A,{label:"이동력 (칸)",name:"movement",type:"number",placeholder:"1",value:o,onChange:function(e){return p(e.target.value)}}),r.createElement(I.A,{label:"크기 (칸)",name:"size",type:"number",placeholder:"1",value:i,onChange:function(e){return v(e.target.value)}})),r.createElement("div",{style:{fontSize:"12px",color:"var(--subTextColor)"}},"💡 속도: 낮을수록 빠르게 공격합니다",r.createElement("br",null),"💡 이동력: 몬스터가 한 턴에 이동할 수 있는 칸 수입니다 (예: 1칸)",r.createElement("br",null),"💡 크기: 마스레이드에서 몬스터가 차지하는 칸의 크기입니다 (기본값: 1)"),r.createElement(I.A,{label:"설명",name:"description",placeholder:"몬스터 설명",value:c,onChange:function(e){return y(e.target.value)}})),r.createElement(tY,null,r.createElement(Ro.A,null,"몬스터 이미지"),r.createElement(A.A,{id:"monster-img-".concat(t),prevImgURL:u,setSelectedFile:g,isUploading:s,setIsUploading:b,fileReset:h,accept:"image/*"})))}var lY,oY,iY,cY,uY,sY,dY,fY,mY,pY,vY,yY,gY=r.memo(aY),bY=n(89087);function hY(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function EY(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hY(Object(n),!0).forEach(function(t){xY(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hY(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xY(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wY(e,t){if(e){if("string"==typeof e)return AY(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?AY(e,t):void 0}}function AY(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function CY(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var kY=C.Ay.div(lY||(lY=CY(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  background-color: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n"]))),SY=C.Ay.div(oY||(oY=CY(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;
1\n"]))),OY=C.Ay.div(iY||(iY=CY(["\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n  margin-bottom: 0;\n"]))),IY=C.Ay.span(cY||(cY=CY(["\n  margin-left: 8px;\n  font-size: 12px;\n  font-weight: 500;\n  color: var(--primaryColor);\n  background: color-mix(in srgb, var(--primaryColor) 12%, transparent);\n  padding: 2px 8px;\n  border-radius: 10px;\n"]))),jY=C.Ay.div(uY||(uY=CY(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n"]))),PY=C.Ay.div(sY||(sY=CY(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 5px 10px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 20px;\n  font-size: 13px;\n"]))),TY=C.Ay.div(dY||(dY=CY(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),RY=C.Ay.div(fY||(fY=CY(["\n  display: grid;\n  grid-template-columns: 2fr 1.5fr 1fr 1fr 1fr auto;\n  gap: 8px;\n  align-items: center;\n"]))),LY=(0,C.Ay)(RY)(mY||(mY=CY(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--subTextColor);\n  padding-bottom: 8px;\n  border-bottom: 1px solid var(--lineColor);\n"]))),DY=C.Ay.div(pY||(pY=CY(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  text-align: center;\n  padding: 8px 0;\n"]))),UY=C.Ay.button(vY||(vY=CY(["\n  padding: 4px 8px;\n  font-size: 12px;\n  background-color: transparent;\n  color: var(--subTextColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 4px;\n  cursor: pointer;\n"]))),MY=C.Ay.div(yY||(yY=CY(["\n  padding: 12px 20px;\n  border-top: 1px solid var(--lineColor);\n  display: flex;\n  justify-content: flex-end;\n  background: var(--backgroundColor);\n"])));function NY(e){var t,n,a=e.skills,l=e.setSkills,o=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||wY(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],c=o[1],u=(0,r.useCallback)(function(){l(function(e){return[].concat(function(e){return function(e){if(Array.isArray(e))return AY(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||wY(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e),[{id:"skill-".concat(Date.now()),name:"새 스킬",targetType:Bu.PS.SINGLE,attackType:"공격",defenseType:"공격",attackRange:1}])})},[l]),s=(0,r.useCallback)(function(e){l(function(t){return t.filter(function(t){return t.id!==e})})},[l]),d=(0,r.useCallback)(function(e,t,n){l(function(r){return r.map(function(r){return r.id===e?EY(EY({},r),{},xY({},t,n)):r})})},[l]);return r.createElement(r.Fragment,null,r.createElement(kY,null,r.createElement(SY,null,r.createElement(OY,null,"몬스터 스킬 설정",r.createElement(IY,null,a.length,"개")),r.createElement(h.A,{onClick:function(){return c(!0)},size:"sm"},"편집")),0===a.length?r.createElement(DY,null,"등록된 스킬이 없습니다. 편집을 눌러 추가하세요."):r.createElement(jY,null,a.map(function(e){return r.createElement(PY,{key:e.id},r.createElement("span",null,e.name),r.createElement("span",{style:{color:"var(--subTextColor)",fontSize:11}},Bu.kh[e.targetType]))}))),r.createElement(bY.N,null,i&&r.createElement(k.A,{outsideClick:function(){return c(!1)},variant:"scale",contentStyle:{width:"780px",maxWidth:"96vw"}},r.createElement(S.rQ,null,r.createElement("div",{style:{paddingLeft:"8px",fontSize:"15px",fontWeight:600}},"몬스터 스킬 설정"),r.createElement("div",null),r.createElement(h.A,{onClick:u,size:"sm"},"+ 스킬 추가")),r.createElement(S.sC,{maxHeight:560},r.createElement("div",{style:{fontSize:"12px",lineHeight:"1.6",color:"var(--subTextColor)",marginBottom:"12px"}},"💡 몬스터가 사용할 스킬을 추가하고 타입, 공격/방어 속성을 설정하세요."),r.createElement(TY,null,r.createElement(LY,null,r.createElement("div",null,"스킬명"),r.createElement("div",null,"타입"),r.createElement("div",null,"공격속성"),r.createElement("div",null,"방어속성"),r.createElement("div",null,"공격범위"),r.createElement("div",null)),a.map(function(e){return r.createElement(RY,{key:e.id},r.createElement(I.A,{name:"skill-name-".concat(e.id),value:e.name,onChange:function(t){return d(e.id,"name",t.target.value)},placeholder:"스킬명"}),r.createElement(x.A,{selectList:[{key:Bu.PS.SINGLE,value:Bu.kh[Bu.PS.SINGLE]},{key:Bu.PS.AOE,value:Bu.kh[Bu.PS.AOE]},{key:Bu.PS.IGNORE_DEFENSE,value:Bu.kh[Bu.PS.IGNORE_DEFENSE]}],selectedKey:e.targetType,setSelectedKey:function(t){return d(e.id,"targetType",t)}}),r.createElement(I.A,{name:"skill-attack-".concat(e.id),value:e.attackType,onCh
1ange:function(t){return d(e.id,"attackType",t.target.value)},placeholder:"공격"}),r.createElement(I.A,{name:"skill-defense-".concat(e.id),value:e.defenseType,onChange:function(t){return d(e.id,"defenseType",t.target.value)},placeholder:"방어"}),r.createElement(I.A,{name:"skill-range-".concat(e.id),type:"number",value:String(e.attackRange||1),onChange:function(t){return d(e.id,"attackRange",Number(t.target.value)||1)},placeholder:"1"}),r.createElement(UY,{onClick:function(){return s(e.id)}},"×"))}),0===a.length&&r.createElement(DY,{style:{padding:"20px 0"}},"스킬을 추가해주세요."))),r.createElement(MY,null,r.createElement(h.A,{onClick:function(){return c(!1)}},"확인")))))}var zY,BY,FY,GY,HY,$Y,VY,WY,_Y,qY,KY,YY,JY,QY,ZY=r.memo(NY);function XY(e){return function(e){if(Array.isArray(e))return tJ(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||eJ(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eJ(e,t){if(e){if("string"==typeof e)return tJ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tJ(e,t):void 0}}function tJ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nJ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var rJ=C.Ay.div(zY||(zY=nJ(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  background-color: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n"]))),aJ=C.Ay.div(BY||(BY=nJ(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;
1\n"]))),lJ=C.Ay.div(FY||(FY=nJ(["\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n  margin-bottom: 0;\n"]))),oJ=C.Ay.span(GY||(GY=nJ(["\n  margin-left: 8px;\n  font-size: 12px;\n  font-weight: 500;\n  color: var(--primaryColor);\n  background: color-mix(in srgb, var(--primaryColor) 12%, transparent);\n  padding: 2px 8px;\n  border-radius: 10px;\n"]))),iJ=C.Ay.div(HY||(HY=nJ(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  text-align: center;\n  padding: 8px 0;\n"]))),cJ=C.Ay.div($Y||($Y=nJ(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),uJ=C.Ay.div(VY||(VY=nJ(["\n  font-size: 13px;\n  color: var(--textColor);\n  line-height: 1.5;\n  padding: 4px 8px;\n  background: var(--cardBackgroundColor);\n  border-radius: 6px;\n  border: 1px solid var(--lineColor);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),sJ=C.Ay.div(WY||(WY=nJ(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  padding: 2px 8px;\n"]))),dJ=C.Ay.div(_Y||(_Y=nJ(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),fJ=C.Ay.div(qY||(qY=nJ(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),mJ=C.Ay.span(KY||(KY=nJ(["\n  flex-shrink: 0;\n  width: 20px;\n  font-size: 12px;\n  color: var(--subTextColor);\n  text-align: right;\n"]))),pJ=C.Ay.input(YY||(YY=nJ(["\n  flex: 1;\n  padding: 8px 10px;\n  font-size: 13px;\n  font-family: var(--defaultFontFamily);\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n  background: var(--cardBackgroundColor);\n  color: var(--textColor);\n"]))),vJ=C.Ay.button(JY||(JY=nJ(["\n  padding: 4px 8px;\n  font-size: 12px;\n  background-color: transparent;\n  color: var(--subTextColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 4px;\n  cursor: pointer;\n"]))),yJ=C.Ay.div(QY||(QY=nJ(["\n  padding: 12px 20px;\n  border-top: 1px solid var(--lineColor);\n  display: flex;\n  justify-content: flex-end;\n  background: var(--backgroundColor);\n"])));function gJ(e){var t,n,a=e.dialogues,l=e.setDialogues,o=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||eJ(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],c=o[1];return r.createElement(r.Fragment,null,r.createElement(rJ,null,r.createElement(aJ,null,r.createElement(lJ,null,"몬스터 대사",r.createElement(oJ,null,a.length,"개")),r.createElement(h.A,{onClick:function(){return c(!0)},size:"sm"},"편집")),r.createElement("div",{style:{fontSize:"12px",color:"var(--subTextColor)",lineHeight:"1.5"}},"💡 몬스터 턴 소비 시 랜덤으로 채팅에 출력됩니다."),0===a.length?r.createElement(iJ,null,"등록된 대사가 없습니다. 편집을 눌러 추가하세요."):r.createElement(cJ,null,a.slice(0,3).map(function(e,t){return r.createElement(uJ,{key:t},"💬 ",e)}),a.length>3&&r.createElement(sJ,null,"+",a.length-3,"개 더"))),r.createElement(bY.N,null,i&&r.createElement(k.A,{outsideClick:function(){return c(!1)},variant:"scale",contentStyle:{width:"560px",maxWidth:"96vw"}},r.createElement(S.rQ,null,r.createElement("div",{style:{paddingLeft:"8px",fontSize:"15px",fontWeight:600}},"몬스터 대사 편집"),r.createElement("div",null),r.createElement(h.A,{onClick:function(){return l(function(e){return[].concat(XY(e),[""])})},size:"sm"},"+ 대사 추가")),r.createElement(S.sC,{maxHeight:500},r.createElement("div",{style:{fontSize:"12px",color:"var(--subTextColor)",lineHeight:"1.6",marginBottom:"12px"}},"💡 몬스터 턴 소비 시 목록 중 하나가 랜덤으로 채팅창에 출력됩니다."),r.createElement(dJ,null,a.map(function(e,t){return r.createElement(fJ,{key:t},r.createElement(mJ,null,t+1),r.createElement(pJ,{value:e,placeholder:"대사 ".concat(t+1,"번"),onChange:function(e){l(function(n){var r=XY(n);return r[t]=e.target.value,r})}}),r.createElement(vJ,{onClick:function(){return l(function(e){return e.filter(function(e,n){return n!==t})})}},"×"))}),0===a.length&&r.createElement(iJ,{style:{padding:"20px 0"}},"대사를 추가해주세요."))),r.createElement(yJ,null,r.createElement(h.A,{onClick:function(){return c(!1)}},"확인")))))}var bJ,hJ,EJ,xJ,wJ,AJ,CJ,kJ,SJ,OJ,IJ=r.memo(gJ);function jJ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function PJ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?jJ(Object(n),!0).forEach(function(t){TJ(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jJ(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function TJ(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function RJ(e){return function(e){if(Array.isArray(e))return DJ(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||LJ(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function LJ(e,t){if(e){if("string"==typeof e)return DJ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?DJ(e,t):void 0}}function DJ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function UJ(){return UJ=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},UJ.apply(this,arguments)}function MJ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var NJ=C.Ay.div(bJ||(bJ=MJ(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),zJ=C.Ay.div(hJ||(hJ=MJ(["\n  padding: 16px;\n  background-color: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),BJ=C.Ay.div(EJ||(EJ=MJ(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 12px;\n"]))),FJ=C.Ay.div(xJ||(xJ=MJ(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: center;\n  padding: 12px;\n  background-color: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  min-height: 60px;\n"]))),GJ=C.Ay.div(wJ||(wJ=MJ(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),HJ=C.Ay.div(AJ||(AJ=MJ(["\n  position: relative;\n  padding: 8px 16px;\n  background-color: var(--primaryColor);\n  color: var(--buttonTextColor);\n  border-radius: 6px;\n  font-size: 13px;\n  font-weight: 500;\n  cursor: grab;\n  user-select: none;\n  transition: all 0.2s;\n  opacity: ",";\n\n  &:active {\n    cursor: grabbing;\n  }\n\n  &:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n\n    .delete-btn {\n      opacity: 1;\n    }\n  }\n"])),function(e){return e.isDragging?.5:1}),$J=C.Ay.button(CJ||(CJ=MJ(["\n  position: absolute;\n  top: -6px;\n  right: -6px;\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  background-color: var(--warning, #ef4444);\n  color: white;\n  border: 2px solid var(--cardBackgroundColor);\n  font-size: 12px;\n  font-weight: bold;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  opacity: 0;\n  transition: all 0.2s;\n  z-index: 10;\n\n  &:hover {\n    transform: scale(1.1);\n    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);\n  }\n"]))),VJ=C.Ay.span(kJ||(kJ=MJ(["\n  color: var(--subTextColor);\n  font-size: 16px;\n"]))),WJ=C.Ay.div(SJ||(SJ=MJ(["\n  display: flex;\n  gap: 8px;\n  align-items: flex-end;\n"]))),_J=C.Ay.button(OJ||(OJ=MJ(["\n  padding: 4px 8px;\n  font-size: 12px;\n  background-color: transparent;\n  color: var(--subTextColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 4px;\n  cursor: pointer;\n  transition: all 0.2s;\n\n  &:hover {\n    background-color: var(--inkColor);\n    color: var(--textColor);\n    border-color: var(--primaryColor);\n  }\n\n  &:disabled {\n    opacity: 0.5;\n    cursor: not-allowed;\n  }\n"])));function qJ(e){var t=e.id,n=e.skillName,a=e.onDelete,l=(0,yl.gl)({id:t}),o=l.attributes,i=l.listeners,c=l.setNodeRef,u=l.transform,s=l.transition,d=l.isDragging,f={transform:gl.Ks.Transform.toString(u),transition:s};return r.createElement("div",UJ({ref:c,style:f},o,i),r.createElement(HJ,{isDragging:d},n,r.createElement($J,{className:"delete-btn",onClick:function(e){e.stopPropagation(),a()}},"×")))}function KJ(e){var t,n,a=e.patterns,l=e.skills,o=e.onChange,i=(0,vl.FR)((0,vl.MS)(vl.AN),(0,vl.MS)(vl.uN,{coordinateGetter:yl.JR})),c=(0,r.useCallback)(function(){var e={id:"pattern-".concat(Date.now()),name:"패턴".concat(String.fromCharCode(65+a.length)),sequence:[{skillId:"basic",skillName:"기본"}]};o([].concat(RJ(a),[e]))},[a,o]),u=(0,r.useCallback)(function(e){a.length<=1?alert("패턴은 최소 1개 이상 필요합니다."):o(a.filter(function(t){return t.id!==e}))},[a,o]),s=(0,r.useCallback)(function(e,t){o(a.map(function(n){return n.id===e?PJ(PJ({},n),{},{name:t}):n}))},[a,o]),d=(0,r.useCallback)(function(e,t){var n=e.active,r=e.over;if(r&&n.id!==r.id){var l=a.find(function(e){return e.id===t});if(!l)return;var i=function(e){var t=String(e).split("-");return parseInt(t[t.length-1],10)},c=i(n.id),u=i(r.id);if(!isNaN(c)&&!isNaN(u)){var s=(0,yl.be)(l.sequence,c,u);o(a.map(function(e){return e.id===t?PJ(PJ({},e),{},{sequence:s}):e}))}}},[a,o]),f=(0,r.useCallback)(function(e,t){var n=a.find(function(t){return t.id===e});if(n)if(n.sequence.length<=1)alert("패턴에는 최소 1개의 스킬이 필요합니다.");else{var r=n.sequence.filter(function(e,n){return n!==t});o(a.map(function(t){return t.id===e?PJ(PJ({},t),{},{sequence:r}):t}))}},[a,o]),m=(0,r.useCallback)(function(e,t){if(t){var n=a.find(function(t){return t.id===e}),r=l.find(function(e){return e.id===t})||{id:"basic",name:"기본"};if(n){var i=[].concat(RJ(n.sequence),[{skillId:r.id,skillName:r.name}]);o(a.map(function(t){return t.id===e?PJ(PJ({},t),{},{sequence:i}):t}))}}},[a,l,o]),p=(t=r.useState({}),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||LJ(t,n)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),v=p[0],y=p[1];return r.createElement(NJ,null,a.map(function(e){var t=e.sequence.map(function(t,n){return"".concat(e.id,"-").concat(t.skillId,"-").concat(n)});return r.createElement(zJ,{key:e.id},r.createElement(BJ,null,r.createElement(I.A,{name:"pattern-name-".concat(e.id),value:e.name,onChange:function(t){return s(e.id,t.target.value)},placeholder:"패턴명",style:{maxWidth:"200px"}}),r.createElement(_J,{onClick:function(){return u(e.id)},disabled:a.length<=1},"패턴 삭제")),r.createElement(vl.Mp,{sensors:i,collisionDetection:vl.fp,onDragEnd:function(t){return d(t,e.id)}},r.createElement(yl.gB,{items:t,strategy:yl.m$},r.createElement(FJ,null,e.sequence.map(function(t,n){return r.createElement(GJ,{key:"".concat(e.id,"-").concat(t.skillId,"-").concat(n)},r.createElement(qJ,{id:"".concat(e.id,"-").concat(t.skillId,"-").concat(n),skillName:t.skillName,onDelete:function(){return f(e.id,n)}}),n<e.sequence.length-1&&r.createElement(VJ,null,"→"))})))),r.createElement(WJ,null,r.createElement(x.A,{selectList:[{key:"basic",value:"기본"}].concat(RJ(l.map(function(e){return{key:e.id,value:e.name}}))),selectedKey:v[e.id]||"",setSelectedKey:function(t){return y(PJ(PJ({},v),{},TJ({},e.id,t)))},placeholderValue:"스킬 선택",style:{flex:1}}),r.createElement(h.A,{size:"sm",onClick:function(){m(e.id,v[e.id]),y(PJ(PJ({},v),{},TJ({},e.id,"")))},disabled:!v[e.id]},"추가")))}),r.createElement(h.A,{onClick:c,block:!0},"+ 패턴 추가"))}var YJ,JJ,QJ,ZJ,XJ,eQ,tQ,nQ=r.memo(KJ);function rQ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function aQ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var lQ=C.Ay.div(YJ||(YJ=aQ(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  background-color: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n"]))),oQ=C.Ay.div(JJ||(JJ=aQ(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;
1\n"]))),iQ=C.Ay.div(QJ||(QJ=aQ(["\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n  margin-bottom: 0;\n"]))),cQ=C.Ay.span(ZJ||(ZJ=aQ(["\n  margin-left: 8px;\n  font-size: 12px;\n  font-weight: 500;\n  color: var(--primaryColor);\n  background: color-mix(in srgb, var(--primaryColor) 12%, transparent);\n  padding: 2px 8px;\n  border-radius: 10px;\n"]))),uQ=C.Ay.div(XJ||(XJ=aQ(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  text-align: center;\n  padding: 8px 0;\n"]))),sQ=C.Ay.div(eQ||(eQ=aQ(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),dQ=C.Ay.div(tQ||(tQ=aQ(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 12px;\n  padding: 6px 10px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n"])));function fQ(e){var t,n,a=e.attackPatterns,l=e.skills,o=e.setAttackPatterns,i=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return rQ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rQ(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=i[0],u=i[1];return r.createElement(r.Fragment,null,r.createElement(lQ,null,r.createElement(oQ,null,r.createElement(iQ,null,"공격 패턴 설정",r.createElement(cQ,null,a.length,"개")),r.createElement(h.A,{onClick:function(){return u(!0)},size:"sm"},"편집")),r.createElement("div",{style:{fontSize:"12px",lineHeight:"1.4",color:"var(--subTextColor)"}},"💡 패턴 목록을 간단히 확인하고, 상세 편집은 [편집]에서 진행하세요."),0===a.length?r.createElement(uQ,null,"등록된 패턴이 없습니다. 편집을 눌러 추가하세요."):r.createElement(sQ,null,a.map(function(e){var t;return r.createElement(dQ,{key:e.id},r.createElement("span",{style:{fontSize:13,color:"var(--textColor)",fontWeight:600}},e.name),r.createElement("span",{style:{fontSize:12,color:"var(--subTextColor)"}},(null===(t=e.sequence)||void 0===t?void 0:t.length)||0,"개 스킬"))}))),r.createElement(bY.N,null,c&&r.createElement(k.A,{outsideClick:function(){return u(!1)},variant:"scale",contentStyle:{width:"900px",maxWidth:"96vw"}},r.createElement(S.rQ,null,r.createElement("h6",null,"공격 패턴 편집"),r.createElement("div",null),r.createElement(O.A,{onClick:function(){return u(!1)}})),r.createElement(S.sC,{maxHeight:560},r.createElement("div",{style:{fontSize:"12px",lineHeight:"1.6",color:"var(--subTextColor)",marginBottom:"12px"}},"💡 드래그 앤 드롭으로 각 스킬의 순서를 변경할 수 있습니다.",r.createElement("br",null),"스킬에 마우스를 올리면 우측 상단에 삭제 버튼이 나타납니다."),r.createElement(nQ,{patterns:a,skills:l,onChange:o})))))}var mQ,pQ,vQ,yQ,gQ,bQ=r.memo(fQ);function hQ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function EQ(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xQ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function wQ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var AQ=C.Ay.div(mQ||(mQ=wQ(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  background-color: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n"]))),CQ=C.Ay.div(pQ||(pQ=wQ(["\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n  margin-bottom: 8px;\n"]))),kQ=C.Ay.div(vQ||(vQ=wQ(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 2fr auto;\n  gap: 8px;\n"]))),SQ=C.Ay.div(yQ||(yQ=wQ(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--subTextColor);\n  padding: 8px 12px;
1\n  background-color: var(--cardBackgroundColor);\n  border-radius: 4px;\n"]))),OQ=C.Ay.button(gQ||(gQ=wQ(["\n  padding: 4px 8px;\n  font-size: 12px;\n  background-color: transparent;\n  color: var(--subTextColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 4px;\n  cursor: pointer;\n"])));function IQ(e){var t=e.attackPatterns,n=e.hpPhasePatterns,a=e.setHpPhasePatterns,l=(0,r.useCallback)(function(){var e,n=(null===(e=t[0])||void 0===e?void 0:e.id)||"";a(function(e){return[].concat(function(e){if(Array.isArray(e))return xQ(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return xQ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xQ(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[{hpRange:"HP 100-70%",hpMin:70,hpMax:100,patternId:n}]);var t})},[t,a]),o=(0,r.useCallback)(function(e){a(function(t){return t.filter(function(t,n){return n!==e})})},[a]),i=(0,r.useCallback)(function(e,t,n){a(function(r){return r.map(function(r,a){if(a!==e)return r;var l=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hQ(Object(n),!0).forEach(function(t){EQ(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hQ(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},r);if("hpMin"===t||"hpMax"===t){var o=Number(n)||0;l[t]=o;var i=Number(l.hpMin)||0,c=Number(l.hpMax)||0;l.hpRange="HP ".concat(c,"-").concat(i,"%")}else l.patternId=String(n);return l})})},[a]);return r.createElement(AQ,null,r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},r.createElement(CQ,null,"체력 구간별 패턴 전환"),r.createElement(h.A,{onClick:l,size:"sm"},"+ 구간 추가")),r.createElement("div",{style:{fontSize:"12px",lineHeight:"1.4",color:"var(--subTextColor)",marginBottom:"8px"}},"💡 몬스터 HP에 따라 사용할 공격 패턴을 지정하세요.",r.createElement("br",null),"HP가 낮아질수록 더 강력한 패턴을 사용하도록 설정할 수 있습니다."),r.createElement(kQ,null,r.createElement(SQ,null,"최소 HP(%)"),r.createElement(SQ,null,"최대 HP(%)"),r.createElement(SQ,null,"사용 패턴"),r.createElement(SQ,null,"삭제"),n.map(function(e,n){var a,l;return r.createElement(r.Fragment,{key:n},r.createElement(I.A,{name:"hp-phase-min-".concat(n),type:"number",value:String(null!==(a=e.hpMin)&&void 0!==a?a:0),onChange:function(e){return i(n,"hpMin",e.target.value)},placeholder:"0"}),r.createElement(I.A,{name:"hp-phase-max-".concat(n),type:"number",value:String(null!==(l=e.hpMax)&&void 0!==l?l:100),onChange:function(e){return i(n,"hpMax",e.target.value)},placeholder:"100"}),r.createElement(x.A,{selectList:t.map(function(e){return{key:e.id,value:e.name}}),selectedKey:e.patternId,setSelectedKey:function(e){return i(n,"patternId",e)}}),r.createElement(OQ,{onClick:function(){return o(n)}},"×"))})))}var jQ=r.memo(IQ);function PQ(e){var t=e.skills,n=e.setSkills,a=e.dialogues,l=e.setDialogues,o=e.attackPatterns,i=e.setAttackPatterns,c=e.hpPhasePatterns,u=e.setHpPhasePatterns;return r.createElement(r.Fragment,null,r.createElement(ZY,{skills:t,setSkills:n}),r.createElement(IJ,{dialogues:a,setDialogues:l}),r.createElement(bQ,{attackPatterns:o,skills:t,setAttackPatterns:i}),r.createElement(jQ,{attackPatterns:o,hpPhasePatterns:c,setHpPhasePatterns:u}))}var TQ,RQ,LQ,DQ,UQ,MQ=r.memo(PQ);function NQ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zQ(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?NQ(Object(n),!0).forEach(function(t){BQ(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):NQ(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function BQ(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FQ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function GQ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var HQ=C.Ay.div(TQ||(TQ=GQ(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  background-color: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n"]))),$Q=C.Ay.div(RQ||(RQ=GQ(["\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n  margin-bottom: 8px;\n"]))),VQ=C.Ay.div(LQ||(LQ=GQ(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),WQ=C.Ay.div(DQ||(DQ=GQ(["\n  display: grid;\n  grid-template-columns: 1fr 1fr 50px auto;\n  gap: 8px;\n  align-items: center;
1\n"]))),_Q=C.Ay.button(UQ||(UQ=GQ(["\n  padding: 4px 8px;\n  font-size: 12px;\n  background-color: transparent;\n  color: var(--subTextColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 4px;\n  cursor: pointer;\n"])));function qQ(e){var t=e.rewards,n=e.setRewards,a=(0,r.useCallback)(function(){n(function(e){return[].concat(function(e){if(Array.isArray(e))return FQ(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return FQ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?FQ(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[{itemId:"",isMainReward:!1,isGuaranteed:!1,probability:0}]);var t})},[n]);return r.createElement(HQ,null,r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},r.createElement($Q,null,"몬스터 처치시 보상"),r.createElement(h.A,{onClick:a,size:"sm"},"+ 보상 추가")),r.createElement("div",{style:{fontSize:"12px",lineHeight:"1.4",color:"var(--subTextColor)"}},"각 아이템 등장 확률을 지정할 수 있습니다. ",r.createElement("br",null),"총 합이 100이 넘지 않도록 해주세요."),r.createElement(VQ,null,r.createElement(WQ,{style:{fontWeight:600,color:"var(--subTextColor)"}},r.createElement("div",null,"아이템"),r.createElement("div",null,"확률(%)"),r.createElement("div",null,"주요 보상"),r.createElement("div",null)),t.map(function(e,t){return r.createElement(WQ,{key:t},r.createElement(vu.A,{id:"reward-item-".concat(t),selectedIDList:e.itemId?[e.itemId]:[],setSelectedIDList:function(e){n(function(n){return n.map(function(n,r){return r===t?zQ(zQ({},n),{},{itemId:e[0]||""}):n})})},collectionPath:o.Gf.STORE,selectOnlyOne:!0,placeholder:"아이템 선택"}),r.createElement(I.A,{name:"reward-probability-".concat(t),type:"number",value:String(e.probability||0),onChange:function(e){n(function(n){return n.map(function(n,r){return r===t?zQ(zQ({},n),{},{probability:Number(e.target.value)}):n})})},placeholder:"0"}),r.createElement(xt.A,{id:"reward-main-".concat(t),value:"main-".concat(t),checked:e.isMainReward,onChange:function(e){n(function(n){return n.map(function(n,r){return r===t?zQ(zQ({},n),{},{isMainReward:e.target.checked}):n})})}}),r.createElement(_Q,{onClick:function(){n(function(e){return e.filter(function(e,n){return n!==t})})}},"×"))})))}var KQ,YQ,JQ,QQ,ZQ=r.memo(qQ);function XQ(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function eZ(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){XQ(l,r,a,o,i,"next",e)}function i(e){XQ(l,r,a,o,i,"throw",e)}o(void 0)})}}function tZ(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return nZ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nZ(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function nZ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function rZ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var aZ=C.Ay.div(KQ||(KQ=rZ(["\n  height: 100%;\n  overflow-y: auto;
1\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n  display: flex;\n  flex-direction: column;\n  ","\n"])),j.kM),lZ=C.Ay.div(YQ||(YQ=rZ(["\n  flex: 1;\n  padding: 20px;\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n  overflow-y: auto;\n  ","\n"])),j.kM),oZ=C.Ay.div(JQ||(JQ=rZ(["\n  padding: 16px 20px;\n  border-top: 1px solid var(--lineColor);\n  display: flex;\n  gap: 8px;\n  justify-content: flex-end;\n  background-color: var(--backgroundColor);\n"]))),iZ=C.Ay.div(QQ||(QQ=rZ(["\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--subTextColor);\n  font-size: 14px;\n"]))),cZ="basic";function uZ(e){var t=e.docID,n=(0,l.useDocument)(t?"".concat(o.Gf.NPC,"/").concat(t):null,{listen:!0}).data,a=tZ((0,r.useState)(""),2),c=a[0],u=a[1],s=tZ((0,r.useState)("0"),2),d=s[0],f=s[1],m=tZ((0,r.useState)("1"),2),p=m[0],v=m[1],y=tZ((0,r.useState)("1"),2),g=y[0],b=y[1],E=tZ((0,r.useState)("1"),2),x=E[0],w=E[1],A=tZ((0,r.useState)(""),2),C=A[0],k=A[1],S=tZ((0,r.useState)(null),2),O=S[0],I=S[1],j=tZ((0,r.useState)(null),2),P=j[0],T=j[1],R=tZ((0,r.useState)(!1),2),L=R[0],D=R[1],U=tZ((0,r.useState)(!1),2),M=U[0],N=U[1],z=tZ((0,r.useState)([]),2),B=z[0],F=z[1],G=tZ((0,r.useState)([]),2),H=G[0],$=G[1],V=tZ((0,r.useState)([]),2),W=V[0],_=V[1],q=tZ((0,r.useState)([]),2),K=q[0],Y=q[1],J=tZ((0,r.useState)([]),2),Q=J[0],Z=J[1];(0,r.useEffect)(function(){n&&(u(n.title||""),f(String(n.maxHp||0)),v(String(n.speed||1)),b(String(n.movement||1)),w(String(n.size||1)),k(n.description||""),F(n.skills||[]),$(n.attackPatterns||[]),_(n.hpPhasePatterns||[]),Y(n.rewards||[]),Z(n.dialogues||[]),T(n.imgURL||null))},[n]);var X=(0,r.useCallback)(function(){I(null),T((null==n?void 0:n.imgURL)||null)},[n]),ee=(0,r.useCallback)(eZ(regeneratorRuntime.mark(function e(){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&n){e.next=2;break}return e.abrupt("return");case 2:return N(!0),e.prev=3,r={title:c,maxHp:Number(d),speed:Number(p),movement:Number(g),size:Number(x),description:C,skills:B,attackPatterns:H,hpPhasePatterns:W,rewards:K,dialogues:Q},e.next=7,KK(o.Gf.NPC,t,r,{selectedFile:O,prevImgURL:n.imgURL});case 7:X(),alert("저장되었습니다."),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(3),console.error("몬스터 저장 오류:",e.t0),alert("저장 중 오류가 발생했습니다.");case 15:return e.prev=15,N(!1),e.finish(15);case 18:case"end":return e.stop()}},e,null,[[3,11,15,18]])})),[t,n,c,d,p,g,x,C,B,H,W,K,Q,O,X]),te=(0,r.useCallback)(eZ(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&n){e.next=2;break}return e.abrupt("return");case 2:if(window.confirm("정말 삭제하시겠습니까?")){e.next=5;break}return e.abrupt("return");case 5:return e.prev=5,e.next=8,JK(o.Gf.NPC,t,n.imgURL);case 8:alert("삭제되었습니다."),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(5),console.error("몬스터 삭제 오류:",e.t0),alert("삭제 중 오류가 발생했습니다.");case 15:case"end":return e.stop()}},e,null,[[5,11]])})),[t,n]);return t?n?r.createElement(aZ,null,r.createElement(lZ,null,r.createElement(i.A,{defaultViewType:cZ,viewOptions:[{value:cZ,label:"기본",isShow:!0,drawView:r.createElement(gY,{docID:t,title:c,maxHp:d,speed:p,movement:g,size:x,description:C,previewImgURL:P,isUploading:L,setTitle:u,setMaxHp:f,setSpeed:v,setMovement:b,setSize:w,setDescription:k,setSelectedFile:I,setIsUploading:D,fileReset:X})},{value:"skill_dialogue_pattern",label:"스킬&대사&패턴",isShow:!0,drawView:r.createElement(MQ,{skills:B,setSkills:F,dialogues:Q,setDialogues:Z,attackPatterns:H,setAttackPatterns:$,hpPhasePatterns:W,setHpPhasePatterns:_})},{value:"reward",label:"보상",isShow:!0,drawView:r.createElement(ZQ,{rewards:K,setRewards:Y})}]})),r.createElement(oZ,null,r.createElement(h.A,{onClick:te,color:"warning",disabled:M},"삭제"),r.createElement(h.A,{onClick:ee,pending:M,disabled:L},"저장"))):r.createElement(aZ,null,r.createElement(iZ,null,"로딩중...")):r.createElement(aZ,null,r.createElement(iZ,null,"몬스터를 선택해주세요"))}var sZ,dZ,fZ,mZ=r.memo(uZ);function pZ(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function vZ(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){pZ(l,r,a,o,i,"next",e)}function i(e){pZ(l,r,a,o,i,"throw",e)}o(void 0)})}}function yZ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function gZ(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var bZ=C.Ay.div(sZ||(sZ=gZ(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1.5fr;\n  gap: 12px;\n  height: 700px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n    height: auto;\n  }\n"]))),hZ=C.Ay.div(dZ||(dZ=gZ(["\n  height: 100%;\n  overflow: hidden;
1\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n  display: grid;\n  grid-template-rows: auto 1fr;\n"]))),EZ=C.Ay.div(fZ||(fZ=gZ(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"]))),xZ=function(){var e,t,n=o.Gf.NPC,a=(e=(0,r.useState)(""),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return yZ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yZ(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],c=a[1],u=(0,l.useCollection)(n,{listen:!0,orderBy:["order","asc"]}).data,s=(0,mu.W)({list:u,searchCondition:"title"}).searchResult,d=(0,r.useCallback)(vZ(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_K(n,{order:u?u.length:0});case 3:t=e.sent,c(t),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error("몬스터 추가 오류:",e.t0),alert("몬스터 추가 중 오류가 발생했습니다.");case 11:case"end":return e.stop()}},e,null,[[0,7]])})),[u,n]),f=(0,r.useCallback)(function(){var e=vZ(regeneratorRuntime.mark(function e(t){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.orderList,e.prev=1,e.next=4,ZK(n,r);case 4:console.log("✅ 몬스터 순서 저장 완료"),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("몬스터 순서 저장 오류:",e.t0),alert("순서 저장 중 오류가 발생했습니다.");case 11:case"end":return e.stop()}},e,null,[[1,7]])}));return function(t){return e.apply(this,arguments)}}(),[n]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"몬스터 설정",r.createElement(b.PF,null,"레이드에 등장할 몬스터를 관리합니다.",r.createElement("br",null),"몬스터의 스킬, 공격 패턴, 보상을 설정할 수 있습니다.")),r.createElement(bZ,null,r.createElement(hZ,null,r.createElement(EZ,null,r.createElement(du.A,{block:!0,placeholder:"몬스터 검색",noResult:!0}),r.createElement(h.A,{block:!0,onClick:d},"몬스터 추가")),r.createElement(fu.A,{list:s||u,setSelectValue:c,selectedId:i,customCollectionPath:n,handleOrder:f,style:{height:"100%"}})),r.createElement(mZ,{docID:i}
1)))},wZ=n(27386),AZ=n(89824),CZ=n(58818);function kZ(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function SZ(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){kZ(l,r,a,o,i,"next",e)}function i(e){kZ(l,r,a,o,i,"throw",e)}o(void 0)})}}function OZ(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return IZ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?IZ(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function IZ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var jZ=function(e){var t;!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var n=(0,l.useDocument)("".concat(o.Mb.EXPLORATION),{listen:!0}),a=n.data,i=n.set,c=(0,CZ.p)(),u=c.explorationPoint,s=c.deductPoints,d=c.maxPoints,f=OZ((0,r.useState)(!1),2),m=f[0],p=f[1],v=OZ((0,r.useState)(null!==(t=null==a?void 0:a.isActive)&&void 0!==t&&t),2),y=v[0],g=v[1],E=OZ((0,r.useState)(!1),2),x=E[0],C=E[1],k=OZ((0,Mn.zN)({acquisitionInterval:String((null==a?void 0:a.acquisitionInterval)||AZ.g.acquisitionInterval),pointsPerInterval:String((null==a?void 0:a.pointsPerInterval)||AZ.g.pointsPerInterval),maxPoints:String((null==a?void 0:a.maxPoints)||AZ.g.maxPoints)}),2),S=k[0],O=S.acquisitionInterval,j=S.pointsPerInterval,P=S.maxPoints,T=k[1],R=OZ((0,r.useState)(null),2),L=R[0],D=R[1],U=OZ((0,r.useState)(""),2),M=U[0],N=U[1];(0,r.useEffect)(function(){N((null==a?void 0:a.pointIconURL)||"")},[a]);var z=(0,r.useCallback)(function(){i({isActive:!y},{merge:!0}),g(!y)},[y,i]),B=(0,r.useCallback)(SZ(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((null==a?void 0:a.acquisitionInterval)===Number(O)){e.next=5;break}if(window.confirm("[탐색포인트 획득 간격]을 수정하면 모든 유저의 탐색포인트가 최대치로 채워지게 됩니다. 계속하시겠습니까?")){e.next=5;break}return e.abrupt("return");case 5:return C(!0),e.prev=6,t={isActive:y||AZ.g.isActive,acquisitionInterval:Number(O)||AZ.g.acquisitionInterval,pointsPerInterval:Number(j)||AZ.g.pointsPerInterval,maxPoints:Number(P)||AZ.g.maxPoints},e.next=10,i(t,{merge:!0});case 10:alert("탐색포인트 설정이 저장되었습니다."),e.next=17;break;case 13:e.prev=13,e.t0=e.catch(6),console.error("탐색포인트 설정 저장 실패:",e.t0),alert("설정 저장에 실패했습니다.");case 17:return e.prev=17,C(!1),e.finish(17);case 20:case"end":return e.stop()}},e,null,[[6,13,17,20]])})),[y,O,j,P,i]),F=(0,r.useCallback)(SZ(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return p(!0),e.prev=1,e.next=4,s(1);case 4:e.sent?alert("테스트 차감 완료: ".concat(u," → ").concat(u-1)):alert("차감 실패: 포인트가 부족하거나 시스템이 비활성화 상태입니다."),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(1),console.error("테스트 차감 오류:",e.t0),alert("차감 중 오류가 발생했습니다.");case 12:return e.prev=12,p(!1),e.finish(12);case 15:case"end":return e.stop()}},e,null,[[1,8,12,15]])})),[s,u]);(0,r.useEffect)(function(){L&&(0,me.updateImg)({fileList:{selectedFile:L,prevImgURL:(null==a?void 0:a.pointIconURL)||""},collectionPath:"setting",docId:"exploration",key:"pointIconURL"}).then(function(){return D(null)})},[L,a]);var G=(0,r.useCallback)(function(){null!=a&&a.pointIconURL&&(0,me.deleteImg)({imgURL:a.pointIconURL,collectionPath:"setting",docId:"exploration",key:"pointIconURL"}).then(function(){return N("")})},[a]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"탐색 포인트 설정",r.createElement(b.PF,null,"탐색포인트 시스템을 설정하여 유저들이 시간에 따라 탐색포인트를 획득하고 사용할 수 있도록 합니다.")),r.createElement(b.N9,null,r.createElement(b.Fd,{style:{textAlign:"left"}},r.createElement(b.O9,null,"탐색포인트 시스템 활성화"),r.createElement(w.A,{isChecked:y,handleSwitch:z}))),r.createElement(b.N9,null,r.createElement(b.O9,null,"탐색 포인트 아이콘"),r.createElement("div",{style:{marginBottom:32,width:"100%",maxWidth:400}},r.createElement(A.A,{label:"탐색 포인트 아이콘 이미지",id:"exploration-point-icon",setSelectedFile:D,prevImgURL:M||"",text:"이미지 추가 (권장 16*16)",customDelete:G,style:{height:50}}))),r.createElement(b.N9,null,r.createElement(Ro.A,null,"탐색포인트 획득 간격 (분)"),r.createElement(I.A,{value:O,name:"acquisitionInterval",onChange:T,placeholder:"예: 60 (60분마다 획득)",type:"number"})),r.createElement(b.N9,null,r.createElement(Ro.A,null,"간격마다 획득할 탐색포인트"),r.createElement(I.A,{value:j,name:"pointsPerInterval",onChange:T,placeholder:"예: 1 (1포인트씩 획득)",type:"number"})),r.createElement(b.N9,null,r.createElement(Ro.A,null,"최대 탐색포인트"),r.createElement(I.A,{value:P,name:"maxPoints",onChange:T,placeholder:"예: 5 (최대 5포인트까지 보유)",type:"number"})),r.createElement(b.PF,null,"⚠️ 유저가 최대 탐색포인트에 도달하면 더 이상 포인트가 증가하지 않습니다.",r.createElement("br",null),"💡 탐색포인트는 조사형 게시판에서 카드를 뒤집거나 특별한 액션을 수행할 때 사용됩니다."),r.createElement("div",{style:{display:"flex",gap:8}},r.createElement(h.A,{onClick:F,pending:m,block:!0,shape:"stroke"},"테스트 탐색 포인트 소비 -1 (현재: ",u,"/",d,")"),r.createElement(h.A,{onClick:B,pending:x,block:!0},"저장")))};function PZ(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function TZ(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){PZ(l,r,a,o,i,"next",e)}function i(e){PZ(l,r,a,o,i,"throw",e)}o(void 0)})}}function RZ(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return LZ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?LZ(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function LZ(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function DZ(){var e=(0,l.useDocument)("".concat(o.Mb.EXPLORATION),{listen:!0}),t=e.data,n=e.set,a=RZ((0,r.useState)(!1),2),i=a[0],c=a[1],u=RZ((0,r.useState)(null),2),s=u[0],d=u[1],f=RZ((0,r.useState)(""),2),m=f[0],p=f[1],v=RZ((0,r.useState)("조사 지문"),2),y=v[0],g=v[1],E=RZ((0,r.useState)("탐색 중 획득한 조사 지문입니다."),2),x=E[0],w=E[1];(0,r.useEffect)(function(){t&&(p(t.investigationItemImageURL||""),g(t.investigationItemName||"조사 지문"),w(t.investigationItemDescription||"탐색 중 획득한 조사 지문입니다."))},[t]),(0,r.useEffect)(function(){s&&(0,me.updateImg)({fileList:{selectedFile:s,prevImgURL:(null==t?void 0:t.investigationItemImageURL)||""},collectionPath:"setting",docId:"exploration",key:"investigationItemImageURL"}).then(function(){d(null)})},[s,t]);var C=(0,r.useCallback)(function(){null!=t&&t.investigationItemImageURL&&(0,me.deleteImg)({imgURL:t.investigationItemImageURL,collectionPath:"setting",docId:"exploration",key:"investigationItemImageURL"}).then(function(){return p("")})},[t]),k=(0,r.useCallback)(TZ(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,n({investigationItemName:y||"조사 지문",investigationItemDescription:x||"탐색 중 획득한 조사 지문입니다."},{merge:!0});case 4:window.Notification&&"granted"===Notification.permission&&new Notification("✅ 저장 완료",{body:"조사 지문 아이템 설정이 저장되었습니다."}),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),console.error("저장 실패:",e.t0);case 10:return e.prev=10,c(!1),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[1,7,10,13]])})),[n,y,x]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"조사 지문용 아이템",r.createElement(b.PF,null,"조사 지문을 획득했을 때 인벤토리에 표시될 아이템을 설정합니다.",r.createElement("br",null),"뽑기 아이템처럼 유저가 조사 지문을 획득하면 이 아이템이 인벤토리에 추가됩니다.")),r.createElement(b.N9,null,r.createElement(b.O9,null,"아이템 이미지"),r.createElement("div",{style:{marginBottom:16,width:"100%",maxWidth:200}},r.createElement(A.A,{id:"investigation-item-image",setSelectedFile:d,prevImgURL:m||"",text:"이미지 추가 (정사각 권장)",customDelete:C,style:{height:120}}))),r.createElement(b.N9,null,r.createElement(Ro.A,null,"아이템 이름"),r.createElement(I.A,{value:y,name:"investigationItemName",onChange:function(e){return g(e.target.value)},placeholder:"예: 조사 지문"})),r.createElement(b.N9,null,r.createElement(Ro.A,null,"아이템 설명"),r.createElement(I.A,{value:x,name:"investigationItemDescription",onChange:function(e){return w(e.target.value)},placeholder:"예: 탐색 중 획득한 조사 지문입니다."})),r.createElement(b.PF,null,"💡 조사 지문을 획득하면 위 설정대로 인벤토리에 아이템으로 추가됩니다.",r.createElement("br",null),"📜 인벤토리에서 해당 아이템을 사용하면 조사 지문 내용을 확인할 수 있습니다."),r.createElement(h.A,{onClick:k,pending:i,block:!0},"저장"))}var UZ,MZ,NZ,zZ,BZ,FZ,GZ,HZ,$Z,VZ,WZ,_Z,qZ,KZ,YZ,JZ,QZ,ZZ,XZ,eX,tX,nX,rX,aX,lX,oX,iX,cX,uX,sX,dX,fX,mX=r.memo(DZ),pX=n(40102),vX=n(64757),yX=n(18915);function gX(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function bX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function hX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bX(Object(n),!0).forEach(function(t){EX(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bX(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function EX(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xX(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function wX(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){xX(l,r,a,o,i,"next",e)}function i(e){xX(l,r,a,o,i,"throw",e)}o(void 0)})}}function AX(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||CX(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function CX(e,t){if(e){if("string"==typeof e)return kX(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?kX(e,t):void 0}}function kX(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var SX,OX,IX,jX,PX,TX,RX,LX,DX,UX,MX,NX,zX,BX,FX,GX,HX,$X,VX,WX,_X,qX,KX,YX,JX,QX,ZX=[{value:"unlimited",label:"무제한"},{value:"daily",label:"매일 한 번"},{value:"weekly",label:"매주 한 번"},{value:"monthly",label:"매월 한 번"},{value:"custom",label:"직접 설정"}],XX=function(){var e=(0,tC.A)().openToast,t=(0,l.useDocument)("setting/timelineInvestigation",{listen:!0}),n=t.data,a=t.set,i=(0,l.useDocument)("".concat(o.Mb.EXPLORATION),{listen:!0}),c=i.data,u=i.set,s=(0,l.useDocument)(o.Mb.TIMELINE,{listen:!0}),d=s.data,f=s.set,m=AX((0,r.useState)(pX.LL),2),p=m[0],v=m[1],y=AX((0,r.useState)("unlimited"),2),g=y[0],E=y[1],x=AX((0,r.useState)("00:00"),2),A=x[0],C=x[1],k=AX((0,r.useState)(1),2),S=k[0],O=k[1],j=AX((0,r.useState)(24),2),P=j[0],T=j[1],R=AX((0,r.useState)(!1),2),L=R[0],D=R[1],U=AX((0,r.useState)(1),2),M=U[0],N=U[1],z=AX((0,r.useState)(yX.D2.useInvestigationItemReward),2),B=z[0],F=z[1];(0,r.useEffect)(function(){var e,t,r,a,l;n&&(v(null!==(e=n.schedule)&&void 0!==e?e:pX.LL),E(null!==(t=n.limitType)&&void 0!==t?t:"unlimited"),C(null!==(r=n.resetTime)&&void 0!==r?r:"00:00"),O(null!==(a=n.customLimitCount)&&void 0!==a?a:1),T(null!==(l=n.customLimitPeriodHours)&&void 0!==l?l:24))},[n]),(0,r.useEffect)(function(){c&&(D(c.useExplorationPointForInvestigation||!1),N(c.investigationPointCost||1))},[c]),(0,r.useEffect)(function(){var e;d&&F(null!==(e=d.useInvestigationItemReward)&&void 0!==e?e:yX.D2.useInvestigationItemReward)},[d]);var G=p,H=(0,r.useMemo)(function(){return(0,vX.j)({schedule:p,limitType:g,resetTime:A,customLimitCount:S,customLimitPeriodHours:P})},[p,g,A,S,P]),$=(0,r.useCallback)(wX(regeneratorRuntime.mark(function t(){var n;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n={schedule:p,limitType:g,resetTime:A,customLimitCount:S,customLimitPeriodHours:P},t.next=4,a(n,{merge:!0});case 4:return t.next=6,u({useExplorationPointForInvestigation:L,investigationPointCost:Number(M)||1},{merge:!0});case 6:return t.next=8,f({useInvestigationItemReward:B},{merge:!0});case 8:e("설정이 저장되었습니다."),t.next=15;break;case 11:t.prev=11,t.t0=t.catch(0),console.error("설정 저장 실패:",t.t0),e("저장 중 오류가 발생했습니다.");case 15:case"end":return t.stop()}},t,null,[[0,11]])})),[p,g,A,S,P,a,u,L,M,f,B,e]),V=(0,r.useCallback)(function(){D(function(e){return!e})},[]),W=(0,r.useCallback)(function(e){v(function(t){return hX(hX({},t),e)})},[]),_=(0,r.useCallback)(function(e){var t,n,r=null!==(t=G.daysOfWeek)&&void 0!==t?t:[],a=r.includes(e)?r.filter(function(t){return t!==e}):[].concat(function(e){if(Array.isArray(e))return kX(e)}(n=r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||CX(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);W({daysOfWeek:a})},[G.daysOfWeek,W]),q=(0,r.useMemo)(function(){if(!G.enabled)return null;var e=parseInt(G.startTime.split(":")[0]),t=parseInt(G.endTime.split(":")[0])<e,n=function(e){var t=AX(e.split(":"),2),n=t[0],r=t[1],a=parseInt(n),l=0===a?12:a>12?a-12:a;return"".concat(a<12?"오전":"오후"," ").concat(l,"시").concat("00"!==r?" ".concat(r,"분"):"")},r=G.daysOfWeek.sort(function(e,t){return(0===e?7:e)-(0===t?7:t)}).map(function(e){var t;return null===(t=vX.j_.find(function(t){return t.value===e}))||void 0===t?void 0:t.label}).join(", ");return"".concat(r," ").concat(n(G.startTime)," ~ ").concat(t?"다음날 ":"").concat(n(G.endTime))},[G]),K=(0,r.useMemo)(function(){var e=parseInt(G.startTime.split(":")[0]);return parseInt(G.endTime.split(":")[0])<e},[G.startTime,G.endTime]);return r.createElement(r.Fragment,null,r.createElement(b.fA,null,"타임라인 조사 조건"),r.createElement(e0,null,r.createElement(t0,null,r.createElement(n0,{style:{marginBottom:0}},r.createElement(r0,null,r.createElement(a0,null,"🕐 조사 가능 시간"),r.createElement(w.A,{isChecked:G.enabled,handleSwitch:function(){return W({enabled:!G.enabled})}})),r.createElement(l0,null,"특정 요일/시간대에만 조사가 가능하도록 설정합니다. off시, 모든 시간대에 항시 조사 가능합니다.")),G.enabled&&r.createElement(o0,null,r.createElement(i0,null,r.createElement(c0,null,"반복 요일"),r.createElement(u0,null,vX.j_.map(function(e){var t,n;return r.createElement(s0,{key:e.value,type:"button",$isSelected:null!==(t=null===(n=G.daysOfWeek)||void 0===n?void 0:n.includes(e.value))&&void 0!==t&&t,$isWeekend:0===e.value||6===e.value,onClick:function(){return _(e.value)}},e.label)}))),r.createElement(i0,null,r.createElement(c0,null,"시간대"),r.createElement(d0,null,r.createElement(f0,null,r.createElement(m0,{type:"time",value:G.startTime,onChange:function(e){return W({startTime:e.target.value})}}),r.createElement(p0,null,"시작")),r.createElement(v0,null,"→"),r.createElement(f0,null,r.createElement(m0,{type:"time",value:G.endTime,onChange:function(e){return W({endTime:e.target.value})}}),r.createElement(p0,null,"종료")))),q&&r.createElement(y0,null,r.createElement(g0,null,"📅"),r.createElement(b0,null,q)),K&&r.createElement(h0,null,"💡 종료 시간이 시작 시간보다 이르면 다음 날까지 이어지는 것으로 처리됩니다"))),r.createElement(t0,null,r.createElement(n0,null,r.createElement(a0,null,"조사 횟수 제한"),r.createElement(l0,null,"한 사용자가 일정 기간 동안 조사할 수 있는 횟수를 제한합니다.")),r.createElement(E0,null,r.createElement(x0,null,ZX.map(function(e){return r.createElement(w0,{key:e.value,type:"button",$isSelected:g===e.value,onClick:function(){return E(e.value)}},e.label)}))),"custom"===g&&r.createElement(A0,null,r.createElement(k0,null,r.createElement(S0,{type:"number",min:1,max:9999,value:P,onChange:function(e){return T(parseInt(e.target.value)||24)}}),r.createElement("span",null,"시간 동안"),r.createElement(S0,{type:"number",min:1,max:99,value:S,onChange:function(e){return O(parseInt(e.target.value)||1)}}),r.createElement("span",null,"번 조사 가능"))),"unlimited"!==g&&r.createElement(C0,null,r.createElement(i0,null,r.createElement(c0,null,"리셋 기준 시간"),r.createElement(f0,null,r.createElement(m0,{type:"time",value:A,onChange:function(e){return C(e.target.value||"00:00")}}),r.createElement(p0,null,"해당 시간부터 새 조사 기간으로 계산"))),H&&r.createElement(y0,null,r.createElement(g0,null,"⏱"),r.createElement(b0,null,H)))),r.createElement(t0,null,r.createElement(n0,null,r.createElement(r0,null,r.createElement(a0,null,"탐색 포인트로 조사하기"),r.createElement(w.A,{isChecked:L,handleSwitch:V})),r.createElement(l0,null,"[조사하기] 버튼을 눌렀을 때 탐색 포인트를 사용하도록 설정합니다")),L&&r.createElement(O0,null,r.createElement(i0,null,r.createElement(I0,null,r.createElement(c0,null,"조사 1회당 필요 포인트"),r.createElement(I.A,{value:String(M),name:"investigationPointCost",type:"number",onChange:function(e){return N(Number(e.target.value))},placeholder:"예: 1",style:{maxWidth:100}}),r.createElement("span",null,"포인트"))))),r.createElement(t0,null,r.createElement(n0,{style:{marginBottom:0}},r.createElement(r0,null,r.createElement(a0,null,"조사 결과를 아이템으로 수령"),r.createElement(w.A,{isChecked:B,handleSwitch:function(){return F(function(e){return!e})}})),r.createElement(l0,null,"조사 완료 시 조사 지문을 아이템 형태로 인벤토리로 지급합니다. 조사 아이템의 모습은 일관되며, [조사 아이템] 탭에서 설정할 수 있습니다."))),r.createElement(j0,null,r.createElement(h.A,{onClick:$,shape:"filled"},"설정 저장"))))},e0=C.Ay.div(UZ||(UZ=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n"]))),t0=C.Ay.div(MZ||(MZ=gX(["\n  padding: 20px;\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;
1\n  background: var(--cardBackgroundColor);\n"]))),n0=C.Ay.div(NZ||(NZ=gX(["\n  margin-bottom: 16px;\n"]))),r0=C.Ay.div(zZ||(zZ=gX(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 4px;\n"]))),a0=C.Ay.h4(BZ||(BZ=gX(["\n  color: var(--textColor);\n  font-size: 15px;\n  font-weight: 600;\n  margin: 0;\n"]))),l0=C.Ay.p(FZ||(FZ=gX(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  margin: 0;\n"]))),o0=C.Ay.div(GZ||(GZ=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  padding-top: 16px;\n"]))),i0=C.Ay.div(HZ||(HZ=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),c0=C.Ay.label($Z||($Z=gX(["\n  color: var(--textColor);\n  font-size: 13px;\n  font-weight: 500;\n"]))),u0=C.Ay.div(VZ||(VZ=gX(["\n  display: flex;\n  gap: 6px;\n  flex-wrap: wrap;\n"]))),s0=C.Ay.button(WZ||(WZ=gX(["\n  width: 40px;\n  height: 40px;\n  border-radius: 8px;\n  border: 2px solid\n    ",";\n  background: ",";\n  color: ",";\n  font-size: 14px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover {\n    border-color: var(--primaryColor);\n    background: var(--primaryColor) 10;\n  }\n"])),function(e){return e.$isSelected?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$isSelected?"var(--primaryColor)20":"var(--backgroundColor)"},function(e){var t=e.$isSelected,n=e.$isWeekend;return t?"var(--primaryColor)":n?"#ef4444":"var(--textColor)"}),d0=C.Ay.div(_Z||(_Z=gX(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex-wrap: wrap;\n"]))),f0=C.Ay.div(qZ||(qZ=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),m0=C.Ay.input(KZ||(KZ=gX(["\n  padding: 10px 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  background: var(--backgroundColor);\n  color: var(--textColor);\n  font-size: 14px;\n  font-family: monospace;\n  width: 100%;\n\n  &:focus {\n    outline: none;\n    border-color: var(--primaryColor);\n  }\n\n  &::-webkit-calendar-picker-indicator {\n    filter: invert(0.5);\n    cursor: pointer;\n  }\n"]))),p0=C.Ay.span(YZ||(YZ=gX(["\n  color: var(--subTextColor);\n  font-size: 11px;\n  text-align: center;
1\n"]))),v0=C.Ay.span(JZ||(JZ=gX(["\n  color: var(--subTextColor);\n  font-size: 18px;\n  margin-top: -16px;\n"]))),y0=C.Ay.div(QZ||(QZ=gX(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 12px;\n  background: var(--primaryColor) 10;\n  border: 1px solid var(--primaryColor) 30;\n  border-radius: 8px;\n"]))),g0=C.Ay.span(ZZ||(ZZ=gX(["\n  font-size: 16px;\n"]))),b0=C.Ay.span(XZ||(XZ=gX(["\n  color: var(--textColor);\n  font-size: 13px;\n  font-weight: 500;\n"]))),h0=C.Ay.div(eX||(eX=gX(["\n  color: var(--subTextColor);\n  font-size: 12px;\n  padding: 8px 12px;\n  background: var(--inkColor);\n  border-radius: 6px;\n  border-left: 3px solid var(--primaryColor);\n"]))),E0=C.Ay.div(tX||(tX=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  padding-top: 16px;\n  border-top: 1px solid var(--lineColor);\n"]))),x0=C.Ay.div(nX||(nX=gX(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n"]))),w0=C.Ay.button(rX||(rX=gX(["\n  padding: 10px 16px;\n  border-radius: 8px;\n  border: 2px solid\n    ",";\n  background: ",";\n  color: ",";\n  font-size: 13px;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover {\n    border-color: var(--primaryColor);\n    background: var(--primaryColor) 10;\n  }\n"])),function(e){return e.$isSelected?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$isSelected?"var(--primaryColor)20":"var(--backgroundColor)"},function(e){return e.$isSelected?"var(--primaryColor)":"var(--textColor)"}),A0=C.Ay.div(aX||(aX=gX(["\n  padding: 16px;\n  background: var(--backgroundColor);\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n  margin-top: 16px;\n"]))),C0=C.Ay.div(lX||(lX=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 16px;\n  background: var(--backgroundColor);\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n  margin-top: 16px;\n"]))),k0=C.Ay.div(oX||(oX=gX(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  flex-wrap: wrap;\n  font-size: 14px;\n  color: var(--textColor);\n"]))),S0=C.Ay.input(iX||(iX=gX(["\n  width: 80px;\n  padding: 8px 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n  background: var(--cardBackgroundColor);\n  color: var(--textColor);\n  font-size: 14px;\n  text-align: center;\n\n  &:focus {\n    outline: none;\n    border-color: var(--primaryColor);\n  }\n"]))),O0=(C.Ay.div(cX||(cX=gX(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 12px;\n  background: var(--inkColor);\n  border-radius: 8px;\n"]))),C.Ay.div(uX||(uX=gX(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  padding-top: 16px;\n  border-top: 1px solid var(--lineColor);\n"])))),I0=C.Ay.div(sX||(sX=gX(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-size: 14px;\n  color: var(--textColor);\n"]))),j0=(C.Ay.div(dX||(dX=gX(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 12px;\n  background: var(--inkColor);\n  border-radius: 8px;\n  margin-top: 16px;\n"]))),C.Ay.div(fX||(fX=gX(["\n  display: flex;\n  justify-content: flex-end;\n  padding-top: 16px;\n  border-top: 1px solid var(--lineColor);\n"])))),P0=n(8789),T0=n(13118),R0=n(42465),L0=n(15271),D0=["_tempId","_isEditing"];function U0(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function M0(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function N0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function z0(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N0(Object(n),!0).forEach(function(t){B0(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N0(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B0(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F0(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function G0(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function H0(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){G0(l,r,a,o,i,"next",e)}function i(e){G0(l,r,a,o,i,"throw",e)}o(void 0)})}}function $0(e,t){return q0(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||W0(e,t)||V0()}function V0(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function W0(e,t){if(e){if("string"==typeof e)return _0(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_0(e,t):void 0}}function _0(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function q0(e){if(Array.isArray(e))return e}var K0,Y0,J0,Q0,Z0,X0,e1=function(e){var t=e.onImport,n=e.areas,a=(0,tC.A)().openToast,i=(0,r.useRef)(null),c=(0,l.useCollection)(o.Gf.STORE,{listen:!0}).data,u=(0,r.useMemo)(function(){var e={};return(c||[]).forEach(function(t){t.id&&(e[t.id]=t.title||t.id)}),e},[c]),s=$0((0,r.useState)(!1),2),d=s[0],f=s[1],m=$0((0,r.useState)(""),2),p=m[0],v=m[1],y=$0((0,r.useState)([]),2),g=y[0],b=y[1],E=$0((0,r.useState)(!1),2),w=E[0],A=E[1],C=$0((0,r.useState)(null),2),j=C[0],P=C[1],T=$0((0,r.useState)(""),2),R=T[0],L=T[1],D=$0((0,r.useState)(""),2),U=D[0],M=D[1],N=$0((0,r.useState)({isOpen:!1,selectedAreaId:""}),2),z=N[0],B=N[1],F=(0,r.useMemo)(function(){var e;return(null===(e=n.find(function(e){return e.id===p}))||void 0===e?void 0:e.name)||""},[n,p]),G=(0,r.useMemo)(function(){return n.filter(function(e){return"worldmapSetting"!==e.id&&e.name}).map(function(e){return{key:e.id,value:e.name}})},[n]),H=(0,r.useCallback)(function(e){e&&a(e)},[a]),$=(0,r.useCallback)(function(){return"text-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8))},[]),V=(0,r.useCallback)(function(e){for(var t=[],n="",r=!1,a=0;a<e.length;a+=1){var l=e[a];if('"'===l)r&&'"'===e[a+1]?(n+='""',a+=1):(r=!r,n+=l);else if("\n"!==l||r)n+=l;else{var o=n.trim();o.length>0&&t.push(o),n=""}}var i=n.trim();return i.length>0&&t.push(i),t},[]),W=(0,r.useCallback)(function(e){for(var t=[],n="",r=!1,a=0;a<e.length;a+=1){var l=e[a];if('"'===l){var o=e[a+1];r&&'"'===o?(n+='"',a+=1):r=!r}else","!==l||r?n+=l:(t.push(n.trim()),n="")}return t.push(n.trim()),t.map(function(e){return e.replace(/^"([\s\S]*)"$/,"$1").replace(/""/g,'"')})},[]),_=(0,r.useCallback)(function(){f(!0),b([]),v("")},[]),q=(0,r.useCallback)(function(){f(!1),b([]),v(""),P(null)},[]),K=(0,r.useCallback)(function(){var e;null===(e=i.current)||void 0===e||e.click()},[]),Y=(0,r.useCallback)(function(){var e=H0(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=null===(n=t.target.files)||void 0===n?void 0:n[0]){e.next=3;break}return e.abrupt("return");case 3:(a=new FileReader).onload=function(){var e=H0(regeneratorRuntime.mark(function e(t){var n,r,a,l,o,i,c,u,s,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,o=null!==(n=null===(r=t.target)||void 0===r?void 0:r.result)&&void 0!==n?n:"",(i=o.replace(/\r\n/g,"\n").replace(/\r/g,"\n")).startsWith("\ufeff")&&(i=i.slice(1)),0!==(c=V(i)).length){e.next=8;break}return H("파일에 데이터가 없습니다."),e.abrupt("return");case 8:if(u=W(c[0]).map(function(e){return e.toLowerCase()}),s=(null===(a=u[0])||void 0===a?void 0:a.includes("title"))||(null===(l=u[0])||void 0===l?void 0:l.includes("제목")),0!==(d=s?c.slice(1):c).length){e.next=14;break}return H("가져올 데이터가 없습니다."),e.abrupt("return");case 14:if(0!==(f=d.map(function(e,t){var n=W(e);if(n.length<2)return null;var r,a=q0(r=n)||F0(r)||W0(r)||V0(),l=a[0],o=a.slice(1);return{id:$(),_tempId:"temp-".concat(Date.now(),"-").concat(t),title:l||"조사 텍스트 ".concat(t+1),content:o.join(",").trim()}}).filter(function(e){return Boolean(e)})).length){e.next=18;break}return H("유효한 데이터를 찾을 수 없습니다."),e.abrupt("return");case 18:b(f),H("".concat(f.length,"개의 데이터를 불러왔습니다.")),e.next=26;break;case 22:e.prev=22,e.t0=e.catch(0),console.error("Error importing:",e.t0),H("파일 가져ì˜
1¤ê¸° 중 오류가 발생했습니다.");case 26:case"end":return e.stop()}},e,null,[[0,22]])}));return function(t){return e.apply(this,arguments)}}(),a.readAsText(r,"utf-8"),t.target.value="";case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),[V,W,$,H]),J=(0,r.useCallback)(function(e){b(function(t){return t.filter(function(t){return t._tempId!==e})})},[]),Q=(0,r.useCallback)(function(e){P(e._tempId),L(e.title),M(e.content)},[]),Z=(0,r.useCallback)(function(){j&&(b(function(e){return e.map(function(e){return e._tempId===j?z0(z0({},e),{},{title:R,content:U}):e})}),P(null),L(""),M(""))},[j,R,U]),X=(0,r.useCallback)(function(){P(null),L(""),M("")},[]),ee=(0,r.useCallback)(H0(regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(p){e.next=3;break}return H("저장할 지역을 선택해주세요."),e.abrupt("return");case 3:if(0!==g.length){e.next=6;break}return H("저장할 데이터가 없습니다."),e.abrupt("return");case 6:return A(!0),e.prev=7,n=g.map(function(e){return e._tempId,e._isEditing,M0(e,D0)}),e.next=11,t(n,p);case 11:H("".concat(n.length,"개의 조사 텍스트가 저장되었습니다.")),q(),e.next=19;break;case 15:e.prev=15,e.t0=e.catch(7),console.error("저장 오류:",e.t0),H("저장 중 오류가 발생했습니다.");case 19:return e.prev=19,A(!1),e.finish(19);case 22:case"end":return e.stop()}},e,null,[[7,15,19,22]])})),[p,g,t,H,q]),te=(0,r.useCallback)(function(){B({isOpen:!0,selectedAreaId:""})},[]),ne=(0,r.useCallback)(function(){B({isOpen:!1,selectedAreaId:""})},[]),re=(0,r.useCallback)(function(e){B(function(t){return z0(z0({},t),{},{selectedAreaId:e})})},[]),ae=(0,r.useMemo)(function(){var e=n.find(function(e){return e.id===z.selectedAreaId});return{name:(null==e?void 0:e.name)||"",texts:(null==e?void 0:e.investigationTexts)||[]}},[n,z.selectedAreaId]),le=(0,r.useCallback)(function(e){if(!e)return"";var t=u[e]||"";return t?"".concat(e," (").concat(t,")"):e},[u]),oe=(0,r.useCallback)(function(){var e,t=ae.texts;if(0!==t.length){var n=t.map(function(e){var t=function(e){return e.includes(",")||e.includes('"')||e.includes("\n")?'"'.concat(e.replace(/"/g,'""'),'"'):e};return[t(e.title||""),t(e.content||""),t(String(e.rewardCurrency||0)),t(le(e.rewardItemId))].join(",")}),r=[["Title","Content","RewardCurrency","RewardValue"].join(",")].concat((e=n,function(e){if(Array.isArray(e))return _0(e)}(e)||F0(e)||W0(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())).join("\n"),a=new Blob(["\ufeff"+r],{type:"text/csv;charset=utf-8;"}),l=document.createElement("a"),o=URL.createObjectURL(a);l.setAttribute("href",o),l.setAttribute("download","investigation_texts_".concat(ae.name,"_").concat((new Date).toISOString().slice(0,10),".csv")),l.style.visibility="hidden",document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(o),H("".concat(t.length,"개의 조사 텍스트를 내보냈습니다.")),ne()}else H("내보낼 조사 텍스트가 없습니다.")},[ae,H,ne,le]);return r.createElement(t1,null,r.createElement(n1,null,r.createElement(h.A,{onClick:_,icon:"Plus14"}
1,"CSV 가져오기"),r.createElement(h.A,{onClick:te,shape:"stroke"},"CSV 내보내기")),r.createElement(bY.N,null,d&&r.createElement(k.A,{outsideClick:q,contentStyle:{maxWidth:800,width:"95%"}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:q}),r.createElement("h6",null,"CSV 가져오기"),r.createElement("div",null)),r.createElement(S.sC,null,r.createElement(a1,null,r.createElement(L0.A,null,r.createElement("strong",null,"Excel/CSV 파일 형식 가이드:"),r.createElement("br",null),"1열: 제목 (Title), 2열: 내용 (Content)",r.createElement("br",null),'예시: "고대의 비밀","오래된 벽화에서 신비로운 문양을 발견했다..."'),r.createElement(l1,null,r.createElement(h.A,{onClick:K,icon:"Plus14"},"파일 선택"),g.length>0&&r.createElement(o1,null,g.length,"개 데이터")),g.length>0&&r.createElement(i1,null,r.createElement(c1,null,"저장할 지역 선택"),r.createElement(x.A,{selectList:G,selectedKey:p,setSelectedKey:v,defaultValue:"지역을 선택하세요",style:{minWidth:200}}),F&&r.createElement(u1,null,"📍 ",F)),g.length>0&&r.createElement(s1,null,r.createElement(d1,null,r.createElement("span",null,"#"),r.createElement("span",null,"제목"),r.createElement("span",null,"내용"),r.createElement("span",null,"작업")),r.createElement(f1,null,g.map(function(e,t){return r.createElement(m1,{key:e._tempId},j===e._tempId?r.createElement(r.Fragment,null,r.createElement("span",null,t+1),r.createElement(y1,null,r.createElement(I.A,{name:"editTitle",value:R,onChange:function(e){return L(e.target.value)},placeholder:"제목"})),r.createElement(y1,null,r.createElement(fe.A,{value:U,onChange:function(e){return M(e.target.value)},placeholder:"내용"})),r.createElement(g1,null,r.createElement(h.A,{size:"sm",onClick:Z},"저장"),r.createElement(h.A,{size:"sm",shape:"stroke",onClick:X},"취소"))):r.createElement(r.Fragment,null,r.createElement("span",null,t+1),r.createElement(p1,null,e.title),r.createElement(v1,null,e.content),r.createElement(g1,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(){return Q(e)}},"수정"),r.createElement(h.A,{size:"sm",shape:"stroke",color:"warning",onClick:function(){return J(e._tempId)}},"삭제"))))}))),g.length>0&&r.createElement(b1,null,r.createElement(h.A,{onClick:ee,pending:w,disabled:!p},p?'"'.concat(F,'"에 ').concat(g.length,"개 저장하기"):"지역을 선택해주세요")))),r.createElement(r1,{ref:i,type:"file",accept:".csv,.txt",onChange:Y})),z.isOpen&&r.createElement(k.A,{outsideClick:ne,contentStyle:{maxWidth:500,width:"90%"}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:ne}),r.createElement("h6",null,"CSV 내보내기"),r.createElement("div",null)),r.createElement(S.sC,null,r.createElement(a1,null,r.createElement(L0.A,null,"조사 텍스트를 CSV 파일로 내보냅니다.",r.createElement("br",null),"내보내기 형식: 제목(Title), 내용(Content), 보상재화(RewardCurrency), 보상값(RewardValue: 아이템ID + 아이템명)"),r.createElement(i1,null,r.createElement(c1,null,"내보낼 지역 선택"),r.createElement(x.A,{selectList:G,selectedKey:z.selectedAreaId,setSelectedKey:re,defaultValue:"지역을 선택하세요",style:{minWidth:200}})),z.selectedAreaId&&r.createElement(h1,null,r.createElement(E1,null,r.createElement("span",null,"📍 ",ae.name),r.createElement(x1,null,ae.texts.length,"개 조사 텍스트")),ae.texts.length>0?r.createElement(w1,null,ae.texts.slice(0,5).map(function(e,t){return r.createElement(A1,{key:e.id},r.createElement("span",null,t+1,"."),r.createElement("span",null,e.title),e.rewardItemId&&r.createElement(C1,null,"🎁 보상"))}),ae.texts.length>5&&r.createElement(k1,null,"...외 ",ae.texts.length-5,"개 더")):r.createElement(S1,null,"내보낼 조사 텍스트가 없습니다.")),r.createElement(b1,null,r.createElement(h.A,{onClick:oe,disabled:!z.selectedAreaId||0===ae.texts.length},z.selectedAreaId?"".concat(ae.texts.length,"개 내보내기"):"지역을 선택해주세요")))))))},t1=C.Ay.div(SX||(SX=U0([""]))),n1=C.Ay.div(OX||(OX=U0(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),r1=C.Ay.input(IX||(IX=U0(["\n  display: none;
1\n"]))),a1=C.Ay.div(jX||(jX=U0(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),l1=C.Ay.div(PX||(PX=U0(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n"]))),o1=C.Ay.span(TX||(TX=U0(["\n  padding: 4px 12px;\n  background: var(--primaryColor) 20;\n  color: var(--primaryColor);\n  border-radius: 20px;\n  font-size: 13px;\n  font-weight: 600;\n"]))),i1=C.Ay.div(RX||(RX=U0(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex-wrap: wrap;\n  padding: 16px;\n  background: var(--inkColor);\n  border-radius: 8px;\n"]))),c1=C.Ay.label(LX||(LX=U0(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),u1=C.Ay.span(DX||(DX=U0(["\n  padding: 6px 12px;\n  background: var(--primaryColor) 20;\n  border: 1px solid var(--primaryColor) 40;\n  border-radius: 20px;\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--primaryColor);\n"]))),s1=C.Ay.div(UX||(UX=U0(["\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  overflow: hidden;\n  max-height: 400px;\n  overflow-y: auto;\n"]))),d1=C.Ay.div(MX||(MX=U0(["\n  display: grid;\n  grid-template-columns: 50px 1fr 2fr 120px;\n  gap: 12px;\n  padding: 12px 16px;\n  background: var(--inkColor);\n  border-bottom: 1px solid var(--lineColor);\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n  position: sticky;\n  top: 0;\n  z-index: 1;\n"]))),f1=C.Ay.div(NX||(NX=U0(["\n  display: flex;\n  flex-direction: column;\n"]))),m1=C.Ay.div(zX||(zX=U0(["\n  display: grid;\n  grid-template-columns: 50px 1fr 2fr 120px;\n  gap: 12px;\n  padding: 12px 16px;\n  border-bottom: 1px solid var(--lineColor);\n  font-size: 13px;\n  align-items: start;\n\n  &:last-child {\n    border-bottom: none;\n  }\n\n  &:hover {\n    background: var(--inkColor);\n  }\n"]))),p1=C.Ay.span(BX||(BX=U0(["\n  font-weight: 500;\n  color: var(--textColor);\n  word-break: break-word;\n"]))),v1=C.Ay.span(FX||(FX=U0(["\n  color: var(--subTextColor);\n  word-break: break-word;\n  max-height: 80px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: -webkit-box;\n  -webkit-line-clamp: 3;\n  -webkit-box-orient: vertical;\n"]))),y1=C.Ay.div(GX||(GX=U0(["\n  width: 100%;\n"]))),g1=C.Ay.div(HX||(HX=U0(["\n  display: flex;\n  gap: 4px;\n  flex-wrap: wrap;\n"]))),b1=C.Ay.div($X||($X=U0(["\n  display: flex;\n  justify-content: center;\n  padding-top: 16px;\n  border-top: 1px solid var(--lineColor);\n"]))),h1=C.Ay.div(VX||(VX=U0(["\n  padding: 16px;\n  background: var(--inkColor);\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n"]))),E1=C.Ay.div(WX||(WX=U0(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 12px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),x1=C.Ay.span(_X||(_X=U0(["\n  padding: 4px 10px;\n  background: var(--primaryColor) 20;\n  color: var(--primaryColor);\n  border-radius: 12px;\n  font-size: 12px;\n  font-weight: 600;\n"]))),w1=C.Ay.div(qX||(qX=U0(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),A1=C.Ay.div(KX||(KX=U0(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 8px 12px;\n  background: var(--bgColor);\n  border-radius: 6px;\n  font-size: 13px;\n\n  > span:first-child {\n    color: var(--subTextColor);\n    min-width: 24px;\n  }\n\n  > span:nth-child(2) {\n    flex: 1;\n    color: var(--textColor);\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n"]))),C1=C.Ay.span(YX||(YX=U0(["\n  padding: 2px 8px;\n  background: #ffd70020;\n  color: #d4a000;\n  border-radius: 10px;\n  font-size: 11px;\n  font-weight: 600;\n  flex-shrink: 0;\n"]))),k1=C.Ay.p(JX||(JX=U0(["\n  text-align: center;\n  color: var(--subTextColor);\n  font-size: 12px;\n  margin-top: 4px;\n"]))),S1=C.Ay.p(QX||(QX=U0(["\n  text-align: center;\n  color: var(--subTextColor);\n  font-size: 13px;\n  padding: 20px;\n"])));function O1(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function I1(e){var t=e.mode,n=e.isOpen,a=e.onClose,l=e.onSave,i=e.isSaving,c=e.title,u=e.onChangeTitle,s=e.content,d=e.onChangeContent,f=e.rewardCurrency,m=e.onChangeRewardCurrency,p=e.rewardItemIdList,v=e.onChangeRewardItemIdList;if(!n)return null;var y="edit"===t?e:null,g="create"===t?e:null;return r.createElement(k.A,{outsideClick:a,contentStyle:{maxWidth:540,width:"90%"}},r.createElement(S.rQ,null,r.createElement(O.A,{onClick:a}),r.createElement("h6",null,"edit"===t?"조사 텍스트 수정":"새 지문 추가"),r.createElement(H1,null,(null==y?void 0:y.onDelete)&&r.createElement(h.A,{shape:"stroke",color:"warning",onClick:y.onDelete,pending:y.isDeleting},"삭제"),r.createElement(h.A,{shape:"filled",onClick:l,pending:i}
1,"저장"))),r.createElement(S.sC,null,r.createElement($1,null,r.createElement(W1,null,r.createElement(_1,null,"탐색 지역"),y?r.createElement(q1,null,y.areaName||"-"):r.createElement(V1,null,r.createElement(R0.A,{value:g.selectedAreaId,onChange:g.onChangeAreaId,placeholder:"지역 선택...",showNoArea:!0}))),r.createElement(W1,null,r.createElement(_1,null,"제목"),r.createElement(I.A,{name:"edit"===t?"edit-title":"new-text-title",placeholder:"제목을 입력하세요",value:c,onChange:function(e){return u(e.target.value)}})),r.createElement(W1,null,r.createElement(_1,null,"내용"),r.createElement(fe.A,{name:"edit"===t?"edit-content":"new-text-content",placeholder:"내용을 입력하세요",value:s,onChange:function(e){return d(e.target.value)},minRows:3})),r.createElement(W1,null,r.createElement(_1,null,"보상 아이템 (선택)"),r.createElement(vu.A,{id:"edit"===t?"edit-reward-item":"new-reward-item",selectedIDList:p,setSelectedIDList:v,collectionPath:o.Gf.STORE,selectOnlyOne:!0,placeholder:"아이템 검색...",direction:"column"})),r.createElement(W1,null,r.createElement(_1,null,"보상 재화 (선택)"),r.createElement(I.A,{name:"edit"===t?"edit-reward-currency":"new-reward-currency",placeholder:"0",type:"number",min:0,value:f,onChange:function(e){return m(Number(e.target.value)||0)}})))))}var j1,P1,T1,R1,L1,D1,U1,M1,N1,z1,B1,F1,G1=r.memo(I1),H1=C.Ay.div(K0||(K0=O1(["\n  display: flex;\n  gap: 8px;\n  align-items: center;
1\n"]))),$1=C.Ay.div(Y0||(Y0=O1(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),V1=C.Ay.div(J0||(J0=O1(["\n  min-width: 200px;\n"]))),W1=C.Ay.div(Q0||(Q0=O1(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),_1=C.Ay.label(Z0||(Z0=O1(["\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--textColor);\n  text-align: left;\n"]))),q1=C.Ay.div(X0||(X0=O1(["\n  min-height: 42px;\n  display: flex;\n  align-items: center;\n  padding: 0 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  background: var(--inkColor);\n  color: var(--textColor);\n  font-size: 14px;\n"]))),K1=n(21190);function Y1(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function J1(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=a2(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,l=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw l}}}}function Q1(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function Z1(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){Q1(l,r,a,o,i,"next",e)}function i(e){Q1(l,r,a,o,i,"throw",e)}o(void 0)})}}function X1(e){return function(e){if(Array.isArray(e))return l2(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a2(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function t2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?e2(Object(n),!0).forEach(function(t){n2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):e2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function n2(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r2(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||a2(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a2(e,t){if(e){if("string"==typeof e)return l2(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l2(e,t):void 0}}function l2(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o2=function(){var e,t,n=(0,tC.A)().openToast,a=(0,l.useCollection)(o.Gf.WORLDMAP,{listen:!0,orderBy:["order","asc"]}),i=a.data,c=a.mutate,u=(0,l.useCollection)(o.Gf.STORE,{listen:!0}).data,s=(0,r.useMemo)(function(){var e={};return(u||[]).forEach(function(t){t.id&&(e[t.id]=t.title||t.id)}),e},[u]),d=(0,r.useMemo)(function(){return(i||[]).filter(function(e){return"worldmapSetting"!==e.id&&"noArea"!==e.id&&e.name})},[i]),f=(0,r.useMemo)(function(){return(i||[]).find(function(e){return"noArea"===e.id})||null},[i]),m=r2((0,r.useState)("all"),2),p=m[0],v=m[1],y=r2((0,r.useState)([]),2),g=y[0],E=y[1],x=r2((0,r.useState)(""),2),w=x[0],A=x[1],C=r2((0,r.useState)(!1),2),k=C[0],S=C[1],O=r2((0,r.useState)(!1),2),I=O[0],j=O[1],P=r2((0,r.useState)(1),2),T=P[0],R=P[1],L=50,D=r2((0,r.useState)(!1),2),U=D[0],M=D[1],N=r2((0,r.useState)(""),2),z=N[0],B=N[1],F=r2((0,r.useState)(""),2),G=F[0],H=F[1],$=r2((0,r.useState)(""),2),V=$[0],W=$[1],_=r2((0,r.useState)([]),2),q=_[0],K=_[1],Y=r2((0,r.useState)(0),2),J=Y[0],Q=Y[1],Z=r2((0,r.useState)({isOpen:!1,item:null}),2),X=Z[0],ee=Z[1],te=r2((0,r.useState)(""),2),ne=te[0],re=te[1],ae=r2((0,r.useState)(""),2),le=ae[0],oe=ae[1],ie=r2((0,r.useState)([]),2),ce=ie[0],ue=ie[1],se=r2((0,r.useState)(0),2),de=se[0],fe=se[1],me=r2((0,r.useState)(!1),2),pe=me[0],ve=me[1],ye=r2((0,r.useState)(!1),2),ge=ye[0],be=ye[1],he=(0,r.useMemo)(function(){var e=[];return null!=f&&f.investigationTexts&&f.investigationTexts.forEac
1h(function(t){e.push(t2(t2({},t),{},{areaId:"noArea",areaName:"지역없음"}))}),d.forEach(function(t){(t.investigationTexts||[]).forEach(function(n){e.push(t2(t2({},n),{},{areaId:t.id,areaName:t.name}))})}),e},[d,f]),Ee=(0,r.useMemo)(function(){var e=function(e){var t=/^text-(\d+)-/.exec(e);if(!t)return 0;var n=Number(t[1]);return Number.isFinite(n)?n:0};return X1("all"===p?he:he.filter(function(e){return e.areaId===p})).sort(function(t,n){return e(n.id)-e(t.id)})},[he,p]),xe=(0,r.useMemo)(function(){return Math.ceil(Ee.length/L)},[Ee.length]),we=(0,r.useMemo)(function(){var e=(T-1)*L,t=e+L;return Ee.slice(e,t)},[Ee,T]),Ae=(0,r.useCallback)(function(e){v(e),E([]),R(1)},[]),Ce=(0,r.useCallback)(function(e){e&&n(e)},[n]),ke=(0,r.useCallback)(function(){return"text-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8))},[]),Se=(0,r.useMemo)(function(){return V||("all"===p?"":p)},[V,p]),Oe=(0,r.useCallback)(function(e){ee({isOpen:!0,item:e}),re(e.title),oe(e.content),ue(e.rewardItemId?[e.rewardItemId]:[]),fe(e.rewardCurrency||0)},[]),Ie=(0,r.useCallback)(function(){ee({isOpen:!1,item:null}),re(""),oe(""),ue([]),fe(0)},[]),je=(0,r.useCallback)(Z1(regeneratorRuntime.mark(function e(){var t,n,r,a,l,o,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(X.item){e.next=2;break}return e.abrupt("return");case 2:if(t=ne.trim(),n=le.trim(),t){e.next=7;break}return Ce("제목을 입력해주세요."),e.abrupt("return");case 7:if(ve(!0),e.prev=8,"noArea"!==(r=X.item.areaId)){e.next=17;break}return a=(null==f?void 0:f.investigationTexts)||[],l=a.map(function(e){return e.id===X.item.id?t2(t2({},e),{},{title:t,content:n||"",rewardItemId:ce[0]||"",rewardCurrency:de||0}):e}),e.next=15,(0,P0.gx)({worldMapId:"noArea",updates:{investigationTexts:l}});case 15:e.next=23;break;case 17:if(o=d.find(function(e){return e.id===r})){e.next=20;break}throw new Error("지역을 찾을 수 없습니다.");case 20:return i=(o.investigationTexts||[]).map(function(e){return e.id===X.item.id?t2(t2({},e),{},{title:t,content:n||"",rewardItemId:ce[0]||"",rewardCurrency:de||0}):e}),e.next=23,(0,P0.gx)({worldMapId:r,updates:{investigationTexts:i}});case 23:c(),Ie(),Ce("조사 텍스트가 수정되었습니다."),e.next=32;break;case 28:e.prev=28,e.t0=e.catch(8),console.error("Error updating text:",e.t0),Ce("수정 중 오류가 발생했습니다.");case 32:return e.prev=32,ve(!1),e.finish(32);case 35:case"end":return e.stop()}},e,null,[[8,28,32,35]])})),[X.item,ne,le,ce,de,d,f,c,Ie,Ce]),Pe=(0,r.useCallback)(Z1(regeneratorRuntime.mark(function e(){var t,n,r,a,l,o,i,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=z.trim(),n=G.trim(),(r=Se)&&"all"!==r){e.next=6;break}return Ce("지문을 추가할 탐색 지역을 선택해주세요."),e.abrupt("return");case 6:if("noArea"!==r){e.next=12;break}if(t){e.next=10;break}return Ce("제목을 입력해주세요."),e.abrupt("return");case 10:e.next=15;break;case 12:if(t&&n){e.next=15;break}return Ce("제목과 내용을 모두 입력해주세요."),e.abrupt("return");case 15:if(S(!0),e.prev=16,a={id:ke(),title:t,content:n||"",rewardItemId:q[0]||"",rewardCurrency:J||0},"noArea"!==r){e.next=26;break}return l=(null==f?void 0:f.investigationTexts)||[],o=[a].concat(X1(l)),console.log("noArea에 텍스트 추가:",{newText:a,updatedTexts:o}),e.next=24,(0,P0.gx)({worldMapId:"noArea",updates:{id:"noArea",name:"지역없음",investigationTexts:o,order:-1,isVisible:!1}});case 24:e.next=32;break;case 26:if(i=d.find(function(e){return e.id===r})){e.next=29;break}throw new Error("지역을 찾을 수 없습니다.");case 29:return u=[a].concat(X1(i.investigationTexts||[])),e.next=32,(0,P0.gx)({worldMapId:r,updates:{investigationTexts:u}});case 32:c(),B(""),H(""),K([]),Q(0),M(!1),Ce("조사 텍스트가 추가되었습니다."),e.next=45;break;case 41:e.prev=41,e.t0=e.catch(16),console.error("Error adding text:",e.t0),Ce("추가 중 오류가 발생했습니다: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||"알 수 없는 오류"));case 45:return e.prev=45,S(!1),e.finish(45);case 48:case"end":return e.stop()}},e,null,[[16,41,45,48]])})),[z,G,q,J,Se,d,f,ke,c,Ce]),Te=(0,r.useCallback)(function(){var e=Z1(regeneratorRuntime.mark(function e(t,n){var r,a,l,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(confirm("이 조사 텍스트를 삭제하시겠습니까?")){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,"noArea"!==t){e.next=10;break}return r=(null==f?void 0:f.investigationTexts)||[],a=r.filter(function(e){return e.id!==n}
1),e.next=8,(0,P0.gx)({worldMapId:"noArea",updates:{investigationTexts:a}});case 8:e.next=16;break;case 10:if(l=d.find(function(e){return e.id===t})){e.next=13;break}throw new Error("지역을 찾을 수 없습니다.");case 13:return o=(l.investigationTexts||[]).filter(function(e){return e.id!==n}),e.next=16,(0,P0.gx)({worldMapId:t,updates:{investigationTexts:o}});case 16:c(),E(function(e){return e.filter(function(e){return e!=="".concat(t,"-").concat(n)})}),Ce("삭제되었습니다."),e.next=25;break;case 21:e.prev=21,e.t0=e.catch(2),console.error("Error deleting text:",e.t0),Ce("삭제 중 오류가 발생했습니다.");case 25:case"end":return e.stop()}},e,null,[[2,21]])}));return function(t,n){return e.apply(this,arguments)}}(),[d,f,c,Ce]),Re=(0,r.useMemo)(function(){return[{key:"areaName",header:"탐색 지역",width:80,render:function(e){return r.createElement(m2,null,e.areaName)}},{key:"title",header:"제목",width:160,render:function(e){return r.createElement(m2,{title:e.title},e.title)}},{key:"content",header:"내용",render:function(e){return r.createElement(m2,{title:e.content},e.content)}},{key:"rewardCurrency",header:"재화",width:50,align:"right",render:function(e){return r.createElement("span",null,e.rewardCurrency&&e.rewardCurrency>0?"".concat(e.rewardCurrency.toLocaleString()):"-")}},{key:"rewardItemId",header:"아이템",width:100,render:function(e){return r.createElement(v2,{hasItem:!!e.rewardItemId},e.rewardItemId?s[e.rewardItemId]||"알 수 없는 아이템":"-")}},{key:"actions",header:"작업",width:100,align:"center",render:function(e){return r.createElement(p2,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(t){t.stopPropagation(),Oe(e)}},"수정"),r.createElement(h.A,{size:"sm",shape:"stroke",color:"warning",onClick:function(t){t.stopPropagation(),Te(e.areaId,e.id)}},"삭제"))}}]},[s,Te,Oe]),Le=(0,r.useCallback)(function(e){return"noArea"===e?f||{investigationTexts:[]}:d.find(function(t){return t.id===e})},[d,f]),De=(0,r.useCallback)(Z1(regeneratorRuntime.mark(function e(){var t,n,r,a,l,o,i,u,s,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(w){e.next=3;break}return Ce("이동할 대상 지역을 선택해주세요."),e.abrupt("return");case 3:if(0!==g.length){e.next=6;break}return Ce("이동할 지문을 선택해주세요."),e.abrupt("return");case 6:j(!0),e.prev=7,n=new Map,he.forEach(function(e){n.set("".concat(e.areaId,"-").concat(e.id),e)}),(r=new Map).set(w,{toRemove:[],toAdd:[]}),a=J1(g),e.prev=13,a.s();case 15:if((l=a.n()).done){e.next=27;break}if(o=l.value,i=n.get(o)){e.next=20;break}return e.abrupt("continue",25);case 20:if(i.areaId!==w){e.next=22;break}return e.abrupt("continue",25);case 22:r.has(i.areaId)||r.set(i.areaId,{toRemove:[],toAdd:[]}),r.get(i.areaId).toRemove.push(i.id),r.get(w).toAdd.push({id:ke(),title:i.title,content:i.content,rewardItemId:i.rewardItemId,rewardCurrency:i.rewardCurrency||0});case 25:e.next=15;break;case 27:e.next=32;break;case 29:e.prev=29,e.t0=e.catch(13),a.e(e.t0);case 32:return e.prev=32,a.f(),e.finish(32);case 35:if(0!==(u=(null===(t=r.get(w))||void 0===t?void 0:t.toAdd.length)||0)){e.next=39;break}return Ce("이동할 항목이 없습니다. (이미 같은 지역이거나 데이터를 찾을 수 없습니다)"),e.abrupt("return");case 39:s=Array.from(r.entries()),d=regeneratorRuntime.mark(function e(t){var n,r,a,l,o,i,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r2(s[t],2),r=n[0],a=n[1],l=a.toRemove,o=a.toAdd,i=Le(r)){e.next=4;break}return e.abrupt("return","continue");case 4:if(c=X1(i.investigationTexts||[]),l.length>0&&(c=c.filter(function(e){return!l.includes(e.id)}
1)),o.length>0&&(c=[].concat(X1(c),X1(o))),"noArea"!==r){e.next=12;break}return e.next=10,(0,P0.gx)({worldMapId:"noArea",updates:{name:"지역없음",investigationTexts:c,order:-1}});case 10:e.next=14;break;case 12:return e.next=14,(0,P0.gx)({worldMapId:r,updates:{investigationTexts:c}});case 14:case"end":return e.stop()}},e)}),f=0;case 42:if(!(f<s.length)){e.next=50;break}return e.delegateYield(d(f),"t1",44);case 44:if("continue"!==e.t1){e.next=47;break}return e.abrupt("continue",47);case 47:f++,e.next=42;break;case 50:c(),E([]),A(""),Ce("".concat(u,"개의 지문이 이동되었습니다.")),e.next=60;break;case 56:e.prev=56,e.t2=e.catch(7),console.error("Error bulk moving:",e.t2),Ce("이동 중 오류가 발생했습니다.");case 60:return e.prev=60,j(!1),e.finish(60);case 63:case"end":return e.stop()}},e,null,[[7,56,60,63],[13,29,32,35]])})),[w,g,he,Le,ke,c,Ce]),Ue=(0,r.useCallback)(Z1(regeneratorRuntime.mark(function e(){var t,n,r,a,l,o,i,u,s;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==g.length){e.next=3;break}return Ce("삭제할 지문을 선택해주세요."),e.abrupt("return");case 3:if(confirm("정말 ".concat(g.length,"개의 지문을 삭제하시겠습니까?"))){e.next=5;break}return e.abrupt("return");case 5:j(!0),e.prev=6,t=new Map,he.forEach(function(e){t.set("".concat(e.areaId,"-").concat(e.id),e)}),n=new Map,r=J1(g),e.prev=11,r.s();case 13:if((a=r.n()).done){e.next=22;break}if(l=a.value,o=t.get(l)){e.next=18;break}return e.abrupt("continue",20);case 18:n.has(o.areaId)||n.set(o.areaId,[]),n.get(o.areaId).push(o.id);case 20:e.next=13;break;case 22:e.next=27;break;case 24:e.prev=24,e.t0=e.catch(11),r.e(e.t0);case 27:return e.prev=27,r.f(),e.finish(27);case 30:i=Array.from(n.entries()),u=regeneratorRuntime.mark(function e(t){var n,r,a,l,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r2(i[t],2),r=n[0],a=n[1],l=Le(r)){e.next=4;break}return e.abrupt("return","continue");case 4:if(o=(l.investigationTexts||[]).filter(function(e){return!a.includes(e.id)}),"noArea"!==r){e.next=10;break}return e.next=8,(0,P0.gx)({worldMapId:"noArea",updates:{investigationTexts:o}});case 8:e.next=12;break;case 10:return e.next=12,(0,P0.gx)({worldMapId:r,updates:{investigationTexts:o}});case 12:case"end":return e.stop()}},e)}),s=0;case 33:if(!(s<i.length)){e.next=41;break}return e.delegateYield(u(s),"t1",35);case 35:if("continue"!==e.t1){e.next=38;break}return e.abrupt("continue",38);case 38:s++,e.next=33;break;case 41:c(),E([]),Ce("".concat(g.length,"개의 지문이 삭제되었습니다.")),e.next=50;break;case 46:e.prev=46,e.t2=e.catch(6),console.error("Error bulk deleting:",e.t2),Ce("삭제 중 오류가 발생했습니다.");case 50:return e.prev=50,j(!1),e.finish(50);case 53:case"end":return e.stop()}},e,null,[[6,46,50,53],[11,24,27,30]])})),[g,he,Le,c,Ce]),Me=(0,r.useCallback)(Z1(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(X.item){e.next=2;break}return e.abrupt("return");case 2:return be(!0),e.prev=3,e.next=6,Te(X.item.areaId,X.item.id);case 6:Ie();case 7:return e.prev=7,be(!1),e.finish(7);case 10:case"end":return e.stop()}},e,null,[[3,,7,10]])})),[X.item,Te,Ie]),Ne=(0,r.useCallback)(function(){var e=Z1(regeneratorRuntime.mark(function e(t,n){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}throw new Error("지역이 선택되지 않았습니다.");case 2:if(r=d.find(function(e){return e.id===n})){e.next=5;break}throw new Error("지역을 찾을 수 없습니다.");case 5:return a=[].concat(X1(r.investigationTexts||[]),X1(t)),e.next=8,(0,P0.gx)({worldMapId:n,updates:{investigationTexts:a}});case 8:c();case 9:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),[d,c]);return r.createElement(i2,null,r.createElement(b.fA,null,"조사 텍스트 관리",r.createElement(b.PF,null,"탐색 시 보상과 함께 랜덤으로 출력되는 지문입니다. 각 탐색 지역별로 다른 지문을 설정할 수 있습니다.")),r.createElement(e1,{onImport:Ne,areas:d}),r.createElement(c2,null,r.createElement(u2,null,r.createElement(R0.A,{value:p,onChange:function(e){return Ae(e)},showAllOption:!0,allOptionLabel:"전체 지역 (".concat(he.length,")"),showNoArea:!0,noAreaLabel:"지역없음 (".concat((null==f||null===(e=f.investigationTexts)||void 0===e?void 0:e.length)||0,")"),areaLabelFormatter:function(e){var t;return"".concat(e.name," (").concat((null===(t=e.investigationTexts)||void 0===t?void 0:t.length)||0,")")}})),r.createElement(h.A,{shape:"filled",icon:"Plus14",onClick:function(){return M(!0)}},"새 지문 추가"),r.createElement(y2,null,"총 ",r.createElement("strong",null,Ee.length),"개",Ee.length>
1L&&r.createElement("span",null," ","(페이지 ",T,"/",xe,")"))),g.length>0&&r.createElement(s2,null,r.createElement(d2,null,g.length,"개 선택됨"),r.createElement(u2,null,r.createElement(R0.A,{value:w,onChange:function(e){return A(e)},placeholder:"이동할 지역 선택...",showNoArea:!0})),r.createElement(h.A,{shape:"filled",onClick:De,pending:I,disabled:!w},"선택 항목 이동"),r.createElement(h.A,{shape:"filled",color:"warning",onClick:Ue,pending:I},"선택 항목 삭제"),r.createElement(h.A,{shape:"stroke",onClick:function(){return E([])}},"선택 해제")),r.createElement(f2,null,r.createElement(T0.A,{columns:Re,data:we,rowKey:function(e){return"".concat(e.areaId,"-").concat(e.id)},selectedKeys:g,onSelectionChange:E,onRowClick:Oe,emptyText:"조사 텍스트가 없습니다.",selectable:!0})),Ee.length>L&&r.createElement(g2,null,r.createElement(K1.A,{offset:T-1,totalPages:xe,handlePageClick:function(e){return R(e.selected+1)}}),r.createElement(b2,null,(T-1)*L+1," -"," ",Math.min(T*L,Ee.length)," /"," ",Ee.length,"개")),r.createElement(bY.N,null,r.createElement(G1,{mode:"create",isOpen:U,onClose:function(){return M(!1)},onSave:Pe,isSaving:k,selectedAreaId:Se,onChangeAreaId:W,title:z,onChangeTitle:B,content:G,onChangeContent:H,rewardCurrency:J,onChangeRewardCurrency:Q,rewardItemIdList:q,onChangeRewardItemIdList:K})),r.createElement(bY.N,null,r.createElement(G1,{mode:"edit",isOpen:X.isOpen&&!!X.item,onClose:Ie,onSave:je,isSaving:pe,areaName:null===(t=X.item)||void 0===t?void 0:t.areaName,onDelete:Me,isDeleting:ge,title:ne,onChangeTitle:re,content:le,onChangeContent:oe,rewardCurrency:de,onChangeRewardCurrency:fe,rewardItemIdList:ce,onChangeRewardItemIdList:ue})))},i2=C.Ay.div(j1||(j1=Y1(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n"]))),c2=C.Ay.div(P1||(P1=Y1(["\n  display: flex;\n  gap: 12px;\n  align-items: center;\n  flex-wrap: wrap;\n"]))),u2=C.Ay.div(T1||(T1=Y1(["\n  min-width: 200px;\n"]))),s2=C.Ay.div(R1||(R1=Y1(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 12px 16px;\n  background: var(--primaryColor) 10;\n  border: 1px solid var(--primaryColor) 30;\n  border-radius: 8px;\n"]))),d2=C.Ay.span(L1||(L1=Y1(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--primaryColor);\n"]))),f2=C.Ay.div(D1||(D1=Y1(["\n  max-height: 600px;\n  ","\n  overflow: auto;\n\n  tbody tr:hover {\n    background-color: rgba(0, 0, 0, 0.1);\n  }\n\n  &::-webkit-scrollbar {\n    width: 6px;\n    height: 8px;\n  }\n\n  &::-webkit-scrollbar-track {\n    background-color: var(--cardBackgroundColor);\n  }\n\n  &::-webkit-scrollbar-thumb {\n    background-color: var(--subColor);\n    border-radius: 4px;\n    opacity: 1;\n    transform: none;\n  }\n\n  &::-webkit-scrollbar-thumb:hover {\n    background-color: var(--primaryColor);\n  }\n"])),j.kM),m2=C.Ay.div(U1||(U1=Y1(["\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n"]))),p2=C.Ay.div(M1||(M1=Y1(["\n  display: flex;\n  gap: 4px;\n"]))),v2=C.Ay.span(N1||(N1=Y1(["\n  display: inline-flex;\n  padding: 4px 10px;\n  background: ",";\n  border: 1px solid\n    ",";\n  border-radius: 4px;\n  font-size: 12px;\n  color: ",";\n  font-weight: ",";\n  max-width: 100px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n"])),function(e){return e.hasItem?"var(--primaryBackgroundColor)":"var(--inkColor)"},function(e){return e.hasItem?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.hasItem?"var(--primaryColor)":"var(--subTextColor)"},function(e){return e.hasItem?"500":"400"}),y2=C.Ay.span(z1||(z1=Y1(["\n  font-size: 13px;\n  color: var(--subTextColor);\n\n  strong {\n    color: var(--primaryColor);\n    font-weight: 600;\n  }\n"]))),g2=C.Ay.div(B1||(B1=Y1(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 8px;\n  padding: 16px 0;\n  border-top: 1px solid var(--lineColor);\n"]))),b2=C.Ay.span(F1||(F1=Y1(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),h2=function(){return r.createElement("div",null,"NavigateTextSet")};function E2(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return x2(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x2(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x2(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var w2,A2,C2,k2,S2,O2,I2=["explorationPoint","investigationItem","investigationCondition","investigationText","navigateText"],j2=function(){var e=E2((0,wZ.ok)(),1)[0].get("tab"),t=E2(f(e||"explorationPoint"),2),n=t[0],a=t[1];(0,r.useEffect)(function(){e&&I2.includes(e)&&a(e)},[e]);var l=[{value:"explorationPoint",label:"탐색 포인트",isShow:!0,drawView:r.createElement(jZ,null)},{value:"investigationItem",label:"조사 아이템",isShow:!0,drawView:r.createElement(mX,null)},{value:"investigationCondition",label:"타임라인 조사 기능",isShow:!0,drawView:r.createElement(XX,null)},{value:"investigationText",label:"조사 텍스트 관리",isShow:!0,drawView:r.createElement(o2,null)},{value:"navigateText",label:"네비게이션 텍스트",isShow:!1,drawView:r.createElement(h2,null)}];return r.createElement(i.A,{viewOptions:l,defaultViewType:n,customSetViewType:a})};function P2(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return T2(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T2(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T2(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function R2(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var L2,D2,U2,M2=C.Ay.div(w2||(w2=R2(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),N2=C.Ay.div(A2||(A2=R2(["\n  display: grid;\n  grid-template-columns: 1fr 80px;\n  align-items: center;\n  gap: 16px;\n  padding: 12px 16px;\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr auto;\n  }\n"]))),z2=C.Ay.div(C2||(C2=R2(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),B2=C.Ay.span(k2||(k2=R2(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),F2=C.Ay.span(S2||(S2=R2(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  line-height: 1.4;\n"]))),G2=C.Ay.div(O2||(O2=R2(["\n  display: grid;\n  grid-template-columns: 1fr 120px;\n  align-items: center;\n  gap: 16px;\n  padding: 12px 16px;\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n"]))),H2=!!Array.isArray(a.l.boardSet)&&a.l.boardSet.some(function(e){return e.typeName===Mi.Ef.STORE}),$2=!!Array.isArray(a.l.boardSet)&&a.l.boardSet.some(function(e){return e.typeName===Mi.Ef.PHOTOCARD}),V2=H2&&$2,W2=H2||$2?H2?"포토카드(Photocard) 게시판이 없어 사용할 수 없습니다.":"상점(Store) 게시판이 없어 사용할 수 없습니다.":"상점(Store) 게시판과 포토카드(Photocard) 게시판이 모두 필요합니다.",_2=function(e){var t=e.settingPath,n=void 0===t?o.Mb.TIMELINE:t,i=e.boardLabel,c=void 0===i?"타임라인":i,u=e.excludeKeys,s=function(e){return!(null!=u&&u.includes(e))},d=(0,l.useDocument)(n,{listen:!0}),f=d.data,m=d.set,p=P2((0,r.useState)(yX.D2.useLuckyDraw),2),v=p[0],y=p[1],g=P2((0,r.useState)(yX.D2.useItemCraft),2),h=g[0],E=g[1],x=P2((0,r.useState)(yX.D2.useItemCraftingMethod),2),A=x[0],C=x[1],k=P2((0,r.useState)(yX.D2.useInvestigation),2),S=k[0],O=k[1],j=P2((0,r.useState)(yX.D2.useSensitiveContents),2),P=j[0],T=j[1],R=P2((0,r.useState)(yX.D2.useCollapseImg),2),L=R[0],D=R[1],U=P2((0,r.useState)(yX.D2.collapseImageHeight),2),M=U[0],N=U[1],z=P2((0,r.useState)(yX.D2.useYoutubeURL),2),B=z[0],F=z[1],G=P2((0,r.useState)(yX.D2.maxImageCount),2),H=G[0],$=G[1],V=P2((0,r.useState)(yX.D2.requireImage),2),W=V[0],_=V[1],q=P2((0,r.useState)(yX.D2.useAccessType),2),K=q[0],Y=q[1],J=P2((0,r.useState)(yX.D2.useHashtag),2),Q=J[0],Z=J[1],X=P2((0,r.useState)(yX.D2.useDrawingTool),2),ee=X[0],te=X[1],ne=P2((0,r.useState)(yX.D2.useLinkUpload),2),re=ne[0],ae=ne[1],le=P2((0,r.useState)(yX.D2.useGift),2),oe=le[0],ie=le[1],ce=P2((0,r.useState)(yX.D2.useEmotion),2),ue=ce[0],se=ce[1];(0,r.useEffect)(function(){var e,t,n,r,a,l,o,i,c,u,s,d,m,p,v,g;f&&(y(null!==(e=f.useLuckyDraw)&&void 0!==e?e:yX.D2.useLuckyDraw),E(null!==(t=f.useItemCraft)&&void 0!==t?t:yX.D2.useItemCraft),C(null!==(n=f.useItemCraftingMethod)&&void 0!==n?n:yX.D2.useItemCraftingMethod),O(null!==(r=f.useInvestigation)&&void 0!==r?r:yX.D2.useInvestigation),T(null!==(a=f.useSensitiveContents)&&void 0!==a?a:yX.D2.useSensitiveContents),D(null!==(l=f.useCollapseImg)&&void 0!==l?l:yX.D2.useCollapseImg),N(null!==(o=f.collapseImageHeight)&&void 0!==o?o:yX.D2.collapseImageHeight),F(null!==(i=f.useYoutubeURL)&&void 0!==i?i:yX.D2.useYoutubeURL),$(null!==(c=f.maxImageCount)&&void 0!==c?c:yX.D2.maxImageCount),_(null!==(u=f.requireImage)&&void 0!==u?u:yX.D2.requireImage),Y(null!==(s=f.useAccessType)&&void 0!==s?s:yX.D2.useAccessType),Z(null!==(d=f.useHashtag)&&void 0!==d?d:yX.D2.useHashtag),te(null!==(m=f.useDrawingTool)&&void 0!==m?m:yX.D2.useDrawingTool),ae(null!==(p=f.useLinkUpload)&&void 0!==p?p:yX.D2.useLinkUpload),ie(null!==(v=f.useGift)&&void 0!==v?v:yX.D2.useGift),se(null!==(g=f.useEmotion)&&void 0!==g?g:yX.D2.useEmotion))},[f]);var de=(0,r.useCallback)(function(e,t){m(function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},e,!t),{merge:!0})},[m]),fe=(0,r.useCallback)(function(e){var t=parseInt(e.target.value,10);!isNaN(t)&&t>=1&&t<=10&&($(t),m({maxImageCount:t},{merge:!0}))},[m]),me=(0,r.useCallback)(function(e){var t=parseInt(e.target.value,10);!isNaN(t)&&t>=100&&t<=2e3&&(N(t),m({collapseImageHeight:t},{merge:!0}))},[m]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,c," 업로드 기능 설정",r.createElement(b.PF,null,c," 게시글 작성 시 사용할 기능들을 설정합니다. 스위치를 켜고 끄면 즉시 적용됩니다.")),r.createElement(M2,null,s("useLuckyDraw")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"뽑기 아이템 사용"),r.createElement(F2,null,"게시글 작성 시 인벤토리의 랜덤박스를 사용할 수 있습니다.",!V2&&" ⚠️ ".concat(W2))),r.createElement(w.A,{isChecked:v,disabled:!V2,handleSwitch:function(){y(!v),de("useLuckyDraw",v)}})),s("useGift")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"선물하기 사용"),r.createElement(F2,null,"게시글 작성 시 대상 캐릭터에게 인벤토리 아이템을 선물할 수 있습니다.",!V2&&" ⚠️ ".concat(W2))),r.createElement(w.A,{isChecked:oe,disabled:!V2,handleSwitch:function(){ie(!oe),de("useGift",oe)}})),s("useItemCraft")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"아이템 조합 사용"),r.createElement(F2,null,"게시글 업로드 후 아이템 조합을 실행할 수 있습니다.",!V2&&" ⚠️ ".concat(W2))),r.createElement(w.A,{isChecked:h,disabled:!V2,handleSwitch:function(){E(!h),de("useItemCraft",h)}})),s("useItemCraftingMethod")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"조합 방법 선택 사용"),r.createElement(F2,null,"게시글 작성 시 연금/재봉/요리 등 조합 방법을 선택할 수 있습니다. OFF 시 기본 조합 방법으로 저장됩니다.",!V2&&" ⚠️ ".concat(W2))),r.createElement(w.A,{isChecked:A,disabled:!V2||!h,handleSwitch:function(){C(!A),de("useItemCraftingMethod",A)}})),s("useInvestigation")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"조사/탐색 사용"),r.createElement(F2,null,"게시글 업로드 후 선택한 구역을 조사할 수 있습니다.",!V2&&" ⚠️ ".concat(W2))),r.createElement(w.A,{isChecked:S,disabled:!V2,handleSwitch:function(){O(!S),de("useInvestigation",S)}})),s("useSensitiveContents")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"민감정보 표시 사용"),r.createElement(F2,null,"게시글의 이미지를 가리고 클릭 시 표시되도록 설정할 수 있습니다.")),r.createElement(w.A,{isChecked:P,handleSwitch:function(){T(!P),de("useSensitiveContents",P)}})),s("useCollapseImg")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"긴 이미지 접기 사용"),r.createElement(F2,null,"설정한 높이 이상의 이미지 일부를 숨길 수 있습니다.")),r.createElement(w.A,{isChecked:L,handleSwitch:function(){D(!L),de("useCollapseImg",L)}})),s("useCollapseImg")&&L&&r.createElement(G2,null,r.createElement(z2,null,r.createElement(B2,null,"긴 이미지 접기 기준 높이"),r.createElement(F2,null,"이 높이(px) 이상의 이미지가 접힙니다 (100~2000)")),r.createElement(I.A,{type:"number",name:"collapseImageHeight",placeholder:"접기 기준 높이",value:M,onChange:me,min:100,max:2e3,style:{width:"100%"}})),s("useYoutubeURL")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"YouTube URL 사용"),r.createElement(F2,null,"게시글에 YouTube 영상을 첨부할 수 있습니다.")),r.createElement(w.A,{isChecked:B,handleSwitch:function(){F(!B),de("useYoutubeURL",B)}})),s("useDrawingTool")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"직접 그리기 사용"),r.createElement(F2,null,"업로드 모달에서 드로잉툴을 새 창으로 열어 이미지를 생성할 수 있습니다.",!a.l.drawingtool&&" (masterSet.drawingtool=true 일 때만 사용 가능)")),r.createElement(w.A,{isChecked:ee,disabled:!a.l.drawingtool,handleSwitch:function(){te(!ee),de("useDrawingTool",ee)}})),s("useLinkUpload")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"링크 업로드 사용"),r.createElement(F2,null,"OFF 시 이미지는 로컬 파일로만 직접 업로드할 수 있습니다.")),r.createElement(w.A,{isChecked:re,handleSwitch:function(){ae(!re),de("useLinkUpload",re)}})),s("maxImageCount")&&r.createElement(G2,null,r.createElement(z2,null,r.createElement(B2,null,"이미지 업로드 최대 개수"),r.createElement(F2,null,"게시글당 업로드 가능한 이미지 수 (1~10)")),r.createElement(I.A,{type:"number",name:"maxImageCount",placeholder:"최대 이미지 개수",value:H,onChange:fe,min:1,max:10,style:{width:"100%"}})),s("requireImage")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"이미지 필수 작성"),r.createElement(F2,null,"손님/멤버가 게시글 작성 시 이미지 1장 이상 필수 (관리자 제외)")),r.createElement(w.A,{isChecked:W,handleSwitch:function(){_(!W),de("requireImage",W)}})),s("useAccessType")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"공개범위 설정 사용"),r.createElement(F2,null,"OFF 시 모든 게시글이 전체공개로 작성됩니다.")),r.createElement(w.A,{isChecked:K,handleSwitch:function(){Y(!K),de("useAccessType",K)}})),s("useHashtag")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"해시태그 사용"),r.createElement(F2,null,"게시글 작성 시 해시태그를 입력할 수 있습니다.")),r.createElement(w.A,{isChecked:Q,handleSwitch:function(){Z(!Q),de("useHashtag",Q)}})),s("useEmotion")&&r.createElement(N2,null,r.createElement(z2,null,r.createElement(B2,null,"이모지 반응 표시"),r.createElement(F2,null,"OFF 시 게시글 하단의 Emotion(이모지 반응) 섹션이 숨겨집니다.")),r.createElement(w.A,{isChecked:ue,handleSwitch:function(){se(!ue),de("useEmotion",ue)}}))))},q2=n(71720),K2=n(30396);function Y2(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var J2=C.Ay.div(L2||(L2=Y2(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),Q2=C.Ay.span(D2||(D2=Y2(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Z2=C.Ay.span(U2||(U2=Y2(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"])));
1function X2(e){var t=e.mode,n=e.onChange;return r.createElement(fi.Ay,{style:{padding:"12px 16px"}},r.createElement(J2,null,r.createElement(Q2,null,"가위바위보 배틀 모드"),r.createElement(Z2,null,"즉시 결과: 상대 패를 랜덤으로 결정하여 바로 출력합니다.",r.createElement("br",null),"도전장 보내기: 내 패를 숨긴 채 상대에게 알림을 보내고, 상대가 패를 선택하면 결과가 공개됩니다.")),r.createElement(Fe.z,null,r.createElement(Fe.A,{name:"battleMode",value:K2.Nh.INSTANT,checked:t===K2.Nh.INSTANT,onChange:function(){return n(K2.Nh.INSTANT)},shape:"default"},K2.QI[K2.Nh.INSTANT]),r.createElement(Fe.A,{name:"battleMode",value:K2.Nh.CHALLENGE,checked:t===K2.Nh.CHALLENGE,onChange:function(){return n(K2.Nh.CHALLENGE)},shape:"default"},K2.QI[K2.Nh.CHALLENGE])))}var e3,t3,n3,r3,a3,l3,o3,i3,c3,u3,s3=r.memo(X2),d3=n(8137),f3=n(21997),m3=n(36347);function p3(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function v3(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){p3(l,r,a,o,i,"next",e)}function i(e){p3(l,r,a,o,i,"throw",e)}o(void 0)})}}function y3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function g3(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y3(Object(n),!0).forEach(function(t){b3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function b3(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h3(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return E3(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E3(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E3(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function x3(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var w3=C.Ay.div(e3||(e3=x3(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),A3=C.Ay.span(t3||(t3=x3(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),C3=C.Ay.span(n3||(n3=x3(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),k3=C.Ay.div(r3||(r3=x3(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  margin-top: 12px;\n"]))),S3=C.Ay.div(a3||(a3=x3(["\n  display: grid;\n  grid-template-columns: 72px minmax(0, 1fr);\n  gap: 12px;\n  align-items: flex-start;\n  padding-top: 12px;\n  border-top: 1px solid var(--lineColor);\n\n  @media (max-width: 640px) {\n    grid-template-columns: 1fr;\n  }\n"]))),O3=C.Ay.div(l3||(l3=x3(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 6px;\n  color: var(--subTextColor);\n  font-size: 12px;\n"]))),I3=C.Ay.div(o3||(o3=x3(["\n  width: 48px;\n  height: 48px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: var(--cardBorderRadius);\n  background: var(--subColor);\n"]))),j3=C.Ay.div(i3||(i3=x3(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),P3=C.Ay.div(c3||(c3=x3(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: center;
1\n"]))),T3=C.Ay.div(u3||(u3=x3(["\n  max-width: 220px;\n"]))),R3=[f3.z4.SCISSORS,f3.z4.ROCK,f3.z4.PAPER];function L3(e){var t=e.rspValue,n=e.configMap,a=e.storagePath,l=e.onChange,o=h3((0,r.useState)(null),2),i=o[0],c=o[1],u=h3((0,r.useState)(!1),2),s=u[0],d=u[1],f=n[t],m=(0,r.useCallback)(function(e){l(g3(g3({},n),{},b3({},t,g3(g3({},f),e))))},[f,n,l,t]),p=(0,r.useCallback)(function(e){m({type:e})},[m]),v=(0,r.useCallback)(function(e){m({emoji:e.target.value||f3.Cf[t].emoji})},[t,m]),y=(0,r.useCallback)(function(){var e=v3(regeneratorRuntime.mark(function e(n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(c(n),n){e.next=3;break}return e.abrupt("return");case 3:return d(!0),e.prev=4,e.next=7,(0,me.updateImgAndGetURL)({selectedFile:n,prevImgURL:f.imgURL||"",collectionPath:"".concat(a,"/").concat(t)});case 7:r=e.sent,m({type:"image",imgURL:r});case 9:return e.prev=9,d(!1),c(null),e.finish(9);case 13:case"end":return e.stop()}},e,null,[[4,,9,13]])}));return function(t){return e.apply(this,arguments)}}(),[f.imgURL,t,a,m]),g=(0,r.useCallback)(v3(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!f.imgURL){e.next=3;break}return e.next=3,(0,me.deleteImgStorage)(f.imgURL);case 3:m({type:"emoji",imgURL:""}),c(null);case 5:case"end":return e.stop()}},e)})),[f.imgURL,m]),b=(0,r.useCallback)(v3(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!f.imgURL){e.next=3;break}return e.next=3,(0,me.deleteImgStorage)(f.imgURL);case 3:l(g3(g3({},n),{},b3({},t,f3.Cf[t]))),c(null);case 5:case"end":return e.stop()}},e)})),[f.imgURL,n,l,t]);return r.createElement(S3,null,r.createElement(O3,null,r.createElement(I3,null,r.createElement(d3.A,{value:t,configMap:n,size:36})),f3.v5[t]),r.createElement(j3,null,r.createElement(Fe.z,null,r.createElement(Fe.A,{name:"".concat(t,"-rsp-icon-type"),value:"emoji",checked:"image"!==f.type,onCh
1ange:function(){return p("emoji")},shape:"default"},"기본 아이콘"),r.createElement(Fe.A,{name:"".concat(t,"-rsp-icon-type"),value:"image",checked:"image"===f.type,onChange:function(){return p("image")},shape:"default"},"이미지")),r.createElement(P3,null,r.createElement(I.A,{name:"".concat(t,"-emoji"),value:f.emoji,onChange:v,maxLength:4,placeholder:f3.Cf[t].emoji,style:{maxWidth:120}}),r.createElement(h.A,{shape:"ghost",size:"sm",onClick:b},"기본값 복원")),"image"===f.type&&r.createElement(T3,null,r.createElement(A.A,{id:"rsp-icon-".concat(t),setSelectedFile:y,isUploading:s||!!i,prevImgURL:f.imgURL||"",text:"이미지 선택",minHeight:64,customDelete:g}))))}function D3(e){var t=e.value,n=e.onChange,a=e.storagePath,l=(0,r.useMemo)(function(){return(0,m3.T)(t)},[t]);return r.createElement(fi.Ay,{style:{padding:"12px 16px"}},r.createElement(w3,null,r.createElement(A3,null,"가위바위보 아이콘"),r.createElement(C3,null,"기본 아이콘을 유지하거나, 가위/바위/보마다 이미지를 업로드해 표시합니다.")),r.createElement(k3,null,R3.map(function(e){return r.createElement(L3,{key:e,rspValue:e,configMap:l,storagePath:a,onChange:n})})))}var U3,M3,N3,z3,B3,F3=r.memo(D3);function G3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function H3(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G3(Object(n),!0).forEach(function(t){$3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $3(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V3(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function W3(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var _3,q3,K3,Y3,J3,Q3,Z3,X3,e8,t8,n8,r8,a8,l8=C.Ay.div(U3||(U3=W3(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),o8=C.Ay.div(M3||(M3=W3(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),i8=C.Ay.span(N3||(N3=W3(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),c8=C.Ay.span(z3||(z3=W3(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),u8=C.Ay.div(B3||(B3=W3(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),s8=[{key:"useImage",label:"이미지",description:"댓글에 이미지를 첨부할 수 있습니다."},{key:"useVideo",label:"동영상",description:"댓글에 동영상을 첨부할 수 있습니다."},{key:"useEmoticon",label:"이모티콘",description:"댓글에 이모티콘을 사용할 수 있습니다."},{key:"useSecret",label:"비밀글",description:"댓글을 비밀글로 작성할 수 있습니다."},{key:"useBattle",label:"배틀",description:"댓글에서 배틀 기능을 사용할 수 있습니다."},{key:"useDice",label:"주사위",description:"댓글에서 주사위를 굴릴 수 있습니다."},{key:"useLuckyDraw",label:"뽑기",description:"댓글에서 뽑기 기능을 사용할 수 있습니다."},{key:"useCollapseComment",label:"댓글접기",description:"댓글을 접어서 표시할 수 있습니다."},{key:"useReply",label:"답글 쓰기",description:"댓글에 답글을 작성할 수 있습니다."},{key:"showCharacterCount",label:"글자수 표시",description:"댓글 입력 시 현재 글자수를 표시합니다."},{key:"showBoardAuthorBadge",label:"게시글 작성자 배지 표시",description:"댓글 작성자가 해당 게시글의 원작성자인 경우 이름 앞에 배지 아이콘을 표시합니다."}],d8=function(e){var t,n,a=e.settingPath,i=void 0===a?o.Mb.TIMELINE:a,u=e.excludeKeys,s=e.boardLabel,d=void 0===s?"타임라인":s,f=(0,l.useDocument)("".concat(i,"_comment"),{listen:!0}
1),m=f.data,p=f.set,v=(0,c.lZ)(q2.A),y=i===o.Mb.TIMELINE,g=(0,r.useCallback)(function(e){y&&v(e)},[y,v]),h=(t=(0,r.useState)(yX.ge),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return V3(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?V3(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),E=h[0],x=h[1];(0,r.useEffect)(function(){if(m){var e,t,n,r,a,l,o,i,c,u,s,d,f,p,v,y={useImage:null!==(e=m.useImage)&&void 0!==e?e:yX.ge.useImage,useVideo:null!==(t=m.useVideo)&&void 0!==t?t:yX.ge.useVideo,useEmoticon:null!==(n=m.useEmoticon)&&void 0!==n?n:yX.ge.useEmoticon,useSecret:null!==(r=m.useSecret)&&void 0!==r?r:yX.ge.useSecret,useBattle:null!==(a=m.useBattle)&&void 0!==a?a:yX.ge.useBattle,battleMode:null!==(l=m.battleMode)&&void 0!==l?l:yX.ge.battleMode,battleIconConfigMap:null!==(o=m.battleIconConfigMap)&&void 0!==o?o:yX.ge.battleIconConfigMap,useDice:null!==(i=m.useDice)&&void 0!==i?i:yX.ge.useDice,useLuckyDraw:null!==(c=m.useLuckyDraw)&&void 0!==c?c:yX.ge.useLuckyDraw,useCollapseComment:null!==(u=m.useCollapseComment)&&void 0!==u?u:yX.ge.useCollapseComment,useReply:null!==(s=m.useReply)&&void 0!==s?s:yX.ge.useReply,showCharacterCount:null!==(d=m.showCharacterCount)&&void 0!==d?d:yX.ge.showCharacterCount,maxCharacterCount:null!==(f=m.maxCharacterCount)&&void 0!==f?f:yX.ge.maxCharacterCount,showBoardAuthorBadge:null!==(p=m.showBoardAuthorBadge)&&void 0!==p?p:yX.ge.showBoardAuthorBadge,boardAuthorBadgeIcon:null!==(v=m.boardAuthorBadgeIcon)&&void 0!==v?v:yX.ge.boardAuthorBadgeIcon};x(y),g(y)}},[m,g]);var w=(0,r.useCallback)(function(e){var t=!E[e],n=H3(H3({},E),{},$3({},e,t));x(n),g(n),p($3({},e,t),{merge:!0})},[E,p,g]),A=(0,r.useCallback)(function(e){var t=H3(H3({},E),{},{battleMode:e});x(t),g(t),p({battleMode:e},{merge:!0})},[E,p,g]),C=(0,r.useCallback)(function(e){var t=H3(H3({},E),{},{battleIconConfigMap:e});x(t),g(t),p({battleIconConfigMap:e},{merge:!0})},[E,p,g]),k=(0,r.useCallback)(function(e){var t=e.target.value,n=H3(H3({},E),{},{boardAuthorBadgeIcon:t});x(n),g(n),p({boardAuthorBadgeIcon:t},{merge:!0})},[E,p,g]),S=(0,r.useCallback)(function(e){var t=Math.max(100,Math.min(1e5,Number(e.target.value)||1e4)),n=H3(H3({},E),{},{maxCharacterCount:t});x(n),g(n),p({maxCharacterCount:t},{merge:!0})},[E,p,g]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,d," 댓글 옵션 설정",r.createElement(b.PF,null,d," 댓글 작성 시 사용할 기능들을 설정합니다. 스위치를 켜고 끄면 즉시 적용됩니다.")),r.createElement(l8,null,s8.filter(function(e){return!(null!=u&&u.includes(e.key))}).map(function(e){return r.createElement(r.Fragment,{key:e.key},"showBoardAuthorBadge"===e.key?r.createElement(u8,null,r.createElement(Nn.A,{label:e.label,description:e.description,isChecked:E[e.key],onToggle:function(){return w(e.key)}}),E.showBoardAuthorBadge&&r.createElement(fi.Ay,{style:{padding:"12px 16px"}},r.createElement(o8,null,r.createElement(i8,null,"배지 아이콘"),r.createElement(c8,null,"게시글 작성자 이름 앞에 표시될 아이콘 텍스트를 입력합니다. (기본값: ▶)")),r.createElement(I.A,{name:"boardAuthorBadgeIcon",value:E.boardAuthorBadgeIcon,onChange:k,placeholder:"▶",maxLength:10,style:{maxWidth:120}}))):"showCharacterCount"===e.key?r.createElement(u8,null,r.createElement(Nn.A,{label:e.label,description:e.description,isChecked:E[e.key],onToggle:function(){return w(e.key)}}),E.showCharacterCount&&r.createElement(fi.Ay,{style:{padding:"12px 16px"}},r.createElement(o8,null,r.createElement(i8,null,"글자수 제한"),r.createElement(c8,null,"댓글 작성 시 최대 글자수를 제한합니다. (100 ~ 100,000자)")),r.createElement(I.A,{type:"number",name:"maxCharacterCount",value:E.maxCharacterCount,onChange:S,min:100,max:1e5,placeholder:"10000",style:{maxWidth:200}}))):r.createElement(r.Fragment,null,r.createElement(Nn.A,{label:e.label,description:e.description,isChecked:E[e.key],onToggle:function(){return w(e.key)}}),"useBattle"===e.key&&E.useBattle&&r.createElement(u8,null,r.createElement(s3,{mode:E.battleMode,onChange:A}),r.createElement(F3,{value:E.battleIconConfigMap,onChange:C,storagePath:"".concat(i,"/battle-icons")}))))})))};function f8(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function m8(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){f8(l,r,a,o,i,"next",e)}function i(e){f8(l,r,a,o,i,"throw",e)}o(void 0)})}}function p8(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v8(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v8(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v8(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function y8(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var g8="setting",b8="timeline_resultDesign",h8=C.Ay.div(_3||(_3=y8(["\n  padding: 16px;\n  border-radius: var(--cardBorderRadius);\n  background: ",";\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 4px;\n  ","\n  ","\n  ","\n"])),function(e){return e.$bgColor||"var(--cardBackgroundColor)"},function(e){var t=e.$textColor;return t&&"--prev-text: ".concat(t,";")},function(e){var t=e.$subTextColor;return t&&"--prev-sub: ".concat(t,";")},function(e){var t=e.$borderImgURL,n=e.$borderImgWidth,r=e.$borderImgOutset,a=e.$borderImgRepeat,l=e.$borderImgSlice;return t?"\n    border-image-source: url('".concat(t,"');\n    border-image-slice: ").concat(null!=l?l:30," fill;\n    border-image-width: ").concat(null!=n?n:30,"px;\n    border-image-outset: ").concat(null!=r?r:0,"px;\n    border-image-repeat: ").concat(null!=a?a:"stretch",";\n    border-style: solid;\n  "):"border: 1px solid var(--lineColor);"}),E8=C.Ay.div(q3||(q3=y8(["\n  font-size: 13px;\n  font-weight: 700;\n  color: var(--prev-text, var(--textColor));\n  text-align: center;\n  margin-bottom: 4px;\n"]))),x8=C.Ay.div(K3||(K3=y8(["\n  font-size: 11px;\n  color: var(--prev-sub, var(--subTextColor));\n  opacity: 0.8;\n  text-align: center;
1\n"]))),w8=C.Ay.div(Y3||(Y3=y8(["\n  width: 56px;\n  height: 56px;\n  border-radius: 8px;\n  border: 2px dashed var(--lineColor);\n  background: var(--cardBackgroundColor);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 24px;\n  opacity: 0.5;\n  margin: 4px 0;\n"]))),A8=C.Ay.div(J3||(J3=y8(["\n  font-size: 13px;\n  font-weight: 700;\n  color: var(--prev-text, var(--textColor));\n  text-align: center;\n"]))),C8=C.Ay.div(Q3||(Q3=y8(["\n  font-size: 11px;\n  color: var(--prev-sub, var(--subTextColor));\n  opacity: 0.8;\n"]))),k8=C.Ay.div(Z3||(Z3=y8(["\n  width: 100%;\n  padding: 8px 10px;\n  text-align: center;\n"]))),S8=C.Ay.div(X3||(X3=y8(["\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--prev-text, var(--textColor));\n  margin-bottom: 4px;\n"]))),O8=C.Ay.div(e8||(e8=y8(["\n  font-size: 11px;\n  color: var(--prev-sub, var(--subTextColor));\n  opacity: 0.8;\n  line-height: 1.5;\n"]))),I8=C.Ay.div(t8||(t8=y8(["\n  display: inline-flex;\n  align-items: center;\n  gap: 4px;\n  padding: 3px 8px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 20px;\n  font-size: 11px;\n  font-weight: 600;\n  color: var(--prev-text, var(--textColor));\n  margin-top: 4px;\n"]))),j8=C.Ay.div(n8||(n8=y8(["\n  width: 100%;\n  height: 1px;\n  background: var(--lineColor);\n  margin: 8px 0;\n"]))),P8=C.Ay.div(r8||(r8=y8(["\n  display: flex;\n  gap: 8px;\n"]))),T8=C.Ay.button(a8||(a8=y8(["\n  flex: 1;\n  padding: 6px 0;\n  border-radius: 6px;\n  border: 1px solid ",";\n  background: ",";\n  color: ",";\n  font-size: 12px;\n  font-weight: ",";\n  cursor: pointer;\n  transition: all 0.15s;\n"])),function(e){return e.$active?"var(--pointColor)":"var(--lineColor)"},function(e){return e.$active?"var(--pointColor)":"transparent"},function(e){return e.$active?"var(--buttonTextColor)":"var(--subTextColor)"},function(e){return e.$active?700:400}),R8=function(e){var t,n,a,o,i,u,s=(0,c.vc)(Wr.i3).moneyUnit,d=(0,l.useDocument)("".concat(g8,"/").concat(b8),{listen:!0}),f=d.data,m=(d.set,p8((0,r.useState)(null),2)),p=m[0],v=m[1],y=p8((0,r.useState)(""),2),g=y[0],x=y[1],w=p8((0,r.useState)(""),2),C=w[0],k=w[1],S=p8((0,r.useState)(""),2),O=S[0],I=S[1],j=p8((0,r.useState)(""),2),P=j[0],T=j[1],R=p8((0,r.useState)(30),2),L=R[0],D=R[1],U=p8((0,r.useState)(0),2),M=U[0],N=U[1],z=p8((0,r.useState)("stretch"),2),B=z[0],F=z[1],G=p8((0,r.useState)(30),2),H=G[0],$=G[1],V=p8((0,r.useState)(!0),2),W=V[0],_=V[1],q=p8((0,r.useState)(null),2),K=q[0],Y=q[1],J=p8((0,r.useState)(""),2),Q=J[0],Z=J[1],X=p8((0,r.useState)(""),2),ee=X[0],te=X[1],ne=p8((0,r.useState)(""),2),re=ne[0],ae=ne[1],le=p8((0,r.useState)(""),2),oe=le[0],ie=le[1],ce=p8((0,r.useState)(30),2),ue=ce[0],se=ce[1],de=p8((0,r.useState)(0),2),fe=de[0],pe=de[1],ve=p8((0,r.useState)("stretch"),2),ye=ve[0],ge=ve[1],be=p8((0,r.useState)(30),2),he=be[0],Ee=be[1],xe=p8((0,r.useState)(null),2),we=xe[0],Ae=xe[1],Ce=p8((0,r.useState)(""),2),ke=Ce[0],Se=Ce[1],Oe=p8((0,r.useState)(""),2),Ie=Oe[0],je=Oe[1],Pe=p8((0,r.useState)(""),2),Te=Pe[0],Re=Pe[1],Le=p8((0,r.useState)(""),2),De=Le[0],Ue=Le[1],Me=p8((0,r.useState)(30),2),Ne=Me[0],ze=Me[1],Be=p8((0,r.useState)(0),2),Fe=Be[0],Ge=Be[1],He=p8((0,r.useState)("stretch"),2),$e=He[0],Ve=He[1],We=p8((0,r.useState)(30),2),_e=We[0],qe=We[1],Ke=p8((0,r.useState)(!1),2),Ye=Ke[0],Je=Ke[1],Qe=p8((0,r.useState)(!1),2),Ze=Qe[0],Xe=Qe[1],et=p8((0,r.useState)(!1),2),nt=et[0],rt=et[1];(0,r.useEffect)(function(){var e,t,n,r,a,l,o,i,c,u,s,d,m,p,v,y=null!==(e=null==f?void 0:f.investigationCard)&&void 0!==e?e:yX.oM.investigationCard;x(y.borderImageURL||""),k(y.backgroundColor||""),I(y.textColor||""),T(y.subTextColor||""),D(null!==(t=y.borderImageWidth)&&void 0!==t?t:30),N(null!==(n=y.borderImageOutset)&&void 0!==n?n:0),F(null!==(r=y.borderImageRepeat)&&void 0!==r?r:"stretch"),$(null!==(a=y.borderImageSlice)&&void 0!==a?a:30),_(!1!==y.showTitle);var g=null!==(l=null==f?void 0:f.luckyDrawCard)&&void 0!==l?l:yX.oM.luckyDrawCard;Z(g.borderImageURL||""),te(g.backgroundColor||""),ae(g.textColor||""),ie(g.subTextColor||""),se(null!==(o=g.borderImageWidth)&&void 0!==o?o:30),pe(null!==(i=g.borderImageOutset)&&void 0!==i?i:0),ge(null!==(c=g.borderImageRepeat)&&void 0!==c?c:"stretch"),Ee(null!==(u=g.borderImageSlice)&&void 0!==u?u:30);var b=null!==(s=null==f?void 0:f.giftCard)&&void 0!==s?s:yX.oM.giftCard;Se(b.borderImageURL||""),je(b.backgroundColor||""),Re(b.textColor||""),Ue(b.subTextColor||""),ze(null!==(d=b.borderImageWidth)&&void 0!==d?d:30),Ge(null!==(m=b.borderImageOutset)&&void 0!==m?m:0),Ve(null!==(p=b.borderImageRepeat)&&void 0!==p?p:"stretch"),qe(null!==(v=b.borderImageSlice)&&void 0!==v?v:30)},[f]),(0,r.useEffect)(function(){var e;p&&((0,me.updateSettingImg)({fileList:{selectedFile:p,prevImgURL:(null==f||null===(e=f.investigationCard)||void 0===e?void 0:e.borderImageURL)||""},parentKey:"investigationCard",key:"borderImageURL",collectionPath:g8,docId:b8}),v(null))},[p]),(0,r.useEffect)(function(){var e;K&&((0,me.updateSettingImg)({fileList:{selectedFile:K,prevImgURL:(null==f||null===(e=f.luckyDrawCard)||void 0===e?void 0:e.borderImageURL)||""},parentKey:"luckyDrawCard",key:"borderImageURL",collectionPath:g8,docId:b8}),Y(null))},[K]),(0,r.useEffect)(function(){var e;we&&((0,me.updateSettingImg)({fileList:{selectedFile:we,prevImgURL:(null==f||null===(e=f.giftCard)||void 0===e?void 0:e.borderImageURL)||""},parentKey:"giftCard",key:"borderImageURL",collectionPath:g8,docId:b8}),Ae(null))},[we]);var at=(0,r.useCallback)(function(){var e,t=null==f||null===(e=f.investigationCard)||void 0===e?void 0:e.borderImageURL;t&&((0,me.deleteSettingImg)({imgURL:t,parentKey:"investigationCard",key:"borderImageURL",collectionPath:g8,docId:b8}),x(""))},[f]),lt=(0,r.useCallback)(function(){var e,t=null==f||null===(e=f.luckyDrawCard)||void 0===e?void 0:e.borderImageURL;t&&((0,me.deleteSettingImg)({imgURL:t,parentKey:"luckyDrawCard",key:"borderImageURL",collectionPath:g8,docId:b8}),Z(""))},[f]),ot=(0,r.useCallback)(function(){var e,t=null==f||null===(e=f.giftCard)||void 0===e?void 0:e.borderImageURL;t&&((0,me.deleteSettingImg)({imgURL:t,parentKey:"giftCard",key:"borderImageURL",collectionPath:g8,docId:b8}),Se(""))},[f]),it=(0,r.useCallback)(m8(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return Je(!0),e.prev=1,e.next=4,l.fuego.db.doc("".concat(g8,"/").concat(b8)).set({investigationCard:{backgroundColor:C,textColor:O,subTextColor:P,borderImageWidth:L,borderImageOutset:M,borderImageRepeat:B,borderImageSlice:H,showTitle:W}},{merge:!0});case 4:alert("조사 결과 카드 디자인이 저장되었습니다."),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),alert("저장에 실패했습니다.");case 10:return e.prev=10,Je(!1),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[1,7,10,13]])})),[C,O,P,L,M,B,H,W]),ct=(0,r.useCallback)(m8(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return Xe(!0),e.prev=1,e.next=4,l.fuego.db.doc("".concat(g8,"/").concat(b8)).set({luckyDrawCard:{backgroundColor:ee,textColor:re,subTextColor:oe,borderImageWidth:ue,borderImageOutset:fe,borderImageRepeat:ye,borderImageSlice:he}},{merge:!0});
1case 4:alert("뽑기 결과 카드 디자인이 저장되었습니다."),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),alert("저장에 실패했습니다.");case 10:return e.prev=10,Xe(!1),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[1,7,10,13]])})),[ee,re,oe,ue,fe,ye,he]),ut=(0,r.useCallback)(m8(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return rt(!0),e.prev=1,e.next=4,l.fuego.db.doc("".concat(g8,"/").concat(b8)).set({giftCard:{backgroundColor:Ie,textColor:Te,subTextColor:De,borderImageWidth:Ne,borderImageOutset:Fe,borderImageRepeat:$e,borderImageSlice:_e}},{merge:!0});case 4:alert("선물 결과 카드 디자인이 저장되었습니다."),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),alert("저장에 실패했습니다.");case 10:return e.prev=10,rt(!1),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[1,7,10,13]])})),[Ie,Te,De,Ne,Fe,$e,_e]);return r.createElement(b.YO,null,r.createElement(b.fA,null,"조사 결과 카드 디자인"),r.createElement(b.N9,null,r.createElement("label",null,"미리보기"),r.createElement(h8,{$bgColor:C,$textColor:O,$subTextColor:P,$borderImgURL:g||(null==f||null===(t=f.investigationCard)||void 0===t?void 0:t.borderImageURL),$borderImgWidth:L,$borderImgOutset:M,$borderImgRepeat:B,$borderImgSlice:H},r.createElement(E8,null,"조사"),r.createElement(x8,null,"조사 구역: ",r.createElement("b",null,"탐험지역A")),r.createElement(k8,null,W&&r.createElement(S8,null,"지문 제목"),r.createElement(O8,null,"조사 지문 내용이 이곳에 표시됩니다.")),r.createElement(I8,null,"+500 ",s))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 이미지"),r.createElement(b.PF,null,"권장: 180 × 180 (9슬라이스 이미지, 레티나 대응)")),r.createElement(A.A,{id:"inv-border-image",prevImgURL:g||(null==f||null===(n=f.investigationCard)||void 0===n?void 0:n.borderImageURL)||"",customDelete:at,setSelectedFile:v,customSetPreviewImgURL:x})),r.createElement(b.N9,null,r.createElement("label",null,"배경 컬러"),r.createElement(E.A,{name:"invBgColor",value:C||"var(--cardBackgroundColor)",onChange:function(e){return k(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"텍스트 컬러"),r.createElement(E.A,{name:"invTextColor",value:O||"var(--textColor)",onChange:function(e){return I(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"서브 텍스트 컬러"),r.createElement(E.A,{name:"invSubTextColor",value:P||"var(--subTextColor)",onChange:function(e){return T(e)}})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"코너 슬라이스"),r.createElement(b.PF,null,"이미지에서 코너 영역 크기(px) — 선명도에 영향")),r.createElement(tt.A,{value:H,onChange:$,max:90,step:1,id:"invBorderSlice"})),r.createElement(b.N9,null,r.createElement("label",null,"보더 굵기"),r.createElement(tt.A,{value:L,onChange:D,max:80,step:1,id:"invBorderWidth"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 오프셋"),r.createElement(b.PF,null,"밖으로 튀어나가기 정도")),r.createElement(tt.A,{value:M,onChange:N,max:20,step:1,id:"invBorderOutset"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이미지 반복 방식"),r.createElement(b.PF,null,"stretch: 늘리기 / round: 타일 / repeat: 반복")),r.createElement(P8,null,["stretch","round","repeat"].map(function(e){return r.createElement(T8,{key:e,$active:B===e,onClick:function(){return F(e)},type:"button"},e)}))),r.createElement(Nn.A,{label:"지문 제목 표시",description:"조사 결과 카드 상단에 지문 제목을 표시합니다.",isChecked:W,onToggle:function(){return _(function(e){return!e})}}),r.createElement(b.TT,null,r.createElement(h.A,{onClick:it,pending:Ye},"저장")),r.createElement(j8,null),r.createElement(b.fA,null,"뽑기 결과 카드 디자인"),r.createElement(b.N9,null,r.createElement("label",null,"미리보기"),r.createElement(h8,{$bgColor:ee,$textColor:re,$subTextColor:oe,$borderImgURL:Q||(null==f||null===(a=f.luckyDrawCard)||void 0===a?void 0:a.borderImageURL),$borderImgWidth:ue,$borderImgOutset:fe,$borderImgRepeat:ye,$borderImgSlice:he},r.createElement(E8,null,"뽑기"),r.createElement(w8,null,"🎁"),r.createElement(A8,null,"아이템 이름"),r.createElement(C8,null,"from. 뽑기팀A"))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 이미지"),r.createElement(b.PF,null,"권장: 180 × 180 (9슬라이스 이미지, 레티나 대응)")),r.createElement(A.A,{id:"ld-border-image",prevImgURL:Q||(null==f||null===(o=f.luckyDrawCard)||void 0===o?void 0:o.borderImageURL)||"",customDelete:lt,setSelectedFile:Y,customSetPreviewImgURL:Z})),r.createElement(b.N9,null,r.createElement("label",null,"배경 컬러"),r.createElement(E.A,{name:"ldBgColor",value:ee||"var(--cardBackgroun
1dColor)",onChange:function(e){return te(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"텍스트 컬러"),r.createElement(E.A,{name:"ldTextColor",value:re||"var(--textColor)",onChange:function(e){return ae(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"서브 텍스트 컬러"),r.createElement(E.A,{name:"ldSubTextColor",value:oe||"var(--subTextColor)",onChange:function(e){return ie(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"보더 굵기"),r.createElement(tt.A,{value:ue,onChange:se,max:80,step:1,id:"ldBorderWidth"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 오프셋"),r.createElement(b.PF,null,"밖으로 튀어나가기 정도")),r.createElement(tt.A,{value:fe,onChange:pe,max:20,step:1,id:"ldBorderOutset"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이미지 반복 방식"),r.createElement(b.PF,null,"stretch: 늘리기 / round: 타일 / repeat: 반복")),r.createElement(P8,null,["stretch","round","repeat"].map(function(e){return r.createElement(T8,{key:e,$active:ye===e,onClick:function(){return ge(e)},type:"button"},e)}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:ct,pending:Ze},"저장")),r.createElement(j8,null),r.createElement(b.fA,null,"선물 결과 카드 디자인"),r.createElement(b.N9,null,r.createElement("label",null,"미리보기"),r.createElement(h8,{$bgColor:Ie,$textColor:Te,$subTextColor:De,$borderImgURL:ke||(null==f||null===(i=f.giftCard)||void 0===i?void 0:i.borderImageURL),$borderImgWidth:Ne,$borderImgOutset:Fe,$borderImgRepeat:$e,$borderImgSlice:_e},r.createElement(E8,null,"선물"),r.createElement(w8,null,"🎁"),r.createElement(A8,null,"아이템 이름"),r.createElement(x8,null,"보내는 이 → 받는 이"))),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 이미지"),r.createElement(b.PF,null,"권장: 180 × 180 (9슬라이스 이미지, 레티나 대응)")),r.createElement(A.A,{id:"gf-border-image",prevImgURL:ke||(null==f||null===(u=f.giftCard)||void 0===u?void 0:u.borderImageURL)||"",customDelete:ot,setSelectedFile:Ae,customSetPreviewImgURL:Se})),r.createElement(b.N9,null,r.createElement("label",null,"배경 컬러"),r.createElement(E.A,{name:"gfBgColor",value:Ie||"var(--cardBackgroundColor)",onChange:function(e){return je(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"텍스트 컬러"),r.createElement(E.A,{name:"gfTextColor",value:Te||"var(--textColor)",onChange:function(e){return Re(e)}})),r.createElement(b.N9,null,r.createElement("label",null,"서브 텍스트 컬러"),r.createElement(E.A,{name:"gfSubTextColor",value:De||"var(--subTextColor)",onChange:function(e){return Ue(e)}})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"코너 슬라이스"),r.createElement(b.PF,null,"이미지에서 코너 영역 크기(px) — 선명도에 영향")),r.createElement(tt.A,{value:_e,onChange:qe,max:90,step:1,id:"gfBorderSlice"})),r.createElement(b.N9,null,r.createElement("label",null,"보더 굵기"),r.createElement(tt.A,{value:Ne,onChange:ze,max:80,step:1,id:"gfBorderWidth"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"보더 오프셋"),r.createElement(b.PF,null,"밖으로 튀어나가기 정도")),r.createElement(tt.A,{value:Fe,onChange:Ge,max:20,step:1,id:"gfBorderOutset"})),r.createElement(b.N9,null,r.createElement("div",null,r.createElement("label",{style:{marginBottom:6}},"이미지 반복 방식"),r.createElement(b.PF,null,"stretch: 늘리기 / round: 타일 / repeat: 반복")),r.createElement(P8,null,["stretch","round","repeat"].map(function(e){return r.createElement(T8,{key:e,$active:$e===e,onClick:function(){return Ve(e)},type:"button"},e)}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:ut,pending:nt},"저장")))};function L8(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var D8,U8,M8,N8,z8,B8,F8=function(e){var t,n,a=e.settingPath,l=e.boardLabel,o=void 0===l?"타임라인":l,c=e.visibleTabs,u=e.defaultTab,s=void 0===u?"postSetting":u,d=e.postExcludeKeys,m=e.commentExcludeKeys,p=(t=f(s),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return L8(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L8(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),v=p[0],y=p[1],g=[{value:"postSetting",label:"".concat(o," 업로드 기능 설정"),isShow:!c||c.includes("postSetting"),drawView:r.createElement(_2,{settingPath:a,boardLabel:o,excludeKeys:d})},{value:"commentSetting",label:"".concat(o," 댓글 옵션 설정"),isShow:!c||c.includes("commentSetting"),drawView:r.createElement(d8,{settingPath:a,excludeKeys:m,boardLabel:o})},{value:"resultDesign",label:"액션 결과 카드 디자인",isShow:!c||c.includes("resultDesign"),drawView:r.createElement(R8,null)}];return r.createElement(i.A,{viewOptions:g,defaultViewType:v,customSetViewType:y})},G8=n(56210);function H8(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return $8(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$8(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $8(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function V8(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var W8,_8,q8,K8,Y8,J8,Q8=C.Ay.div(D8||(D8=V8(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),Z8=C.Ay.div(U8||(U8=V8(["\n  display: grid;\n  grid-template-columns: 1fr 80px;\n  align-items: center;\n  gap: 16px;\n  padding: 12px 16px;\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr auto;\n  }\n"]))),X8=C.Ay.div(M8||(M8=V8(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),e4=C.Ay.span(N8||(N8=V8(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),t4=C.Ay.span(z8||(z8=V8(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),n4=C.Ay.div(B8||(B8=V8(["\n  display: grid;\n  grid-template-columns: 1fr 120px;\n  align-items: center;\n  gap: 16px;\n  padding: 12px 16px;\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n"]))),r4=function(e){var t=e.settingPath,n=void 0===t?o.Mb.THREADS:t,i=(0,l.useDocument)(n,{listen:!0}),c=i.data,u=i.set,s=H8((0,r.useState)(G8.z.useImage),2),d=s[0],f=s[1],m=H8((0,r.useState)(G8.z.maxImageCount),2),p=m[0],v=m[1],y=H8((0,r.useState)(G8.z.requireImage),2),g=y[0],h=y[1],E=H8((0,r.useState)(G8.z.useHashtag),2),x=E[0],A=E[1],C=H8((0,r.useState)(G8.z.useAccessType),2),k=C[0],S=C[1],O=H8((0,r.useState)(G8.z.useCustomBot),2),j=O[0],P=O[1],T=H8((0,r.useState)(G8.z.useQuote),2),R=T[0],L=T[1],D=H8((0,r.useState)(G8.z.useRethread),2),U=D[0],M=D[1],N=H8((0,r.useState)(G8.z.useReaction),2),z=N[0],B=N[1],F=H8((0,r.useState)(G8.z.useBookmark),2),G=F[0],H=F[1],$=H8((0,r.useState)(G8.z.maxCharacterCount),2),V=$[0],W=$[1],_=H8((0,r.useState)(G8.z.useLuckyDraw),2),q=_[0],K=_[1],Y=H8((0,r.useState)(G8.z.useItemCraft),2),J=Y[0],Q=Y[1],Z=H8((0,r.useState)(G8.z.useInvestigation),2),X=Z[0],ee=Z[1],te=H8((0,r.useState)(G8.z.useSensitiveContents),2),ne=te[0],re=te[1],ae=H8((0,r.useState)(G8.z.useCollapseImg),2),le=ae[0],oe=ae[1],ie=H8((0,r.useState)(G8.z.collapseImageHeight),2),ce=ie[0],ue=ie[1],se=H8((0,r.useState)(G8.z.useYoutubeURL),2),de=se[0],fe=se[1],me=H8((0,r.useState)(G8.z.useGift),2),pe=me[0],ve=me[1],ye=H8((0,r.useState)(G8.z.useDrawingTool),2),ge=ye[0],be=ye[1];(0,r.useEffect)(function(){var e,t,n,r,a,l,o,i,u,s,d,m,p,y,g,b,E,x,w,C;c&&(f(null!==(e=c.useImage)&&void 0!==e?e:G8.z.useImage),v(null!==(t=c.maxImageCount)&&void 0!==t?t:G8.z.maxImageCount),h(null!==(n=c.requireImage)&&void 0!==n?n:G8.z.requireImage),A(null!==(r=c.useHashtag)&&void 0!==r?r:G8.z.useHashtag),S(null!==(a=c.useAccessType)&&void 0!==a?a:G8.z.useAccessType),P(null!==(l=c.useCustomBot)&&void 0!==l?l:G8.z.useCustomBot),L(null!==(o=c.useQuote)&&void 0!==o?o:G8.z.useQuote),M(null!==(i=c.useRethread)&&void 0!==i?i:G8.z.useRethread),B(null!==(u=c.useReaction)&&void 0!==u?u:G8.z.useReaction),H(null!==(s=c.useBookmark)&&void 0!==s?s:G8.z.useBookmark),W(null!==(d=c.maxCharacterCount)&&void 0!==d?d:G8.z.maxCharacterCount),K(null!==(m=c.useLuckyDraw)&&void 0!==m?m:G8.z.useLuckyDraw),Q(null!==(p=c.useItemCraft)&&void 0!==p?p:G8.z.useItemCraft),ee(null!==(y=c.useInvestigation)&&void 0!==y?y:G8.z.useInvestigation),re(null!==(g=c.useSensitiveContents)&&void 0!==g?g:G8.z.useSensitiveContents),oe(null!==(b=c.useCollapseImg)&&void 0!==b?b:G8.z.useCollapseImg),ue(null!==(E=c.collapseImageHeight)&&void 0!==E?E:G8.z.collapseImageHeight),fe(null!==(x=c.useYoutubeURL)&&void 0!==x?x:G8.z.useYoutubeURL),ve(null!==(w=c.useGift)&&void 0!==w?w:G8.z.useGift),be(null!==(C=c.useDrawingTool)&&void 0!==C?C:G8.z.useDrawingTool))},[c]);var he=(0,r.useCallback)(function(e,t){u(function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},e,!t),{merge:!0})},[u]),Ee=(0,r.useCallback)(function(e){var t=parseInt(e.target.value,10);!isNaN(t)&&t>=1&&t<=10&&(v(t),u({maxImageCount:t},{merge:!0}))},[u]),xe=(0,r.useCallback)(function(e){var t=parseInt(e.target.value,10);!isNaN(t)&&t>=100&&t<=2e3&&(ue(t),u({collapseImageHeight:t},{merge:!0}))},[u]),we=(0,r.useCallback)(function(e){var t=Math.max(100,Math.min(1e5,Number(e.target.value)||1e4));W(t),u({maxCharacterCount:t},{merge:!0})},[u]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"스레드 업로드 기능 설정",r.createElement(b.PF,null,"스레드 게시글 작성 시 사용할 기능들을 설정합니다. 스위치를 켜고 끄면 즉시 적용됩니다.")),r.createElement(Q8,null,r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"이미지 첨부 사용"),r.createElement(t4,null,"스레드 작성 시 이미지를 첨부할 수 있습니다.")),r.createElement(w.A,{isChecked:d,handleSwitch:function(){f(!d),he("useImage",d)}})),d&&r.createElement(n4,null,r.createElement(X8,null,r.createElement(e4,null,"이미지 업로드 최대 개수"),r.createElement(t4,null,"게시글당 업로드 가능한 이미지 수 (1~10)")),r.createElement(I.A,{type:"number",name:"maxImageCount",placeholder:"최대 이미지 개수",value:p,onChange:Ee,min:1,max:10,style:{width:"100%"}})),d&&r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"이미지 필수 작성"),r.createElement(t4,null,"손님/멤버가 게시글 작성 시 이미지 1장 이상 필수 (관리자 제외)")),r.createElement(w.A,{isChecked:g,handleSwitch:function(){h(!g),he("requireImage",g)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"민감정보 표시 사용"),r.createElement(t4,null,"게시글의 이미지를 가리고 클릭 시 표시되도록 설정할 수 있습니다.")),r.createElement(w.A,{isChecked:ne,handleSwitch:function(){re(!ne),he("useSensitiveContents",ne)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"긴 이미지 접기 사용"),r.createElement(t4,null,"설정한 높이 이상의 이미지 일부를 숨길 수 있습니다.")),r.createElement(w.A,{isChecked:le,handleSwitch:function(){oe(!le),he("useCollapseImg",le)}})),le&&r.createElement(n4,null,r.createElement(X8,null,r.createElement(e4,null,"긴 이미지 접기 기준 높이"),r.createElement(t4,null,"이 높이(px) 이상의 이미지가 접힙니다 (100~2000)")),r.createElement(I.A,{type:"number",name:"collapseImageHeight",placeholder:"1000",value:ce,onChange:xe,min:100,max:2e3,style:{width:"100%"}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"YouTube URL 사용"),r.createElement(t4,null,"게시글에 YouTube 영상을 첨부할 수 있습니다.")),r.createElement(w.A,{isChecked:de,handleSwitch:function(){fe(!de),he("useYoutubeURL",de)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"해시태그 사용"),r.createElement(t4,null,"스레드 작성 시 해시태그를 입력할 수 있습니다.")),r.createElement(w.A,{isChecked:x,handleSwitch:function(){A(!x),he("useHashtag",x)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"공개범위 설정 사용"),r.createElement(t4,null,"OFF 시 모든 스레드가 전체공개로 작성됩니다.")),r.createElement(w.A,{isChecked:k,handleSwitch:function(){S(!k),he("useAccessType",k)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"커스텀 봇 사용"),r.createElement(t4,null,"스레드 작성 시 [[봇]] 커맨드를 사용할 수 있습니다.")),r.createElement(w.A,{isChecked:j,handleSwitch:function(){P(!j),he("useCustomBot",j)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"뽑기 아이템 사용"),r.createElement(t4,null,"게시글 작성 시 인벤토리의 랜덤박스를 사용할 수 있습니다.")),r.createElement(w.A,{isChecked:q,handleSwitch:function(){K(!q),he("useLuckyDraw",q)}}
1)),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"아이템 조합 사용"),r.createElement(t4,null,"게시글 업로드 후 아이템 조합을 실행할 수 있습니다.")),r.createElement(w.A,{isChecked:J,handleSwitch:function(){Q(!J),he("useItemCraft",J)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"조사/탐색 사용"),r.createElement(t4,null,"게시글 업로드 후 선택한 구역을 조사할 수 있습니다.")),r.createElement(w.A,{isChecked:X,handleSwitch:function(){ee(!X),he("useInvestigation",X)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"인용 리부트 사용"),r.createElement(t4,null,"다른 스레드를 인용하여 새 스레드를 작성할 수 있습니다.")),r.createElement(w.A,{isChecked:R,handleSwitch:function(){L(!R),he("useQuote",R)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"게시글 끌어올리기 사용"),r.createElement(t4,null,"다른 스레드를 그대로 공유할 수 있습니다.")),r.createElement(w.A,{isChecked:U,handleSwitch:function(){M(!U),he("useRethread",U)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"이모지 반응 표시"),r.createElement(t4,null,"OFF 시 스레드 하단의 Emotion(이모지 반응) 섹션이 숨겨집니다.")),r.createElement(w.A,{isChecked:z,handleSwitch:function(){B(!z),he("useReaction",z)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"북마크 사용"),r.createElement(t4,null,"스레드를 북마크하여 나중에 찾아볼 수 있습니다.")),r.createElement(w.A,{isChecked:G,handleSwitch:function(){H(!G),he("useBookmark",G)}})),r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"선물하기 사용"),r.createElement(t4,null,"스레드 작성 시 다른 멤버에게 아이템을 선물할 수 있습니다.")),r.createElement(w.A,{isChecked:pe,handleSwitch:function(){ve(!pe),he("useGift",pe)}})),a.l.drawingtool&&r.createElement(Z8,null,r.createElement(X8,null,r.createElement(e4,null,"직접 그리기 사용"),r.createElement(t4,null,"스레드 작성 시 드로잉툴로 직접 그린 이미지를 첨부할 수 있습니다.")),r.createElement(w.A,{isChecked:ge,handleSwitch:function(){be(!ge),he("useDrawingTool",ge)}})),r.createElement(n4,null,r.createElement(X8,null,r.createElement(e4,null,"글자수 제한"),r.createElement(t4,null,"스레드 작성 시 최대 글자수를 제한합니다. (100 ~ 100,000자)")),r.createElement(I.A,{type:"number",name:"maxCharacterCount",placeholder:"10000",value:V,onChange:we,min:100,max:1e5,style:{width:"100%"}}))))};function a4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l4(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a4(Object(n),!0).forEach(function(t){o4(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o4(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i4(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c4(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var u4,s4,d4,f4,m4,p4,v4,y4,g4,b4,h4,E4,x4,w4,A4,C4,k4,S4,O4,I4,j4,P4,T4=C.Ay.div(W8||(W8=c4(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),R4=C.Ay.div(_8||(_8=c4(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 12px 0;\n  border-bottom: 1px solid var(--lineColor);\n"]))),L4=C.Ay.div(q8||(q8=c4(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),D4=C.Ay.span(K8||(K8=c4(["\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--textColor);\n"]))),U4=C.Ay.span(Y8||(Y8=c4(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),M4=C.Ay.div(J8||(J8=c4(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),N4=[{key:"useImage",label:"이미지",description:"타래(답글)에 이미지를 첨부할 수 있습니다."},{key:"useVideo",label:"동영상",description:"타래(답글)에 동영상을 첨부할 수 있습니다."}
1,{key:"useEmoticon",label:"이모티콘",description:"타래(답글)에 이모티콘을 사용할 수 있습니다."},{key:"useSecret",label:"비밀글",description:"타래(답글)을 비밀글로 작성할 수 있습니다."},{key:"useBattle",label:"가위바위보 배틀",description:"타래(답글)에서 가위바위보 배틀 기능을 사용할 수 있습니다."},{key:"useDice",label:"주사위",description:"타래(답글)에서 주사위를 굴릴 수 있습니다."},{key:"useLuckyDraw",label:"뽑기",description:"타래(답글)에서 뽑기 기능을 사용할 수 있습니다."},{key:"useCollapseReply",label:"답글접기",description:"타래(답글)을 접어서 표시할 수 있습니다."}],z4=function(e){var t,n,a=e.settingPath,i=void 0===a?o.Mb.THREADS:a,c=(0,l.useDocument)("".concat(i,"_reply"),{listen:!0}),u=c.data,s=c.set,d=(t=(0,r.useState)(G8.N),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return i4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i4(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1];(0,r.useEffect)(function(){if(u){var e,t,n,r,a,l,o,i,c,s,d,f,p,v={useImage:null!==(e=u.useImage)&&void 0!==e?e:G8.N.useImage,useVideo:null!==(t=u.useVideo)&&void 0!==t?t:G8.N.useVideo,useEmoticon:null!==(n=u.useEmoticon)&&void 0!==n?n:G8.N.useEmoticon,useSecret:null!==(r=u.useSecret)&&void 0!==r?r:G8.N.useSecret,useBattle:null!==(a=u.useBattle)&&void 0!==a?a:G8.N.useBattle,battleMode:null!==(l=u.battleMode)&&void 0!==l?l:G8.N.battleMode,battleIconConfigMap:null!==(o=u.battleIconConfigMap)&&void 0!==o?o:G8.N.battleIconConfigMap,useDice:null!==(i=u.useDice)&&void 0!==i?i:G8.N.useDice,useLuckyDraw:null!==(c=u.useLuckyDraw)&&void 0!==c?c:G8.N.useLuckyDraw,useCollapseReply:null!==(s=u.useCollapseReply)&&void 0!==s?s:G8.N.useCollapseReply,showCharacterCount:null!==(d=u.showCharacterCount)&&void 0!==d?d:G8.N.showCharacterCount,maxCharacterCount:null!==(f=u.maxCharacterCount)&&void 0!==f?f:G8.N.maxCharacterCount,maxReplyDepth:null!==(p=u.maxReplyDepth)&&void 0!==p?p:G8.N.maxReplyDepth};m(v)}},[u]);var p=(0,r.useCallback)(function(e){var t=!f[e];m(function(n){return l4(l4({},n),{},o4({},e,t))}),s(o4({},e,t),{merge:!0})},[f,s]),v=(0,r.useCallback)(function(e){var t=Math.max(100,Math.min(1e5,Number(e.target.value)||1e4));m(function(e){return l4(l4({},e),{},{maxCharacterCount:t})}),s({maxCharacterCount:t},{merge:!0})},[s]),y=(0,r.useCallback)(function(e){var t=Number(e.target.value),n=0===t?0:Math.max(1,Math.min(100,t||0));m(function(e){return l4(l4({},e),{},{maxReplyDepth:n})}),s({maxReplyDepth:n},{merge:!0})},[s]),g=(0,r.useCallback)(function(e){m(function(t){return l4(l4({},t),{},{battleMode:e})}),s({battleMode:e},{merge:!0})},[s]),h=(0,r.useCallback)(function(e){m(function(t){return l4(l4({},t),{},{battleIconConfigMap:e})}),s({battleIconConfigMap:e},{merge:!0})},[s]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"스레드 타래(답글) 기능 설정",r.createElement(b.PF,null,"스레드 타래(답글) 작성 시 사용할 기능들을 설정합니다. 스위치를 켜고 끄면 즉시 적용됩니다.")),r.createElement(T4,null,N4.map(function(e){return r.createElement(r.Fragment,{key:e.key},r.createElement(Nn.A,{label:e.label,description:e.description,isChecked:f[e.key],onToggle:function(){return p(e.key)}}),"useBattle"===e.key&&f.useBattle&&r.createElement(M4,null,r.createElement(s3,{mode:f.battleMode,onChange:g}),r.createElement(F3,{value:f.battleIconConfigMap,onChange:h,storagePath:"".concat(i,"/battle-icons")})))}),r.createElement(M4,null,r.createElement(Nn.A,{label:"글자수 표시",description:"타래(답글) 입력 시 현재 글자수를 표시합니다.",isChecked:f.showCharacterCount,onToggle:function(){return p("showCharacterCount")}}),f.showCharacterCount&&r.createElement(R4,null,r.createElement(L4,null,r.createElement(D4,null,"글자수 제한"),r.createElement(U4,null,"타래(답글) 작성 시 최대 글자수를 제한합니다. (100 ~ 100,000자)")),r.createElement(I.A,{type:"number",name:"maxCharacterCount",value:f.maxCharacterCount,onChange:v,min:100,max:1e5,placeholder:"10000",style:{maxWidth:200}}))),r.createElement(R4,null,r.createElement(L4,null,r.createElement(D4,null,"최대 답글 깊이"),r.createElement(U4,null,"타래(답글)의 최대 중첩 깊이를 설정합니다. (0 = 무제한, 1 ~ 100단계)")),r.createElement(I.A,{type:"number",name:"maxReplyDepth",value:f.maxReplyDepth,onChange:y,min:0,max:100,placeholder:"0",style:{maxWidth:200}}))))},B4=n(90766),F4=n(33161);function G4(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return H4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H4(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H4(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $4(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function V4(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){$4(l,r,a,o,i,"next",e)}function i(e){$4(l,r,a,o,i,"throw",e)}o(void 0)})}}function W4(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var _4=C.Ay.div(u4||(u4=W4(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  padding: 20px 0;\n  border-bottom: 1px solid var(--lineColor);\n\n  &:last-child {\n    border-bottom: none;\n  }\n"]))),q4=C.Ay.div(s4||(s4=W4(["\n  font-size: 14px;\n  font-weight: 700;\n  color: var(--textColor);\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),K4=C.Ay.div(d4||(d4=W4(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  line-height: 1.6;\n"]))),Y4=C.Ay.span(f4||(f4=W4(["\n  display: inline-flex;\n  align-items: center;\n  padding: 2px 10px;\n  border-radius: 12px;\n  background: rgba(var(--primaryColorRGB), 0.1);\n  color: var(--primaryColor);\n  font-size: 12px;\n  font-weight: 600;\n  font-family: monospace;
1\n"]))),J4=C.Ay.div(m4||(m4=W4(["\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 8px;\n"]))),Q4=C.Ay.div(p4||(p4=W4(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 14px 16px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n"]))),Z4=C.Ay.span(v4||(v4=W4(["\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),X4=C.Ay.span(y4||(y4=W4(["\n  font-size: 20px;\n  font-weight: 700;\n  color: var(--textColor);\n"]))),e6=C.Ay.div(g4||(g4=W4(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex-wrap: wrap;\n"]))),t6=C.Ay.label(b4||(b4=W4(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  white-space: nowrap;\n"]))),n6=C.Ay.div(h4||(h4=W4(["\n  display: flex;\n  flex-direction: column;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  overflow: hidden;\n"]))),r6=C.Ay.div(E4||(E4=W4(["\n  display: grid;\n  grid-template-columns: 36px 1fr 80px 60px;\n  gap: 8px;\n  padding: 10px 12px;\n  background: var(--subColor);\n  font-size: 11px;\n  font-weight: 600;\n  color: var(--subTextColor);\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n"]))),a6=C.Ay.div(x4||(x4=W4(["\n  display: grid;\n  grid-template-columns: 36px 1fr 80px 60px;\n  gap: 8px;\n  padding: 10px 12px;\n  border-top: 1px solid var(--lineColor);\n  font-size: 12px;\n  color: var(--textColor);\n  background: var(--cardBackgroundColor);\n  align-items: center;\n\n  &:hover {\n    background: rgba(0, 0, 0, 0.02);\n  }\n"]))),l6=C.Ay.span(w4||(w4=W4(["\n  color: var(--subTextColor);\n  font-size: 11px;\n"]))),o6=C.Ay.span(A4||(A4=W4(["\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  color: var(--textColor);\n"]))),i6=C.Ay.span(C4||(C4=W4(["\n  color: var(--subTextColor);\n  font-size: 11px;\n  white-space: nowrap;\n"]))),c6=C.Ay.span(k4||(k4=W4(["\n  text-align: center;\n  color: var(--subTextColor);\n"]))),u6=(0,C.Ay)(_4)(S4||(S4=W4(["\n  background: rgba(220, 38, 38, 0.03);\n  border: 1px solid rgba(220, 38, 38, 0.12);\n  border-radius: var(--cardBorderRadius);\n  padding: 16px;\n  margin-top: 4px;\n"]))),s6=(0,C.Ay)(q4)(O4||(O4=W4(["\n  color: #dc2626;\n"]))),d6=C.Ay.div(I4||(I4=W4(["\n  height: 6px;\n  background: var(--lineColor);\n  border-radius: 99px;\n  overflow: hidden;\n\n  &::after {\n    content: '';\n    display: block;\n    height: 100%;\n    width: ","%;\n    background: #dc2626;\n    transition: width 0.3s ease;\n  }\n"])),function(e){return e.value}),f6=C.Ay.div(j4||(j4=W4(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  text-align: center;
1\n"]))),m6=C.Ay.div(P4||(P4=W4(["\n  padding: 12px 14px;\n  border-radius: var(--cardBorderRadius);\n  font-size: 13px;\n  line-height: 1.5;\n\n  ","\n"])),function(e){var t=e.variant;switch(void 0===t?"info":t){case"success":return"\n          background: rgba(0, 186, 124, 0.08);\n          color: rgb(0, 186, 124);\n          border: 1px solid rgba(0, 186, 124, 0.2);\n        ";case"warning":return"\n          background: rgba(234, 88, 12, 0.08);\n          color: rgb(234, 88, 12);\n          border: 1px solid rgba(234, 88, 12, 0.2);\n        ";default:return"\n          background: rgba(var(--primaryColorRGB), 0.06);\n          color: var(--subTextColor);\n          border: 1px solid var(--lineColor);\n        "}});function p6(e){var t={total:e.size,post:0,reply:0,quote:0,rethread:0,unknown:0};return e.docs.forEach(function(e){switch(String(e.data().type||"").toUpperCase()){case"POST":t.post++;break;case"REPLY":t.reply++;break;case"QUOTE":t.quote++;break;case"RETHREAD":t.rethread++;break;default:t.unknown++}}),t}function v6(e){return y6.apply(this,arguments)}function y6(){return(y6=V4(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ya.default.firestore().collection(t).get();case 2:return n=e.sent,e.abrupt("return",p6(n));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}var g6=function(){var e=function(){var e=(0,c.vc)(xA.g),t=(0,B4.pv)(1),n=(0,r.useMemo)(function(){return e?e.filter(function(e){return String(e.typeName||e.type||"").toLowerCase()===String(Mi.Ef.THREADS).toLowerCase()}).map(function(e){return{path:String(e.path||"").trim(),title:String(e.title||"스레드")}}).filter(function(e){return e.path}).sort(function(e,t){return e.path.localeCompare(t.path)}):[]},[e]),a=(0,r.useMemo)(function(){var e=n.map(function(e){return e.path});return e.includes(t)||t&&"setting"!==t?t:e[0]||t},[t,n]),l=G4((0,r.useState)(a),2),o=l[0],i=l[1];(0,r.useEffect)(function(){i(function(e){var t=n.map(function(e){return e.path});return e&&t.includes(e)?e:a})},[a,n]);var u=(0,r.useMemo)(function(){return n.map(function(e){return{key:e.path,value:"".concat(e.title," (").concat(e.path,")")}})},[n]);return{selectedPath:o,setSelectedPath:i,selectList:u}}(),t=e.selectedPath,n=e.setSelectedPath,a=e.selectList,l=function(e){var t=G4((0,r.useState)(null),2),n=t[0],a=t[1],l=G4((0,r.useState)(!1),2),o=l[0],i=l[1];return(0,r.useEffect)(function(){a(null)},[e]),{stats:n,loading:o,load:(0,r.useCallback)(V4(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return i(!0),a(null),t.prev=4,t.t0=a,t.next=8,v6(e);case 8:t.t1=t.sent,(0,t.t0)(t.t1),t.next=15;break;case 12:t.prev=12,t.t2=t.catch(4),console.error("통계 조회 실패:",t.t2);case 15:return t.prev=15,i(!1),t.finish(15);case 18:case"end":return t.stop()}},t,null,[[4,12,15,18]])})),[e])}}(t),o=l.stats,i=l.loading,u=l.load,s=function(e,t){var n=(0,c.lZ)(di.J),a=G4((0,r.useState)("POST_ONLY"),2),l=a[0],o=a[1],i=G4((0,r.useState)(10),2),u=i[0],s=i[1],d=G4((0,r.useState)([]),2),f=d[0],m=d[1],p=G4((0,r.useState)(null),2),v=p[0],y=p[1],g=G4((0,r.useState)("info"),2),b=g[0],h=g[1],E=G4((0,r.useState)(!1),2),x=E[0],w=E[1],A=G4((0,r.useState)(!1),2),C=A[0],k=A[1],S=G4((0,r.useState)({current:0,total:0}),2),O=S[0],I=S[1],j=G4((0,r.useState)(null),2),P=j[0],T=j[1];(0,r.useEffect)(function(){m([]),y(null),T(null)},[e,l]);var R=(0,r.useCallback)(V4(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e&&!(u<1)){t.next=2;break}return t.abrupt("return");case 2:return w(!0),m([]),y(null),T(null),t.prev=6,t.delegateYield(regeneratorRuntime.mark(function t(){var n,r,a,o,i,c,s,d;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:n=200,r=Math.min(3e3,Math.max(600,20*u)),a=0,o=null,i=[];case 5:if(!(i.length<u&&a<r)){t.next=19;break}return c=Ya.default.firestore().collection(e).orderBy("createdAt","asc").limit(n),o&&(c=c.startAfter(o)),t.next=10,c.get();case 10:if(!(s=t.sent).empty){t.next=13;break}return t.abrupt("break",19);case 13:if(s.docs.forEach(function(e){a>=r||i.length>=u||(a+=1,"ALL_DOCS"!==l?"POST"===String(e.data().type||"").toUpperCase()&&i.push(e):i.push(e))}),o=s.docs[s.docs.length-1],!(s.docs.length<n)){t.next=17;break}return t.abrupt("break",19);case 17:t.next=5;break;case 19:d=i.slice(0,u).map(function(e){var t,n=e.data();return{id:e.id,contents:(t=n.contents||"",t.replace(/<[^>]+>/g,"").trim()).slice(0,80)||"(내용 없음)",createdAt:n.createdAt,replyCount:n.replyCount||0,type:n.type||"post"}}),m(d),0===d.length?(h("warning"),y("POST_ONLY"===l?"미리보기 ê²°ê
1³¼ê°€ 없습니다. 원글(POST) 데이터가 없거나 타입 값이 POST가 아닐 수 있습니다.":"미리보기 결과가 없습니다. 삭제할 문서가 없습니다.")):d.length<u?(h("info"),y("요청 ".concat(u,"개 중 ").concat(d.length,"개만 찾았습니다."))):(h("info"),y("미리보기 ".concat(d.length,"개를 불러왔습니다.")));case 22:case"end":return t.stop()}},t)})(),"t0",8);case 8:t.next=15;break;case 10:t.prev=10,t.t1=t.catch(6),console.error("미리보기 조회 실패:",t.t1),h("warning"),y("미리보기 조회에 실패했습니다. (인덱스/권한/네트워크 오류 가능)");case 15:return t.prev=15,w(!1),t.finish(15);case 18:case"end":return t.stop()}},t,null,[[6,10,15,18]])})),[e,u,l]),L=(0,r.useCallback)(V4(regeneratorRuntime.mark(function n(){var r,a,l;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(0!==f.length){n.next=2;break}return n.abrupt("return");case 2:k(!0),I({current:0,total:f.length}),T(null),r=0,a=0,l=0;case 8:if(!(l<f.length)){n.next=23;break}return n.prev=9,n.next=12,(0,F4.KX)({threadId:f[l].id,collectionPath:e,cascadeDelete:!0});case 12:r++,n.next=19;break;case 15:n.prev=15,n.t0=n.catch(9),console.error("삭제 실패 (".concat(f[l].id,"):"),n.t0),a++;case 19:I({current:l+1,total:f.length});case 20:l++,n.next=8;break;case 23:k(!1),m([]),T({success:r,fail:a}),t();case 27:case"end":return n.stop()}},n,null,[[9,15]])})),[f,e,t]),D=(0,r.useCallback)(function(){0!==f.length&&n({open:!0,title:"게시글 ".concat(f.length,"개를 삭제하시겠습니까?"),content:"POST_ONLY"===l?"오래된 원글(POST) ".concat(f.length,"개와 해당 답글들이 모두 삭제됩니다.\n이 작업은 되돌릴 수 없습니다."):"오래된 문서 ".concat(f.length,"개와 해당 답글들이 모두 삭제됩니다.\n이 작업은 되돌릴 수 없습니다."),confirmBtnValue:"삭제",handleConfirmClick:L})},[f.length,l,n,L]),U=O.total>0?Math.round(O.current/O.total*100):0;return{deleteMode:l,setDeleteMode:o,deleteCount:u,setDeleteCount:s,previewList:f,previewLoading:x,handlePreview:R,previewMessage:v,previewMessageVariant:b,isDeleting:C,deleteProgress:O,progressPercent:U,lastDeleteResult:P,handleDeleteConfirm:D}}(t,u);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"스레드 용량 관리",r.createElement(b.PF,null,"Firebase 스토리지 용량 절감을 위해 오래된 게시글을 조회하고 일괄 삭제할 수 있습니다.")),r.createElement(_4,null,r.createElement(q4,null,"관리 대상 컬렉션"),r.createElement(K4,null,"스레드 보드가 여러 개인 경우 관리할 보드를 직접 선택하세요."),a.length>1&&r.createElement(x.l,{selectedKey:t,setSelectedKey:n,selectList:a,dropdownStyle:{width:300,maxHeight:240},dropdownDirection:"topLeft",style:{maxWidth:320}}),t?r.createElement(Y4,null,"/",t):r.createElement(m6,{variant:"warning"},"컬렉션 경로를 감지할 수 없습니다. 스레드 페이지에서 설정을 열어주세요.")),r.createElement(_4,null,r.createElement(q4,null,"게시글 수 현황"),r.createElement(K4,null,"현재 컬렉션의 전체 문서 수와 타입별 개수를 함께 조회합니다. (POST + REPLY + QUOTE + RETHREAD + 기타)"),r.createElement(h.A,{size:"sm",onClick:u,disabled:i||!t},i?"조회 중...":o?"다시 조회":"현황 조회"),o&&r.createElement(J4,null,r.createElement(Q4,null,r.createElement(Z4,null,"전체 문서 수"),r.createElement(X4,null,o.total.toLocaleString(),"개")),r.createElement(Q4,null,r.createElement(Z4,null,"메인 게시글 (POST)"),r.createElement(X4,null,o.post.toLocaleString(),"개")),r.createElement(Q4,null,r.createElement(Z4,null,"답글 (REPLY)"),r.createElement(X4,null,o.reply.toLocaleString(),"개")),r.createElement(Q4,null,r.createElement(Z4,null,"인용 (QUOTE)"),r.createElement(X4,null,o.quote.toLocaleString(),"개")),r.createElement(Q4,null,r.createElement(Z4,null,"리스레드 (RETHREAD)"),r.createElement(X4,null,o.rethread.toLocaleString(),"개")),o.unknown>0&&r.createElement(Q4,null,r.createElement(Z4,null,"기타/미분류"),r.createElement(X4,null,o.unknown.toLocaleStr
1ing(),"개")))),r.createElement(u6,null,r.createElement(s6,null,"⚠️ 오래된 게시글 일괄 삭제"),r.createElement(K4,null,"가장 오래된 순서로 N개를 삭제합니다. 기본 모드에서는 원글(POST)만 선택하고, 답글은 원글 삭제 시 함께 정리됩니다.",r.createElement("br",null),r.createElement("strong",null,"삭제 전 반드시 미리보기를 확인하세요.")),r.createElement(e6,null,r.createElement(t6,null,"삭제 기준"),r.createElement(h.A,{size:"sm",shape:"POST_ONLY"===s.deleteMode?"filled":"stroke",onClick:function(){return s.setDeleteMode("POST_ONLY")},disabled:s.isDeleting},"원글(POST)만"),r.createElement(h.A,{size:"sm",shape:"ALL_DOCS"===s.deleteMode?"filled":"stroke",onClick:function(){return s.setDeleteMode("ALL_DOCS")},disabled:s.isDeleting},"전체 문서"),r.createElement(t6,null,"삭제할 개수"),r.createElement(I.A,{name:"deleteCount",type:"number",value:s.deleteCount,onChange:function(e){return s.setDeleteCount(Math.max(1,Math.min(500,Number(e.target.value)||1)))},min:1,max:500,placeholder:"10",style:{maxWidth:100},disabled:s.isDeleting}),r.createElement(h.A,{size:"sm",onClick:s.handlePreview,disabled:s.previewLoading||s.isDeleting||!t},s.previewLoading?"조회 중...":"미리보기")),s.previewMessage&&r.createElement(m6,{variant:s.previewMessageVariant},s.previewMessage),s.previewList.length>0&&r.createElement(r.Fragment,null,r.createElement(m6,{variant:"warning"},"아래 ",s.previewList.length,"개 ","POST_ONLY"===s.deleteMode?"원글(POST)":"문서","이 삭제됩니다.","POST_ONLY"===s.deleteMode&&" 각 원글의 답글은 함께 삭제됩니다."),r.createElement(n6,null,r.createElement(r6,null,r.createElement("span",null,"#"),r.createElement("span",null,"내용"),r.createElement("span",null,"작성일"),r.createElement("span",null,"답글")),s.previewList.map(function(e,t){return r.createElement(a6,{key:e.id},r.createElement(l6,null,t+1),r.createElement(o6,{title:e.contents},e.contents),r.createElement(i6,null,r.createElement(Rc.A,{createdAt:e.createdAt})),r.createElement(c6,null,e.replyCount>0?"+".concat(e.replyCount):"-"))})),r.createElement(h.A,{size:"sm",onClick:s.handleDeleteConfirm,disabled:s.isDeleting,style:{background:"#dc2626",color:"#fff",borderColor:"#dc2626"}},"선택 게시글 ",s.previewList.length,"개 삭제")),s.isDeleting&&r.createElement(r.Fragment,null,r.createElement(f6,null,"삭제 중... ",s.deleteProgress.current," / ",s.deleteProgress.total),r.createElement(d6,{value:s.progressPercent})),s.lastDeleteResult&&r.createElement(m6,{variant:0===s.lastDeleteResult.fail?"success":"warning"},"삭제 완료: 성공 ",s.lastDeleteResult.success,"개",s.lastDeleteResult.fail>0&&" / 실패 ".concat(s.lastDeleteResult.fail,"개"))))};function b6(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var h6,E6,x6,w6,A6,C6,k6=function(e){var t,n,a=e.settingPath,l=e.boardLabel,o=void 0===l?"스레드":l,c=(t=f("postSetting"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return b6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b6(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=c[0],s=c[1],d=[{value:"postSetting",label:"".concat(o," 업로드 기능 설정"),isShow:!0,drawView:r.createElement(r4,{settingPath:a})},{value:"replySetting",label:"".concat(o," 타래(답글) 옵션 설정"),isShow:!0,drawView:r.createElement(z4,{settingPath:a})},{value:"storageManagement",label:"용량 관리",isShow:!0,drawView:r.createElement(g6,null)}];return r.createElement(i.A,{viewOptions:d,defaultViewType:u,customSetViewType:s})},S6=n(59377);function O6(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I6(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I6(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function j6(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var P6,T6,R6,L6,D6,U6=C.Ay.div(h6||(h6=j6(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),M6=C.Ay.div(E6||(E6=j6(["\n  display: grid;\n  grid-template-columns: 1fr 80px;\n  align-items: center;\n  gap: 16px;\n  padding: 12px 16px;\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr auto;\n  }\n"]))),N6=C.Ay.div(x6||(x6=j6(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),z6=C.Ay.span(w6||(w6=j6(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),B6=C.Ay.span(A6||(A6=j6(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),F6=C.Ay.div(C6||(C6=j6(["\n  display: grid;\n  grid-template-columns: 1fr 120px;\n  align-items: center;\n  gap: 16px;\n  padding: 12px 16px;\n  background: var(--cardBackgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n"]))),G6=function(e){var t=e.settingPath,n=void 0===t?o.Mb.GUESTBOOK:t,a=(0,l.useDocument)(n,{listen:!0}),i=a.data,c=a.set,u=O6((0,r.useState)(S6.D.useImage),2),s=u[0],d=u[1],f=O6((0,r.useState)(S6.D.useEmoticon),2),m=f[0],p=f[1],v=O6((0,r.useState)(S6.D.useSecret),2),y=v[0],g=v[1],h=O6((0,r.useState)(S6.D.showCharacterCount),2),E=h[0],x=h[1],A=O6((0,r.useState)(S6.D.maxCharacterCount),2),C=A[0],k=A[1];(0,r.useEffect)(function(){var e,t,n,r,a;i&&(d(null!==(e=i.useImage)&&void 0!==e?e:S6.D.useImage),p(null!==(t=i.useEmoticon)&&void 0!==t?t:S6.D.useEmoticon),g(null!==(n=i.useSecret)&&void 0!==n?n:S6.D.useSecret),x(null!==(r=i.showCharacterCount)&&void 0!==r?r:S6.D.showCharacterCount),k(null!==(a=i.maxCharacterCount)&&void 0!==a?a:S6.D.maxCharacterCount))},[i]);var S=(0,r.useCallback)(function(e,t){c(function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},e,!t),{merge:!0})},[c]),O=(0,r.useCallback)(function(e){var t=Math.max(100,Math.min(1e5,Number(e.target.value)||1e4));k(t),c({maxCharacterCount:t},{merge:!0})},[c]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"방명록 업로드 기능 설정",r.createElement(b.PF,null,"방명록 작성 시 사용할 기능들을 설정합니다. 스위치를 켜고 끄면 즉시 적용됩니다.")),r.createElement(U6,null,r.createElement(M6,null,r.createElement(N6,null,r.createElement(z6,null,"이미지 첨부 사용"),r.createElement(B6,null,"방명록 작성 시 이미지를 첨부할 수 있습니다.")),r.createElement(w.A,{isChecked:s,handleSwitch:function(){d(!s),S("useImage",s)}})),r.createElement(M6,null,r.createElement(N6,null,r.createElement(z6,null,"이모티콘 사용"),r.createElement(B6,null,"방명록 작성창에 이모티콘 버튼을 표시합니다.")),r.createElement(w.A,{isChecked:m,handleSwitch:function(){p(!m),S("useEmoticon",m)}})),r.createElement(M6,null,r.createElement(N6,null,r.createElement(z6,null,"비밀글 사용"),r.createElement(B6,null,"방명록을 비밀글로 작성할 수 있습니다.")),r.createElement(w.A,{isChecked:y,handleSwitch:function(){g(!y),S("useSecret",y)}})),r.createElement(M6,null,r.createElement(N6,null,r.createElement(z6,null,"글자수 표시"),r.createElement(B6,null,"방명록 입력 시 현재 글자수를 표시합니다.")),r.createElement(w.A,{isChecked:E,handleSwitch:function(){x(!E),S("showCharacterCount",E)}})),r.createElement(F6,null,r.createElement(N6,null,r.createElement(z6,null,"글자수 제한"),r.createElement(B6,null,"방명록 작성 시 최대 글자수를 제한합니다. (100 ~ 100,000자)")),r.createElement(I.A,{type:"number",name:"maxCharacterCount",placeholder:"10000",value:C,onChange:O,min:100,max:1e5,style:{width:"100%"}}))))};function H6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $6(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?H6(Object(n),!0).forEach(function(t){V6(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function V6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W6(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _6(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var q6=C.Ay.div(P6||(P6=_6(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),K6=C.Ay.div(T6||(T6=_6(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 12px 0;\n  border-bottom: 1px solid var(--lineColor);\n"]))),Y6=C.Ay.div(R6||(R6=_6(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),J6=C.Ay.span(L6||(L6=_6(["\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--textColor);\n"]))),Q6=C.Ay.span(D6||(D6=_6(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),Z6=[{key:"useImage",label:"이미지",description:"댓글에 이미지를 첨부할 수 있습니다."},{key:"useEmoticon",label:"이모티콘",description:"댓글에 이모티콘을 사용할 수 있습니다."},{key:"useSecret",label:"비밀글",description:"댓글을 비밀글로 작성할 수 있습니다."},{key:"useReply",label:"답글 쓰기",description:"댓글에 답글을 작성할 수 있습니다."},{key:"useCollapseComment",label:"댓글접기",description:"댓글을 접어서 표시할 수 있습니다."},{key:"showCharacterCount",label:"글자수 표시",description:"댓글 입력 시 현재 글자수를 표시합니다."}],X6=function(e){var t,n,a=e.settingPath,i=void 0===a?o.Mb.GUESTBOOK:a,c=(0,l.useDocument)("".concat(i,"_comment"),{listen:!0}),u=c.data,s=c.set,d=(t=(0,r.useState)(S6.i),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return W6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W6(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],m=d[1];(0,r.useEffect)(function(){var e,t,n,r,a,l,o;u&&m({useImage:null!==(e=u.useImage)&&void 0!==e?e:S6.i.useImage,useEmoticon:null!==(t=u.useEmoticon)&&void 0!==t?t:S6.i.useEmoticon,useSecret:null!==(n=u.useSecret)&&void 0!==n?n:S6.i.useSecret,useReply:null!==(r=u.useReply)&&void 0!==r?r:S6.i.useReply,useCollapseComment:null!==(a=u.useCollapseComment)&&void 0!==a?a:S6.i.useCollapseComment,showCharacterCount:null!==(l=u.showCharacterCount)&&void 0!==l?l:S6.i.showCharacterCount,maxCharacterCount:null!==(o=u.maxCharacterCount)&&void 0!==o?o:S6.i.maxCharacterCount})},[u]);var p=(0,r.useCallback)(function(e){var t=!f[e],n=$6($6({},f),{},V6({},e,t));m(n),s(V6({},e,t),{merge:!0})},[f,s]),v=(0,r.useCallback)(function(e){var t=Math.max(100,Math.min(1e5,Number(e.target.value)||1e4)),n=$6($6({},f),{},{maxCharacterCount:t});m(n),s({maxCharacterCount:t},{merge:!0})},[f,s]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"방명록 댓글 옵션 설정",r.createElement(b.PF,null,"방명록 댓글 작성 시 사용할 기능들을 설정합니다. 스위치를 켜고 끄면 즉시 적용됩니다.")),r.createElement(q6,null,Z6.map(function(e){return r.createElement(Nn.A,{key:e.key,label:e.label,description:e.description,isChecked:f[e.key],onToggle:function(){return p(e.key)}})}),r.createElement(K6,null,r.createElement(Y6,null,r.createElement(J6,null,"글자수 제한"),r.createElement(Q6,null,"댓글 작성 시 최대 글자수를 제한합니다. (100 ~ 100,000자)")),r.createElement(I.A,{type:"number",name:"maxCharacterCount",value:f.maxCharacterCount,onChange:v,min:100,max:1e5,placeholder:"10000",style:{maxWidth:200}}))))};function e5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var t5,n5,r5,a5,l5=function(e){var t,n,a=e.settingPath,l=e.boardLabel,o=void 0===l?"방명록":l,c=(t=f("postSetting"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return e5(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e5(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=c[0],s=c[1],d=[{value:"postSetting",label:"".concat(o," 업로드 기능 설정"),isShow:!0,drawView:r.createElement(G6,{settingPath:a})},{value:"commentSetting",label:"".concat(o," 댓글 옵션 설정"),isShow:!0,drawView:r.createElement(X6,{settingPath:a})}];return r.createElement(i.A,{viewOptions:d,defaultViewType:u,customSetViewType:s})},o5=n(93395),i5=n(8180);function c5(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function u5(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){c5(l,r,a,o,i,"next",e)}function i(e){c5(l,r,a,o,i,"throw",e)}o(void 0)})}}function s5(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d5(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d5(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f5(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var m5=C.Ay.div(t5||(t5=f5(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  padding: 16px 0;\n"]))),p5=C.Ay.div(n5||(n5=f5(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),v5=C.Ay.label(r5||(r5=f5(["\n  font-size: 14px;\n  color: var(--subTextColor);\n"]))),y5=C.Ay.div(a5||(a5=f5(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"])));function g5(){var e=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),t=e.data,n=e.set,a=s5((0,r.useState)(""),2),i=a[0],c=a[1],u=s5((0,r.useState)(""),2),s=u[0],d=u[1],f=s5((0,r.useState)(!1),2),m=f[0],p=f[1],v=s5((0,r.useState)(!1),2),y=v[0],g=v[1];(0,r.useEffect)(function(){var e,n;if(t&&!y){var r=(null===(e=t.calculateTabLabels)||void 0===e?void 0:e.calculate)||"",a=(null===(n=t.calculateTabLabels)||void 0===n?void 0:n.event)||"";r&&c(r),a&&d(a),g(!0)}},[t,y]);var E=(0,r.useCallback)(function(e){c(e.target.value)},[]),x=(0,r.useCallback)(function(e){d(e.target.value)},[]),w=(0,r.useCallback)(u5(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:return p(!0),e.next=5,n({calculateTabLabels:{calculate:i,event:s}},{merge:!0});case 5:p(!1);case 6:case"end":return e.stop()}},e)})),[n,i,s]);return r.createElement(m5,null,r.createElement(b.YO,{startSec:!0,wrap:"row"},r.createElement(b.fA,null,"탭 이름 설정"),r.createElement(y5,null,r.createElement(p5,null,r.createElement(v5,null,"[정산] 탭 이름"),r.createElement(I.A,{name:"calculateLabel",value:i,onChange:E,placeholder:"로그 정산"})),r.createElement(p5,null,r.createElement(v5,null,"[이벤트] 탭 이름"),r.createElement(I.A,{name:"eventLabel",value:s,onChange:x,placeholder:"이벤트 정산"}))),r.createElement(b.TT,null,r.createElement(h.A,{onClick:w,pending:m},"저장"))),r.createElement(i5.A,null))}var b5,h5,E5=r.memo(g5),x5=n(14321),w5=n(99619),A5=C.Ay.div(b5||(b5=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  width: 100%;\n  max-width: 1460px;\n  padding: 16px;\n"])));!function(e){e.SETTING="setting",e.BULK_MANAGE="bulk-manage"}(h5||(h5={}));var C5,k5,S5,O5,I5,j5,P5,T5,R5,L5,D5,U5,M5=function(){var e=(0,r.useMemo)(function(){return[{value:h5.SETTING,label:"폼 설정",isShow:!0,drawView:r.createElement(x5.default,null)},{value:h5.BULK_MANAGE,label:"폼 일괄 관리",isShow:!0,drawView:r.createElement(w5.default,null)}]},[]);return r.createElement(A5,null,r.createElement(i.A,{viewOptions:e,defaultViewType:h5.SETTING}))},N5=n(30868),z5=n(75283),B5={isActive:!1,title:"",content:"",startDate:null,endD
1ate:null},F5=n(45435),G5=n.n(F5);function H5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $5(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?H5(Object(n),!0).forEach(function(t){V5(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H5(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function V5(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W5(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function _5(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||q5(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q5(e,t){if(e){if("string"==typeof e)return K5(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K5(e,t):void 0}}function K5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Y5(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var J5=C.Ay.div(C5||(C5=Y5(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),Q5=C.Ay.div(k5||(k5=Y5(["\n  border: 1px solid\n    ",";\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  overflow: hidden;\n"])),function(e){return e.$isActive?"var(--primaryColor)":"var(--lineColor)"}),Z5=C.Ay.div(S5||(S5=Y5(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 16px;\n  cursor: var(--hoverCursorURL), pointer;\n  gap: 12px;\n\n  &:hover {\n    background-color: rgba(var(--primaryColorRGB), 0.03);\n  }\n"]))),X5=C.Ay.div(O5||(O5=Y5(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex: 1;\n  min-width: 0;\n"]))),e7=C.Ay.span(I5||(I5=Y5(["\n  font-weight: 600;\n  font-size: 14px;\n  opacity: ",";\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n"])),function(e){return e.$isActive?1:.5}),t7=C.Ay.span(j5||(j5=Y5(["\n  font-size: 11px;\n  padding: 2px 8px;\n  border-radius: 10px;\n  font-weight: 600;\n  flex-shrink: 0;\n  background-color: ",";\n  color: ",";\n"])),function(e){return e.$isActive?"var(--primaryColor)":"var(--lineColor)"},function(e){return e.$isActive?"#fff":"var(--subTextColor)"}),n7=C.Ay.div(P5||(P5=Y5(["\n  display: flex;\n  gap: 8px;\n  align-items: center;\n  flex-shrink: 0;\n"]))),r7=C.Ay.div(T5||(T5=Y5(["\n  padding: 0 16px 16px;\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n"]))),a7=C.Ay.div(R5||(R5=Y5(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),l7=C.Ay.label(L5||(L5=Y5(["\n  font-weight: 600;\n  font-size: 13px;\n"]))),o7=C.Ay.div(D5||(D5=Y5(["\n  .ql-editor {\n    min-height: 120px;\n  }\n"]))),i7=C.Ay.div(U5||(U5=Y5(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 60px 20px;\n  color: var(--subTextColor);\n  font-size: 14px;\n  gap: 12px;
1\n"]))),c7={size:!0,align:!0,color:!0,list:!0,blockquote:!1,codeblock:!1,link:!0,image:!0,file:!1,html:!1,emoji:!1,video:!1,header:!0,divider:!1,indent:!1,table:!1};function u7(e){var t=e.popup,n=e.saving,a=e.onUpdateField,l=e.onSave,o=_5((0,r.useState)(!1),2),i=o[0],c=o[1];return(0,r.useEffect)(function(){var e=setTimeout(function(){return c(!0)},80);return function(){return clearTimeout(e)}},[]),r.createElement(r7,null,r.createElement(b.N9,null,r.createElement("label",null,"활성화"),r.createElement(w.A,{isChecked:t.isActive,handleSwitch:function(){return a(t.id,{isActive:!t.isActive})}})),r.createElement(a7,null,r.createElement(l7,null,"공지 제목"),r.createElement(I.A,{name:"popup-title-".concat(t.id),value:t.title,onChange:function(e){return a(t.id,{title:e.target.value})},placeholder:"팝업 제목을 입력하세요"})),r.createElement(a7,null,r.createElement(l7,null,"내용"),r.createElement(o7,null,r.createElement(Yy.A,{id:t.id,isReady:i,value:t.content,onChange:function(e){return a(t.id,{content:e})},placeholder:"팝업 내용을 작성하세요",style:{minHeight:150},setToolbar:c7}))),r.createElement(a7,null,r.createElement(l7,null,"게시 기간"),r.createElement(b.PF,null,"기간을 설정하지 않으면 항상 노출됩니다."),r.createElement(N5.A,{initialFrom:t.startDate?new Date(t.startDate):null,initialTo:t.endDate?new Date(t.endDate):null,setFrom:function(e){return a(t.id,{startDate:e?G5()(e).format("YYYY-MM-DD"):null})},setTo:function(e){return a(t.id,{endDate:e?G5()(e).format("YYYY-MM-DD"):null})}})),r.createElement(b.TT,null,r.createElement(h.A,{onClick:function(){return l(t.id)},pending:n},"저장")))}function s7(){var e=(0,l.useDocument)(o.Mb.POPUP,{listen:!0}).data,t=_5((0,r.useState)([]),2),n=t[0],a=t[1],i=_5((0,r.useState)(null),2),c=i[0],u=i[1],s=_5((0,r.useState)(null),2),d=s[0],f=s[1],m=_5((0,r.useState)(!1),2),p=m[0],v=m[1];(0,r.useEffect)(function(){null!=e&&e.popups&&a(e.popups)},[e]);var y=(0,r.useCallback)(function(){var e,t=(e=regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return v(!0),e.prev=1,e.next=4,l.fuego.db.doc(o.Mb.POPUP).set({popups:t},{merge:!0});case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(1),console.error("팝업 저장 실패:",e.t0);case 9:return e.prev=9,v(!1),e.finish(9);case 12:case"end":return e.stop()}},e,null,[[1,6,9,12]])}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){W5(l,r,a,o,i,"next",e)}function i(e){W5(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),[]),g=(0,r.useCallback)(function(){var e,t=Date.now(),r=$5($5({},B5),{},{id:"popup_".concat(Date.now(),"_").concat(Math.random().toString(36).slice(2,8)),createdAt:t,updatedAt:t}),l=[].concat(function(e){if(Array.isArray(e))return K5(e)}(e=n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q5(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[r]);a(l),u(r.id),y(l)},[n,y]),E=(0,r.useCallback)(function(e){var t=n.filter(function(t){return t.id!==e});a(t),c===e&&u(null),y(t)},[n,c,y]),x=(0,r.useCallback)(function(e,t){a(function(n){return n.map(function(n){return n.id===e?$5($5($5({},n),t),{},{updatedAt:Date.now()}):n})})},[]),w=(0,r.useCallback)(function(e){y(n)},[n,y]),A=(0,r.useCallback)(function(e){u(function(t){return t===e?null:e})},[]);return r.createElement(r.Fragment,null,r.createElement(b.R2,null,'홈페이지에 공지처럼 띄우는 팝업을 설정할 수 있습니다. 여러 개를 중첩하여 사용할 수 있으며, 유저는 "오늘 보지 않기"를 선택할 수 있습니다.'),r.createElement(b.YO,{startSec:!0},r.createElement(b.TT,{style:{justifyContent:"flex-end",marginTop:0}},r.createElement(h.A,{onClick:g,icon:"Plus14",size:"md"},"새 팝업 추가")),r.createElement(J5,null,0===n.length&&r.createElement(i7,null,r.createElement("span",null,"등록된 팝업이 없습니다."),r.createElement(h.A,{onClick:g,size:"md",shape:"stroke"},"첫 팝업 추가하기")),r.createElement(r.Fragment,null,n.map(function(e){var t=c===e.id;return r.createElement(Q5,{key:e.id,$isActive:e.isActive},r.createElement(Z5,{onClick:function(){return A(e.id)}},r.createElement(X5,null,r.createElement(t7,{$isActive:e.isActive}
1,e.isActive?"활성":"비활성"),r.createElement(e7,{$isActive:e.isActive},e.title||"제목 없음")),r.createElement(n7,null,r.createElement(h.A,{size:"sm",shape:"stroke",onClick:function(t){t.stopPropagation(),f(e)}},"미리보기"),r.createElement(h.A,{size:"sm",shape:"stroke",color:"warning",onClick:function(t){t.stopPropagation(),E(e.id)}},"삭제"))),t&&r.createElement(u7,{key:e.id,popup:e,saving:p,onUpdateField:x,onSave:w}))})))),d&&r.createElement(z5.default,{previewItem:d,onPreviewClose:function(){return f(null)}}))}var d7=r.memo(s7);function f7(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m7(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}var p7="".concat(o.Gf.STATUS,"/statusSetting");function v7(){var e,t,n,a,i=(0,c.vc)(kx.GI),u=(0,l.useDocument)(p7,{listen:!0}).data,s=null!==(e=null==u?void 0:u.masterNotifications)&&void 0!==e?e:{},d=(0,r.useCallback)(function(){var e,t=(e=regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=null===(n=s[t])||void 0===n||n,e.next=3,Ya.fuego.db.collection(o.Gf.STATUS).doc("statusSetting").set({masterNotifications:f7({},t,!r)},{merge:!0});case 3:case"end":return e.stop()}},e)}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){m7(l,r,a,o,i,"next",e)}function i(e){m7(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e){return t.apply(this,arguments)}}(),[s]);return i?r.createElement(r.Fragment,null,r.createElement(b.YO,{id:"sec-master-notification"},r.createElement(b.fA,null,"[전체 관리자] 알림 수신 설정",r.createElement(b.PF,null,"관리자 계정 전체에 적용되는 알림 수신 설정입니다. 여기서 꺼두면 모든 관리자에게 해당 알림이 전달되지 않습니다.")),r.createElement(b.Hg,null,"커뮤니티 알림"),r.createElement(b.N9,null,r.createElement("label",null,"방명록 새 글 알림"),r.createElement(w.A,{isChecked:null===(t=s.guestbook)||void 0===t||t,handleSwitch:function(){return d("guestbook")}})),r.createElement(b.Hg,null,"멤버간 선물 알림"),r.createElement(b.N9,null,r.createElement("label",null,"선물 수신 알림"),r.createElement(w.A,{isChecked:null===(n=s.gift)||void 0===n||n,handleSwitch:function(){return d("gift")}})),r.createElement(b.Hg,null,"디엠 채팅 알림"),r.createElement(b.N9,null,r.createElement("label",null,"디엠 채팅 메시지 알림"),r.createElement(w.A,{isChecked:null===(a=s.chat)||void 0===a||a,handleSwitch:function(){return d("chat")}})))):null}var y7=r.memo(v7),g7=n(49013);function b7(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function h7(){var e,t,n=(e=f("master"),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b7(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b7(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],l=n[1],o=[{value:"master",label:"관리자 알림 수신",isShow:!0,drawView:r.createElement(y7,null)},{value:"sound",label:"알림 사운드 설정",isShow:!0,drawView:r.createElement(g7.A,null)}];return r.createElement(i.A,{viewOptions:o,defaultViewType:a,customSetViewType:l})}var E7,x7,w7,A7,C7,k7,S7,O7,I7,j7,P7,T7,R7,L7,D7,U7,M7,N7,z7,B7=r.memo(h7),F7=n(34440),G7=[{key:"faBolt",value:"번개"},{key:"faFire",value:"화상"},{key:"faDroplet",value:"물방울"},{key:"faSnowflake",value:"빙결"},{key:"faSkull",value:"위험"},{key:"faHeartPulse",value:"회복/이상"},{key:"faShieldHalved",value:"보호"},{key:"faEye",value:"주시"},{key:"faMoon",value:"수면"},{key:"faStar",value:"특수"},{key:"faCircleExclamation",value:"경고"}],H7=n(85261),$7=n(83389);function V7(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var W7=C.Ay.div(E7||(E7=V7(["\n  display: grid;\n  grid-template-columns: 300px 1fr;\n  gap: 12px;\n  min-height: 640px;\n\n  @media (max-width: 720px) {\n    grid-template-columns: 1fr;\n    min-height: auto;\n  }\n"]))),_7=C.Ay.div(x7||(x7=V7(["\n  display: grid;\n  grid-template-rows: auto 1fr;\n  gap: 8px;\n  min-height: 0;\n  border: 1px solid var(--cardLineColor);\n  border-radius: var(--cardBorderRadius);
1\n  background-color: var(--cardBackgroundColor);\n  overflow: hidden;\n"]))),q7=C.Ay.div(w7||(w7=V7(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 12px;\n  border-bottom: 1px solid var(--lineColor);\n"]))),K7=C.Ay.div(A7||(A7=V7(["\n  display: grid;\n  grid-template-columns: 72px minmax(0, 1fr);\n  align-items: center;\n  gap: 8px;\n  width: 100%;\n"]))),Y7=C.Ay.label(C7||(C7=V7(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n  white-space: nowrap;\n"]))),J7=C.Ay.div(k7||(k7=V7(["\n  min-width: 0;\n  width: 100%;\n"]))),Q7=C.Ay.div(S7||(S7=V7(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  padding: 8px;\n  overflow-y: auto;\n"]))),Z7=C.Ay.button(O7||(O7=V7(["\n  border: 1px solid\n    ",";\n  border-radius: 6px;\n  background-color: ",";\n  color: var(--textColor);\n  padding: 8px 10px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 8px;\n  cursor: var(--hoverCursorURL), pointer;\n  text-align: left;\n  opacity: ",";\n\n  &:hover {\n    background-color: var(--inkColor);\n  }\n"])),function(e){return e.selected?"var(--primaryColor)":"var(--lineColor)"},function(e){var t=e.selected,n=e.$isDragging;return t||n?"var(--inkColor)":"transparent"},function(e){return e.$isDragging?.8:1}),X7=C.Ay.span(I7||(I7=V7(["\n  width: 18px;\n  height: 18px;\n  flex: 0 0 18px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--subTextColor);\n  cursor: grab;\n\n  &:active {\n    cursor: grabbing;\n  }\n"]))),e9=C.Ay.span(j7||(j7=V7(["\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  min-width: 0;\n  font-size: 13px;\n  font-weight: 600;\n"]))),t9=C.Ay.span(P7||(P7=V7(["\n  display: inline-flex;\n  flex-direction: column;\n  gap: 2px;\n  min-width: 0;\n"]))),n9=C.Ay.span(T7||(T7=V7(["\n  width: 18px;\n  height: 18px;\n  flex: 0 0 18px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n\n  img,\n  svg {\n    max-width: 18px;\n    max-height: 18px;\n  }\n"]))),r9=C.Ay.div(R7||(R7=V7(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  min-width: 0;\n  border: 1px solid var(--cardLineColor);\n  border-radius: var(--cardBorderRadius);\n  background-color: var(--cardBackgroundColor);\n  padding: 14px;\n"]))),a9=C.Ay.div(L7||(L7=V7(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),l9=C.Ay.span(D7||(D7=V7(["\n  flex-shrink: 0;\n  padding: 2px 6px;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: 700;\n  background-color: ",";\n  color: ",";\n"])),function(e){return e.$active?"rgba(52, 199, 89, 0.14)":"rgba(142, 142, 147, 0.16)"},function(e){return e.$active?"#2fa84f":"var(--subTextColor)"}),o9=C.Ay.select(U7||(U7=V7(["\n  width: 100%;\n  min-height: 34px;\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n  background-color: var(--cardBackgroundColor);\n  color: var(--textColor);\n  padding: 0 8px;\n"]))),i9=C.Ay.span(M7||(M7=V7(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),c9=C.Ay.div(N7||(N7=V7(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),u9=C.Ay.div(z7||(z7=V7(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 10px;\n  padding: 8px 10px;\n  border: 1px solid var(--lineColor);\n  border-radius: 6px;\n"])));function s9(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function d9(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){s9(l,r,a,o,i,"next",e)}function i(e){s9(l,r,a,o,i,"throw",e)}o(void 0)})}}function f9(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function m9(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f9(Object(n),!0).forEach(function(t){p9(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f9(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function p9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v9(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||y9(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y9(e,t){if(e){if("string"==typeof e)return g9(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g9(e,t):void 0}}function g9(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function b9(){return b9=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b9.apply(this,arguments)}var h9={name:"",description:"",iconType:"fontawesome",iconName:"faStar",iconURL:"",iconAlt:"",color:"",isActive:!0,sortOrder:0,defaultDurationMinutes:null},E9={name:"새 상태 이상",description:"상태 이상 설명을 입력해주세요.",iconType:"fontawesome",iconName:"faStar",iconURL:"",iconAlt:"",color:"",isActive:!0,sortOrder:0,defaultDurationMinutes:null},x9=function(){return r.createElement("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none"},r.createElement("circle",{cx:"4",cy:"3.5",r:"1.2",fill:"currentColor"}),r.createElement("circle",{cx:"10",cy:"3.5",r:"1.2",fill:"currentColor"}),r.createElement("circle",{cx:"4",cy:"7",r:"1.2",fill:"currentColor"}),r.createElement("circle",{cx:"10",cy:"7",r:"1.2",fill:"currentColor"}),r.createElement("circle",{cx:"4",cy:"10.5",r:"1.2",fill:"currentColor"}),r.createElement("circle",{cx:"10",cy:"10.5",r:"1.2",fill:"currentColor"}))},w9=r.memo(function(e){var t=e.definition,n=e.selected,a=e.onSelect,l=(0,yl.gl)({id:t.id}),o=l.attributes,i=l.listeners,c=l.setNodeRef,u=l.transform,s=l.transition,d=l.isDragging,f={transform:gl.Ks.Transform.toString(u),transition:s};return r.createElement("div",{ref:c,style:f},r.createElement(Z7,{type:"button",selected:n,$isDragging:d,onClick:function(){return a(t.id)}},r.createElement(e9,null,r.createElement(X7,b9({},o,i),r.createElement(x9,null)),r.createElement(n9,null,r.createElement($7.A,{definition:t})),t.name||"이름 없음"),r.createElement(i9,null,t.isActive?"사용":"중지")))});function A9(){var e,t=Ya.default.firestore(),n=(0,c.vc)(F7.VR),a=v9((0,r.useState)(""),2),i=a[0],u=a[1],s=v9((0,r.useState)(h9),2),d=s[0],f=s[1],m=v9((0,r.useState)(null),2),p=m[0],v=m[1],y=v9((0,r.useState)(!1),2),g=y[0],x=y[1],C=(0,l.useCollection)(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS,{listen:!0,orderBy:["sortOrder","asc"]}).data,k=(0,r.useMemo)(function(){return(e=C||[],function(e){if(Array.isArray(e))return g9(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y9(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(H7.JZ);var e},[C]),S=(0,r.useMemo)(function(){var e=(n||"").trim().toLowerCase();return e?k.filter(function(t){return"".concat(t.name," ").concat(t.description).toLowerCase().includes(e)}):k},[n,k]),O=(0,r.useMemo)(function(){return k.find(function(e){return e.id===i})},[k,i]),j=(0,vl.FR)((0,vl.MS)(vl.AN,{activationConstraint:{distance:5}}));(0,r.useEffect)(function(){var e;O&&(f({name:O.name||"",description:O.description||"",iconType:O.iconType||"fontawesome",iconName:O.iconName||"faStar",iconURL:O.iconURL||"",iconAlt:O.iconAlt||"",color:O.color||"",isActive:!1!==O.isActive,sortOrder:O.sortOrder||0,defaultDurationMinutes:null!==(e=O.defaultDurationMinutes)&&void 0!==e?e:null}),v(null))},[O]);var P=(0,r.useCallback)(function(e){var t=e.target,n=t.name,r=t.value;f(function(e){return m9(m9({},e),{},p9({},n,"defaultDurationMinutes"===n?function(e){if(""===e||null==e)return null;var t=Number(e);return Number.isFinite(t)?t:null}(r):r))})},[]),T=(0,r.useCallback)(function(e){f(function(t){return m9(m9({},t),{},{color:e})})},[]),R=(0,r.useCallback)(d9(regeneratorRuntime.mark(function e(){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collection(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS).doc(),r=m9(m9({id:n.id},E9),{},{sortOrder:k.length,createdAt:bL.A.firestore.FieldValue.serverTimestamp(),updatedAt:bL.A.firestore.FieldValue.serverTimestamp()}),e.next=4,n.set(r,{merge:!0});case 4:u(n.id),f(r),v(null);case 7:case"end":return e.stop()}},e)})),[t,k.length]),L=(0,r.useCallback)(d9(regeneratorRuntime.mark(function e(){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(d.name.trim()){e.next=3;break}return alert("상태 이상 이름을 입력해주세요."),e.abrupt("return");case 3:if(x(!0),e.prev=4,n=i?t.collection(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS).doc(i):t.collection(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS).doc(),"upload"!==d.iconType){e.next=12;break}return e.next=9,(0,me.updateImgAndGetURL)({selectedFile:p,prevImgURL:p?(null==O?void 0:O.iconURL)||d.iconURL||"":d.iconURL||"",collectionPath:o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS});case 9:e.t0=e.sent,e.next=13;break;case 12:e.t0="";case 13:return r=e.t0,a=m9(m9({id:n.id},d),{},{iconURL:r,updatedAt:bL.A.firestore.FieldValue.serverTimestamp()}),e.next=17,n.set(i?a:m9(m9({},a),{},{createdAt:bL.A.firestore.FieldValue.serverTimestamp()}),{merge:!0});case 17:u(n.id),v(null);case 19:return e.prev=19,x(!1),e.finish(19);case 22:case"end":return e.stop()}},e,null,[[4,,19,22]])})),[d,t,O,i,p]),D=(0,r.useCallback)(d9(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(O){e.next=2;break}return e.abrupt("return");case 2:if(window.confirm("상태 이상 정의를 삭제할까요?")){e.next=4;break}return e.abrupt("return");case 4:if(!O.iconURL){e.next=7;break}return e.next=7,(0,me.deleteImgStorage)(O.iconURL);case 7:return e.next=9,t.collection(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS).doc(O.id).delete();case 9:u(""),f(h9),v(null);case 12:case"end":return e.stop()}},e)})),[t,O]),U=(0,r.useCallback)(function(){var e=d9(regeneratorRuntime.mark(function e(n){var r,a,l,c,u,s,d,m;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.active,(a=n.over)&&r.id!==a.id){e.next=3;break}return e.abrupt("return");case 3:if(l=k.findIndex(function(e){return e.id===r.id}),c=k.findIndex(function(e){return e.id===a.id}),!(l<0||c<0)){e.next=7;break}return e.abrupt("return");case 7:return u=(0,yl.be)(k,l,c),s=t.batch(),d=t.collection(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS),u.forEach(function(e,t){s.update(d.doc(e.id),{sortOrder:t,updatedAt:bL.A.firestore.FieldValue.serverTimestamp()})}),(m=u.findIndex(function(e){return e.id===i}))>=0&&f(function(e){return m9(m9({},e),{},{sortOrder:m})}),e.next=15,s.commit();case 15:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),[t,i,k]),M=(n||"").trim().length>0;return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"상태 이상 종류 관리",r.createElement(b.PF,null,"캐릭터 이름 옆에 표시할 상태 이상 이름, 설명, 아이콘을 관리합니다.")),r.createElement(W7,null,r.createElement(_7,null,r.createElement(q7,null,r.createElement(du.A,{block:!0,placeholder:"상태 이상 검색",noResult:!0}),r.createElement(h.A,{block:!0,onClick:R},"상태 이상 추가")),r.createElement(Q7,null,M?S.map(function(e){return r.createElement(Z7,{key:e.id,type:"button",selected:e.id===i,onClick:function(){return u(e.id)}},r.createElement(e9,null,r.createElement(n9,null,r.createElement($7.A,{definition:e})),e.name||"이름 없음"),r.createElement(i9,null,e.isActive?"사용":"중지"))}):r.createElement(vl.Mp,{sensors:j,collisionDetection:vl.fp,onDragEnd:U},r.createElement(yl.gB,{items:k.map(function(e){return e.id}),strategy:yl._G},k.map(function(e){return r.createElement(w9,{key:e.id,definition:e,selected:e.id===i,onSelect:u})}))))),r.createElement(r9,null,r.createElement(I.A,{name:"name",value:d.name,onChange:P,label:"이름",placeholder:"예: 화상"}),r.createElement(fe.A,{name:"description",value:d.description,onChange:P,label:"설명",placeholder:"상태 이상 설명",autoRows:!0}),r.createElement(b.N9,null,r.createElement("label",null,"아이콘 타입"),r.createElement(o9,{name:"iconType",value:d.iconType,onCh
1ange:P},r.createElement("option",{value:"fontawesome"},"Font Awesome"),r.createElement("option",{value:"upload"},"이미지 업로드"))),"fontawesome"===d.iconType?r.createElement(r.Fragment,null,r.createElement(b.N9,null,r.createElement("label",null,"Font Awesome 아이콘"),r.createElement(o9,{name:"iconName",value:d.iconName||"faStar",onChange:P},G7.map(function(e){return r.createElement("option",{key:e.key,value:e.key},e.value," (",e.key,")")}))),r.createElement(b.N9,null,r.createElement("label",null,"아이콘 컬러"),r.createElement(E.A,{name:"color",value:d.color||"var(--primaryColor)",onChange:T,hexCode:!0}))):r.createElement(A.A,{id:"character-status-effect-icon",setSelectedFile:v,prevImgURL:d.iconURL,text:"아이콘 업로드",label:"업로드 아이콘",minHeight:80,customDelete:function(){return f(function(e){return m9(m9({},e),{},{iconURL:""})})}}),r.createElement(I.A,{name:"defaultDurationMinutes",value:null!==(e=d.defaultDurationMinutes)&&void 0!==e?e:"",onChange:P,label:"기본 지속 시간(분)",type:"number",placeholder:"비우면 수동 삭제 전까지 유지"}),r.createElement(b.N9,null,r.createElement("label",null,"사용 여부"),r.createElement(w.A,{isChecked:d.isActive,handleSwitch:function(){return f(function(e){return m9(m9({},e),{},{isActive:!e.isActive})})}})),r.createElement(a9,null,r.createElement(h.A,{onClick:L,pending:g},"저장"),O&&r.createElement(h.A,{onClick:D},"삭제")))))}var C9=r.memo(A9),k9=n(24436),S9=n(45594);function O9(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function I9(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){O9(l,r,a,o,i,"next",e)}function i(e){O9(l,r,a,o,i,"throw",e)}o(void 0)})}}function j9(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||P9(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P9(e,t){if(e){if("string"==typeof e)return T9(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T9(e,t):void 0}}function T9(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function R9(e){if(""===e||null==e)return null;var t=Number(e);return Number.isFinite(t)?t:null}function L9(e){return(0,bl.LU)(e,"YYYY.MM.DD HH:mm")||"-"}function D9(e){return(0,bl.LU)(e,"YYYY.MM.DD HH:mm")||"수동 해제 전까지"}function U9(){var e=Ya.default.firestore(),t=j9((0,r.useState)(""),2),n=t[0],a=t[1],i=j9((0,r.useState)([]),2),c=i[0],u=i[1],s=j9((0,r.useState)(""),2),d=s[0],f=s[1],m=j9((0,r.useState)(""),2),p=m[0],v=m[1],y=j9((0,r.useState)(""),2),g=y[0],E=y[1],x=j9((0,r.useState)(!1),2),w=x[0],A=x[1],C=(0,l.useCollection)(o.Gf.CHARACTER_STATUS_EFFECT_DEFINITIONS,{listen:!0,orderBy:["sortOrder","asc"]}).data,k=(0,l.useCollection)(d?o.Gf.CHARACTER_STATUS_EFFECTS:null,{listen:!0,where:["characterId","==",d||"__none__"]}).data,S=(0,r.useMemo)(function(){return(e=C||[],function(e){if(Array.isArray(e))return T9(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||P9(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(H7.JZ);var e},[C]),O=(0,r.useMemo)(function(){return S.filter(function(e){return!1!==e.isActive})},[S]),j=(0,r.useMemo)(function(){return k?k.filter(function(e){return e.characterPath===o.Gf.PHOTOCARD}).filter(function(e){return"photocard"===e.characterType}).filter(function(e){return!(0,H7.w5)(e)}):[]},[k]),P=(0,r.useMemo)(function(){return k?k.filter(function(e){return e.characterPath===o.Gf.PHOTOCARD}).filter(function(e){return"photocard"===e.characterType}).sort(function(e,t){var n,r,a,l,o,i,c,u,s=null!==(n=null!==(r=null===(a=e.acquiredAt)||void 0===a?void 0:a.seconds)&&void 0!==r?r:null===(l=e.acquiredAt)||void 0===l?void 0:l._seconds)&&void 0!==n?n:0;return(null!==(o=null!==(i=null===(c=t.acquiredAt)||void 0===c?void 0:c.seconds)&&void 0!==i?i:null===(u=t.acquiredAt)||void 0===u?void 0:u._seconds)&&void 0!==o?o:0)-s}):[]},[k]);(0,r.useEffect)(function(){!p&&O[0]&&v(O[0].id)},[O,p]),(0,r.useEffect)(function(){var e,t=(null===(e=c[0])||void 0===e?void 0:e.id)||"";a(t),t||f("")},[c]);var T=(0,r.useCallback)(I9(regeneratorRuntime.mark(function t(){var r,a,l,i,c;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&d&&p){t.next=3;break}return alert("유저, 대표 캐릭터, 상태 이상을 선택해주세요."),t.abrupt("return");case 3:return a=O.find(function(e){return e.id===p}),l=null!==(r=R9(g))&&void 0!==r?r:null==a?void 0:a.defaultDurationMinutes,i=l?bL.A.firestore.Timestamp.fromDate(new Date(Date.now()+6e4*l)):null,A(!0),t.prev=7,c={id:(0,H7.kr)({characterPath:o.Gf.PHOTOCARD,characterId:d,effectId:p}),ownerUid:n,characterType:"photocard",characterPath:o.Gf.PHOTOCARD,characterId:d,effectId:p,acquiredAt:bL.A.firestore.FieldValue.serverTimestamp(),expiresAt:i,updatedAt:bL.A.firestore.FieldValue.serverTimestamp()},t.next=11,e.collection(o.Gf.CHARACTER_STATUS_EFFECTS).doc(c.id).set(c,{merge:!0});case 11:return t.prev=11,A(!1),t.finish(11);case 14:case"end":return t.stop()}},t,null,[[7,,11,14]])}
1)),[O,g,e,d,p,n]),R=(0,r.useCallback)(function(){var t=I9(regeneratorRuntime.mark(function t(n){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.collection(o.Gf.CHARACTER_STATUS_EFFECTS).doc(n).delete();case 2:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}(),[e]),L=(0,r.useCallback)(I9(regeneratorRuntime.mark(function t(){var n,r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.collection(o.Gf.CHARACTER_STATUS_EFFECTS).where("expiresAt","<=",bL.A.firestore.Timestamp.now()).get();case 2:return n=t.sent,r=e.batch(),n.docs.forEach(function(e){return r.delete(e.ref)}),t.next=7,r.commit();case 7:alert("".concat(n.size,"개의 만료 상태를 정리했습니다."));case 8:case"end":return t.stop()}},t)})),[e]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"포토카드 캐릭터별 상태 부여",r.createElement(b.PF,null,"상태는 유저가 아니라 선택한 포토카드 캐릭터에 귀속됩니다.")),r.createElement(W7,null,r.createElement(_7,null,r.createElement(q7,null,r.createElement(K7,null,r.createElement(Y7,null,"유저 선택"),r.createElement(J7,null,r.createElement(k9.A,{userList:c,setUserList:u,placeholder:"유저 검색",onlySelect:!0,block:!0,dropdownStyle:{maxHeight:220}}))),r.createElement(K7,null,r.createElement(Y7,null,"대표 캐릭터"),r.createElement(J7,null,r.createElement(S9.A,{selectedOwnerId:d,setSelectedOwnerId:f,userUID:n,width:"100%"}))))),r.createElement(r9,null,r.createElement(b.Hg,null,"현재 활성된 상태"),r.createElement(c9,null,0===j.length&&r.createElement(i9,null,"선택한 캐릭터에 활성 상태 이상이 없습니다."),j.map(function(e){var t=S.find(function(t){return t.id===e.effectId});return t?r.createElement(u9,{key:e.id},r.createElement(e9,null,r.createElement(n9,null,r.createElement($7.A,{definition:t})),r.createElement(t9,null,r.createElement("span",null,t.name),r.createElement(i9,null,"부여: ",L9(e.acquiredAt)," · 만료:"," ",D9(e.expiresAt)))),r.createElement(h.A,{size:"sm",onClick:function(){return R(e.id)}},"해제")):null})),r.createElement(b.N9,null,r.createElement("label",null,"부여할 상태 이상"),r.createElement(o9,{value:p,onChange:function(e){return v(e.target.value)}},O.map(function(e){return r.createElement("option",{key:e.id,value:e.id},e.name)}))),r.createElement(I.A,{name:"durationMinutes",value:g,onChange:function(e){return E(e.target.value)},label:"이번 부여 지속 시간(분)",type:"number",placeholder:"비우면 상태 이상 기본값 사용"}),r.createElement(a9,null,r.createElement(h.A,{onClick:T,pending:w},"상태 부여"),r.createElement(h.A,{onClick:L},"만료 상태 정리")),r.createElement(b.Hg,null,"활성 상태 목록"),r.createElement(c9,null,0===P.length&&r.createElement(i9,null,"선택한 캐릭터의 상태 히스토리가 없습니다."),P.map(function(e){var t=S.find(function(t){return t.id===e.effectId});if(!t)return null;var n=!(0,H7.w5)(e);return r.createElement(u9,{key:e.id},r.createElement(e9,null,r.createElement(n9,null,r.createElement($7.A,{definition:t})),r.createElement(t9,null,r.createElement("span",null,t.name),r.createElement(i9,null,"부여: ",L9(e.acquiredAt)," · 만료:"," ",D9(e.expiresAt)))),r.createElement(l9,{$active:n},n?"현재 활성":"만료"))})))))}var M9=r.memo(U9),N9=n(88784);function z9(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F9(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return G9(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G9(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function G9(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function H9(){var e=F9((0,r.useState)([]),2),t=e[0],n=e[1],a=F9((0,r.useState)(!0),2),l=a[0],o=a[1],i=F9((0,r.useState)(""),2),c=i[0],u=i[1];(0,r.useEffect)(function(){o(!0);var e=Ya.fuego.db.collectionGroup("itemHistory").where("type","==",N9.u.USE_STATUS_EFFECT_CLEAR).onSnapshot(function(e){var t=e.docs.map(function(e){var t,n=e.data();return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z9(Object(n),!0).forEach(function(t){B9(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z9(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({id:e.id,actorUid:(null===(t=e.ref.parent.parent)||void 0===t?void 0:t.id)||""},n)}).sort(function(e,t){var n,r,a,l,o,i,c=(null===(n=e.createdAt)||void 0===n||null===(r=n.toMillis)||void 0===r?void 0:r.call(n))||(null===(a=e.createdAt)||void 0===a?void 0:a.seconds)||0;return((null===(l=t.createdAt)||void 0===l||null===(o=l.toMillis)||void 0===o?void 0:o.call(l))||(null===(i=t.createdAt)||void 0===i?void 0:i.seconds)||0)-c});n(t),o(!1)},function(e){console.error("상태 이상 해제 히스토리 조회 실패:",e),o(!1)});return function(){return e()}},[]);var s=(0,r.useMemo)(function(){var e=c.trim().toLowerCase();return e?t.filter(function(t){return[t.actorUid,t.itemName,t.memo,t.effectName,t.targetOwnerUid,t.targetCharacterId,t.targetCharacterName].filter(Boolean).join(" ").toLowerCase().includes(e)}):t},[t,c]);return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"상태 이상 해제 히스토리",r.createElement(b.PF,null,"상태 이상 해제 아이템 사용 기록을 전체 유저 기준으로 확인합니다.")),r.createElement(r9,null,r.createElement(I.A,{label:"검색",value:c,name:"query",onChange:function(e){return u(e.target.value)},placeholder:"유저 UID, 캐릭터, 상태 이상 검색",block:!0}),r.createElement(c9,null,l&&r.createElement(i9,null,"불러오는 중..."),!l&&0===s.length&&r.createElement(i9,null,"상태 이상 해제 히스토리가 없습니다."),s.map(function(e){return r.createElement(u9,{key:"".concat(e.actorUid,"-").concat(e.id)},r.createElement(e9,null,r.createElement(t9,null,r.createElement("span",null,e.effectName||"상태 이상"),r.createElement(i9,null,(t=e.createdAt,(0,bl.LU)(t,"YYYY.MM.DD HH:mm")||"-")," · 사용자: ",e.actorUid||"-"),r.createElement(i9,null,"대상: ",e.targetCharacterName||e.targetCharacterId||"-",e.targetOwnerUid?" / 소유자: ".concat(e.targetOwnerUid):""),r.createElement(i9,null,e.memo||e.itemName||"-"))),r.createElement(l9,{$active:!1},"해제"));var t}))))}var $9,V9=r.memo(H9);function W9(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _9(){var e,t,n=(e=(0,r.useState)($9.DEFINITION),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return W9(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?W9(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=n[0],l=n[1],o=[{value:$9.DEFINITION,label:"상태 이상 종류 관리",isShow:!0,drawView:r.createElement(C9,null)},{value:$9.ASSIGNMENT,label:"포토카드 캐릭터별 상태 부여",isShow:!0,drawView:r.createElement(M9,null)},{value:$9.CLEAR_HISTORY,label:"해제 히스토리",isShow:!0,drawView:r.createElement(V9,null)}];return r.createElement(i.A,{viewOptions:o,defaultViewType:a,customSetViewType:l})}!function(e){e.DEFINITION="definition",e.ASSIGNMENT="assignment",e.CLEAR_HISTORY="clearHistory"}($9||($9={}));var q9,K9,Y9,J9,Q9,Z9,X9,eee,tee=r.memo(_9);function nee(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n(93727),n(62191),n(15760),n(11780),n(84294),n(94977),n(45500),n(42285),n(17967),n(1614
16),n(94845),n(92409),n(23147),n(73254),n(68173),n(12069),n(7142),n(1773),n(15371),n(38513),n(35539),n(97967),n(77220),n(97103),n(68826),Ya.default.firestore(),C.Ay.div(q9||(q9=nee(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n"]))),C.Ay.div(K9||(K9=nee(["\n  width: 100%;\n  padding: 10px 14px;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  font-size: 13px;\n  color: var(--subTextColor);\n  word-break: break-all;\n  line-height: 1.6;\n  user-select: all;\n"]))),C.Ay.div(Y9||(Y9=nee(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n"]))),C.Ay.select(J9||(J9=nee(["\n  padding: 8px 12px;\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  background: var(--cardBackgroundColor);\n  color: var(--textColor);\n  font-size: 14px;\n  font-family: var(--defaultFontFamily);\n  cursor: pointer;\n\n  &:focus {\n    outline: none;\n    border-color: var(--primaryColor);\n  }\n"]))),C.Ay.p(Q9||(Q9=nee(["\n  font-size: 14px;\n  color: var(--subTextColor);\n  padding: 24px 0;\n  text-align: center;
1\n"]))),C.Ay.ol(Z9||(Z9=nee(["\n  padding-left: 20px;\n  margin: 0;\n\n  li {\n    font-size: 13px;\n    line-height: 2;\n    color: var(--subTextColor);\n  }\n"]))),C.Ay.div(X9||(X9=nee(["\n  display: grid;\n  grid-template-columns: repeat(2, minmax(280px, 1fr));\n  gap: 12px;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n  }\n"]))),C.Ay.div(eee||(eee=nee(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"])));var ree,aee,lee,oee,iee,cee,uee,see,dee=n(64228);function fee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function mee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fee(Object(n),!0).forEach(function(t){hee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fee(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function pee(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function vee(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){pee(l,r,a,o,i,"next",e)}function i(e){pee(l,r,a,o,i,"throw",e)}o(void 0)})}}function yee(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return gee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gee(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function bee(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function hee(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Eee,xee=(hee(ree={},Mi.Ef.GUESTBOOK,{showComment:!0,showWriteAnonymous:!0,showCommentAnonymous:!0,showEditHistoryViewAuth:!0}),hee(ree,Mi.Ef.TIMELINE,{showComment:!0,showEditHistoryViewAuth:!0}),hee(ree,Mi.Ef.POSTING,{showComment:!0,showEditHistoryViewAuth:!0}),hee(ree,Mi.Ef.THREADS,{showComment:!0,showEditHistoryViewAuth:!0}),hee(ree,Mi.Ef.GALLERY,{showEditHistoryViewAuth:!0}),hee(ree,Mi.Ef.CALCULATE,{showEditHistoryViewAuth:!0}),hee(ree,Mi.Ef.QUEST,{showComment:!0,showEditHistoryViewAuth:!0}),ree),wee=[Mi.Ef.BETTING,Mi.Ef.STORE,Mi.Ef.WORLDMAP,Mi.Ef.RAID,Mi.Ef.EXPLORATION,Mi.Ef.HISTORY,Mi.Ef.WORLD,Mi.Ef.INTERACTIVE_STORY,Mi.Ef.CALENDAR],Aee=C.Ay.div(aee||(aee=bee(["\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n  padding: 20px;\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n"]))),Cee=C.Ay.div(lee||(lee=bee(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 4px;\n\n  button {\n    margin-left: auto;\n  }\n"]))),kee=C.Ay.h6(oee||(oee=bee(["\n  font-size: 15px;\n  font-weight: 700;\n  margin: 0;\n"]))),See=C.Ay.span(iee||(iee=bee(["\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),Oee=C.Ay.div(cee||(cee=bee(["\n  display: flex;\n  align-items: flex-start;\n  gap: 12px;\n  flex-wrap: wrap;\n"]))),Iee=(0,C.Ay)(Ro.A)(uee||(uee=bee(["\n  min-width: 90px;\n  width: 90px;\n  flex-shrink: 0;\n  font-size: 13px;\n"]))),jee=C.Ay.div(see||(see=bee(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),Pee=(0,r.memo)(function(e){var t,n=e.board,a=e.label,o=null!==(t=xee[n.typeName])&&void 0!==t?t:{},i=(0,l.useDocument)("pageSetting/".concat(n.path),{listen:!0}),c=i.data,u=i.set,s=yee((0,r.useState)(lq.Yj.MASTER),2),d=s[0],f=s[1],m=yee((0,r.useState)(lq.Yj.MEMBER),2),p=m[0],v=m[1],y=yee((0,r.useState)(lq.Yj.MASTER),2),g=y[0],b=y[1],E=yee((0,r.useState)(!1),2),x=E[0],w=E[1],A=yee((0,r.useState)(!1),2),C=A[0],k=A[1];(0,r.useEffect)(function(){c&&(f(c.writeAuthType||lq.Yj.MASTER),v(c.commentAuthType||lq.Yj.MEMBER),b(c.editHistoryViewAuth||lq.Yj.MASTER),w(!1))},[c]);var S=(0,r.useCallback)(function(e){f(e),w(!0)},[]),O=(0,r.useCallback)(function(e){v(e),w(!0)},[]),I=(0,r.useCallback)(function(e){b(e),w(!0)},[]),j=(0,r.useCallback)(vee(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return k(!0),e.next=3,u(mee({writeAuthType:d||lq.Yj.MASTER,commentAuthType:p||lq.Yj.MEMBER},o.showEditHistoryViewAuth?{editHistoryViewAuth:g||lq.Yj.MASTER}:{}),{merge:!0});case 3:w(!1),k(!1);case 5:case"end":return e.stop()}},e)})),[u,d,p,g,o.showEditHistoryViewAuth]);
1return r.createElement(Aee,null,r.createElement(Cee,null,r.createElement(kee,null,a),r.createElement(See,null,"/",n.path),r.createElement(h.A,{onClick:j,disabled:!x,pending:C},"저장")),r.createElement(Oee,null,r.createElement(Iee,null,"글쓰기 권한"),r.createElement(dee.A,{authType:d,setAuthType:S,showAnonymous:o.showWriteAnonymous})),o.showComment&&r.createElement(Oee,null,r.createElement(Iee,null,"댓글 쓰기 권한"),r.createElement(dee.A,{authType:p,setAuthType:O,showAnonymous:o.showCommentAnonymous})),o.showEditHistoryViewAuth&&r.createElement(Oee,null,r.createElement(Iee,null,"수정 이력 열람"),r.createElement(dee.A,{authType:g,setAuthType:I})))}),Tee=function(){var e=a.l.boardSet.filter(function(e){return!wee.includes(e.typeName)}),t={},n={};e.forEach(function(e){var n;t[e.typeName]=(null!==(n=t[e.typeName])&&void 0!==n?n:0)+1});var l=e.map(function(e){var r,a,l,o=(a=e.typeName,(l=Object.keys(Mi.Ef).find(function(e){return Mi.Ef[e]===a}))&&Mi.E1[l]||a);if((null!==(r=t[e.typeName])&&void 0!==r?r:0)>1){var i;n[e.typeName]=(null!==(i=n[e.typeName])&&void 0!==i?i:0)+1;var c=n[e.typeName];return{board:e,label:1===c?o:"".concat(o).concat(c)}}return{board:e,label:o}});return r.createElement(r.Fragment,null,r.createElement(b.PF,null,"각 게시판의 글쓰기 / 댓글 쓰기 권한을 한 곳에서 관리합니다. 변경 후 반드시 해당 게시판의 [저장] 버튼을 눌러주세요."),r.createElement(b.YO,{style:{borderBottom:0,paddingTop:20}},r.createElement(jee,null,l.map(function(e){var t=e.board,n=e.label;return r.createElement(Pee,{key:"".concat(t.typeName,"-").concat(t.path),board:t,label:n})}))))},Ree=n(62902),Lee=C.Ay.p(Eee||(Eee=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  font-size: 14px;\n  color: var(--subTextColor);\n"]))),Dee=function(e){var t=e.boardLabel,n=void 0===t?"캘린더":t;return r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,n," 캘린더 연동"),r.createElement(b._B,null,r.createElement(Lee,null,"개발중...")))};function Uee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Mee,Nee,zee=function(e){var t,n,a=e.boardPath,l=e.boardLabel,o=void 0===l?"캘린더":l,c=(t=(0,r.useState)("integration"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Uee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Uee(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=c[0],s=c[1],d=(0,r.useMemo)(function(){return[{value:"integration",label:"캘린더 연동",isShow:!0,drawView:r.createElement(Dee,{boardPath:a,boardLabel:o})}]},[o,a]);return r.createElement(i.A,{viewOptions:d,defaultViewType:u,customSetViewType:s})},Bee=n(85827);function Fee(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Gee,Hee,$ee,Vee,Wee=C.Ay.div(Mee||(Mee=Fee(["\n  display: flex;\n  align-items: center;\n  padding: 4px 0;\n"]))),_ee=C.Ay.label(Nee||(Nee=Fee(["\n  margin-left: 8px;\n  transition: all 0.2s;\n\n  &:hover {\n    font-weight: 600;\n    cursor: var(--hoverCursorURL), pointer;\n  }\n"]))),qee=function(e){var t=e.checked,n=e.name,a=e.disabled,l=e.value,o=e.id,i=void 0===o?l:o,c=e.onChange,u=e.defaultChecked,s=e.children;return r.createElement(Wee,null,r.createElement(Bee.A,{id:i,name:n,value:l,onChange:c,checked:t,defaultChecked:u,disabled:a}),s&&r.createElement(_ee,{htmlFor:i},s))},Kee=n(76483),Yee=n(10375),Jee=n(33871),Qee=C.Ay.div(Gee||(Gee=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n  display: flex;\n"]))),Zee=function(e){var t=e.id,n=e.prevImgURL,a=e.isUploading,l=e.setIsUploading,o=e.removeImg,i=e.setSelectedFile,c=e.setPreviewImgURL,u=e.accept,s=e.btnFlexDir,d=e.noShowPrev;
1return r.createElement(Qee,null,!d&&r.createElement(b.iS,null,n?r.createElement(Kee.A,{imgURL:n,style:{width:"100%",minHeight:120,padding:8}}):a?r.createElement(Yee.A,null):r.createElement("span",null,"이미지를 업로드 해주세요.")),r.createElement(b.Ip,{style:{flexDirection:s}},r.createElement(Jee.Ay,{id:t,setSelectedFile:i,setPreviewImgURL:c,setIsUploading:l,type:"button",accept:u}),r.createElement(h.A,{onClick:o,shape:"stroke"},"이미지 삭제")))},Xee=n(96171),ete=n(98126);function tte(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function nte(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){tte(l,r,a,o,i,"next",e)}function i(e){tte(l,r,a,o,i,"throw",e)}o(void 0)})}}function rte(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ate(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rte(Object(n),!0).forEach(function(t){lte(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rte(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function lte(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ote(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||ite(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ite(e,t){if(e){if("string"==typeof e)return cte(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?cte(e,t):void 0}}function cte(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ute(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ste=C.Ay.div(Hee||(Hee=ute(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n"]))),dte=C.Ay.div($ee||($ee=ute(["\n  display: grid;\n  grid-template-columns: 160px 1fr auto;\n  gap: 8px;\n  align-items: center;\n\n  @media (max-width: 720px) {\n    grid-template-columns: 1fr;\n  }\n"]))),fte=C.Ay.div(Vee||(Vee=ute(["\n  display: flex;\n  gap: 16px;\n  flex-wrap: wrap;\n"])));function mte(){var e,t,n=(0,l.useDocument)("".concat(o.Gf.MAINHOME,"/").concat(o.kV.MAINHOME),{listen:!0}),a=n.data,i=n.set,u=(0,c.lZ)(Wr.WJ),s=(0,c.vc)(kx.Bs),d=(0,r.useMemo)(function(){return(0,ete.b)(null==a?void 0:a.supportDeskConfig)},[null==a?void 0:a.supportDeskConfig]),f=ote((0,r.useState)(d),2),m=f[0],p=f[1],v=ote((0,r.useState)([]),2),y=v[0],g=v[1],E=ote((0,r.useState)(null),2),x=E[0],A=E[1],C=ote((0,r.useState)(""),2),k=C[0],S=C[1],O=ote((0,r.useState)(!1),2),j=O[0],P=O[1],T=ote((0,r.useState)(!1),2),R=T[0],L=T[1];(0,r.useEffect)(function(){var e,t;p(d),g(null!==(e=d.character)&&void 0!==e&&e.photocardRef?[d.character.photocardRef]:[]),S((null===(t=d.character)||void 0===t?void 0:t.imageUrl)||""),A(null)},[d]);var D=(null===(e=m.character)||void 0===e?void 0:e.mode)||"imageUrl",U=(null===(t=m.character)||void 0===t?void 0:t.expressionImages)||[],M=function(e){p(function(t){return ate(ate({},t),e)})},N=function(e){p(function(t){var n;return ate(ate({},t),{},{character:ate(ate({mode:(null===(n=t.character)||void 0===n?void 0:n.mode)||"imageUrl"},t.character||{}),e)})})},z=function(e,t){N({expressionImages:U.map(function(n,r){return r===e?ate(ate({},n),t):n})})},B=function(){var e=nte(regeneratorRuntime.mark(function e(){var t,n,r,a,l,o,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(L(!0),"imageUrl"!==D){e.next=7;break}return e.next=4,(0,me.updateImgAndGetURL)({selectedFile:x,prevImgURL:k===Xee.o6?"":(null===(t=m.character)||void 0===t?void 0:t.imageUrl)||"",collectionPath:"supportDesk"});case 4:e.t0=e.sent,e.next=8;break;case 7:e.t0=(null===(n=m.character)||void 0===n?void 0:n.imageUrl)||"";case 8:return o=e.t0,c=ate(ate({},m),{},{character:ate(ate({mode:D},m.character||{}),{},{photocardRef:"photocardStanding"===D?y[0]||null:(null===(r=m.character)||void 0===r?void 0:r.photocardRef)||null,imageUrl:"imageUrl"===D?o||k||Xee.o6:(null===(a=m.character)||void 0===a?void 0:a.imageUrl)||""}),scripts:m.scripts&&m.scripts.length>0?m.scripts:Xee.KF.scripts,updatedAt:Date.now(),updatedBy:s||""}),e.next=12,i({supportDeskConfig:c},{merge:!0});case 12:u(function(e){return e?ate(ate({},e),{},{supportDeskConfig:c}
1):e}),A(null),S((null===(l=c.character)||void 0===l?void 0:l.imageUrl)||""),L(!1);case 16:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),F=function(){var e=nte(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i({supportDeskConfig:Xee.KF},{merge:!0});case 2:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return r.createElement(r.Fragment,null,r.createElement(b.YO,{startSec:!0},r.createElement(b.fA,null,"문의 창구 캐릭터"),r.createElement(b.R2,null,"`/support/desk`에 노출되는 홈페이지 마스터 문의 창구 화면을 설정합니다. 실제 문의 접수 데이터와는 분리되어 있으며, 버튼을 누른 뒤 기존 문의 폼으로 이동합니다."),r.createElement(b.N9,null,r.createElement(Ro.A,null,"사용 여부"),r.createElement(w.A,{isChecked:m.enabled,handleSwitch:function(){return M({enabled:!m.enabled})}},r.createElement("span",null,m.enabled?"사용":"사용 안 함"))),r.createElement(b.N9,null,r.createElement(Ro.A,null,"창구 이름"),r.createElement(I.A,{name:"supportDeskTitle",value:m.title||"",onChange:function(e){return M({title:e.target.value})},maxLength:40,placeholder:"홈페이지 마스터에게 문의하기"}))),r.createElement(b.YO,null,r.createElement(b.fA,null,"캐릭터 이미지"),r.createElement(b.N9,null,r.createElement(Ro.A,null,"이미지 방식"),r.createElement(fte,null,r.createElement(qee,{name:"supportDeskCharacterMode",value:"imageUrl",checked:"imageUrl"===D,onChange:function(){return N({mode:"imageUrl"})}},"직접 이미지"),r.createElement(qee,{name:"supportDeskCharacterMode",value:"photocardStanding",checked:"photocardStanding"===D,onChange:function(){return N({mode:"photocardStanding"})}},"포토카드 스탠딩"))),"imageUrl"===D?r.createElement(b.sm,null,r.createElement(Zee,{id:"support-desk-image",prevImgURL:k,isUploading:j,setIsUploading:P,setSelectedFile:A,setPreviewImgURL:S,removeImg:function(){A(null),S(""),N({imageUrl:""})},accept:"image/*"}),r.createElement(I.A,{name:"supportDeskImageUrl",label:"이미지 URL",value:k,onChange:function(e){S(e.target.value),N({imageUrl:e.target.value})},maxLength:500,placeholder:Xee.o6}),r.createElement(b.PF,null,"이미지를 업로드하거나 URL을 직접 입력할 수 있습니다. 기본 이미지는"," ".concat(Xee.o6)," 입니다.")):r.createElement(b.N9,null,r.createElement(Ro.A,null,"스탠딩 캐릭터"),r.createElement(qg.A,{initialList:y,setUserList:g,onlySelect:!0,block:!0}))),"imageUrl"===D&&r.createElement(b.YO,null,r.createElement(b.fA,null,"이미지 표정"),r.createElement(ste,null,U.map(function(e,t){return r.createElement(dte,{key:"".concat(e.name,"-").concat(t)},r.createElement(I.A,{name:"expression-name-".concat(t),value:e.name,onChange:function(e){return z(t,{name:e.target.value})},maxLength:30,placeholder:"표정명"}),r.createElement(I.A,{name:"expression-url-".concat(t),value:e.imgURL,onChange:function(e){return z(t,{imgURL:e.target.value})},maxLength:500,placeholder:"이미지 URL"}),r.createElement(h.A,{shape:"stroke",onClick:function(){return function(e){N({expressionImages:U.filter(function(t,n){return n!==e})})}(t)}},"삭제"))}),r.createElement(h.A,{shape:"stroke",onClick:function(){return N({expressionImages:[].concat((e=U,function(e){if(Array.isArray(e))return cte(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ite(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[{name:"",imgURL:""}])});var e}},"표정 추가"))),r.createElement(b.TT,null,r.createElement(h.A,{shape:"stroke",onClick:F},"기본값으로 되돌리기"),r.createElement(h.A,{onClick:B,pending:R},"저장")))}var pte=r.memo(mte);function vte(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return yte(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yte(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yte(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function gte(e){var t=e.title,n=e.description,a=e.components;return r.createElement(r.Fragment,null,r.createElement(b.O5,null,r.createElement("h5",null,t," "),r.createElement("span",null,n)),r.createElement(b.xi,null,a))}function bte(){return r.createElement(gte,{title:"멤버 관리",description:"멤버를 관리합니다.",components:r.createElement(vo.default,null)})}function hte(){return r.createElement(gte,{title:"타이틀 관리",description:"커스텀 디자인 타이틀을 등록하고 멤버에게 지급합니다.",components:r.createElement(Ui,null)})}function Ete(){return r.createElement(gte,{title:"유저 계정 탭 관리",description:"유저 계정 페이지의 탭 기본 순서와 표시 여부를 설정합니다.",components:r.createElement(oc,null)})}function xte(){return r.createElement(gte,{title:"멤버 역할 관리",description:"멤버 역할을 만들고, 각 역할이 접근할 수 있는 설정 메뉴를 지정합니다.",components:r.createElement(ei,null)})}function wte(){return r.createElement(gte,{title:"메인 홈 디자인 & 레이아웃",description:"메인 홈의 로고, 레이아웃, 정렬 등을 수정합니다.",components:r.createElement(_b,null)})}function Ate(){return r.createElement(gte,{title:"메인 공지",description:"메인 홈의 공지파트를 작성합니다.",components:r.createElement(aq,null)})}function Cte(){return r.createElement(gte,{title:"배너 관리",description:"메인 홈에 노출되는 배너를 관리합니다.",components:r.createElement(lg,{isEdit:!0})})}function kte(){return r.createElement(gte,{title:"슬라이드 편집 (최대 50개)",description:"메인 홈의 '슬라이드'부분을 편집합니다.",components:r.createElement(qa,null)})}function Ste(){return r.createElement(gte,{title:"메인 홈 스티커 설정",description:"메인 홈 스티커 보드의 편집 권한을 설정합니다.",components:r.createElement(fK,null)})}function Ote(){var e;return r.createElement(r.Fragment,null,r.createElement(gte,{title:"위젯 관리",description:"디데이 위젯, 이웃 방문 위젯 등을 관리합니다.",components:r.createElement(r.Fragment,null,r.createElement(Ka,null),(null===(e=a.l.widget)||void 0===e?void 0:e.ddayWidget)&&r.createElement(po,null))}))}function Ite(){return r.createElement(gte,{title:"대문 페이지 관리",description:"홈페이지 진입 전, 보호 페이지 역할을 합니다.",components:r.createElement(cu,null)})}function jte(){return r.createElement(gte,{title:"시메지 관리",description:"홈페이지를 돌아다니는 미니 캐릭터 설정.",components:r.createElement(cv,null)})}function Pte(){var e=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),t=e.data,n=e.set;return t?r.createElement(gte,{title:"홈페이지 기본 설정",description:"전체 홈페이지 기본 설정",components:r.createElement(r.Fragment,null,r.createElement(Hn,{homeSet:t,set:n}),r.createElement(Yn,{homeSet:t,set:n}),r.createElement(Un,{homeSet:t,set:n}),r.createElement(Zn,{homeSet:t,set:n}))}):null}function Tte(){return r.createElement(gte,{title:"디자인 설정",description:"배경, 폰트, 컬러등, 기본 스타일 설정",components:r.createElement(Rn,null)})}function Rte(){return r.createElement(gte,{title:"메뉴 레이아웃 디자인",description:"메뉴 방향, 디자인 설정",components:r.createElement(tS,null)})}function Lte(){return r.createElement(gte,{title:"홈페이지 테마 관리",description:"홈페이지의 전체 디자인과 설정을 통채로 저장하고, 원할 때 교체 할 수 있습니다.",components:r.createElement(nu,null)})}function Dte(){var e=vte(r.useState("jukebox"),2),t=e[0],n=e[1],a=[{value:"jukebox",label:"기본 bgm",isShow:!0,drawView:r.createElement(qn,null)},{value:"jukeboxList",label:"커스텀 플레이 목록",isShow:!0,drawView:r.createElement(Eh,null)},{value:"jukeboxDesign",label:"플레이어 디자인",isShow:!0,drawView:r.createElement(Xb,null)}];return r.createElement(i.A,{viewOptions:a,defaultViewType:t,customSetViewType:n})}
1function Ute(){return r.createElement(gte,{title:"음악 & 사운드 설정",description:"홈페이지의 음악 및 사운드 이펙트를 설정합니다.",components:r.createElement(Dte,null)})}function Mte(){return r.createElement(gte,{title:"사운드 이펙트 설정",description:"사운드 이펙트 및 알림 사운드를 설정합니다.",components:r.createElement(mr,null)})}function Nte(){return r.createElement(gte,{title:"마우스 설정",description:"커서 설정 및 이펙트를 관리합니다.",components:r.createElement(r.Fragment,null,a.l.cursorCustom&&r.createElement(r.Fragment,null,r.createElement(wr,null),r.createElement(Lr,null)),a.l.clickEffect&&r.createElement(Zw,null))})}function zte(){return r.createElement(gte,{title:"배경 이펙트",description:"각종 배경 효과를 설정합니다.",components:r.createElement(r.Fragment,null,a.l.backgroundEffect&&r.createElement(Vr,null),a.l.shootingStar&&r.createElement(Yr,null))})}function Bte(){return r.createElement(gte,{title:"태그 목록 관리",description:"태그 설정이 가능한 게시판이 노출됩니다.",components:r.createElement(ic.A,null)})}function Fte(){return r.createElement(gte,{title:"이모티콘 관리",description:"사용가능 게시판 : 타임라인형 / 방명록형 / 메모형.",components:r.createElement(pc,null)})}function Gte(){return r.createElement(gte,{title:"문의 창구",description:"문의 페이지의 캐릭터와 랜덤 대사를 설정합니다.",components:r.createElement(pte,null)})}function Hte(){return r.createElement(gte,{title:"쓰기/댓글 권한 설정",description:"각 게시판의 글쓰기 및 댓글 쓰기 권한을 한 곳에서 통합 관리합니다.",components:r.createElement(Tee,null)})}function $te(e){var t=e.boardPath,n=void 0===t?"wiki":t,a=e.boardLabel,l=void 0===a?"위키":a;return r.createElement(gte,{title:"".concat(l," 게시판 설정"),description:"위키, 페이지, 해금 조건을 관리합니다.",components:r.createElement(Ree.A,{boardPath:n,boardLabel:l})})}function Vte(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.boardPath,n=e.boardLabel,a=void 0===n?"타임라인":n,l=t?"setting/".concat(t):o.Mb.TIMELINE;return r.createElement(gte,{title:"타임라인 기능 설정",description:"타임라인 게시글 작성 시 사용할 기능들을 관리합니다.",components:r.createElement(F8,{settingPath:l,boardLabel:a})})}function Wte(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.boardPath,n=e.boardLabel,a=void 0===n?"포스팅":n,l=t?"setting/".concat(t):"setting/posting";return r.createElement(gte,{title:"포스팅 기능 설정",description:"포스팅 게시글 작성 및 댓글 기능을 관리합니다.",components:r.createElement(F8,{settingPath:l,boardLabel:a,visibleTabs:["commentSetting"],defaultTab:"commentSetting",commentExcludeKeys:["useLuckyDraw"]})})}function _te(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.boardPath,n=e.boardLabel,a=void 0===n?"방명록":n,l=t?"setting/".concat(t):o.Mb.GUESTBOOK;return r.createElement(gte,{title:"방명록 기능 설정",description:"방명록 작성 및 댓글 기능을 관리합니다.",components:r.createElement(l5,{settingPath:l,boardLabel:a})})}function qte(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.boardPath,n=e.boardLabel,a=void 0===n?"스레드":n,l=t?"setting/".concat(t):o.Mb.THREADS;return r.createElement(gte,{title:"스레드 기능 설정",description:"스레드 게시글 및 답글 작성 시 사용할 기능들을 관리합니다.",components:r.createElement(k6,{settingPath:l,boardLabel:a})})}function Kte(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.boardPath,n=e.boardLabel,a=t?"setting/".concat(t):o.Mb.PHOTOCARD;return r.createElement(gte,{title:"포토카드 게시판 설정",description:"포토카드 게시판별 설정을 관리합니다.",components:r.createElement(vL,{settingPath:a,boardLabel:n})})}function Yte(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).boardPath,t=e?"setting/".concat(e):void 0;return r.createElement(gte,{title:"스티커보드 게시판 관리",description:"스티커보드에서 이동 가능한 확장 게시판 목록을 관리합니다.",components:r.createElement(o5.A,{settingPath:t})})}function Jte(e){var t=e.boardPath,n=void 0===t?"calendar":t,a=e.boardLabel,l=void 0===a?"캘린더":a;return r.createElement(gte,{title:"".concat(l," 게시판 설정"),description:"캘린더 연동과 일정 조작 기능을 관리합니다.",components:r.createElement(zee,{boardPath:n,boardLabel:l})})}function Qte(){return r.createElement(gte,{title:"정산 게시판 관리",description:"정산, 출석 보상, 이벤트 등 재화 관련 설정을 관리합니다.",components:r.createElement(E5,null)})}function Zte(){return r.createElement(gte,{title:"폼 게시판 관리",description:"폼 설정 및 폼 응답을 일괄 관리합니다.",components:r.createElement(M5,null)})}function Xte(){return r.createElement(gte,{title:"아이템 관리",description:"전체 아이템 관리",components:r.createElement(r.Fragment,null,r.createElement(HS,null))})}function ene(){var e=vte(f("payment"),2),t=e[0],n=e[1],a=[{value:"payment",label:"지급하기",isShow:!0,drawView:r.createElement(ii,null)},{value:"common",label:"기본 설정",isShow:!0,drawView:r.createElement(su.A,null)}];return r.createElement(gte,{title:"재화 관리",description:"멤버 또는 캐릭터에게 재화,아이템등을 지급합니다.",components:r.createElement(i.A,{viewOptions:a,defaultViewType:t,customSetViewType:n})})}function tne(){return r.createElement(gte,{title:"NPC 관리",description:"기본 NPC및 상점란에 표시되는 NPC를 관리합니다.",components:r.createElement(r.Fragment,null,r.createElement(xh.A,null))})}function nne(){return r.createElement(gte,{title:"구매 히스토리",description:"유저의 구매 히스토리를 열람합니다.",components:r.createElement(r.Fragment,null,r.createElement(wh.A,null))})}function rne(){return r.createElement(gte,{title:"랜덤 뽑기 설정 (럭키 드로우)",de
1scription:"여러 아이템을 등록하고, 유저가 랜덤으로 얻을 수 있게 합니다.",components:r.createElement(r.Fragment,null,r.createElement(uu.A,null))})}function ane(){var e=(0,l.useDocument)(o.Mb.HOMEPAGE,{listen:!0}),t=e.data,n=e.set;return t?r.createElement(gte,{title:"캐릭터 패널",description:"커뮤니티에 최적화된 패널 기능 관리",components:r.createElement(r.Fragment,null,r.createElement(ca,{homeSet:t,set:n}))}):null}function lne(){return r.createElement(gte,{title:"스탯 & 스킬",description:"캐릭터의 능력치를 부여합니다.",components:r.createElement(r.Fragment,null,r.createElement(zw,null))})}function one(){return r.createElement(gte,{title:"스킬",description:"캐릭터 고유 스킬을 관리합니다.",components:r.createElement(as,null)})}function ine(){return r.createElement(gte,{title:"장비",description:"캐릭터에게 장비를 장착해 스탯을 상향 조정합니다.",components:r.createElement(r.Fragment,null,r.createElement(Px,null))})}function cne(){return r.createElement(gte,{title:"펫 시스템",description:"계정에 여러 펫을 등록합니다.",components:r.createElement(NW,null)})}function une(){return r.createElement(gte,{title:"전투(레이드)",description:"레이드 전투를 관리합니다.",components:r.createElement(LK,null)})}function sne(){return r.createElement(gte,{title:"몬스터 관리",description:"몬스터를 설정하고 관리합니다.",components:r.createElement(xZ,null)})}function dne(){return r.createElement(gte,{title:"월드맵 & 지역 관리",description:"지도 설정 및 탐색장소를 설정합니다.",components:r.createElement(Ah.default,null)})}function fne(){return r.createElement(gte,{title:"조사 & 탐색",description:"조사형 게시판에서 사용합니다.",components:r.createElement(r.Fragment,null,r.createElement(j2,null))})}function mne(){return r.createElement(gte,{title:"퀘스트 관리",description:"퀘스트를 관리합니다.",components:r.createElement(XB,null)})}function pne(){return r.createElement(gte,{title:"베팅 관리",description:"베팅을 관리합니다.",components:r.createElement(P_,null)})}function vne(){return r.createElement(gte,{title:"팝업 목록 관리",description:"홈페이지에 공지처럼 띄우는 팝업을 관리합니다.",components:r.createElement(d7,null)})}function yne(){return r.createElement(gte,{title:"알림 설정",description:"알림 수신 옵션 및 알림 사운드를 설정합니다.",components:r.createElement(B7,null)})}function gne(){return r.createElement(gte,{title:"캐릭터별 상태",description:"포토카드 캐릭터별 상태 이상과 표시 아이콘을 관리합니다.",components:r.createElement(tee,null)})}function bne(){return r.createElement(gte,{title:"위험 작업 - 전체 게시글 삭제",description:"전체 데이터 삭제 및 초기화",components:r.createElement(kO,null)})}function hne(){return r.createElement(gte,{title:"디엠 관리자",description:"채팅 내 [관리자 모드] 토글 노출 여부를 관리하고, 변경 이력을 조회합니다.",components:r.createElement(rI,null)})}function Ene(){return r.createElement(gte,{title:"전체 데이터 백업",description:"Firestore 데이터와 Storage 이미지/첨부 파일을 ZIP 으로 내보냅니다.",components:r.createElement(_I,null)})}function xne(){return r.createElement(gte,{title:"외부 연동 - API",description:"외부 시스템(레이드 보드 등)에서 이 홈페이지의 포토카드·캐릭터 status·탐색포인트에 접근할 수 있는 API Key를 발급/관리합니다.",components:r.createElement(aP,null)})}var wne,Ane,Cne,kne,Sne,One,Ine,jne,Pne,Tne,Rne=n(44282),Lne=n(30236);function Dne(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Une(e){return function(e){if(Array.isArray(e))return Fne(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Bne(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Mne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Nne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?Mne(Object(n),!0).forEach(function(t){zne(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mne(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zne(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bne(e,t){if(e){if("string"==typeof e)return Fne(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fne(e,t):void 0}}function Fne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Gne,Hne,$ne,Vne,Wne,_ne,qne,Kne,Yne,Jne,Qne,Zne,Xne=function(e){var t,n,a,l=e.bot,o=e.isNew,i=void 0!==o&&o,c=e.onSave,u=e.onClose,s=(n=(0,r.useState)(l||{value:"",description:"",type:Rne.B.OPTIONS,options:[""],formula:"",isActive:!0}),a=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(n,a)||Bne(n,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],f=s[1],m=function(e,t){f(function(n){return Nne(Nne({},n),{},zne({},e,t))})};return r.createElement(k.A,{outsideClick:u,contentStyle:{maxWidth:600}},r.createElement(ere,null,r.createElement("h3",null,i?"새 봇 추가":"봇 수정"),r.createElement(Q.A,{linkto:"https://candle-caboc-ce7.notion.site/2991ce32694c8061b1dcf73d308f941f?source=copy_link",title:"사용 예시",tooltip:"사용 예시 바로가기",style:{width:"100%"}}),r.createElement(O.A,{onClick:u})),r.createElement(S.sC,null,r.createElement(tre,null,r.createElement(nre,null,r.createElement(rre,null,"봇 이름 *"),r.createElement(I.A,{name:"botValue",value:d.value||"",onChange:function(e){return m("value",e.target.value)},placeholder:"예: 홀짝, r1d100"}),r.createElement(are,null,"게시글에서 [[",d.value||"봇이름","]]으로 사용됩니다")),r.createElement(nre,null,r.createElement(rre,null,"설명"),r.createElement(I.A,{name:"botDescription",value:d.description||"",onChange:function(e){return m("description",e.target.value)},placeholder:"예: 홀짝 게임, 100면체 주사위 1개"})),r.createElement(nre,null,r.createElement(rre,null,"봇 타입 *"),r.createElement(x.l,{selectList:[{key:Rne.B.OPTIONS,value:"옵션 (랜덤 선택)"},{key:Rne.B.FORMULA,value:"수식 (계산)"}],selectedKey:d.type||Rne.B.OPTIONS,setSelectedKey:function(e){return m("type",e)},size:"sm"})),d.type===Rne.B.OPTIONS?r.createElement(nre,null,r.createElement(rre,null,"옵션 목록 *"),r.createElement(lre,null,(d.options||[""]).map(function(e,t){var n;return r.createElement(ore,{key:t},r.createElement(I.A,{name:"option-".concat(t),value:e,onChange:function(e){return function(e,t){var n=Une(d.options||[""]);n[e]=t,f(function(e){return Nne(Nne({},e),{},{options:n})})}(t,e.target.value)},placeholder:"옵션 ".concat(t+1),style:{flex:1}}),((null===(n=d.options)||void 0===n?void 0:n.length)||0)>1&&r.createElement(ire,{onClick:function(){return function(e){var t=(d.options||[]).filter(function(t,n){return n!==e});f(function(e){return Nne(Nne({},e),{},{options:t})})}(t)},title:"제거"},"❌"))}),r.createElement(cre,{onClick:function(){var e=[].concat(Une(d.options||[]),[""]);f(function(t){return Nne(Nne({},t),{},{options:e})})}},"+ 옵션 추가")),r.createElement(are,null,"여러 선택지 중 하나를 랜덤으로 선택합니다")):r.createElement(nre,null,r.createElement(rre,null,"수식 *"),r.createElement(I.A,{name:"botFormula",value:d.formula||"",onChange:function(e){return m("formula",e.target.value)},placeholder:"Math.floor(Math.random() * 100) + 1",style:{fontFamily:"monospace"}}),r.createElement(are,null,"JavaScript 수식 (Math.random, Math.floor 등 사용 가능)")),r.createElement(nre,null,r.createElement(w.A,{isChecked:null===(t=d.isActive)||void 0===t||t,handleSwitch:function(){return m("isActive",!d.isActive)}},r.createElement("span",{style:{marginLeft:8}},"봇 활성화 여부"))))),r.createElement(ure,null,r.createElement(h.A,{onClick:u,shape:"stroke"},"취소"),r.createElement(h.A,{onClick:function(){var e;if(null!==(e=d.value)&&void 0!==e&&e.trim()){if(d.type===Rne.B.OPTIONS){var t=(d.options||[]).filter(function(e){return e.trim()});if(0===t.length)return void alert("최소 1개의 옵션을 입력해주세요.");d.options=t}else if(d.type===Rne.B.FORMULA){var n;if(null===(n=d.formula)||void 0===n||!n.trim())return void alert("수식을 입력해주세요.")}c(d),u()}else alert("봇 이름을 입력해주세요.")}},i?"추가":"저장")))},ere=C.Ay.div(wne||(wne=Dne(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 12px 20px;\n  border-bottom: 1px solid var(--lineColor);\n\n  h3 {\n    margin: 0;\n    font-size: 18px;\n    font-weight: 600;\n    color: var(--textColor);\n  }\n"]))),tre=C.Ay.div(Ane||(Ane=Dne(["\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n  padding: 24px;\n  text-align: left;
1\n"]))),nre=C.Ay.div(Cne||(Cne=Dne(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),rre=C.Ay.label(kne||(kne=Dne(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),are=C.Ay.p(Sne||(Sne=Dne(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  margin: 0;\n"]))),lre=C.Ay.div(One||(One=Dne(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),ore=C.Ay.div(Ine||(Ine=Dne(["\n  display: flex;\n  gap: 8px;\n  align-items: center;\n"]))),ire=C.Ay.button(jne||(jne=Dne(["\n  padding: 6px;\n  background: none;\n  border: none;\n  cursor: var(--hoverCursorURL), pointer;\n  border-radius: 4px;\n  transition: background 0.2s;\n  font-size: 16px;\n\n  &:hover {\n    background: var(--inkColor);\n  }\n"]))),cre=C.Ay.button(Pne||(Pne=Dne(["\n  padding: 8px 12px;\n  border: 1px dashed var(--lineColor);\n  border-radius: 4px;\n  background: none;\n  color: var(--primaryColor);\n  font-size: 13px;\n  font-weight: 500;\n  cursor: var(--hoverCursorURL), pointer;\n  transition: all 0.2s;\n\n  &:hover {\n    background: var(--inkColor);\n    border-color: var(--primaryColor);\n  }\n"]))),ure=C.Ay.div(Tne||(Tne=Dne(["\n  display: flex;\n  justify-content: flex-end;\n  gap: 8px;\n  padding: 16px 24px;\n  border-top: 1px solid var(--lineColor);\n"])));function sre(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function dre(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function fre(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){dre(l,r,a,o,i,"next",e)}function i(e){dre(l,r,a,o,i,"throw",e)}o(void 0)})}}function mre(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return pre(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pre(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pre(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var vre,yre,gre,bre,hre,Ere,xre=function(){var e=mre((0,r.useState)(null),2),t=e[0],n=e[1],a=mre((0,r.useState)(!1),2),i=a[0],u=a[1],s=(0,c.vc)(kx.Bs),d=(0,l.useCollection)(o.Gf.CUSTOM_BOTS,{listen:!0,orderBy:["createdAt","desc"]}),f=d.data,m=void 0===f?[]:f,p=d.mutate,v=(0,r.useMemo)(function(){return[{key:"value",header:"봇 이름",width:150,render:function(e){return r.createElement(Ire,null,"[[",e.value,"]]")}},{key:"description",header:"설명",render:function(e){return e.description||"-"}},{key:"type",header:"타입",width:100,render:function(e){return r.createElement(jre,{type:e.type},e.type===Rne.B.OPTIONS?"옵션":"수식")}},{key:"content",header:"옵션/수식",width:250,render:function(e){var t,n=e.type===Rne.B.OPTIONS?(null===(t=e.options)||void 0===t?void 0:t.join(", "))||"-":e.formula||"-";return r.createElement(Pre,null,n)}},{key:"isActive",header:"상태",width:100,render:function(e){return r.createElement(Tre,{onClick:function(){var t=fre(regeneratorRuntime.mark(function t(n){var r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n.stopPropagation(),r=e.id||e.objectID||"",t.prev=2,t.next=5,(0,Lne.Zy)(r,e.isActive);case 5:return t.next=7,p();case 7:t.next=12;break;case 9:t.prev=9,t.t0=t.catch(2),alert("봇 상태 변경에 실패했습니다.");case 12:case"end":return t.stop()}},t,null,[[2,9]])}));return function(e){return t.apply(this,arguments)}}(),isActive:e.isActive},e.isActive?"사용중":"미사용")}},{key:"actions",header:"액션",width:120,render:function(e){var t=e.id||e.objectID||"";return r.createElement(Rre,null,r.createElement(Do.A,{onClick:function(t){t.stopPropagation(),n(e),u(!1)},tooltip:"수정",icon:"Edit14"}),r.createElement(Do.A,{onClick:function(){var n=fre(regeneratorRuntime.mark(function n(r){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(r.stopPropagation(),!confirm('"'.concat(e.value,'" 봇을 삭제하시겠습니까?'))){n.next=12;break}return n.prev=2,n.next=5,(0,Lne.CV)(t);case 5:return n.next=7,p();case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),alert("봇 삭제에 실패했습니다.");case 12:case"end":return n.stop()}},n,null,[[2,9]])}
1));return function(e){return n.apply(this,arguments)}}(),tooltip:"삭제",icon:"Trash14"}))}}]},[p]);return r.createElement(wre,null,r.createElement(Are,null,r.createElement("div",null,r.createElement("h2",null,"커스텀 봇 관리"),r.createElement(Cre,null,"게시글에서 [[봇이름]]을 입력하면 자동으로 실행되는 봇을 만들 수 있습니다.")),r.createElement(h.A,{onClick:function(){n(null),u(!0)}},"+ 새 봇 추가")),r.createElement(kre,null,r.createElement(Sre,null,"📖 사용 방법"),r.createElement(Q.A,{linkto:"https://candle-caboc-ce7.notion.site/2991ce32694c8061b1dcf73d308f941f?source=copy_link",title:"사용 예시 가이드 바로가기",tooltip:"사용 예시 바로가기"}),r.createElement(Ore,null,r.createElement("li",null,r.createElement("strong",null,"옵션 타입:")," 여러 선택지 중 하나를 랜덤으로 선택합니다. (예: 홀짝, 가위바위보)"),r.createElement("li",null,r.createElement("strong",null,"수식 타입:")," JavaScript 수식을 실행합니다. (예: Math.floor(Math.random() * 100) + 1)"),r.createElement("li",null,r.createElement("strong",null,"사용법:")," 게시글 작성 시 [[봇이름]]을 입력하면 자동 실행됩니다."),r.createElement("li",null,r.createElement("strong",null,"예시:"),' "오늘 걸어갈 방향은? [[방향]]" → "오른쪽"'))),r.createElement(pw.A,{columns:v,data:m||[],rowKey:function(e){return e.id||e.objectID||""},emptyText:"등록된 봇이 없습니다. 새 봇을 추가하여 시작하세요!"}),(i||t)&&r.createElement(Xne,{bot:i?null:t,isNew:i,onSave:function(){var e=fre(regeneratorRuntime.mark(function e(n){var r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(s){e.next=3;break}return alert("로그인이 필요합니다."),e.abrupt("return");case 3:if(e.prev=3,!i){e.next=9;break}return e.next=7,(0,Lne.e8)(n,s);case 7:e.next=13;break;case 9:if(!t){e.next=13;break}return r=t.id||t.objectID||"",e.next=13,(0,Lne.gP)(r,n);case 13:return e.next=15,p();case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),alert(i?"봇 추가에 실패했습니다.":"봇 업데이트에 실패했습니다.");case 20:case"end":return e.stop()}},e,null,[[3,17]])}));return function(t){return e.apply(this,arguments)}}(),onClose:function(){n(null),u(!1)}}))},wre=C.Ay.div(Gne||(Gne=sre(["\n  padding: 24px;\n  max-width: 1400px;\n  margin: 0 auto;\n"]))),Are=C.Ay.div(Hne||(Hne=sre(["\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  margin-bottom: 24px;\n\n  h2 {\n    font-size: 24px;\n    font-weight: 700;\n    margin: 0 0 8px 0;\n    color: var(--textColor);\n  }\n"]))),Cre=C.Ay.p($ne||($ne=sre(["\n  font-size: 14px;\n  color: var(--subTextColor);\n  margin: 0;\n"]))),kre=C.Ay.div(Vne||(Vne=sre(["\n  margin-bottom: 24px;\n  padding: 20px;\n  background: var(--inkColor);\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n"]))),Sre=C.Ay.h3(Wne||(Wne=sre(["\n  font-size: 16px;\n  font-weight: 600;\n  margin: 0 0 12px 0;\n  color: var(--textColor);\n"]))),Ore=C.Ay.ul(_ne||(_ne=sre(["\n  margin: 0;\n  padding-left: 20px;\n\n  li {\n    margin: 8px 0;\n    font-size: 14px;\n    line-height: 1.6;\n    color: var(--textColor);\n\n    strong {\n      color: var(--primaryColor);\n    }\n  }\n"]))),Ire=C.Ay.strong(qne||(qne=sre(["\n  font-family: monospace;\n  color: var(--textColor);\n"]))),jre=C.Ay.span(Kne||(Kne=sre(["\n  display: inline-block;\n  padding: 4px 8px;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: 600;\n  background: ",";\n  color: white;\n"])),function(e){return e.type===Rne.B.OPTIONS?"var(--primaryColor)":"var(--successColor)"}),Pre=C.Ay.div(Yne||(Yne=sre(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  max-width: 250px;\n"]))),Tre=C.Ay.button(Jne||(Jne=sre(["\n  padding: 4px 12px;\n  border-radius: 4px;\n  border: 1px solid var(--lineColor);\n  background: ",";\n  color: ",";\n  font-size: 12px;\n  font-weight: 600;\n  cursor: var(--hoverCursorURL), pointer;\n  transition: all 0.2s;\n\n  &:hover {\n    opacity: 0.8;\n  }\n"])),function(e){return e.isActive?"var(--successColor)":"var(--subColor)"},function(e){return e.isActive?"white":"var(--subTextColor)"}),Rre=C.Ay.div(Qne||(Qne=sre(["\n  display: flex;\n  gap: 8px;\n  align-items: center;
1\n"])));function Lre(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Dre(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}C.Ay.button(Zne||(Zne=sre(["\n  padding: 6px;\n  background: none;\n  border: none;\n  cursor: var(--hoverCursorURL), pointer;\n  border-radius: 4px;\n  font-size: 16px;\n  transition: background 0.2s;\n\n  &:hover {\n    background: var(--inkColor);\n  }\n"])));var Ure,Mre,Nre,zre,Bre,Fre,Gre,Hre,$re,Vre,Wre,_re,qre,Kre,Yre,Jre=C.Ay.div(vre||(vre=Dre(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Qre=C.Ay.div(yre||(yre=Dre(["\n  display: grid;\n  grid-template-columns: 1fr 2fr;\n  gap: 16px;\n  padding: 12px 16px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n  align-items: center;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n    gap: 8px;\n  }\n"]))),Zre=C.Ay.div(gre||(gre=Dre(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Xre=C.Ay.div(bre||(bre=Dre(["\n  font-family: ",";\n  font-size: 16px;\n  color: var(--subTextColor);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n"])),function(e){return e.fontFamily}),eae=C.Ay.span(hre||(hre=Dre(["\n  display: inline-block;\n  padding: 2px 8px;\n  background: var(--primaryColor);\n  color: white;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: 600;\n  margin-left: 8px;\n"]))),tae=C.Ay.div(Ere||(Ere=Dre(["\n  text-align: center;\n  padding: 40px 20px;\n  color: var(--subTextColor);\n  font-size: 14px;\n"]))),nae=function(){var e=(0,r.useMemo)(function(){return Object.entries(Ge.mi).map(function(e){var t,n,r=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Lre(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Lre(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=r[0];return{name:r[1],fontFamily:a}})},[]);return e&&0!==e.length?r.createElement(Jre,null,e.map(function(e,t){return r.createElement(Qre,{key:t},r.createElement(Zre,null,e.name,r.createElement(eae,null,"기본")),r.createElement(Xre,{fontFamily:e.fontFamily},"가나다라마바사 ABCDEFG 1234567890"))})):r.createElement(tae,null,"등록된 서체가 없습니다.")},rae=n(95188);function aae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?aae(Object(n),!0).forEach(function(t){oae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aae(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iae(e){return function(e){if(Array.isArray(e))return fae(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||dae(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cae(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function uae(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){cae(l,r,a,o,i,"next",e)}function i(e){cae(l,r,a,o,i,"throw",e)}o(void 0)})}}function sae(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||dae(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dae(e,t){if(e){if("string"==typeof e)return fae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fae(e,t):void 0}}function fae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mae(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var pae,vae,yae,gae,bae,hae=C.Ay.div(Ure||(Ure=mae(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n"]))),Eae=C.Ay.div(Mre||(Mre=mae(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  padding: 20px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n"]))),xae=C.Ay.div(Nre||(Nre=mae(["\n  margin-top: 8px;\n"]))),wae=C.Ay.div(zre||(zre=mae(["\n  display: flex;\n  justify-content: flex-end;\n  gap: 8px;\n"]))),Aae=C.Ay.div(Bre||(Bre=mae(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Cae=C.Ay.div(Fre||(Fre=mae(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 12px 16px;\n  border-radius: 8px;\n  border: 1px solid var(--lineColor);\n"]))),kae=C.Ay.div(Gre||(Gre=mae(["\n  display: grid;\n  grid-template-columns: 1fr 2fr auto auto;\n  gap: 16px;\n  align-items: center;\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr auto auto;\n    gap: 8px;\n  }\n"]))),Sae=C.Ay.div(Hre||(Hre=mae(["\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding-top: 12px;\n  border-top: 1px solid var(--lineColor);\n"]))),Oae=C.Ay.div($re||($re=mae(["\n  display: flex;\n  justify-content: flex-end;\n  gap: 8px;\n"]))),Iae=C.Ay.div(Vre||(Vre=mae(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),jae=C.Ay.div(Wre||(Wre=mae(["\n  font-family: ",";\n  font-size: 16px;\n  color: var(--subTextColor);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n\n  @media (max-width: 768px) {\n    display: none;\n  }\n"])),function(e){return e.fontFamily}),Pae=C.Ay.div(_re||(_re=mae(["\n  text-align: center;\n  padding: 40px 20px;\n  color: var(--subTextColor);\n  font-size: 14px;\n"]))),Tae=C.Ay.span(qre||(qre=mae(["\n  display: inline-block;\n  padding: 2px 8px;\n  color: white;\n  border-radius: 4px;\n  font-size: 11px;\n  font-weight: 600;\n  margin-left: 8px;\n"]))),Rae=C.Ay.div(Kre||(Kre=mae(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  line-height: 1.5;\n\n  code {\n    padding: 2px 6px;\n    border-radius: 4px;\n    font-family: 'D2Coding', monospace;\n  }\n"]))),Lae=C.Ay.p(Yre||(Yre=mae(["\n  margin: 4px 0 0;\n  font-size: 12px;\n  color: #ef4444;\n"]))),Dae=function(){var e=(0,l.useDocument)(o.Mb.FONT_MANAGER,{listen:!0}),t=e.data,n=e.mutate,a=sae((0,r.useState)(""),2),i=a[0],c=a[1],u=sae((0,r.useState)(""),2),s=u[0],d=u[1],f=sae((0,r.useState)(!1),2),m=f[0],p=f[1],v=sae((0,r.useState)(""),2),y=v[0],g=v[1],b=sae((0,r.useState)(null),2),E=b[0],x=b[1],w=sae((0,r.useState)(""),2),A=w[0],C=w[1],k=sae((0,r.useState)(""),2),S=k[0],O=k[1],j=sae((0,r.useState)(!1),2),P=j[0],T=j[1],R=sae((0,r.useState)(""),2),L=R[0],D=R[1],U=(null==t?void 0:t.customFonts)||[];(0,rae.Z)(U);var M=function(e){var t=e.match(/font-family\s*:\s*['"]([^'"]+)['"]/i);return t?t[1]:null},N=function(e){if(!e.trim())return"CSS를 입력해주세요.";if(!e.includes("@font-face"))return"@font-face 선언이 필요합니다.";var t=(e.match(/{/g)||[]).length,n=(e.match(/}/g)||[]).length;return 0===t||0===n?"중괄호로 블록을 감싸주세요.":t!==n?"열린 중괄호와 닫힌 중괄호의 개수가 일치하지 않습니다.":/font-family\s*:\s*['"]([^'"]+)['"]/i.test(e)?/src\s*:\s*/i.test(e)?null:"src 속성이 필요합니다.":"font-family 속성이 필요합니다."},z=(0,r.useCallback)(uae(regeneratorRuntime.mark(function e(){var t,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(g(""),i.trim()&&s.trim()){e.next=4;break}return alert("폰트 이름과 CSS를 모두 입력해주세요."),e.abrupt("return");case 4:if(!(t=N(s))){e.next=8;break}return g(t),e.abrupt("return");case 8:if(r=M(s)){e.next=12;break}return g("CSS에서 font-family를 찾을 수 없습니다. 올바른 @font-face 문법인지 확인해주세요."),e.abrupt("return");case 12:return e.prev=12,p(!0),a=Ya.default.firestore(),l={id:"custom_".concat(Date.now()),name:i.trim(),fontFamily:r,cssText:s.trim(),createdAt:new Date},e.next=18,a.doc("setting/fontManager").set({customFonts:[].concat(iae(U),[l]),updatedAt:new Date},{merge:!0});case 18:c(""),d(""),g(""),alert("커스텀 서체가 추가되었습니다."),n(),e.next=29;break;case 25:e.prev=25,e.t0=e.catch(12),console.error("서체 추가 오류:",e.t0),alert("서체 추가 중 오류가 발생했습니다.");case 29:return e.prev=29,p(!1),e.finish(29);case 32:case"end":return e.stop()}},e,null,[[12,25,29,32]])})),[i,s,U,n]),B=(0,r.useCallback)(function(e){x(e.id),C(e.name),O(e.cssText)},[]),F=(0,r.useCallback)(function(){x(null),C(""),O("")},[]),G=(0,r.useCallback)(uae(regeneratorRuntime.mark(function e(){var t,r,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(D(""),A.trim()&&S.trim()){e.next=4;break}return alert("폰트 이름과 CSS를 모두 입력해주세요."),e.abrupt("return");case 4:if(!(t=N(S))){e.next=8;break}return D(t),e.abrupt("return");case 8:if(r=M(S)){e.next=12;break}return D("CSS에서 font-family를 찾을 수 없습니다. 올바른 @font-face 문법인지 확인해주세요."),e.abrupt("return");case 12:return e.prev=12,T(!0),a=Ya.default.firestore(),l=U.map(function(e){return e.id===E?lae(lae({},e),{},{name:A.trim(),fontFamily:r,cssText:S.trim()}):e}),e.next=18,a.doc("setting/fontManager").set({customFonts:l,updatedAt:new Date},{merge:!0});case 18:alert("서체가 수정되었습니다."),x(null),C(""),O(""),D(""),n(),e.next=30;break;case 26:e.prev=26,e.t0=e.catch(12),console.error("서체 수정 오류:",e.t0),alert("서체 수정 중 오류가 발생했습니다.");case 30:return e.prev=30,T(!1),e.finish(30);case 33:case"end":return e.stop()}},e,null,[[12,26,30,33]])}
1)),[A,S,E,U,n]),H=(0,r.useCallback)(function(){var e=uae(regeneratorRuntime.mark(function e(t){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(confirm("이 서체를 삭제하시겠습니까?")){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,r=Ya.default.firestore(),a=U.filter(function(e){return e.id!==t}),e.next=7,r.doc("setting/fontManager").set({customFonts:a,updatedAt:new Date},{merge:!0});case 7:alert("서체가 삭제되었습니다."),n(),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(2),console.error("서체 삭제 오류:",e.t0),alert("서체 삭제 중 오류가 발생했습니다.");case 15:case"end":return e.stop()}},e,null,[[2,11]])}));return function(t){return e.apply(this,arguments)}}(),[U,n]);return r.createElement(hae,null,r.createElement(Eae,null,r.createElement(Rae,null,r.createElement("strong",null,"웹폰트 추가 방법:"),r.createElement("br",null),'1. 폰트 이름: 표시될 이름 (예: "오대산체")',r.createElement("br",null),"2. @font-face CSS: 눈누, Google Fonts 등에서 복사한 CSS 코드 전체",r.createElement("br",null),r.createElement("br",null),"💡 font-family는 CSS에서 자동으로 추출됩니다."),r.createElement(I.A,{label:"폰트 이름",name:"name",value:i,onChange:function(e){return c(e.target.value)},placeholder:"오대산체",required:!0}),r.createElement(xae,null,r.createElement(fe.A,{label:"@font-face CSS",name:"cssText",value:s,onChange:function(e){d(e.target.value),y&&g("")},placeholder:"@font-face { font-family: 'MyFont'; src: url('https://example.com/font.woff2') format('woff2'); font-weight: normal; font-display: swap;\n}",minRows:6,maxRows:15,required:!0}),y&&r.createElement(Lae,null,y)),r.createElement(wae,null,r.createElement(h.A,{onClick:z,disabled:m},m?"추가 중...":"+ 서체 추가"))),0===U.length?r.createElement(Pae,null,"추가된 커스텀 서체가 없습니다.",r.createElement("br",null),"위 폼을 사용하여 새 서체를 추가해보세요."):r.createElement(Aae,null,U.map(function(e){return r.createElement(Cae,{key:e.id},r.createElement(kae,null,r.createElement(Iae,null,e.name,r.createElement(Tae,null,"커스텀")),r.createElement(jae,{fontFamily:e.fontFamily},"가나다라마바사 ABCDEFG 1234567890"),r.createElement(Do.A,{icon:"Edit18",onClick:function(){return B(e)}}),r.createElement(Do.A,{icon:"Trash18",onClick:function(){return H(e.id)}})),E===e.id&&r.createElement(Sae,null,r.createElement(I.A,{label:"폰트 이름",name:"editName",value:A,onChange:function(e){return C(e.target.value)},placeholder:"폰트 이름",required:!0}),r.createElement(fe.A,{label:"@font-face CSS",name:"editCssText",value:S,onChange:function(e){O(e.target.value),L&&D("")},placeholder:"@font-face { ... }",minRows:6,maxRows:15,required:!0}),L&&r.createElement(Lae,null,L),r.createElement(Oae,null,r.createElement(h.A,{shape:"stroke",onClick:F,disabled:P},"취소"),r.createElement(h.A,{onClick:G,disabled:P},P?"저장 중...":"저장"))))})))};function Uae(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var Mae,Nae,zae=C.Ay.div(pae||(pae=Uae(["\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  width: 100%;\n  max-width: 1200px;\n  padding: 34px 16px;\n"]))),Bae=C.Ay.div(vae||(vae=Uae(["\n  ","\n  padding: 24px;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"])),GN.BA),Fae=C.Ay.h2(yae||(yae=Uae(["\n  font-size: 20px;\n  font-weight: 700;\n  color: var(--textColor);\n  margin: 0;\n"]))),Gae=C.Ay.div(gae||(gae=Uae(["\n  background: rgba(239, 68, 68, 0.1);\n  border: 1px solid rgba(239, 68, 68, 0.3);\n  border-radius: 8px;\n  padding: 16px;\n  color: #dc2626;\n  font-size: 14px;\n  line-height: 1.6;\n\n  strong {\n    font-weight: 700;\n  }\n"]))),Hae=C.Ay.p(bae||(bae=Uae(["\n  font-size: 14px;\n  color: var(--subTextColor);\n  line-height: 1.6;\n  margin: 0;\n"]))),$ae=function(){return r.createElement(zae,null,r.createElement(Bae,null,r.createElement(Fae,null,"⚠️ 라이선스 안내"),r.createElement(Gae,null,r.createElement("strong",null,"웹폰트 사용 시 반드시 라이선스를 확인하세요"),r.createElement("br",null),r.createElement("br",null),"- 상업적 사용이 가능한 폰트인지 확인이 필요합니다.",r.createElement("br",null),"- 무료 폰트라도 웹폰트 사용이 제한될 수 있습니다.",r.createElement("br",null),"- 부적절한 라이선스 사용으로 인한 법적 분쟁에 대해 코드 관리자는 책임지지 않습니다.",r.createElement("br",null),r.createElement("br",null),r.createElement("strong",null,"권장 출처:")," Google Fonts, 눈누 (상업용 무료), Adobe Fonts 등")),r.createElement(B
1ae,null,r.createElement(Fae,null,"기본 제공 서체 목록"),r.createElement(Hae,null,"아래 서체들은 기본으로 제공되며 수정할 수 없습니다.",r.createElement("br",null),"테마 설정에서 이 서체들을 선택하여 사용할 수 있습니다."),r.createElement(nae,null)),r.createElement(Bae,null,r.createElement(Fae,null,"커스텀 서체 관리"),r.createElement(Hae,null,"직접 웹폰트 링크를 추가하여 사용할 수 있습니다.",r.createElement("br",null),"추가한 서체는 테마 설정에서 선택할 수 있습니다."),r.createElement(Dae,null)))};function Vae(e){return function(e){if(Array.isArray(e))return Wae(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Wae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wae(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var qae={DEFAULT:"default",EXPEND:"expend"};function Kae(e,t){return e.boardSet.some(function(e){return e.typeName===t})}var Yae=(_ae(Mae={},Mi.Ef.TIMELINE,"타임라인"),_ae(Mae,Mi.Ef.POSTING,"포스팅"),_ae(Mae,Mi.Ef.GUESTBOOK,"방명록"),_ae(Mae,Mi.Ef.THREADS,"스레드"),_ae(Mae,Mi.Ef.WIKI,"위키"),Mae);function Jae(e){var t;return null!==(t=Yae[e])&&void 0!==t?t:Zae(e).replace("형","")}var Qae=(_ae(Nae={},Mi.Ef.TIMELINE,{getContents:function(e){return r.createElement(Vte,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.DEFAULT,subSections:[{title:"업로드 기능 설정",viewTab:"postSetting",aliases:["타임라인 업로드","포스팅 설정","글 설정"]},{title:"댓글 옵션 설정",viewTab:"commentSetting",aliases:["타임라인 댓글","댓글 설정","코멘트"]},{title:"액션 결과 카드 디자인",viewTab:"resultDesign",aliases:["결과 카드","럭키드로우 결과"]}],aliases:["타임라인","timeline","연표"]}),_ae(Nae,Mi.Ef.POSTING,{getContents:function(e){return r.createElement(Wte,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.DEFAULT,subSections:[{title:"댓글 옵션 설정",viewTab:"commentSetting",aliases:["포스팅 댓글","포스팅 코멘트"]}],aliases:["포스팅","posting","게시글"]}),_ae(Nae,Mi.Ef.GUESTBOOK,{getContents:function(e){return r.createElement(_te,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.DEFAULT,subSections:[{title:"업로드 기능 설정",viewTab:"postSetting",aliases:["방명록 업로드","방명록 글 설정"]},{title:"댓글 옵션 설정",viewTab:"commentSetting",aliases:["방명록 댓글","방명록 코멘트"]}],aliases:["방명록","guestbook","방문록"]}),_ae(Nae,Mi.Ef.THREADS,{getContents:function(e){return r.createElement(qte,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.DEFAULT,subSections:[{title:"업로드 기능 설정",viewTab:"postSetting",aliases:["스레드 업로드","스레드 글 설정"]},{title:"타래(답글) 옵션 설정",viewTab:"replySetting",aliases:["타래","답글","스레드 댓글","reply"]},{title:"용량 관리",viewTab:"storageManagement",aliases:["용량","저장소","storage"]}],aliases:["스레드","thread","쓰레드"]}),_ae(Nae,Mi.Ef.WIKI,{getContents:function(e){return r.createElement($te,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.DEFAULT,subSections:[{title:"위키 관리",viewTab:"book",aliases:["위키","wiki book","위키 카테고리","분류","category","위키 페이지","해금 조건","unlock"]},{title:"기본 설정",viewTab:"default",aliases:["위키 설정","명칭","활성화"]}],aliases:["위키","wiki","서고","도감"]}),_ae(Nae,Mi.Ef.CALENDAR,{getContents:function(e){return r.createElement(Jte,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.DEFAULT,subSections:[{title:"캘린더 연동",viewTab:"integration",aliases:["구글 캘린더","Google Calendar","google","연동"]}],aliases:["캘린더","calendar","일정","구글 캘린더"]}),_ae(Nae,Mi.Ef.PHOTOCARD,{getContents:function(e){return r.createElement(Kte,{boardPath:e.path,boardLabel:Jae(e.typeName)})},status:qae.EXPEND,aliases:["포토카드","photocard","카드","프로필 카드"]}),_ae(Nae,Mi.Ef.STICKERBOARD,{getContents:function(e){return r.createElement(Yte,{boardPath:e.path})},status:qae.EXPEND,aliases:["스티커보드","stickerboard","스티커 게시판"]}),_ae(Nae,Mi.Ef.FORM,{getContents:function(){return r.createElement(Zte,null)}
1,status:qae.EXPEND,aliases:["폼","form","신청서","설문"]}),_ae(Nae,Mi.Ef.CALCULATE,{getContents:function(){return r.createElement(Qte,null)},status:qae.EXPEND,aliases:["정산","calculate","회계","계산"]}),Nae);function Zae(e){var t=Object.keys(Mi.Ef).find(function(t){return Mi.Ef[t]===e});return t&&Mi.E1[t]||e}var Xae={"멤버":[{title:"멤버 관리",status:qae.DEFAULT,path:hs.Gl.MemberManagement,contents:r.createElement(bte,null),id:"member-management",aliases:["회원","유저","멤버","member","user","회원 관리","유저 관리"]},{title:"멤버 권한 관리",status:qae.DEFAULT,path:hs.Gl.MemberAuth,contents:r.createElement(xte,null),id:"member-auth",aliases:["권한","역할","role","접근","관리자","auth"]},{title:"타이틀 관리",status:qae.DEFAULT,path:hs.Gl.MemberTitle,contents:r.createElement(hte,null),id:"member-title-management",aliases:["칭호","배지","title","badge","멤버 타이틀"]},{title:"유저 계정 탭 관리",status:qae.DEFAULT,path:hs.Gl.UserAccountTab,contents:r.createElement(Ete,null),id:"user-account-tab",aliases:["계정","프로필 탭","마이페이지","유저 탭","account","tab"]}],"홈페이지 설정":[{title:"기본 설정",status:qae.DEFAULT,path:hs.Gl.Homepage,contents:r.createElement(Pte,null),id:"homepage-settings",aliases:["홈페이지","기본","homepage","사이트 설정","로그인"],subSections:[{title:"홈페이지 기본 설정",anchorId:"sec-homepage-basic",aliases:["홈페이지 정보","basic"]},{title:"페이지 이펙트",anchorId:"sec-page-effect",aliases:["효과","페이지 효과","page effect"]},{title:"로그인 설정",anchorId:"sec-login-setting",aliases:["로그인","login","비회원"]},{title:"업데이트 알림",anchorId:"sec-update-notification",aliases:["업데이트","공지","update"]}]},{title:"디자인 설정",status:qae.DEFAULT,path:hs.Gl.HomepageDesign,contents:r.createElement(Tte,null),id:"design-settings",aliases:["디자인","테마","색상","design","theme","색깔","스타일","배경색"],subSections:[{title:"배경 디자인",viewTab:"background",aliases:["배경","background","배경색"]},{title:"폰트 디자인",viewTab:"font",aliases:["폰트","font","글꼴"]},{title:"버튼 디자인",viewTab:"button",aliases:["버튼","button"]},{title:"카드 디자인",viewTab:"card",aliases:["카드","card"]},{title:"컬러 & Primary",viewTab:"primary",aliases:["컬러","색상","포인트 색상","color"]},{title:"로딩 디자인",viewTab:"loading",aliases:["로딩","loading","스피너"]},{title:"화살표 버튼 디자인",viewTab:"arrowButton",aliases:["화살표","뒤로가기","arrow"]}]},{title:"메뉴 관리",status:qae.DEFAULT,path:hs.Gl.Board,contents:r.createElement(Rte,null),id:"menu-settings",aliases:["게시판","메뉴","네비","내비게이션","menu","board","nav"]},{title:"대문 페이지",status:qae.EXPEND,path:hs.Gl.GatePage,contents:r.createElement(Ite,null),id:"front-page",needsFeature:!a.l.gatePage,aliases:["대문","게이트","입장","gate","잠금","비밀번호"]},{title:"홈페이지 테마 관리",status:qae.EXPEND,path:hs.Gl.ThemaManager,contents:r.createElement(Lte,null),id:"theme-manager",needsFeature:!a.l.themeManager,aliases:["테마","스킨","theme","skin","프리셋"]},{title:"알림 설정",status:qae.DEFAULT,path:hs.Gl.NotificationSetting,contents:r.createElement(yne,null),id:"notification-setting",aliases:["알림","푸시","notification","push","공지 알림"],subSections:[{title:"관리자 알림 수신",viewTab:"master",anchorId:"sec-master-notification",aliases:["관리자 알림","master"]},{title:"알림 사운드 설정",viewTab:"sound",aliases:["알림음","알림 소리","sound"]}]}],"이펙트 & 연출":[{title:"BGM 음악 설정",status:qae.DEFAULT,path:hs.Gl.Music,contents:r.createElement(Ute,null),id:"music-settings",aliases:["bgm","음악","배경음악","music","주크박스","jukebox","노래"],subSections:[{title:"주크박스 설정",anchorId:"sec-jukebox-setting",aliases:["bgm 설정","음악 설정"]},{title:"음악 목록",anchorId:"sec-jukebox-list",aliases:["음악 리스트","노래 목록"]},{title:"주크박스 디자인",anchorId:"sec-jukebox-design",aliases:["플레이어 디자인","커스텀 플레이어","bgm 디자인","커스텀 디자인","jukebox 디자인"]}]},{title:"마우스 이펙트",status:qae.EXPEND,path:hs.Gl.Mouse,contents:r.createElement(Nte,null),id:"mouse-settings",needsFeature:!(a.l.cursorCustom||a.l.clickEffect),aliases:["마우스","커서","클릭","mouse","cursor","click","이펙트"],subSections:[{title:"커서 커스텀",anchorId:"sec-cursor-custom",aliases:["커서 변경","cursor custom"]},{title:"클릭 이펙트",anchorId:"sec-click-effect",aliases:["클릭 효과","click effect"]}]},{title:"배경 이펙트",status:qae.EXPEND,path:hs.Gl.Backgroun
1dEffect,contents:r.createElement(zte,null),id:"background-effect",needsFeature:!(a.l.backgroundEffect||a.l.shootingStar),aliases:["배경","이펙트","background","effect","파티클","별똥별","눈"],subSections:[{title:"배경 이펙트",anchorId:"sec-background-effect",aliases:["파티클","particle"]},{title:"별똥별",anchorId:"sec-shooting-star",aliases:["유성","shooting star","별"]}]},{title:"사운드 이펙트",status:qae.DEFAULT,path:hs.Gl.SoundEffect,contents:r.createElement(Mte,null),id:"sound-effect",aliases:["사운드","효과음","sound","sfx","소리"]}],"콘텐츠 도구":[{title:"해시태그 관리",status:qae.DEFAULT,path:hs.Gl.BoardTag,contents:r.createElement(Bte,null),id:"board-tag",aliases:["태그","해시태그","tag","hashtag","카테고리"]},{title:"이모티콘",status:qae.DEFAULT,path:hs.Gl.Emoticon,contents:r.createElement(Fte,null),id:"emoticon-settings",aliases:["이모티콘","이모지","emoticon","emoji","스티커"]},{title:"문의 창구",status:qae.DEFAULT,path:hs.Gl.SupportDeskSetting,contents:r.createElement(Gte,null),id:"support-desk",aliases:["문의","문의 창구","고객센터","시스템 관리자","시스템 문의","support","desk"]},{title:"커스텀 봇",status:qae.EXPEND,path:hs.Gl.CustomBot,contents:r.createElement(xre,null),id:"custom-bot-settings",needsFeature:!a.l.customBot,aliases:["봇","자동화","bot","custom bot","자동 답변"]},{title:"폰트 관리",status:qae.EXPEND,path:hs.Gl.FontManager,contents:r.createElement($ae,null),id:"font-manager",aliases:["폰트","글꼴","font","글자체"]},{title:"팝업 목록 관리",status:qae.DEFAULT,path:hs.Gl.PopupManagement,contents:r.createElement(vne,null),id:"popup-management",aliases:["팝업","popup","공지 팝업","모달"]}],"메인 홈":[{title:"메인 레이아웃",status:qae.DEFAULT,path:hs.Gl.MainHome,contents:r.createElement(wte,null),id:"main-home-layout",aliases:["메인","레이아웃","layout","홈 디자인","로고","main home","스탠딩","스탠딩 캐릭터","standing","standing character","캐릭터","메인 캐릭터","gameui 캐릭터"],subSections:[{title:"메인 홈 레이아웃",viewTab:"mainHomeLayoutSec",anchorId:"sec-main-layout",aliases:["레이아웃 설정","layout"]},{title:"스탠딩 캐릭터 (기본값)",viewTab:"mainHomeLayoutSec",anchorId:"sec-standing-character",aliases:["스탠딩","스탠딩 캐릭터","standing","standing character","캐릭터","메인 캐릭터","gameui 캐릭터","기본 캐릭터"]},{title:"디자인 상세 설정",viewTab:"customDesignDetail",anchorId:"sec-custom-design",aliases:["디자인 상세","custom design"]},{title:"메인 로고",viewTab:"mainhomeLogoSec",anchorId:"sec-main-logo",aliases:["로고","logo"]}]},{title:"메인 공지",status:qae.DEFAULT,path:hs.Gl.Notice,contents:r.createElement(Ate,null),id:"main-notice",aliases:["공지","공지사항","notice","메인 공지"]},{title:"배너",status:qae.DEFAULT,path:hs.Gl.BannerEdit,contents:r.createElement(Cte,null),id:"banner-edit",aliases:["배너","banner","광고","이미지 배너"]},{title:"슬라이드 편집",status:qae.DEFAULT,path:hs.Gl.Slider,contents:r.createElement(kte,null),id:"slider-edit",aliases:["슬라이드","슬라이더","slide","slider","캐러셀"]},{title:"전체 페이지 스티커",status:qae.DEFAULT,path:hs.Gl.StickerSetting,contents:r.createElement(Ste,null),id:"sticker-setting",needsFeature:!Kae(a.l,Mi.Ef.STICKERBOARD),aliases:["스티커","sticker","꾸미기","데코"]},{title:"위젯",status:qae.EXPEND,path:hs.Gl.WidgetManagement,contents:r.createElement(Ote,null),id:"d-day-widget",aliases:["위젯","widget","사이드바"],subSections:[{title:"이웃 방문 위젯",anchorId:"sec-neighbor-widget",aliases:["이웃","neighbor","방문자"]},{title:"디데이 위젯",anchorId:"sec-dday-widget",aliases:["d-day","dday","디데이","카운트다운","countdown"]}]},{title:"시메지 관리",status:qae.EXPEND,path:hs.Gl.Simeji,contents:r.createElement(jte,null),id:"simeji-page",needsFeature:!a.l.simeji,aliases:["시메지","simeji","캐릭터","마스코트","미니 캐릭터"]}],"게시판별 기능":[{title:"쓰기/댓글 권한 설정",status:qae.DEFAULT,path:hs.Gl.BoardWritePermission,contents:r.createElement(Hte,null),id:"board-write-permission",aliases:["권한","쓰기 권한","댓글 권한","permission","게시판 권한","쓰기","댓글"]}].concat(Vae(function(e){var t={},n={};e.forEach(function(e){var n,r=Qae[e.typeName];r&&(r.shouldShow&&!r.shouldShow()||(t[e.typeName]=(null!==(n=t[e.typeName])&&void 0!==n?n:0)+1))});var r=[];return e.forEach(function(e){var a,l,o,i=Qae[e.typeName];if(i&&(!i.shouldShow||i.shouldShow())){var c=Zae(e.typeName),u=(null!==(a=t[e.typeName])&&void 0!==a?a:0)>1;n[e.typeName]=(null!==(l=n[e.typeName])&&void 0!==l?l:0)+1;var s=n[e.typeName],d=u&&s>1?"".concat(c).concat(s):c,f=u&&s>1?["".concat(c).concat(s)]:[];r.push({title:d,id:"".concat(e.path,"-setting"),path:"".concat(e.path,"-setting"),status:i.status,contents:i.getContents(e),subSections:i.subSections,aliases:[].concat(Vae(null!==(o=i.aliases)&&void 0!==o?o:[]),f)})}}),r}(a.l.boardSet))),"재화 & 아이템":[{title:"재화 관리",status:qae.DEFAULT,path:hs.Gl.CurrencyManager,contents:r.createElement(ene,null),id:"currency-item",needsFeature:!Kae(a.l,Mi.Ef.STORE),aliases:["재화","포인트","골드","currency","gold","코인","재화 관리"],subSections:[{title:"지급하기",viewTab:"payment",aliases:["지급","지급하기","재화 지급","아이템 지급","골드 지급","멤버 지급","지급 히스토리","payment"]},{title:"공통 재화 설정",viewTab:"common",aliases:["재화","기본 설정","재화 기본 설정","공통 재화","공통 재화 설정","재화 단위","재판매","스토어 레이아웃","common"]}]},{title:"아이템 관리",status:qae.DEFAULT,path:hs.Gl.ItemManagement,contents:r.createElement(Xte,null),id:"item-management",needsFeature:!Kae(a.l,Mi.Ef.STORE),aliases:["아이템","item","상점","스토어","store"]},{title:"npc관리",status:qae.DEFAULT,path:hs.Gl.NPCManager,contents:r.createElement(tne,null),id:"npc-manage",needsFeature:!Kae(a.l,Mi.Ef.STORE),aliases:["npc","상점 npc","캐릭터 npc"]},{title:"구매 히스토리",status:qae.DEFAULT,path:hs.Gl.ParchaseHistory,contents:r.createElement(nne,null),id:"parchase-history",needsFeature:!Kae(a.l,Mi.Ef.STORE),aliases:["구매","결제","구매 내역","purchase","history","거래"]},{title:"랜덤 뽑기",status:qae.DEFAULT,path:hs.Gl.RandomDraw,contents:r.createElement(rne,null),id:"random-draw",needsFeature:!Kae(a.l,Mi.Ef.STORE),aliases:["뽑기","가챠","gacha","random","랜덤","뽑기함"]}],"커뮤니티 기능":[{title:"캐릭터 패널",status:qae.DEFAULT,path:hs.Gl.CommunityManager,contents:r.createElement(ane,null),id:"community-design",aliases:["캐릭터","패널","panel","캐릭터 카드","커뮤니티"]},{title:"캐릭터별 상태",status:qae.DEFAULT,path:hs.Gl.CharacterStatusEffect,contents:r.createElement(gne,null),id:"character-status-effect",needsFeature:!a.l.photocardThemeSet,aliases:["캐릭터 상태","상태 이상","상태이상","아이콘","status effect","character status"]},{title:"펫 시스템",status:qae.EXPEND,path:hs.Gl.PetSystem,contents:r.createElement(cne,null),id:"pet-system",needsFeature:!a.l.petSystem,aliases:["펫","pet","동물","반려동물"]},{title:"조사 & 탐색",status:qae.EXPEND,path:hs.Gl.Exploration,contents:r.createElement(fne,null),id:"exploration",needsFeature:!a.l.explorationSystem,aliases:["조사","탐색","exploration","탐험","탐구"],subSections:[{title:"탐색 포인트",viewTab:"explorationPoint",aliases:["포인트","탐색 포인트","point"]},{title:"조사 아이템",viewTab:"investigationItem",aliases:["조사 아이템","item"]},{title:"타임라인 조사 기능",viewTab:"investigationCondition",aliases:["조사 조건","조사 기능","condition"]},{title:"조사 텍스트 관리",viewTab:"investigationText",aliases:["조사 텍스트","텍스트 관리","text"]}]},{title:"월드맵 관리",status:qae.EXPEND,path:hs.Gl.MapManagement,contents:r.createElement(dne,null),id:"map-management",needsFeature:!Kae(a.l,Mi.Ef.WORLDMAP),aliases:["월드맵","맵","worldmap","map","지도"]},{title:"퀘스트 관리",status:qae.EXPEND,path:hs.Gl.Quest,contents:r.createElement(mne,null),id:"quest",needsFeature:!Kae(a.l,Mi.Ef.QUEST),aliases:["퀘스트","quest","임무","미션","mission"]},{title:"베팅 관리",status:qae.EXPEND,path:hs.Gl.Betting,contents:r.createElement(pne,null),id:"betting",needsFeature:!Kae(a.l,Mi.Ef.BETTING),aliases:["베팅","betting","내기","도박"]}],"전투 시스템":[{title:"스탯",status:qae.EXPEND,path:hs.Gl.Status,contents:r.createElement(lne,null),id:"stats",needsFeature:!a.l.status,al
1iases:["스탯","능력치","stat","status","스테이터스"]},{title:"스킬",status:qae.DEFAULT,path:hs.Gl.Skills,contents:r.createElement(one,null),id:"skills",needsFeature:!a.l.status,aliases:["스킬","skill","기술","능력"]},{title:"장비",status:qae.DEFAULT,path:hs.Gl.EquipmentSetting,contents:r.createElement(ine,null),id:"equipment",needsFeature:!a.l.status,aliases:["장비","equipment","아이템 장착","무기","방어구"]},{title:"몬스터 관리",status:qae.DEFAULT,path:hs.Gl.Monster,contents:r.createElement(sne,null),id:"monster",needsFeature:!Kae(a.l,Mi.Ef.RAID),aliases:["몬스터","monster","보스","boss","적"]},{title:"전투(레이드)",status:qae.DEFAULT,path:hs.Gl.Battle,contents:r.createElement(une,null),id:"battle",needsFeature:!Kae(a.l,Mi.Ef.RAID),aliases:["전투","레이드","battle","raid","배틀"]}],"기타 작업":[{title:"디엠 관리자",status:qae.EXPEND,path:hs.Gl.DmAdmin,contents:r.createElement(hne,null),id:"dm-admin",aliases:["디엠","dm","관리자 모드","디엠 관리자","admin history","관리자 모드 표시"]},{title:"API 연동",status:qae.DEFAULT,path:hs.Gl.ApiIntegration,contents:r.createElement(xne,null),id:"api-integration",aliases:["api","API","외부 연동","연동","key","레이드","raid"]},{title:"전체 데이터 백업",status:qae.DEFAULT,path:hs.Gl.BackupData,contents:r.createElement(Ene,null),id:"backup-data",aliases:["백업","backup","내보내기","export","다운로드","zip","데이터 백업"]},{title:"전체 데이터 삭제",status:qae.EXPEND,path:hs.Gl.DeleteAllPosting,contents:r.createElement(bne,null),id:"delete-all-posting",aliases:["삭제","초기화","delete","데이터 삭제","전체 삭제"]}]}},26901:function(e,t,n){n.d(t,{A:function(){return he}}),n(12064),n(44465),n(31863),n(3940),n(32145),n(74277),n(61445),n(57045),n(65114),n(32242),n(60039),n(75868),n(42652),n(4031),n(80545),n(43465),n(33001),n(51163),n(82758),n(43732),n(85062),n(86608);var r,a,l,o,i,c,u,s,d,f,m,p,v,y,g,b,h,E=n(37953),x=n(84136),w=(n(82106),n(94513),n(98832),n(90252),n(97152),n(15548)),A=n(3935),C=n(79661),k=n(94330),S=n(80762),O=n(40778),I=n(48189),j=n(14375),P=n(1731),T=n(29081),R=n(5676),L=n(2122),D=n(6737);function U(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||N(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var F,G,H=x.Ay.div(r||(r=B(["\n  width: 100%;\n  height: 100%;\n  min-height: 0;\n  display: flex;\n  flex-direction: column;\n  border-right: 1px solid var(--lineColor);\n  overflow: hidden;\n"]))),$=x.Ay.div(a||(a=B(["\n  width: 100%;\n  flex: 1;\n  min-height: 0;\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n  align-items: center;\n  overflow-y: auto;\n  padding: 12px 10px 16px;\n  gap: 2px;\n  overflow-x: hidden;\n  ","\n  @media (max-width: 480px) {\n    padding: 10px 8px;\n  }\n"])),j.kM),V=x.Ay.div(l||(l=B(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding-bottom: 10px;\n  margin-bottom: 4px;\n"]))),W=x.Ay.div(o||(o=B(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr auto;\n  align-items: center;\n  ","\n  padding: 7px 10px;\n  gap: 6px;\n"])),P.vf),_=x.Ay.button(i||(i=B(["\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 2px;\n  border-radius: 4px;\n  opacity: 0.5;\n  transition: opacity 0.15s;\n\n  &:hover {\n    opacity: 1;\n  }\n"]))),q=x.Ay.input(c||(c=B(["\n  width: 100%;\n  background: transparent;\n  border: none;\n  outline: none;\n  font-size: 13px;\n  color: var(--textColor);\n\n  &::placeholder {\n    color: var(--subTextColor);\n  }\n"]))),K=x.Ay.button(u||(u=B(["\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 11px 10px;\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n  background: transparent;\n  border: none;\n  border-radius: 8px;
1\n  cursor: var(--hoverCursorURL), pointer;\n  transition: background-color 0.15s;\n\n  &:hover {\n    background-color: var(--inkColor);\n  }\n\n  &:hover .arrow-icon {\n    opacity: 0.8;\n  }\n"]))),Y=x.Ay.span(s||(s=B(["\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  opacity: 0.4;\n  transition: transform 0.22s ease, opacity 0.15s;\n  transform: rotate(",");\n"])),function(e){return e.$isOpen?"180deg":"0deg"}),J=x.Ay.span(d||(d=B(["\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n\n  svg {\n    width: 13px;\n    height: 13px;\n    color: var(--subTextColor);\n    opacity: 0.75;\n    flex-shrink: 0;\n  }\n"]))),Q=x.Ay.ul(f||(f=B(["\n  width: 100%;\n"]))),Z=x.Ay.ul(m||(m=B(["\n  position: relative;\n  width: 100%;\n  display: grid;\n  grid-template-rows: ",";\n  transition: grid-template-rows 0.25s ease;\n  margin-left: 12px;\n\n  &::before {\n    content: '';\n    position: absolute;\n    /* 트리 라인 X = padding-left(16px)의 절반 위치 */\n    left: 7px;\n    top: 17px;\n    bottom: 18px;\n    width: 1.5px;\n    background: var(--lineColor);\n    border-radius: 2px;\n    opacity: ",";\n    transition: opacity 0.2s ease;\n    pointer-events: none;\n  }\n"])),function(e){return e.$visible?"1fr":"0fr"},function(e){return e.$visible?"1":"0"}),X=x.Ay.div(p||(p=B(["\n  overflow: hidden;\n  min-height: 0;\n  padding-left: 16px;\n  padding-bottom: 4px;\n"]))),ee=x.Ay.li(v||(v=B(["\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 9px 12px;\n  font-size: 13px;\n  font-weight: 400;\n  color: ",";\n  border-radius: 6px;\n  transition: background-color 0.15s, color 0.15s;\n  margin-right: 16px;\n  opacity: ",";\n  pointer-events: ",";\n\n  &::before {\n    content: '';\n    position: absolute;\n    left: -11px;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 5px;\n    height: 5px;\n    border-radius: 50%;\n    background: var(--lineColor, #fff);\n    transition: background-color 0.15s;\n  }\n\n  &:hover {\n    background-color: var(--inkColor);\n    color: var(--textColor);\n    cursor: var(--hoverCursorURL), pointer;\n\n    &::before {\n      background: var(--primaryColor);\n    }\n  }\n"])),function(e){return e.$disabled?"var(--subTextColor)":"var(--textColor)"},function(e){return e.$disabled?.45:1},function(e){return e.$disabled?"none":"auto"}),te=x.Ay.li(y||(y=B(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 9px 12px;\n  font-size: 13px;\n  font-weight: 400;\n  color: var(--subTextColor);\n  border-radius: 6px;\n  transition: background-color 0.15s, color 0.15s;\n  opacity: ",";\n  pointer-events: ",";\n\n  &::before {\n    content: '';\n    display: inline-block;\n    width: 5px;\n    height: 5px;\n    border-radius: 50%;\n    background: var(--subTextColor);\n    opacity: 0.3;\n    flex-shrink: 0;\n    transition: opacity 0.15s;\n  }\n\n  &:hover {\n    background-color: var(--inkColor);\n    color: var(--textColor);\n    cursor: var(--hoverCursorURL), pointer;\n\n    &::before {\n      opacity: 0.7;\n    }\n  }\n"])),function(e){return e.$disabled?.45:1},function(e){return e.$disabled?"none":"auto"}),ne=x.Ay.li(g||(g=B(["\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 9px 12px;\n\n  &::before {\n    content: '';\n    position: absolute;\n    left: -11px;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 5px;\n    height: 5px;\n    border-radius: 50%;\n    background: var(--lineColor, #fff);\n    transition: background-color 0.15s;\n    opacity: 0.35;\n  }\n\n  span {\n    font-size: 13px;\n    color: var(--subTextColor);\n    opacity: 0.4;\n  }\n"]))),re=x.Ay.div(b||(b=B(["\n  width: 100%;\n  font-size: 11px;\n  font-weight: 600;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  color: var(--subTextColor);\n  padding: 4px 8px 8px;\n  opacity: 0.55;\n"]))),ae=x.Ay.div(h||(h=B(["\n  width: 100%;\n  padding: 28px 12px;\n  font-size: 13px;\n  color: var(--subTextColor);\n  text-align: center;\n  opacity: 0.55;\n"]))),le={"멤버":L.gdJ,"홈페이지 설정":L.muz,"이펙트 & 연출":L.Ys0,"콘텐츠 도구":L.JV0,"메인 홈":L.qIE,"게시판별 기능":L.UNK,"재화 & 아이템":L.wq_,"커뮤니티 기능":L.q9p,"전투 시스템":L.fLc,"위험 작업":L.JAe,"알림":L.z$e,"설정":L.BH7},oe=function(e){var t=e.mapList,n=(0,w.Zp)(),r=M((0,C.L4)(k.wS),2),a=r[0],l=r[1],o=(0,C.vc)(O.ef),i=(0,C.lZ)(O.Mt),c=(0,C.lZ)(k.Pk),u=(0,C.lZ)(k.EI),s=M((0,E.useState)(""),2),d=s[0],f=s[1],m=(0,E.useMemo)(function(){return Object.keys(t)},[t]),p=M((0,E.useState)(function(){return new Set(m)}),2),v=p[0],y=p[1],g=d.trim().length>0,b=(0,E.useCallback)(function(e){y(function(t){var n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=(0,E.useCallback)(function(e){var t=d.trim().toLowerCase();return e.some(function(e){return null==e?void 0:e.toLowerCase().includes(t)})},[d]),x=(0,E.useMemo)(function(){if(!g)return[];var e=[];
1return Object.entries(t).forEach(function(t){M(t,2)[1].forEach(function(t){var n,r;t.hidden||(h([t.title].concat(U(null!==(n=t.aliases)&&void 0!==n?n:[])))&&e.push({type:"menu",label:t.title,path:t.path,needsFeature:t.needsFeature}),null===(r=t.subSections)||void 0===r||r.forEach(function(n){var r;h([n.title].concat(U(null!==(r=n.aliases)&&void 0!==r?r:[])))&&e.push({type:"sub",label:n.title,path:t.path,anchorId:n.anchorId,viewTab:n.viewTab,needsFeature:t.needsFeature})}))})}),e},[t,g,h]),j=(0,E.useCallback)(function(e){n(e.path),e.anchorId&&c(e.anchorId),e.viewTab&&u(e.viewTab),f("")},[n,c,u]),P=(0,E.useCallback)(function(e){n(e)},[n]);return E.createElement(H,null,E.createElement($,null,E.createElement(V,null,E.createElement(S.A,{onClick:function(){l(function(e){return!e}),i(a?I.sr.UNSET:o)},size:"sm",shape:"stroke",block:!0,icon:"LeftArrowO"},"메뉴 보이기"),E.createElement(W,null,E.createElement(q,{type:"text",placeholder:"설정 검색...",value:d,onChange:function(e){return f(e.target.value)}}),d?E.createElement(_,{onClick:function(){return f("")}},E.createElement(T.A,{name:"X14"})):E.createElement(T.A,{name:"Search14"}))),g?E.createElement("div",{style:{width:"100%"}},0===x.length?E.createElement(ae,null,"검색 결과 없음"):E.createElement(E.Fragment,null,E.createElement(re,null,x.length,"건"),E.createElement("ul",{style:{width:"100%"}},x.map(function(e,t){return"menu"===e.type?E.createElement(A.A,{key:t,message:e.needsFeature?"추가 기능 필요":"",direction:"top"},E.createElement(ee,{$disabled:e.needsFeature,onClick:e.needsFeature?void 0:function(){return j(e)}},e.label)):E.createElement(A.A,{key:t,message:e.needsFeature?"추가 기능 필요":"",direction:"top"},E.createElement(te,{$disabled:e.needsFeature,onClick:e.needsFeature?void 0:function(){return j(e)}},e.label))})))):Object.entries(t).map(function(e){var t,n=M(e,2),r=n[0],a=n[1],l=!v.has(r),o=a.filter(function(e){return!e.hidden}),i=null!==(t=le[r])&&void 0!==t?t:L.gDf;return 0===o.length?null:E.createElement(Q,{key:r},E.createElement(K,{$isOpen:l,onClick:function(){return b(r)}},E.createElement(J,null,E.createElement(R.g,{icon:i}),r),E.createElement(Y,{className:"arrow-icon",$isOpen:l},E.createElement(T.A,{name:"ArrowDown12"}))),E.createElement(Z,{$visible:l},E.createElement(X,null,o.map(function(e,t){return e.needsFeature?E.createElement(ne,{key:t},E.createElement(A.A,{message:"추가 기능 필요",direction:"top"},E.createElement("span",null,e.title))):E.createElement(ee,{key:t,onClick:function(){return P(e.path)}},e.title)}))))})),E.createElement(D.A,{variant:"compact"}))},ie=n(91113),ce=n(92284),ue=n(79883),se=n(83483),de=n(46564),fe=n(71361);function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function pe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ve(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ye(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ge=x.Ay.div(F||(F=ye(["\n  display: grid;\n  grid-template-columns: 210px 1fr;\n  height: 100%;\n  min-height: 0;\n\n  > * {\n    min-height: 0;\n  }\n\n  @media (max-width: 480px) {\n    display: flex;\n  }\n"]))),be=x.Ay.div(G||(G=ye(["\n  ","\n  overflow-y: auto;\n  @media (max-width: 480px) {\n    padding: 16px;\n    width: 100vw;\n    overflow-x: auto;\n  }\n"])),j.kM),he=function(e){var t=e.mapList,n=e.defaultAccessType,r=void 0===n?ce.KC.SECRET:n,a=(0,C.vc)(ue.y0),l=(0,C.vc)(ue.Bs),o=(0,C.vc)(ue.GI),i=(0,w.zy)(),c=pe((0,C.L4)(k.Pk),2),u=c[0],s=c[1],d=(0,E.useRef)(null),f=(0,se.useCollection)(de.p,{listen:!0}).data,m=null==f?void 0:f.find(function(e){var t;return null===(t=e.userIds)||void 0===t?void 0:t.includes(l||"")});(0,E.useEffect)(function(){if(u){var e=setTimeout(function(){var e=document.getElementById(u);e&&e.scrollIntoView({behavior:"smooth",block:"start"}),s(null)},150);return function(){return clearTimeout(e)}}},[i.pathname,u]);var p=(0,E.useMemo)(function(){return function(e){var t=e.settingListMap,n=e.userRole;if(e.isMaster)return t;if(e.userAuthType===fe.Yj.MEMBER){var r={};return Object.entries(t).forEach(function(e){var t,a,l=(a=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,a)||function(e,t){if(e){if("string"==typeof e)return me(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(e,t):void 0}}
1(t,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=l[0],i=l[1].filter(function(e){return e.accessType===ce.KC.MEMBER||!(null==n||!n.allowedSettings)&&n.allowedSettings.includes(e.id)});i.length>0&&(r[o]=i)}),r}return{}}({settingListMap:t,userAuthType:a,userRole:m,isMaster:o})},[t,a,m,o]),v=(0,E.useMemo)(function(){var e={};return Object.entries(p).forEach(function(t){var n=pe(t,2),r=n[0],a=n[1].filter(function(e){return!e.hidden&&!e.needsFeature});a.length>0&&(e[r]=a)}),e},[p]);return E.createElement(ge,null,E.createElement(oe,{mapList:p}),E.createElement(be,{ref:d},E.createElement(w.BV,null,Object.entries(v).map(function(e){return pe(e,2)[1].map(function(e){var t;return E.createElement(w.qh,{key:e.id,path:e.path,element:E.createElement(ie.A,{accessType:null!==(t=e.accessType)&&void 0!==t?t:r},e.contents)})})}))))}},27834:function(e,t,n){n.d(t,{U:function(){return f}}),n(82106),n(79974),n(32145),n(3940),n(74277),n(57045),n(65114),n(32242),n(60039),n(75868),n(42652),n(10475),n(85062),n(3233),n(51163),n(82758),n(20884),n(31863),n(12064),n(2761),n(86608),n(66706),n(61445),n(42575);var r=n(37953),a=n(71553),l=n(11510),o=n(89646),i=["list","handleUpdateOrder","children","collectionPath"];function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e){var t=(0,l.gl)({id:e.id}),n=t.listeners,a=t.attributes,i=t.isDragging,c=t.setNodeRef,s=t.transform,d=t.transition,f={transform:o.Ks.Transform.toString(s),transition:d,cursor:i?"grab":"inherit",zIndex:1},m=e.children,p=e.data;return r.createElement("div",{ref:c,style:f},r.cloneElement(m,u(u(u({},m.props),{},{data:p,setOrderList:e.setOrderList},n),a)))}t.A=function(e){var t,n,o=e.list,c=e.handleUpdateOrder,s=e.children,m=e.collectionPath,p=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,i),v=(t=(0,r.useState)([]),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=v[0],g=v[1];(0,r.useLayoutEffect)(function(){if(o){var e=o.slice();y.length===e.length&&y.every(function(t,n){return t.id===e[n].id})||g(e)}},[o]);var b=(0,a.FR)((0,a.MS)(a.cA,{activationConstraint:{distance:10}}),(0,a.MS)(a.IG,{activationConstraint:{distance:10}}));return r.createElement(r.Fragment,null,r.createElement(a.Mp,{sensors:b,onDragEnd:function(e){var t=e.active,n=e.over;t.id!==n.id&&g(function(e){var r=t.data.current.sortable.index,a=n.data.current.sortable.index,o=(0,l.be)(e,r,a);return c({collectionPath:m,orderList:o}),o})}},r.createElement(l.gB,{items:y.map(function(e){return e.id})},y.map(function(e){return r.createElement(f,{key:e.id,id:e.id,data:e,setOrderList:g},r.cloneElement(s,u({collectionPath:m},p)))}))))}},28933:function(e,t,n){n.d(t,{OB:function(){return m},SZ:function(){return d},tq:function(){return y}}),n(82185),n(62469),n(49374),n(98832),n(3940),n(6110),n(86608),n(77654),n(97152),n(24075),n(66706),n(61445),n(34068),n(12064),n(75868),n(42652),n(32242),n(32145),n(74277),n(57045),n(65114),n(60039);var r=n(59352),a=n(19730),l=n(65664),o=n(51896);function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function u(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){c(l,r,a,o,i,"next",e)}function i(e){c(l,r,a,o,i,"throw",e)}o(void 0)})}}function s(e,t){return e&&"string"==typeof e?e.replace(/\$\{([^}]+)\}/g,function(e,n){var r,a;switch(String(n).trim()){case"나의펫":case"펫이름":return null!==(r=t.myPetName)&&void 0!==r?r:"나의펫";case"상대펫":return null!==(a=t.opponentPetName)&&void 0!==a?a:"상대펫";default:return"${".concat(n,"}")}}):""}function d(){return f.apply(this,arguments)}function f(){return(f=u(regeneratorRuntime.mark(function e(){var t,n,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.fuego.db.collection(a.Gf.PETSETTING).doc("interactions"),e.next=3,t.get().then(function(e){return e.data()});case 3:return n=e.sent,l=(null==n?void 0:n.items)||[],e.abrupt("return",m(l));case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function m(e){var t;if(!Array.isArray(e)||0===e.length)return"";var n,r=e.map(function(e){return Number(null==e?void 0:e.weight)||0}).reduce(function(e,t){return e+t},0)||1,a=Math.random()*r,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];
1if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,l=e},f:function(){try{o||null==n.return||n.return()}finally{if(c)throw l}}}}(e);try{for(l.s();!(n=l.n()).done;){var o=n.value;if((a-=Number(o.weight)||0)<=0)return o.text||""}}catch(e){l.e(e)}finally{l.f()}return(null===(t=e[e.length-1])||void 0===t?void 0:t.text)||""}function p(e){return v.apply(this,arguments)}function v(){return(v=u(regeneratorRuntime.mark(function e(t){var n,l,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.fuego.db.collection(a.Gf.PET).doc(t),e.next=3,n.get();case 3:return l=e.sent,o=l.data(),e.abrupt("return",(null==o?void 0:o.customName)||"나의펫");case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e){return g.apply(this,arguments)}function g(){return(g=u(regeneratorRuntime.mark(function e(t){var n,r,a,i,c,u,f,m;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.customMyPetName,r=t.petID,e.next=3,d();case 3:if(a=e.sent){e.next=7;break}return alert("상호작용 문구가 없습니다. 먼저 문구를 추가하세요."),e.abrupt("return");case 7:return e.next=9,(0,l.A)();case 9:if(i=e.sent,c=(null==i?void 0:i.customName)||"상대펫",e.t0=n,e.t0){e.next=21;break}if(!r){e.next=19;break}return e.next=16,p(r);case 16:e.t1=e.sent,e.next=20;break;case 19:e.t1="나의펫";case 20:e.t0=e.t1;case 21:return u=e.t0,f=s(a,{myPetName:u,opponentPetName:c}),m={id:"".concat((0,o.A)(),"_").concat(Date.now()),message:f,createdAt:new Date},e.abrupt("return",m);case 25:case"end":return e.stop()}},e)}))).apply(this,arguments)}t.Ay=s},29991:function(e,t,n){n(12064),n(44465),n(31863);var r,a,l,o=n(89339),i=n(37953),c=n(84136),u=n(56907),s=c.Ay.div(r||(a=["\n  border-radius: var(--cardBorderRadius);\n  background: var(--backgroundColor);\n  border: 1px solid var(--lineColor);\n  box-shadow: ",";\n  padding: 16px 24px;\n  margin-bottom: 8px;\n"],l||(l=a.slice(0)),r=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(l)}}))),o.A.shadow.card);t.A=function(e){var t=e.text;return(0,u.A)()<480?i.createElement(s,null,t||"⚠️ PC화면에 최적화된 페이지 입니다."):null}},30972:function(e,t,n){n.d(t,{Rd:function(){return r},yp:function(){return a}});var r={weak:{factor:.02,smoothness:.1,maxDistance:30},medium:{factor:.05,smoothness:.15,maxDistance:50},strong:{factor:.1,smoothness:.2,maxDistance:80}},a={weak:"마우스를 살짝 따라다님",medium:"마우스를 적당히 따라다님",strong:"마우스를 적극적으로 따라다님"}},33161:function(e,t,n){n.d(t,{KX:function(){return R},Ki:function(){return I},e4:function(){return P}}),n(82185),n(97152),n(62469),n(55722),n(61445),n(34068),n(65114),n(35827),n(85062),n(43732),n(32242),n(60039),n(86608),n(98832),n(3940),n(66706),n(51163),n(82758),n(80545),n(43465),n(32145),n(74277),n(57045),n(12064),n(75868),n(42652),n(10475),n(82106),n(3233),n(20884),n(31863);var r=n(59352),a=n(81481),l=(n(59807),n(47686)),o=n(75546),i=n(42457),c=n(60111),u=n(21057),s=n(91571),d=n(19411),f=n(24316);function m(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||b(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?p(Object(n),!0).forEach(function(t){y(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||b(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){if(e){if("string"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function E(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function x(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){E(l,r,a,o,i,"next",e)}function i(e){E(l,r,a,o,i,"throw",e)}o(void 0)})}}var w=r.default.firestore(),A=function(){return a.A.firestore.FieldValue.serverTimestamp()};function C(e){return k.apply(this,arguments)}function k(){return(k=x(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.ref,r=t.data,a=Object.fromEntries(Object.entries(r||{}).filter(function(e){var t=g(e,2);return t[0],void 0!==t[1]})),e.abrupt("return",n.add(v(v({},a),{},{createdAt:A(),editedAt:A(),hashtagIdList:[],likeCount:0,retreadCount:0,replyCount:0,quoteCount:0,viewCount:0,bookmarkCount:0,showInMainTimeline:!0,isHotThread:!1,isPinned:!1,status:"ACTIVE"})).then(function(e){return e.id}).catch(function(e){throw console.error("스레드 추가 실패:",e.message),e}));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function S(e,t){return e||t?e?"".concat(e,"/").concat(t):t||"":""}function O(e){return e?e.split("/").length:0}function I(e){return j.apply(this,arguments)}function j(){return j=x(regeneratorRuntime.mark(function e(t){var n,r,a,l,o,m,p,y,b,h,E,k,I,j,P,T,R,L,D,U,M,N,z,B,F,G,H,$,V,W,_;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.data,r=t.collectionPath,a=t.authorUid,l=t.hashtag,o=t.fileList,m=w.collection(r),p=(o||{}).selectedFileList,y=[],!(p&&p.length>0)){e.next=9;break}return e.next=7,Promise.all(p.map(function(){var e=x(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=12;break}return e.prev=1,e.next=4,(0,i.saveAndGetImgURL)(r,t);case 4:return n=e.sent,e.abrupt("return",n);case 8:throw e.prev=8,e.t0=e.catch(1),console.error("이미지 업로드 실패:",e.t0),e.t0;case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}},e,null,[[1,8]])}));return function(t){return e.apply(this,arguments)}}()));case 7:b=e.sent,y=b.filter(Boolean);case 9:if(h=null,k="",I=0,!n.replyToId){e.next=23;break}return e.prev=13,e.next=16,m.doc(n.replyToId).get();
1case 16:(j=e.sent).exists&&(h=j.data(),E=h.rootThreadId||n.replyToId,k=S(h.threadPath,n.replyToId),I=O(k)),e.next=23;break;case 20:e.prev=20,e.t0=e.catch(13),console.error("부모 스레드 조회 실패:",e.t0);case 23:return e.next=25,(0,d.xk)(n.contents||"",!1);case 25:return P=e.sent,T=P.contents,(R=P.botResults)&&console.log("🤖 봇 실행 결과:",R),L=v(v(v(v(v(v(v(v(v(v(v(v(v(v(v(v(v(v(v(v({contents:T.trim(),type:n.type,authorUid:a||"",accessType:n.accessType,imgURLList:y||[],depth:I||0,mentionUserIds:Array.isArray(n.mentionUserIds)?n.mentionUserIds:[]},n.scheduledAt?{scheduledAt:n.scheduledAt}:{}),{},{locationTag:n.locationTag||"",originalThreadId:n.originalThreadId||"",quoteComment:n.quoteComment||""},R?{botResults:R}:{}),n.isSensitiveContents?{isSensitiveContents:n.isSensitiveContents}:{}),n.isCollapseImg?{isCollapseImg:n.isCollapseImg}:{}),n.youtubeURL?{youtubeURL:n.youtubeURL}:{}),n.isItemCraft?{isItemCraft:n.isItemCraft,itemCraftMaterials:n.itemCraftMaterials||[]}:{}),n.isInvestigation?{isInvestigation:n.isInvestigation,investigationAreaId:n.investigationAreaId||"",investigationAreaName:n.investigationAreaName||""}:{}),n.investigationResult?{investigationResult:n.investigationResult}:{}),n.luckyDrawResult?{luckyDrawResult:n.luckyDrawResult}:{}),n.commentType?{commentType:n.commentType}:{}),Array.isArray(n.dice)&&n.dice.length>0?{dice:n.dice}:{}),n.myBattleResult?{myBattleResult:n.myBattleResult}:{}),n.opponentBattleResult?{opponentBattleResult:n.opponentBattleResult}:{}),n.battleOpponentId?{battleOpponentId:n.battleOpponentId}:{}),n.battleMode?{battleMode:n.battleMode}:{}),n.isCommentCollapse?{isCommentCollapse:!0,commentCollapseText:n.commentCollapseText||""}:{}),n.isGift?{isGift:n.isGift}:{}),n.giftResult?{giftResult:n.giftResult}:{}),n.isTitleGift?{isTitleGift:n.isTitleGift}:{}),n.titleGiftResult?{titleGiftResult:n.titleGiftResult}:{}),D=v(v(v(v({},L),n.replyToId?{replyToId:n.replyToId}:{}
1),E?{rootThreadId:E}:{}),k?{threadPath:k}:{}),U=Object.fromEntries(Object.entries(D).filter(function(e){var t=g(e,2);return t[0],void 0!==t[1]})),e.next=34,C({ref:m,data:U});case 34:return M=e.sent,e.next=37,(0,c.HY)({hashtagList:l||[],collectionPath:r,prevHashIdList:[],docId:M});case 37:return N=e.sent,z=v(v({},U),{},{hashtagIdList:N,editedAt:A()}),e.next=41,m.doc(M).set(z,{merge:!0});case 41:if(!n.replyToId||!h){e.next=51;break}return B=a===h.authorUid,F=E||n.replyToId,G={replyCount:(h.replyCount||0)+1,editedAt:A()},B&&F===n.replyToId&&(G.createdAt=A()),e.next=48,m.doc(n.replyToId).update(G);case 48:if(!B||F===n.replyToId){e.next=51;break}return e.next=51,m.doc(F).update({createdAt:A()});case 51:if(H=Array.isArray(n.mentionUserIds)?n.mentionUserIds:[],!($=n.replyToId&&h?h.authorUid:null)||$===a||!n.replyToId){e.next=57;break}return V={type:s.s.REPLY,contents:n.contents,sender:a,receiver:$,createdAt:new Date,collectionPath:r,is_seen:!1,postId:M,targetPath:"/".concat(r,"/").concat(M)},e.next=57,(0,u.z8)({data:V,receiver:$});case 57:if(!(H.length>0)){e.next=63;break}if(!((W=H.filter(function(e){return e!==$&&e!==a})).length>0)){e.next=63;break}return _={type:s.s.TAGGED,contents:n.contents,sender:a,createdAt:new Date,collectionPath:r,is_seen:!1,postId:M,receiver:null},e.next=63,(0,u.sj)({receiverIdList:W,data:_});case 63:return(0,f.F)({collectionPath:r,action:"create",docId:M,patch:v(v({},z),{},{id:M})}),e.abrupt("return",M);case 65:case"end":return e.stop()}},e,null,[[13,20]])})),j.apply(this,arguments)}function P(e){return T.apply(this,arguments)}function T(){return T=x(regeneratorRuntime.mark(function e(t){var n,r,a,o,u,s,d,p,y,b,h,E,C,k,S,O,I,j,P,T,R;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.data,r=t.collectionPath,t.authorUid,a=t.hashtag,o=t.prevHashtag,u=t.editedBy,t.prevEditHistory,s=t.fileList,d=w.collection(r),y=(p=s||{}).selectedFileList,b=p.prevImgURLList,h=void 0===b?[]:b,E=p.removeImgURLList,C=h,!(y&&y.length>0)){e.next=10;break}return e.next=7,Promise.all(y.map(function(){var e=x(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=12;break}return e.prev=1,e.next=4,(0,i.saveAndGetImgURL)(r,t);case 4:return n=e.sent,e.abrupt("return",n);case 8:throw e.prev=8,e.t0=e.catch(1),console.error("이미지 업로드 실패:",e.t0),e.t0;case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}},e,null,[[1,8]])}));return function(t){return e.apply(this,arguments)}}()));case 7:k=e.sent,S=k.filter(function(e){return Boolean(e)}),C=[].concat(m(h),m(S));case 10:return E&&E.length>0&&(E.forEach(function(e){e&&(0,i.deleteImgStorage)(e)}),C=C.filter(function(e){return!E.includes(e)})),e.next=13,(0,c.HY)({hashtagList:a||n.hashtagIdList||[],collectionPath:r,prevHashIdList:o||[],docId:n.id});case 13:if(O=e.sent,I={},!u){e.next=21;break}return e.next=18,d.doc(n.id).get();case 18:j=e.sent,P=j.data(),I={lastEditedBy:u,editHistory:(0,l.D)(null==P?void 0:P.editHistory,u,void 0,n.contents)};case 21:return T=v(v(v(v({contents:n.contents,imgURLList:C,hashtagIdList:O,accessType:n.accessType,status:n.status,isPinned:n.isPinned,showInMainTimeline:n.showInMainTimeline,editedAt:A()},I),void 0!==n.isSensitiveContents?{isSensitiveContents:n.isSensitiveContents}:{}),void 0!==n.isCollapseImg?{isCollapseImg:n.isCollapseImg}:{}),void 0!==n.youtubeURL?{youtubeURL:n.youtubeURL}:{}),R=Object.fromEntries(Object.entries(T).filter(function(e){var t=g(e,2);return t[0],void 0!==t[1]})),e.abrupt("return",d.doc(n.id).update(R).then(function(){(0,f.F)({collectionPath:r,action:"update",docId:n.id,patch:R})}).catch(function(e){throw console.error("스레드 수정 실패:",e.message),e}));case 24:case"end":return e.stop()}},e)})),T.apply(this,arguments)}function R(e){return L.apply(this,arguments)}function L(){return L=x(regeneratorRuntime.mark(function e(t){var n,r,l,u,s,d,m,p,v,y,g,b,h,E,C,k,S;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.threadId,r=t.collectionPath,l=t.hashtagIdList,u=void 0===l?[]:l,s=t.imgURLList,d=void 0===s?[]:s,m=t.cascadeDelete,p=void 0===m||m,v=w.collection(r),e.prev=2,e.next=5,v.doc(n).get();case 5:if((y=e.sent).exists){e.next=8;break}throw new Error("스레드를 찾을 수 없습니다.");
1case 8:if(g=y.data(),!p){e.next=16;break}return e.next=12,v.where("replyToId","==",n).get();case 12:return b=e.sent,h=b.docs.map(function(){var e=x(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.data(),e.abrupt("return",R({threadId:t.id,collectionPath:r,hashtagIdList:n.hashtagIdList||[],imgURLList:n.imgURLList||[],cascadeDelete:!0}));case 2:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()),e.next=16,Promise.all(h);case 16:if((d.length>0?d:g.imgURLList||[]).forEach(function(e){e&&(0,i.deleteImgStorage)(e)}),!((E=u.length>0?u:g.hashtagIdList||[]).length>0)){e.next=22;break}return e.next=22,(0,c.HY)({hashtagList:[],collectionPath:r,prevHashIdList:E,docId:n});case 22:if(!g.replyToId){e.next=36;break}return e.prev=23,e.next=26,v.doc(g.replyToId).get();case 26:if(!(C=e.sent).exists){e.next=31;break}return k=C.data(),e.next=31,v.doc(g.replyToId).update({replyCount:Math.max(0,(k.replyCount||1)-1),editedAt:A()});case 31:e.next=36;break;case 33:e.prev=33,e.t0=e.catch(23),console.error("부모 스레드 답글 수 업데이트 실패:",e.t0);case 36:if(g.type!==o.w0.QUOTE||!g.originalThreadId){e.next=50;break}return e.prev=37,S=v.doc(g.originalThreadId),e.next=41,S.get();case 41:if(!e.sent.exists){e.next=45;break}return e.next=45,S.update({quoteCount:a.A.firestore.FieldValue.increment(-1)});case 45:e.next=50;break;case 47:e.prev=47,e.t1=e.catch(37),console.error("원본 스레드 인용 수 업데이트 실패:",e.t1);case 50:return e.next=52,v.doc(n).delete();case 52:return(0,f.F)({collectionPath:r,action:"delete",docId:n}),console.log("✅ 스레드 삭제 완료: ".concat(n)),e.abrupt("return",!0);case 57:throw e.prev=57,e.t2=e.catch(2),console.error("❌ 스레드 삭제 실패 (".concat(n,"):"),e.t2),e.t2;case 61:case"end":return e.stop()}},e,null,[[2,57],[23,33],[37,47]])})),L.apply(this,arguments)}},35220:function(e,t,n){n.d(t,{gM:function(){return l},p1:function(){return r},yz:function(){return a}});var r={bounce:{y:[0,-20,0,-10,0],transition:{duration:.6,ease:"easeOut"}},shake:{x:[0,-10,10,-10,10,-5,5,0],transition:{duration:.5}},rotate:{rotate:[0,360],transition:{duration:.6,ease:"easeInOut"}},pulse:{scale:[1,1.2,1,1.1,1],transition:{duration:.6}},flip:{rotateY:[0,180,360],transition:{duration:.6}},swing:{rotate:[0,8,-8,6,-6,4,-4,2,-2,0],transformOrigin:"top center",transition:{duration:1.5,ease:"easeInOut",times:[0,.1,.2,.3,.4,.5,.6,.7,.8,1]}},none:{}},a={none:"없음",bounce:"🦘 통통",shake:"🤝 흔들",rotate:"🌀 회전",pulse:"💓 펄스",flip:"🔄 뒤집",swing:"🎪 매달림"},l={none:"모션 효과 없음",bounce:"위아래로 통통 튀는 효과",shake:"좌우로 흔들리는 효과",rotate:"360도 회전 효과",pulse:"크기가 커졌다 작아지는 효과",flip:"좌우 반전 효과",swing:"키링처럼 달랑거리는 효과"}},40213:function(e,t,n){n.d(t,{SW:function(){return g},fV:function(){return v},kn:function(){return d},v9:function(){return m}}),n(82185),n(61445),n(34068);var r=n(19730),a=n(59352),l=n(42457),o=n(40348);function i(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function c(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){i(l,r,a,o,c,"next",e)}function c(e){i(l,r,a,o,c,"throw",e)}o(void 0)})}}var u=a.default.firestore().doc(r.Mb.MOUSE),s={cursor:{type:"default",defaultImgURL:"",hoverImgURL:"",color:"#000"},mouseEffect:{isActive:!1,shape:"heart",direction:"goUp",color:"#000",minSize:8,number:66},clickEffect:{isActive:!1,type:"particle",color:"#4a90e2",color2:"#74b9ff",size:50,duration:800}};function d(){return f.apply(this,arguments)}function f(){return(f=c(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:u.set(s);case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function m(e){return p.apply(this,arguments)}function p(){return(p=c(regeneratorRuntime.mark(function e(t){var n,a,i,c,s,d,f,m,p;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.cursorType,a=t.defaultImgFile,i=t.hoverImgFile,c=t.prevDefaultImgURL,s=t.prevHoverImgURL,d=t.clickEffectData,f=c,!a){e.next=7;break}return e.next=5,(0,l.saveAndGetImgURL)(r.Mb.MOUSE,a);case 5:f=e.sent,c&&(0,o.En)(c);case 7:if(m=s,!i){e.next=13;break}return e.next=11,(0,l.saveAndGetImgURL)(r.Mb.MOUSE,i);case 11:m=e.sent,s&&(0,o.En)(s);case 13:return p={cursor:{type:n,defaultImgURL:f,hoverImgURL:m}},d&&(p.clickEffect=d),e.abrupt("return",u.set(p,{merge:!0}));case 16:case"end":return e.stop()}},e)}))).apply(this,arguments)}function v(e){return y.apply(this,arguments)}function y(){return(y=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",u.set({cursor:{defaultImgURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function g(e){return b.apply(this,arguments)}function b(){return(b=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",u.set({cursor:{hoverImgURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}},40348:function(e,t,n){n.d(t,{DD:function(){return I},EY:function(){return P},En:function(){return g},J3:function(){return v},N2:function(){return p},RI:function(){return M},W2:function(){return b},bA:function(){return w},cs:function(){return R},dI:function(){return S},fz:function(){return D},ij:function(){return E},vH:function(){return C}}),n(82185),n(10475),n(82106),n(32145),n(85062),n(3233),n(51163),n(82758),n(20884),n(31863),n(61445),n(34068);var r=n(59352),a=n(3158),l=n(42457),o=n(19730);function i(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function c(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){i(l,r,a,o,c,"next",e)}function c(e){i(l,r,a,o,c,"throw",e)}o(void 0)})}}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?u(Object(n),!0).forEach(function(t){d(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=r.default.firestore(),m=f.doc(o.Mb.HOMEPAGE);function p(){f.doc(o.Mb.JUKEBOX).set(s({},{isActive:!0,youtubeURL:"",defaultVolume:.5})),m.set(s({},a.I),{merge:!0})}function v(e){return y.apply(this,arguments)}function y(){return(y=c(regeneratorRuntime.mark(function e(t){var n,r,a,i,c,u,d,f;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.backgroundColor,r=t.backgroundColor2,a=t.backgroundGradientDir,i=t.showBackgroundImage,c=t.selectedFile,u=t.prevImgURL,d=t.webgl,f=u,!c){e.next=6;break}return e.next=5,(0,l.saveAndGetImgURL)(o.Gf.SETTING,c);case 5:f=e.sent;case 6:return e.abrupt("return",m.set({background:s(s(s({backgroundColor:n},r?{backgroundColor2:r}:{backgroundColor2:""}),a?{backgroundGradientDir:a}:{backgroundGradientDir:"135deg"}),{},{backgroundImgURL:f,showBackgroundImage:!1!==i},d?{webgl:{enabled:!!d.enabled,activePresetId:d.activePresetId||"",presets:d.presets||[]}}:{})},{merge:!0}));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function g(e){return(0,l.deleteImgStorage)(e)}function b(e){return h.apply(this,arguments)}function h(){return(h=c(regeneratorRuntime.mark(function e(t){var n,r,a,i,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.set,r=t.selectedFile,a=t.logoType,i=t.prevLogoURL,c=i||"",!r){e.next=6;break}return e.next=5,(0,l.saveAndGetImgURL)("".concat(o.Gf.USERS),r);case 5:c=e.sent;case 6:return e.abrupt("return",n({homepageSet:{logoImgURL:c,logoType:a}},{merge:!0}));case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function E(e){return x.apply(this,arguments)}function x(){return(x=c(regeneratorRuntime.mark(function e(t){var n,r,a,i,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.data,r=t.fileList,a=t.set,i=(null==r?void 0:r.prevImgURL)||"",!r){e.next=8;break}if(!(c=r.selectedFile)){e.next=8;break}return e.next=7,(0,l.saveAndGetImgURL)("".concat(o.Gf.USERS),c);case 7:i=e.sent;case 8:return e.abrupt("return",a({layoutDir:n.layoutDir,menu:s({imgURL:i},n.menu)},{merge:!0}));case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}function w(e){return A.apply(this,arguments)}function A(){return(A=c(regeneratorRuntime.mark(function e(t){var n,r,a,o,i,c,u,d,f,m,p,v,y,g,b,h,E,x,w,A,C,k;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.set,r=t.homepageTitle,a=t.homepageDescription,o=t.faviconFile,i=t.prevFaviconURL,c=t.pwaIconFile,u=t.prevPwaIconURL,d=t.pwaIcon192File,f=t.prevPwaIcon192URL,m=t.screenshotFile,p=t.prevScreenshotURL,v=t.screenshotWideFile,y=t.prevScreenshotWideURL,g=t.pwaInstallPromptEnabled,b=t.selectedFile,h=t.prevImgURL,e.next=3,(0,l.updateImgAndGetURL)({selectedFile:b,prevImgURL:h,collectionPath:"ogImg",deletePrevURL:!1});case 3:return E=e.sent,e.next=6,(0,l.updateImgAndGetURL)({selectedFile:o,prevImgURL:i,collectionPath:"favicon",deletePrevURL:!1});case 6:return x=e.sent,e.next=9,(0,l.updateImgAndGetURL)({selectedFile:c,prevImgURL:u,collectionPath:"pwaIcon",deletePrevURL:!1});case 9:return w=e.sent,e.next=12,(0,l.updateImgAndGetURL)({selectedFile:d,prevImgURL:f,collectionPath:"pwaIcon192",deletePrevURL:!1});case 12:return A=e.sent,e.next=15,(0,l.updateImgAndGetURL)({selectedFile:m,prevImgURL:p,collectionPath:"pwaScreenshot",deletePrevURL:!1});case 15:return C=e.sent,e.next=18,(0,l.updateImgAndGetURL)({selectedFile:v,prevImgURL:y,collectionPath:"pwaScreenshotWide",deletePrevURL:!1});case 18:return k=e.sent,e.abrupt("return",n({homepageSet:s(s(s(s(s({homepageTitle:r,homepageDescription:a,faviconURL:x,ogImgURL:E},void 0!==w?{pwaIconURL:w}:{}),void 0!==A?{pwaIcon192URL:A}:{}),void 0!==C?{pwaScreenshotURL:C}:{}),void 0!==k?{pwaScreenshotWideURL:k}:{}),{},{pwaInstallPromptEnabled:!1!==g})},{merge:!0}));case 20:case"end":return e.stop()}},e)}))).apply(this,arguments)}function C(e){return k.apply(this,arguments)}function k(){return(k=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({homepageSet:{pwaIconURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function S(e){return O.apply(this,arguments)}function O(){return(O=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({homepageSet:{pwaIcon192URL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function I(e){return j.apply(this,arguments)}function j(){return(j=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({homepageSet:{logoImgURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function P(e){return T.apply(this,arguments)}function T(){return(T=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({homepageSet:{faviconURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function R(e){return L.apply(this,arguments)}function L(){return(L=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({homepageSet:{ogImgURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function D(e){return U.apply(this,arguments)}function U(){return(U=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({menu:{imgURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function M(e){return N.apply(this,arguments)}function N(){return(N=c(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(0,l.deleteImgStorage)(t),e.abrupt("return",m.set({background:{backgroundImgURL:""}},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}},41387:function(e,t,n){n.d(t,{J:function(){return r}});var r={STAR:"Star14",PENCLE:"Edit14",PET:"Pet14",RIGHTARROW:"RightArrowO",RIGHTARROW2:"RightArrow12",PLUS:"Plus12",QUEST:"QuestItem20"}},41491:function(e,t,n){n(12064),n(44465),n(31863),n(10475),n(82106),n(32145),n(85062),n(3233),n(51163),n(82758),n(20884);var r,a,l=n(37953),o=n(84136),i=n(374),c=n(25083),u=n(15181);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?s(Object(n),!0).forEach(function(t){f(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var p=(0,o.AH)(r||(r=m(["\n  padding: 4px 0;\n  border-bottom: 1px dashed var(--lineColor);\n"]))),v=o.Ay.div(a||(a=m(["\n  width: 100%;\n  height: calc(100% - 46px);\n  border-radius: var(--cardBorderRadius);\n  // hide scrollbar but is working\n  -ms-overflow-style: none; // IE and Edge\n  scrollbar-width: none; // Firefox\n  // Chrome, Safari, Opera\n  &::-webkit-scrollbar {\n    display: none;\n  }\n\n  p,\n  li {\n    font-size: 14px !important;\n\n    ","\n  }\n"])),function(e){return e.line&&p}),y={list:!0,link:!0,image:!0};function g(e){var t=e.isEdit,n=e.contents,r=e.setContents,a=e.style,o=e.editorStyle,s=e.setToolbar,f=void 0===s?y:s,m=e.label,p=e.noToolbar,g=e.line,b=void 0===g||g,h=e.id;return l.createElement(l.Fragment,null,m&&l.createElement(c.A,{size:"sm"},m),l.createElement(v,{style:a,line:b},t?l.createElement(i.A,{id:h||"editor",value:n,onChange:r,setToolbar:f,placeholder:"내용을 입력해주세요.",toolbarTransparent:!0,noToolbar:p,toolbarStyle:{paddingBottom:8},style:d({},o)}):l.createElement(u.A,{value:n})))}t.A=l.memo(g)},43662:function(e,t,n){n(61445),n(34068),n(3940),n(32145),n(74277),n(57045),n(65114),n(32242),n(60039),n(12064),n(75868),n(42652),n(82185);var r=n(37953),a=n(83947),l=n.n(a);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}t.A=function(e){var t=e.root,n=void 0===t?null:t,a=e.rootMargin,i=void 0===a?"100px":a,u=e.threshold,s=void 0===u?0:u,d=e.onIntersect,f=(0,r.useRef)(null),m=(0,r.useCallback)(l()(function(){var e,t=(e=regeneratorRuntime.mark(function e(t,n){var r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=o(t,1),!(a=r[0]).isIntersecting){e.next=6;break}return n.unobserve(a.target),e.next=5,d();case 5:n.observe(a.target);case 6:case"end":return e.stop()}},e)}),function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){c(l,r,a,o,i,"next",e)}function i(e){c(l,r,a,o,i,"throw",e)}o(void 0)})});return function(e,n){return t.apply(this,arguments)}}(),500),[d]);return(0,r.useEffect)(function(){if(f.current){var e=new IntersectionObserver(m,{root:n,rootMargin:i,threshold:s});return e.observe(f.current),function(){return e.disconnect()}}console.warn("IntersectionObserver target ref is not set.")},[f,n,i,s,d]),f}},47863:function(e,t,n){n.d(t,{A:function(){return _}}),n(12064),n(44465),n(31863),n(3940),n(32145),n(74277),n(61445),n(57045),n(65114),n(32242),n(60039),n(75868),n(42652),n(97152);var r,a,l,o,i=n(37953),c=n(84136),u=n(19730),s=n(83483),d=n(12087),f=n(80762),m=n(41625),p=(n(82185),n(34068),n(88382)),v=n(53942),y=n(14375),g=n(28902),b=n(52229),h=n(89076),E=n(14271),x=n(51788),w=n(25083),A=n(64315),C=n(44173),k=n(19563);function S(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function O(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){S(l,r,a,o,i,"next",e)}function i(e){S(l,r,a,o,i,"throw",e)}o(void 0)})}}function I(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return j(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?j(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function P(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var T,R,L,D,U=c.Ay.div(r||(r=P(["\n  display: grid;\n  grid-template-rows: 1fr 65px;\n  position: relative;\n  height: 800px;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n"]))),M=c.Ay.div(a||(a=P(["\n  width: 100%;\n  height: 100%;\n  padding: 12px;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  ",";\n"])),y.kM),N=c.Ay.div(l||(l=P(["\n  width: 100%;\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  background-color: var(--cardBackgroundColor);\n  border-top: 1px solid var(--lineColor);\n"]))),z=c.Ay.div(o||(o=P(["\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 8px;\n  align-items: flex-end;\n"]))),B=function(e){var t,r=e.data,a=I((0,i.useState)(null),2),l=a[0],o=a[1],c=I((0,i.useState)(null),2),s=c[0],d=c[1],y=I((0,i.useState)([]),2),S=y[0],j=y[1],P=I((0,i.useState)([]),2),T=P[0],R=(P[1],I((0,i.useState)([]),2)),L=R[0],D=R[1],B=I((0,A.A)(null===(t=r.isShow)||void 0===t||t),2),F=B[0],G=B[1],H=I((0,i.useState)(!1),2),$=H[0],V=H[1],W=I((0,i.useState)(r.openMode||b.A.INSTANT),2),_=W[0],q=W[1],K=I((0,p.zN)({title:r.title||"",contents:r.contents||"",buttonText:r.buttonText||"",price:r.price||"",materialCount:r.materialCount||""}),4),Y=K[0],J=Y.title,Q=Y.contents,Z=Y.buttonText,X=Y.price,ee=Y.materialCount,te=K[1],ne=(K[2],K[3]),re=[{key:b.A.INSTANT,value:"즉시 오픈"},{key:b.A.USE_ITEM,value:"랜덤박스 → 사용 시 오픈"},{key:b.A.POST_UPLOAD,value:"게시글 업로드 시 오픈"}],ae=(0,i.useCallback)(O(regeneratorRuntime.mark(function e(){var t,a,o,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=r&&r.id){e.next=2;break}return e.abrupt("return");case 2:if(V(!0),t=r.randomBoxImgURL||"",!s){e.next=12;break}return e.next=7,Promise.resolve().then(n.bind(n,42457));case 7:return a=e.sent,o=a.updateImgAndGetURL,e.next=11,o({selectedFile:s,prevImgURL:r.randomBoxImgURL||"",collectionPath:u.Gf.LUCKYDRAW});case 11:t=e.sent;case 12:return i={title:J,contents:Q,buttonText:Z,price:X,materialCount:ee,materialItemID:L[0]||null,itemList:S,skillList:T,imgURL:r.imgURL||"",randomBoxImgURL:t,isShow:F,openMode:_},e.next=15,(0,m.Wb)({collectionPath:u.Gf.LUCKYDRAW,data:i,docId:r.id,fileList:{selectedFile:l,prevImgURL:r.imgURL||""}});case 15:V(!1);case 16:case"end":return e.stop()}},e)})),[J,Z,X,Q,l,s,r,S,T,ee,L,F,_]),le=(0,i.useCallback)(function(){if(confirm("[".concat(null==r?void 0:r.title,"] 뽑기 세트를 삭제하시겠습니까?"))){if(null==r||!r.id)return;return(0,E.E)({collectionPath:u.Gf.LUCKYDRAW,imgURL:(null==r?void 0:r.imgURL)||"",docId:r.id})}},[r]);return(0,i.useEffect)(function(){r&&(j(r.itemList||[]),D(r.materialItemID?[r.materialItemID]:[]),q(r.openMode||b.A.INSTANT),ne({title:r.title||"",contents:r.contents||"",buttonText:r.buttonText||"",price:r.price||"",materialCount:r.materialCount||""}),o(null),d(null))},[r,ne]),i.createElement(U,null,i.createElement(M,null,i.createElement("h6",null,r.title),i.createElement(w.A,null,"뽑기 배너 표시",i.createElement(x.A,{isChecked:F,handleSwitch:G})),i.createElement(z,null,i.createElement(v.A,{label:"뽑기 세트명",value:J,name:"title",onChange:te,placeholder:"뽑기1"}),i.createElement(v.A,{label:"뽑기 버튼 텍스트",value:Z,name:"buttonText",onChange:te,placeholder:"뽑기"}),i.createElement(v.A,{label:"뽑기 세트 설명",value:Q,name:"contents",onChange:te,placeholder:"아이템 랜덤 뽑기"})),i.createElement("div",{style:{width:"100%",marginBottom:16}},i.createElement(g.A,{label:"배너 이미지 (권장 575*260)",id:"title-image",setSelectedFile:o,prevImgURL:r.imgURL,style:{height:60}})),i.createElement("h6",{style:{marginTop:32}}
1,"오픈 모드 설정"),i.createElement(C.lh,null,"뽑기 결과가 언제 결정되는지 선택합니다."),i.createElement(k.l,{selectList:re,selectedKey:_,setSelectedKey:q,style:{width:"100%"},dropdownDirection:"topLeft"}),_!==b.A.INSTANT&&i.createElement(i.Fragment,null,i.createElement("h6",{style:{marginTop:32}},"랜덤박스 아이템 이미지"),i.createElement(C.lh,null,"뽑기 구매 시 인벤토리에 지급될 '랜덤박스' 아이템의 이미지입니다.",i.createElement("br",null),"사용하면 랜덤 아이템이 오픈됩니다. (결과 아이템 이미지는 스토어 설정을 따릅니다)"),i.createElement("div",{style:{width:"100%",marginBottom:16}},i.createElement(g.A,{label:"랜덤박스 이미지 (권장 52 * 52)",id:"randombox-image",key:"randombox-".concat(r.id),setSelectedFile:d,prevImgURL:r.randomBoxImgURL,style:{height:60}}))),i.createElement("h6",{style:{marginTop:32}},"뽑기 재료(조건) 설정"),i.createElement(C.lh,null,"뽑기 재료가 모두 빈 칸일시 무료 뽑기 입니다."),i.createElement(z,null,i.createElement(h.A,{label:"재료 아이템 선택",collectionPath:u.Gf.STORE,setSelectedIDList:D,selectedIDList:L,id:"material-item",selectOnlyOne:!0}),i.createElement(v.A,{label:"재료 개수",value:ee,name:"materialCount",onChange:te,type:"number",placeholder:"100"}),i.createElement(v.A,{label:"뽑기 가격",value:X,name:"price",onChange:te,type:"number",placeholder:"100"})),i.createElement("h6",{style:{marginTop:32}},"뽑기 결과물 관리"),i.createElement(C.lh,null,"확률 설정 시, 아이템을 여러개 추가해 주세요. ",i.createElement("br",null),"e.g. [포션1], [포션1], [엘릭서], [꽝] 추가 시 ",i.createElement("br",null),"[포션1] 확률 50% [엘릭서] 확률 25%, [꽝]확률 25%"),i.createElement(h.A,{label:"아이템 (복수 선택)",collectionPath:u.Gf.STORE,setSelectedIDList:j,selectedIDList:S,id:"items"})),i.createElement(N,null,i.createElement(f.A,{onClick:ae,block:!0,pending:$},"저장"),i.createElement(f.A,{onClick:le,shape:"stroke",block:!0},"삭제")))};function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function G(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var H=c.Ay.div(T||(T=G(["\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1fr 1.5fr;\n  gap: 12px;\n  height: 800px;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),$=(c.Ay.div(R||(R=G(["\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n\n  p {\n    font-size: 13px;\n  }\n"]))),c.Ay.div(L||(L=G(["\n  height: 100%;\n  overflow: hidden;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--cardLineColor);\n\n  display: grid;\n  grid-template-rows: auto 1fr;\n"])))),V=c.Ay.div(D||(D=G(["\n  padding: 12px;\n  display: flex;\n  gap: 12px;\n  border-bottom: 1px solid var(--lineColor);\n  margin-bottom: 8px;\n"])));function W(e){var t=e.docID,n="".concat(u.Gf.LUCKYDRAW),r=(0,s.useDocument)("".concat(n,"/").concat(t),{listen:!0}).data;return r?i.createElement(B,{data:r}):null}var _=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,r="".concat(u.Gf.LUCKYDRAW),a=(t=(0,i.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?F(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1],c=(0,s.useCollection)(r,{listen:!0,orderBy:["order","asc"]}).data,p=(0,i.useCallback)(function(){(0,m.Wb)({collectionPath:r,data:{title:"랜덤뽑기 세트명",buttonText:"뽑기",imgURL:"",order:0},fileList:{}})},[c]);return i.createElement(i.Fragment,null,i.createElement(C.R2,{style:{marginBottom:12}},"📌 [뽑기 배너 표시]를 체크하셔야 배너에 반영됩니다."),i.createElement(H,null,i.createElement($,null,i.createElement(V,null,i.createElement(f.A,{block:!0,onClick:p},"세트 추가")),i.createElement(d.A,{list:c,setSelectValue:o,selectedId:l,customCollectionPath:u.Gf.LUCKYDRAW})),i.createElement(W,{docID:l})))}},52229:function(e,t,n){var r;n.d(t,{A:function(){return r}}),function(e){e.INSTANT="instant",e.USE_ITEM="useItem",e.POST_UPLOAD="postUpload"}(r||(r={}))},54075:function(e,t,n){n.d(t,{A:function(){return B}}),n(3940),n(32145),n(74277),n(61445),n(57045),n(65114),n(32242),n(60039),n(12064),n(75868),n(42652);var r=n(37953),a=(n(97152),n(53942)),l=n(28902),o=n(80762),i=n(88382),c=n(19730),u=n(74539),s=n(42457),d=n(83483),f=n(44173);function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var v=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t="".concat(c.Gf.NPC),n="storeNpc",p=(0,d.useDocument)("".concat(t,"/").concat(n),{listen:!0}),v=p.data,y=p.set,g=m((0,i.zN)({name:(null==v?void 0:v.name)||""}),3),b=g[0].name,h=g[1],E=(g[2],m((0,r.useState)(null),2)),x=E[0],w=E[1],A=m((0,r.useState)(null),2),C=A[0],k=A[1],S=(0,r.useCallback)(function(){v&&(0,u.vS)({imgURL:v.imgURL||"",collectionPath:t,docId:n,key:"imgURL"})},[v,t,n]);(0,r.useEffect)(function(){x&&(0,s.updateImg)({fileList:{selectedFile:x,prevImgURL:(null==v?void 0:v.imgURL)||""},collectionPath:t,docId:n,key:"imgURL"}).then(function(){return w(null)})},[v,x,t,n]),(0,r.useEffect)(function(){v&&k((null==v?void 0:v.imgURL)||null)},[v]);var O=(0,r.useCallback)(function(){y({name:b},{merge:!0})},[b]);return r.createElement(f.YO,{startSec:!0},r.createElement(a.A,{label:"NPC명",required:!0,value:b,name:"name",onChange:h,placeholder:"ex)상점언니"}),r.createElement(l.A,{label:"NPC 이미지",id:"thumbnail-img",setSelectedFile:w,prevImgURL:C,text:"NPC 이미지 (권장 가로 600이상)",customDelete:function(){return S()},minHeight:200}),r.createElement(o.A,{onClick:O},"저장하기"))},y=(n(66706),n(86608),n(70175)),g=(n(44465),n(31863),n(84136));function b(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){b(l,r,a,o,i,"next",e)}function i(e){b(l,r,a,o,i,"throw",e)}o(void 0)})}}n(82185),n(34068);var E,x=n(59352).default.firestore();function w(){return(w=h(regeneratorRuntime.mark(function e(t){var n,r,a,l,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.data,r=t.collectionPath,a=t.npcID,l=t.docID,o=x.collection("".concat(r,"/").concat(a,"/scripts")),l){e.next=4;break}return e.abrupt("return",o.add(n).catch(function(e){return alert(e.message)}));case 4:if(!l){e.next=6;break}return e.abrupt("return",o.doc(l).set(n,{merge:!0}
1).catch(function(e){return alert(e.message)}));case 6:case"end":return e.stop()}},e)}))).apply(this,arguments)}function A(){return(A=h(regeneratorRuntime.mark(function e(t){var n,r,a;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.collectionPath,r=t.npcID,a=t.docID,e.abrupt("return",x.collection("".concat(n,"/").concat(r,"/scripts")).doc(a).delete().catch(function(e){return alert(e.message)}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var k,S,O=g.Ay.div(E||(k=["\n  display: grid;\n  grid-template-columns: 1fr 100px 100px;\n  gap: 8px;\n"],S||(S=k.slice(0)),E=Object.freeze(Object.defineProperties(k,{raw:{value:Object.freeze(S)}})))),I=function(e){var t,n,l=e.data,u=e.id,s="".concat(c.Gf.NPC),f="storeNpc",m=(0,d.useDocument)("".concat(s,"/").concat(f,"/").concat("scripts","/").concat(u),{listen:!0}),p=(m.data,m.set),v=(t=(0,i.zN)({contents:(null==l?void 0:l.contents)||""}),n=3,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),y=v[0].contents,g=v[1],b=(v[2],(0,r.useCallback)(function(){p({contents:y},{merge:!0})},[y])),h=(0,r.useCallback)(function(){window.confirm("스크립트를 삭제하시겠습니까?")&&function(e){A.apply(this,arguments)}({collectionPath:s,npcID:f,docID:u})},[s,f,u]);return r.createElement(O,null,r.createElement(a.A,{name:"contents",value:y,onChange:g,placeholder:"내용"}),r.createElement(o.A,{color:"warning",onClick:h},"삭제"),r.createElement(o.A,{onClick:b},"저장"))},j=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t="".concat(c.Gf.NPC),n="storeNpc",a=(0,d.useCollection)("".concat(t,"/").concat(n,"/").concat("scripts"),{listen:!0,orderBy:["createdAt","desc"]}).data,l=(0,r.useCallback)(function(){!function(e){w.apply(this,arguments)}({data:{title:"제목",contents:"스크립트",createdAt:new Date},collectionPath:t,npcID:n,docID:""})},[t,n]);return r.createElement(f.YO,null,r.createElement(y.C5,null,"NPC 스크립트 설정"),r.createElement("p",null,"스크립트는 일정 시간을 간격으로 랜덤 출력 됩니다."),r.createElement(o.A,{block:!0,onClick:l},"스크립트 추가"),a&&a.map(function(e,t){return r.createElement(I,{key:e.id,data:e,id:e.id})}))},P=n(38190),T=n(92262),R=n(79883),L=n(79661),D=n(70649);function U(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function M(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){U(l,r,a,o,i,"next",e)}function i(e){U(l,r,a,o,i,"throw",e)}o(void 0)})}}var N=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e),(0,L.vc)(R.Bs);var t=(0,d.useCollection)("".concat(c.Gf.NPC),{listen:!0}),n=t.data,a=(t.mutate,t.add,(0,r.useCallback)(M(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,D.Y)({collectionPath:c.Gf.NPC,maxLength:n.length||0});case 2:case"end":return e.stop()}},e)})),[n]));return r.createElement("div",null,r.createElement(o.A,{style:{marginBottom:24},onClick:a,block:!0},"NPC 추가"),r.createElement(T.A,{isEdit:!1,list:n||[],collectionPath:"".concat(c.Gf.NPC),line:3}))};function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var B=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t,n,a=(t=(0,r.useState)("storenpc"),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(t,n)||function(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}
1(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],o=a[1],i=[{value:"commonnpc",label:"공용 NPC",isShow:!1,drawView:r.createElement(N,null)},{value:"storenpc",label:"상점 NPC",isShow:!0,drawView:r.createElement(r.Fragment,null,r.createElement(v,null),r.createElement(j,null))}];return r.createElement(r.Fragment,null,r.createElement(P.A,{viewOptions:i,defaultViewType:l,customSetViewType:o}))}},57827:function(e,t,n){n.d(t,{A:function(){return P}}),n(12064),n(44465),n(31863),n(86608),n(97152);var r,a,l=n(37953),o=n(84136),i=n(19730),c=n(83483),u=n(45435),s=n.n(u),d=n(9903),f=n(82335),m=n(28669);function p(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var v,y,g,b,h=o.Ay.div(r||(r=p(["\n  display: grid;\n  grid-template-columns: 1fr 2fr 0.5fr 1fr 1fr;\n\n  justify-content: center;\n  align-items: center;\n  padding: 4px 12px;\n\n  &:nth-child(even) {\n    background-color: rgba(0, 0, 0, 0.1);\n  }\n  font-size: 13px;\n"]))),E=o.Ay.div(a||(a=p(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),x=function(e){var t=e.data,n=t.itemId,r=t.photocardID,a=t.buyerID,o=t.createdAt.toDate(),u=(0,c.useDocument)("".concat(i.Gf.STORE,"/").concat(n)).data;return l.createElement(h,null,l.createElement("div",null,s()(o).format("YYYY-MM-DD HH:mm:ss")),l.createElement(E,null,l.createElement(m.A,{data:u,style:{width:30,height:30}}),l.createElement("div",null,null==u?void 0:u.title)),l.createElement("div",null,t.amount,"개"),l.createElement(f.A,{id:r}),l.createElement(d.A,{uid:a}))},w=n(71574),A=n(37360),C=n(43662);function k(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var S=o.Ay.div(v||(v=k([""]))),O=o.Ay.div(y||(y=k(["\n  padding: 4px 12px;\n\n  display: grid;\n  grid-template-columns: 1fr 2fr 0.5fr 1fr 1fr;\n"]))),I=o.Ay.div(g||(g=k(["\n  height: 1px;\n"]))),j=o.Ay.div(b||(b=k(["\n  padding: 12px;\n  text-align: center;\n  font-size: 13px;\n  color: ",";\n"])),function(e){var t,n;return null!==(t=null===(n=e.theme.color)||void 0===n?void 0:n.gray500)&&void 0!==t?t:"#888"}),P=function(e){!function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e);var t=(0,A.A)("".concat(i.Gf.STORE,"History"),{pageSize:50,orderBy:["createdAt","desc"],listen:!1}),n=t.items,r=t.hasMore,a=t.isLoading,o=t.loadMore,c=(0,l.useCallback)(function(){r&&!a&&o()},[r,a,o]),u=(0,C.A)({onIntersect:c,rootMargin:"200px"});return l.createElement(w.Ay,null,l.createElement(O,null,l.createElement("span",null,"구매 시간"),l.createElement("span",null,"아이템"),l.createElement("span",null,"수량"),l.createElement("span",null,"캐릭터"),l.createElement("span",null,"유저")),l.createElement(S,null,n.map(function(e,t){return l.createElement(x,{key:e.itemId||"".concat(e.itemId,"-").concat(e.createdAt,"-").concat(t),data:e})}),r&&l.createElement(I,{ref:u}),a&&l.createElement(j,null,"불러오는 중...")))}},59377:function(e,t,n){n.d(t,{D:function(){return r},i:function(){return a}});var r={useImage:!0,useEmoticon:!0,requireImage:!1,useSecret:!0,useSensitiveContents:!0,useCollapseImg:!0,collapseImageHeight:600,useAccessType:!0,showCharacterCount:!1,maxCharacterCount:1e4},a={useImage:!0,useEmoticon:!0,useSecret:!0,useReply:!0,useCollapseComment:!0,showCharacterCount:!1,maxCharacterCount:1e4}},65664:function(e,t,n){n.d(t,{d:function(){return g}}),n(82185),n(3940),n(75868),n(85062),n(86608),n(61445),n(34068),n(10475),n(82106),n(32145),n(3233),n(51163),n(82758),n(20884),n(31863);var r=n(83483),a=n(19730);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function u(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){c(l,r,a,o,i,"next",e)}function i(e){c(l,r,a,o,i,"throw",e)}o(void 0)})}}function s(e){var t;return Array.isArray(e)&&0!==e.length&&null!==(t=e[Math.floor(Math.random()*e.length)])&&void 0!==t?t:null}function d(){return f.apply(this,arguments)}function f(){return(f=u(regeneratorRuntime.mark(function e(){var t,n,l,o,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=r.fuego.db.doc("".concat(a.Gf.PETSETTING,"/opponentPetsPool")),e.next=4,n.get();case 4:if(l=e.sent,o=(null===(t=l.data())||void 0===t?void 0:t.items)||[],Array.isArray(o)&&0!==o.length){e.next=8;break}return e.abrupt("return",null);case 8:if(i=s(o)){e.next=11;break}return e.abrupt("return",null);case 11:return e.abrupt("return",{userId:i.userId,petId:i.petId,customName:i.name});case 14:return e.prev=14,e.t0=e.catch(0),e.abrupt("return",null);case 17:case"end":return e.stop()}},e,null,[[0,14]])}))).apply(this,arguments)}function m(e){return p.apply(this,arguments)}function p(){return(p=u(regeneratorRuntime.mark(function e(t){var n,a,l,o,i,c;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=Math.random(),a=r.fuego.db.collection("owned_pets").where("hasName","==",!0),e.next=5,a.orderBy("rand").startAt(n).limit(1).get();case 5:if(l=e.sent,o=l.docs[0]){e.next=12;break}return e.next=10,a.orderBy("rand","desc").startAt(n).limit(1).get();case 10:i=e.sent,o=i.docs[0];case 12:if(o){e.next=14;break}return e.abrupt("return",null);case 14:if(c=o.data(),!t.excludeUserId||c.userId!==t.excludeUserId){e.next=17;break}return e.abrupt("return",null);case 17:return e.abrupt("return",{userId:c.userId,petId:c.petId,customName:c.name});case 20:return e.prev=20,e.t0=e.catch(0),e.abrupt("return",null);case 23:case"end":return e.stop()}},e,null,[[0,20]])}))).apply(this,arguments)}function v(e){return y.apply(this,arguments)}function y(){return(y=u(regeneratorRuntime.mark(function e(t){var n,a,l;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,t.onlyOwnedPets){e.next=3;break}return e.abrupt("return",null);case 3:return e.next=5,r.fuego.db.collectionGroup("pets").orderBy("createdAt","desc").limit(20).get();case 5:if(n=e.sent,a=n.docs.map(function(e){return o({id:e.id},e.data()||{})}).filter(function(e){return e&&e.customName&&(!t.excludeUserId||e.userId!==t.excludeUserId)}),l=s(a)){e.next=10;break}return e.abrupt("return",null);case 10:return e.abrupt("return",{userId:l.userId,petId:l.id,customName:l.customName});case 13:return e.prev=13,e.t0=e.catch(0),e.abrupt("return",null);case 16:case"end":return e.stop()}},e,null,[[0,13]])}))).apply(this,arguments)}function g(){return b.apply(this,arguments)}function b(){return b=u(regeneratorRuntime.mark(function e(){var t,n,r,a,l=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=l.length>0&&void 0!==l[0]?l[0]:{},e.next=3,d();case 3:if(!(n=e.sent)){e.next=6;break}return e.abrupt("return",n);case 6:return e.next=8,m(t);case 8:if(!(r=e.sent)){e.next=11;break}return e.abrupt("return",r);case 11:return e.next=13,v(t);case 13:if(!(a=e.sent)){e.next=16;break}return e.abrupt("return",a);case 16:return e.abrupt("return",null);case 17:case"end":return e.stop()}},e)})),b.apply(this,arguments)}t.A=g},75283:function(e,t,n){n.r(t),n(12064),n(44465),n(31863),n(3940),n(32145),n(74277),n(57045),n(75868),n(42652),n(97152),n(65114),n(61445),n(94513),n(32242),n(60039),n(85062),n(51163),n(82758);var r,a,l,o,i,c,u,s,d,f=n(37953),m=n(84136),p=n(90113),v=n(70205),y=n.n(v),g=n(83483),b=n(79661),h=n(19730),E=n(80762),x=n(45435),w=n.n(x),A=n(14375),C=n(89339),k=n(30260),S=n(87833);function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}
1(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function j(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var P=m.Ay.div(r||(r=j(["\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 190;\n  width: ","px;\n  max-width: calc(100vw - 32px);\n  cursor: move;\n"])),420),T=(0,m.Ay)(p.P.div)(a||(a=j(["\n  background: var(--backgroundColor);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  box-shadow: ",";\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  user-select: none;\n  width: 100%;\n  max-height: calc(100dvh - 100px);\n"])),C.A.shadow.modal),R=m.Ay.div(l||(l=j(["\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  padding: 8px 14px 4px;\n  flex-shrink: 0;\n"]))),L=m.Ay.div(o||(o=j(["\n  width: 100%;\n  text-align: center;\n  font-size: 11px;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  padding: 5px 0;\n  background: var(--primaryColor);\n  color: #fff;\n  flex-shrink: 0;\n"]))),D=m.Ay.div(i||(i=j(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n"]))),U=m.Ay.span(c||(c=j(["\n  font-size: 12px;\n  color: var(--subTextColor);\n  min-width: 36px;\n  text-align: center;
1\n"]))),M=m.Ay.div(u||(u=j(["\n  flex: 1;\n  min-height: 0;\n  overflow-y: auto;\n  max-height: 500px;\n  padding: 12px 20px 16px;\n\n  @media (max-width: 640px) {\n    max-height: none;\n  }\n  ","\n\n  img {\n    max-width: 100%;\n    height: auto;\n  }\n  line-height: 1.8;\n  font-size: 14px;\n  color: var(--textColor);\n  cursor: default; /* 본문은 텍스트 커서 */\n"])),A.kM),N=m.Ay.div(s||(s=j(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 10px 20px 14px;\n  border-top: 1px solid var(--lineColor);\n  flex-shrink: 0;\n  background: var(--cardBackgroundColor);\n"]))),z=m.Ay.button(d||(d=j(["\n  background: none;\n  border: none;\n  color: var(--subTextColor);\n  font-size: 12px;\n  cursor: pointer;\n  padding: 4px 0;\n  white-space: nowrap;\n  text-decoration: underline;\n  text-underline-offset: 2px;\n\n  &:hover {\n    color: var(--textColor);\n  }\n"])));function B(e){var t=e.previewItem,n=e.onPreviewClose,r=!!t,a=(0,g.useDocument)(r?null:h.Mb.POPUP,{listen:!1}).data,l=O((0,f.useState)(new Set),2),o=l[0],i=l[1],c=O((0,f.useState)(0),2),u=c[0],s=c[1],d=(0,f.useRef)(null),m=(0,b.vc)(k.E);(0,f.useEffect)(function(){r||0!==m&&(i(new Set),s(0))},[m,r]);var p=(0,f.useMemo)(function(){return"undefined"!=typeof window?Math.max(16,(window.innerWidth-420)/2):100},[]),v=(0,f.useMemo)(function(){return r&&t?[t]:null!=a&&a.popups?a.popups.filter(function(e){return e.isActive&&(t=e,n=w()().startOf("day"),!(t.startDate&&w()(t.startDate).isAfter(n)||t.endDate&&w()(t.endDate).endOf("day").isBefore(n)))&&!function(e){try{var t=localStorage.getItem("".concat(S.j).concat(e));return!!t&&t===w()().format("YYYY-MM-DD")}catch(e){return!1}}(e.id)&&!o.has(e.id);var t,n}):[]},[r,t,a,o]);(0,f.useEffect)(function(){u>=v.length&&v.length>0&&s(v.length-1)},[v.length,u]),(0,f.useEffect)(function(){s(0)},[null==t?void 0:t.id]);var x=v[u],A=(0,f.useCallback)(function(){r?null==n||n():0!==v.length&&i(function(e){var t=new Set(e);return v.forEach(function(e){return t.add(e.id)}),t})},[r,n,v]),C=(0,f.useCallback)(function(){r?null==n||n():x&&(function(e){try{localStorage.setItem("".concat(S.j).concat(e),w()().format("YYYY-MM-DD"))}catch(e){}}(x.id),i(function(e){return new Set(e).add(x.id)}))},[r,n,x]),I=(0,f.useCallback)(function(e){e.stopPropagation(),s(function(e){return Math.max(0,e-1)})},[]),j=(0,f.useCallback)(function(e){e.stopPropagation(),s(function(e){return Math.min(v.length-1,e+1)})},[v.length]);return 0!==v.length&&x?f.createElement(y(),{nodeRef:d,defaultPosition:{x:p,y:80},bounds:"body",cancel:"button, a, .popup-body"},f.createElement(P,{ref:d},f.createElement(T,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},r&&f.createElement(L,null,"미리보기"),v.length>1&&f.createElement(R,null,f.createElement(D,null,f.createElement(E.A,{size:"sm",shape:"stroke",onClick:I,disabled:0===u},"이전"),f.createElement(U,null,u+1," / ",v.length),f.createElement(E.A,{size:"sm",shape:"stroke",onClick:j,disabled:u===v.length-1},"다음"))),f.createElement(M,{className:"popup-body",dangerouslySetInnerHTML:{__html:x.content}}),f.createElement(N,null,f.createElement(z,{onClick:C},"오늘 보지 않기"),f.createElement(E.A,{size:"sm",onClick:A},"닫기"))))):null}t.default=f.memo(B)},75546:function(e,t,n){n.d(t,{A$:function(){return a},w0:function(){return r}});var r={POST:"POST",REPLY:"REPLY",QUOTE:"QUOTE",RETHREAD:"RETHREAD"},a={FLAT:"FLAT",MIXED:"MIXED",MAIN_ONLY:"MAIN_ONLY",REPLIES_ONLY:"REPLIES_ONLY",FOLLOWING:"FOLLOWING",TRENDING:"TRENDING"}},76453:function(e,t,n){function r(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}n.d(t,{Lf:function(){return o},XC:function(){return i},nO:function(){return l}}),n(82185),n(61445),n(34068),n(66706);var a=n(59352).default.firestore(),l="adminHistory/dm",o="adminHistory/dm/logs";function i(e){return c.apply(this,arguments)}function c(){var e;return e=regeneratorRuntime.mark(function e(t){var n,r,i,c,u;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.next,r=t.userId,i=t.userName,c=a.doc(l),u=a.collection(o),e.next=5,c.set({showChatAdminModeToggle:n,updatedAt:new Date,updatedBy:r},{merge:!0});case 5:return e.next=7,u.add({action:n?"turn-on":"turn-off",userId:r,userName:i,createdAt:new Date});case 7:case"end":return e.stop()}},e)}),c=function(){var t=this,n=arguments;return new Promise(function(a,l){var o=e.apply(t,n);function i(e){r(o,a,l,i,c,"next",e)}function c(e){r(o,a,l,i,c,"throw",e)}i(void 0)})},c.apply(this,arguments)}},82514:function(e,t,n){n.d(t,{Gq:function(){return b},WD:function(){return S},YF:function(){return w},gj:function(){return E},n4:function(){return p},o9:function(){return y},ue:function(){return C}}),n(82185),n(61445),n(34068),n(86608),n(51163),n(82758),n(10475),n(82106),n(32145),n(85062),n(3233),n(20884),n(31863);var r=n(59352),a=n(19730),l=n(42457),o=n(91596),i=n(67668);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function f(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){d(l,r,a,o,i,"next",e)}function i(e){d(l,r,a,o,i,"throw",e)}o(void 0)})}}var m=r.default.firestore().collection(a.Gf.BOARD_SET);function p(){return v.apply(this,arguments)}function v(){return(v=f(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.l.boardSet.map(function(e,t){return u(u({},o.J[e.typeName]),{},{order:t,path:e.path})}),e.abrupt("return",t.forEach(function(e,t){m.add(u({},e))}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e){return g.apply(this,arguments)}function g(){return(g=f(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=o.J[t.typeName]){e.next=3;break}throw new Error("지원하지 않는 게시판 타입입니다: ".concat(t.typeName));case 3:return e.abrupt("return",m.add(u(u({},n),{},{title:t.title||n.title,order:0,path:t.path,openNewTab:t.openNewTab||!1})));case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e){return h.apply(this,arguments)}
1function h(){return(h=f(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",m.add(u(u({},o.J[t.typeName]),{},{title:t.title||o.J[t.typeName].title,value:t.title||o.J[t.typeName].title,order:0})).then(function(e){var t=e.id;m.doc(t).set({key:t},{merge:!0})}).catch(function(e){return console.log(e.message)}));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function E(e){return x.apply(this,arguments)}function x(){return(x=f(regeneratorRuntime.mark(function e(t){var n,r,o,i,c,s,d,f,p,v,y,g,b,h,E,x,w,A,C,k,S,O,I,j;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return d=t.data,f=t.docID,p=t.fileList,y=(v=p||{}).selectedFile,g=v.prevImgURL,b=v.hoverSelectedFile,h=v.hoverPrevImgURL,E=v.mobileSelectedFile,x=v.mobilePrevImgURL,e.next=4,m.doc(f).get();case 4:return w=e.sent,A=w.exists&&w.data()||{},e.next=8,(0,l.updateImgAndGetURL)({selectedFile:y||null,prevImgURL:g,collectionPath:a.Gf.BOARD_SET});case 8:return C=e.sent,e.next=11,(0,l.updateImgAndGetURL)({selectedFile:b||null,prevImgURL:h,collectionPath:a.Gf.BOARD_SET});case 11:return k=e.sent,e.next=14,(0,l.updateImgAndGetURL)({selectedFile:E||null,prevImgURL:x,collectionPath:a.Gf.BOARD_SET});case 14:return S=e.sent,O=null!==(n=null!==(r=null!=C?C:null==d?void 0:d.imgURL)&&void 0!==r?r:null==A?void 0:A.imgURL)&&void 0!==n?n:"",I=null!==(o=null!==(i=null!=k?k:null==d?void 0:d.hoverImgURL)&&void 0!==i?i:null==A?void 0:A.hoverImgURL)&&void 0!==o?o:"",j=null!==(c=null!==(s=null!=S?S:null==d?void 0:d.mobileImgURL)&&void 0!==s?s:null==A?void 0:A.mobileImgURL)&&void 0!==c?c:"",e.abrupt("return",m.doc(f).set(u(u({},d),{},{imgURL:O,hoverImgURL:I,mobileImgURL:j}),{merge:!0}));case 19:case"end":return e.stop()}},e)}))).apply(this,arguments)}function w(e){return A.apply(this,arguments)}function A(){return(A=f(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.docID,e.abrupt("return",m.doc(n).set({folderID:"",folderValue:"",value:""},{merge:!0}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function C(e){return k.apply(this,arguments)}function k(){return(k=f(regeneratorRuntime.mark(function e(t){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.collectionPath,n=t.orderList,e.abrupt("return",n.map(function(e,t){return m.doc(e.id).update({order:t})}));case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function S(e){return O.apply(this,arguments)}function O(){return(O=f(regeneratorRuntime.mark(function e(t){var n,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.imgURL,r=t.boardId,n&&(0,l.deleteImgStorage)(n),e.abrupt("return",m.doc(r).delete());case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}},83389:function(e,t,n){n(12064),n(44465),n(31863),n(75868);var r,a,l,o=n(37953),i=n(5676),c=n(2122),u=n(84136),s={faBolt:c.zm_,faFire:c.kNw,faDroplet:c.yzd,faSnowflake:c.Wkq,faSkull:c.B0L,faHeartPulse:c.RMP,faShieldHalved:c.fLc,faEye:c.pS3,faMoon:c.PJS,faStar:c.yy,faCircleExclamation:c.lEd},d=u.Ay.img(r||(a=["\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  display: block;\n"],l||(l=a.slice(0)),r=Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(l)}}))));function f(e){var t=e.definition;if("upload"===t.iconType&&t.iconURL)return o.createElement(d,{src:t.iconURL,alt:t.iconAlt||t.name});var n=s[t.iconName||""]||c.yy;return o.createElement(i.g,{icon:n,style:{color:t.color||"var(--primaryColor)"}})}t.A=o.memo(f)},88948:function(e,t,n){var r;function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Fc:function(){return l},Q4:function(){return c},Y9:function(){return u},dq:function(){return i}}),n(86608),n(82106),n(79974),n(10475);var l={LOGO:"logo",MARQUEE:"marquee",SLIDE:"slide",NOTICE:"notice",BANNEER:"banner",POSTINGNOTICE:"postingnotice",MINICALENDAR:"minicalendar",USERLOGIN:"userlogin",DDAYWIDGHET:"ddaywidget",LATEST:"latest",MYROOM:"myroom",CLOCK:"clock",DAILYTODO:"dailytodo",EMPTY:"empty",GALLERY:"gallery",GUESTBOOK:"guestbook",MUSICPLAYER:"musicplayer",MASTERINFO:"masterinfo",MENU:"menu",THREAD:"thread"},o=(a(r={},l.LATEST,"최신글"),a(r,l.SLIDE,"슬라이드 이미지"),a(r,l.NOTICE,"메인 공지"),a(r,l.POSTINGNOTICE,"포스팅-공지"),a(r,l.MARQUEE,"움직이는 한줄 텍스트"),a(r,l.BANNEER,"배너란"),a(r,l.
1LOGO,"로고"),a(r,l.MINICALENDAR,"미니 캘린더"),a(r,l.GALLERY,"미니 갤러리"),a(r,l.GUESTBOOK,"미니 방명록"),a(r,l.USERLOGIN,"로그인/유저 정보"),a(r,l.MASTERINFO,"마스터(주인장) 정보"),a(r,l.DDAYWIDGHET,"디데이위젯"),a(r,l.MYROOM,"스티커보드"),a(r,l.CLOCK,"시계"),a(r,l.DAILYTODO,"데일리 투두리스트"),a(r,l.MUSICPLAYER,"음악 플레이어"),a(r,l.EMPTY,"여백(빈공간)"),a(r,l.THREAD,"스레드"),r),i=(Object.keys(o).map(function(e){return{key:e,value:o[e]}}),Object.keys(o).map(function(e){return{key:e,value:o[e],order:Object.keys(o).indexOf(e)}})),c={rows:6,cols:7},u={"#FF5733":{order:0,color:"#FF5733",status:"logo",cells:[{row:0,col:0},{row:0,col:1},{row:0,col:2},{row:0,col:3},{row:0,col:4},{row:0,col:5},{row:0,col:6}]},"#33FF57":{order:1,color:"#33FF57",status:"slide",cells:[{row:1,col:0},{row:1,col:1},{row:1,col:2},{row:1,col:3},{row:1,col:4},{row:1,col:5},{row:1,col:6},{row:2,col:0},{row:2,col:1},{row:2,col:2},{row:2,col:3},{row:2,col:4},{row:2,col:5},{row:2,col:6}]},"#5788FF":{order:2,color:"#5788FF",status:"marquee",cells:[{row:3,col:0},{row:3,col:1},{row:3,col:2},{row:3,col:3},{row:3,col:4},{row:3,col:5},{row:3,col:6}]},"#417505":{order:3,color:"#417505",status:"xwidget",cells:[{row:4,col:0},{row:4,col:1},{row:5,col:0},{row:5,col:1}]},"#FFFF33":{order:4,color:"#FFFF33",status:"minicalendar",cells:[{row:4,col:2},{row:4,col:3},{row:4,col:4},{row:5,col:2},{row:5,col:3},{row:5,col:4}]},"#FF33FF":{order:5,color:"#FF33FF",status:"userlogin",cells:[{row:4,col:5},{row:4,col:6}]},"#f5a623":{order:6,color:"#f5a623",status:"banner",cells:[{row:5,col:5},{row:5,col:6}]}}},91183:function(e,t,n){var r=n(37953),a=n(3935),l=n(92284),o=n(29081);t.A=function(e){var t=e.accessType,n=e.direction,i=void 0===n?"top":n,c=e.style;return t?r.createElement(r.Fragment,null,t!==l.KC.PUBLIC&&r.createElement(a.A,{direction:i,message:l.Po[t]},r.createElement(o.A,{name:"Lock14",color:"var(--subTextColor)",style:c}))):null}},96059:function(e,t,n){n.d(t,{f:function(){return c},v:function(){return u}}),n(82185),n(61445),n(34068);var r=n(59352),a=n(19730),l=n(19129);function o(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}var i=r.default.firestore().collection(a.Gf.MAINHOME),c={contents:'<p><br></p><p><br></p><p><br></p><p><br></p><p class="ql-align-center">홈페이지 샘플 입니다.</p><p class="ql-align-center"><br></p><p class="ql-align-center"><br></p><p class="ql-align-center"><br></p><p class="ql-align-center"><br></p>',backgroundSet:!0,homeType:l.ry.FREE,mainImgURL:"",defaultBannerURL:"",masterInfo:{imgURL:"",skinURL:""}};function u(){return s.apply(this,arguments)}function s(){var e;return e=regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.doc(a.kV.MAINHOME).set(c,{merge:!0}));case 1:case"end":return e.stop()}},e)}),s=function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function i(e){o(l,r,a,i,c,"next",e)}function c(e){o(l,r,a,i,c,"throw",e)}i(void 0)})},s.apply(this,arguments)}},96171:function(e,t,n){n.d(t,{KF:function(){return a},o6:function(){return r}});var r="/images/support-desk/default-admin.png",a={enabled:!0,title:"홈페이지 마스터에게 문의하기",character:{mode:"imageUrl",imageUrl:r,alt:"시스템 관리자 캐릭터"},scripts:[{id:"comment-option-tip",type:"tip",enabled:!0,text:"게시판마다 댓글 허용 여부를 따로 설정할 수 있어요. 조용한 기록용 게시판도 만들 수 있답니다."},{id:"secret-comment-tip",type:"faq",enabled:!0,text:"비밀댓글 기능이 켜진 게시판에서는 작성자와 관리자만 내용을 확인할 수 있어요."},{id:"photocard-tag-tip",type:"tip",enabled:!0,text:"포토카드는 카테고리와 태그를 잘 나눠두면 나중에 찾기가 훨씬 쉬워져요."},{id:"wiki-index-tip",type:"tip",enabled:!0,text:"위키 페이지는 목차처럼 정리해두면 긴 설정집도 보기 편해져요."},{id:"notification-tip",type:"faq",enabled:!0,text:"알림이 너무 많다면 게시판별 알림 설정을 먼저 확인해보세요."},{id:"representative-character-tip",type:"tip",enabled:!0,text:"대표 캐릭터를 설정해두면 홈 화면과 프로필에서 더 자연스럽게 보여요."},{id:"item-description-tip",type:"tip",enabled:!0,text:"아이템 설명은 짧게 적어도 좋아요. 사용 ì¡°ê±´ê³¼ 효과만 ë
1¶„명하면 충분합니다."},{id:"bug-report-tip",type:"bug",enabled:!0,text:"화면이 이상하게 보이면 기기 종류와 브라우저를 함께 알려주세요. 원인 추적에 큰 단서가 됩니다."}]}},96878:function(e,t,n){var r;function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{ar:function(){return l},re:function(){return i}}),n(86608),n(82106),n(10475);var l={HEADER:"headerText",LABEL:"label"},o=(a(r={},l.HEADER,"제목형"),a(r,l.LABEL,"라벨형"),r),i=Object.keys(o).map(function(e){return{key:e,value:o[e]}})},98126:function(e,t,n){n.d(t,{b:function(){return s},u:function(){return d}}),n(10475),n(82106),n(32145),n(85062),n(3233),n(51163),n(82758),n(20884),n(31863);var r=n(37953),a=n(79661),l=n(31222),o=n(96171);function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e){var t;return e?c(c(c({},o.KF),e),{},{enabled:null!==(t=e.enabled)&&void 0!==t?t:o.KF.enabled,character:c(c({mode:"imageUrl"},o.KF.character),e.character||{}),scripts:e.scripts&&e.scripts.length>0?e.scripts:o.KF.scripts}):o.KF}function d(){var e=(0,a.vc)(l.WJ);return(0,r.useMemo)(function(){return s(null==e?void 0:e.supportDeskConfig)},[null==e?void 0:e.supportDeskConfig])}},99619:function(e,t,n){n.r(t),n(44465),n(31863),n(32145),n(74277),n(57045),n(75868),n(42652),n(34068),n(10475),n(82106),n(3233),n(20884),n(82185),n(66706),n(65114),n(77135),n(61445),n(32242),n(60039),n(51163),n(82758),n(4031),n(85062),n(80545),n(43465),n(43732),n(3940),n(86608),n(97152),n(12064),n(93116),n(4298),n(77654),n(94513),n(19224),n(98832),n(60368);var r,a,l,o,i,c,u=n(37953),s=n(84136),d=n(83483),f=n(65972),m=n(19730),p=n(80762),v=n(53942),y=n(19563),g=n(92284),b=n(13118),h=n(9903),E=n(59352),x=n(15548),w=n(2355),A=n(79661),C=n(79883),k=n(60684),S=n(15543);function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach(function(t){j(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e){return function(e){if(Array.isArray(e))return M(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||U(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=U(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,l=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw l}}}}function R(e,t,n,r,a,l,o){try{var i=e[l](o),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,a)}function L(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){R(l,r,a,o,i,"next",e)}function i(e){R(l,r,a,o,i,"throw",e)}o(void 0)})}}function D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}(e,t)||U(e,t)||function(){throw new TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,t):void 0}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function N(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var z=s.Ay.div(r||(r=N(["\n  width: 100%;\n  padding: 16px 0;\n"]))),B=s.Ay.div(a||(a=N(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 16px;\n"]))),F=s.Ay.div(l||(l=N(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),G=s.Ay.div(o||(o=N(["\n  display: flex;\n  justify-content: space-between;\n  gap: 8px;\n  align-items: center;\n  margin: 16px 0;\n"]))),H=s.Ay.div(i||(i=N(["\n  display: flex;\n  gap: 8px;\n  align-items: center;
1\n"]))),$=s.Ay.div(c||(c=N(["\n  display: flex;\n  justify-content: center;\n  padding: 16px 0;\n"]))),V=E.default.firestore();t.default=function(){var e=(0,x.Zp)(),t=(0,A.vc)(C.Bs),n=D((0,u.useState)(50),2),r=n[0],a=n[1],l=(0,d.useCollection)("form",{listen:!0,orderBy:["createdAt","desc"],limit:r}).data,o=(0,d.useCollection)("formSetting",{listen:!0}).data,i=(0,d.useCollection)(m.Gf.STATUS,{listen:!0}).data,c=D((0,u.useState)([]),2),s=c[0],E=c[1],O=D((0,u.useState)(""),2),j=O[0],R=O[1],U=D((0,u.useState)(""),2),M=U[0],N=U[1],W=D((0,u.useState)(""),2),_=W[0],q=W[1],K=D((0,u.useState)(!1),2),Y=K[0],J=K[1],Q=(0,u.useMemo)(function(){var e=new Map;return(o||[]).forEach(function(t){return e.set(t.id,t)}),e},[o]),Z=(0,u.useCallback)(function(e){var t=Q.get(e.formConfigId);if(null!=t&&t.fields){var n,r,a=t.fields.find(function(e){return e.type===f.PR.STATUS});if(a&&null!==(n=e.responses)&&void 0!==n&&null!==(r=n[a.id])&&void 0!==r&&r.value)return e.responses[a.id].value}return e.status||""},[Q]),X=(0,u.useMemo)(function(){var e=l||[];return j&&(e=e.filter(function(e){return e.formConfigId===j})),M&&(e=e.filter(function(e){return Z(e)===M})),_&&(e=e.filter(function(e){return(e.title||"").toLowerCase().includes(_.toLowerCase())})),e},[l,j,M,_,Z]),ee=(0,u.useMemo)(function(){return[{id:"",key:"",value:"전체 상태"},{id:f.wK.DRAFT,key:f.wK.DRAFT,value:f.HY[f.wK.DRAFT]},{id:f.wK.COMPLETED,key:f.wK.COMPLETED,value:f.HY[f.wK.COMPLETED]}]},[]),te=(l||[]).length===r,ne=(0,u.useCallback)(function(){a(function(e){return e+50})},[]),re=(0,u.useCallback)(function(){var e=L(regeneratorRuntime.mark(function e(t,n){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,V.collection("form").doc(t).update({accessType:n});case 3:e.next=9;break;case 5:e.prev=5,e.t0=e.catch(0),console.error("열람 권한 변경 실패:",e.t0),alert("열람 권한 변경 중 오류가 발생했습니다.");case 9:case"end":return e.stop()}},e,null,[[0,5]])}));return function(t,n){return e.apply(this,arguments)}}(),[]),ae=(0,u.useCallback)(L(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==s.length){e.next=2;break}return e.abrupt("return",alert("선택된 항목이 없습니다."));case 2:if(confirm("".concat(s.length,"개 항목을 삭제하시겠습니까?"))){e.next=4;break}return e.abrupt("return");
1case 4:return J(!0),e.prev=5,t=V.batch(),s.forEach(function(e){var n=V.collection("form").doc(e);t.delete(n)}),e.next=11,t.commit();case 11:E([]),(0,d.revalidateCollection)("form"),alert("삭제 완료"),e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),console.error(e.t0),alert("삭제 중 오류가 발생했습니다.");case 20:return e.prev=20,J(!1),e.finish(20);case 23:case"end":return e.stop()}},e,null,[[5,16,20,23]])})),[s]),le=(0,u.useCallback)(L(regeneratorRuntime.mark(function e(){var n,r,a,o,c,u,d,p;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==s.length){e.next=2;break}return e.abrupt("return",alert("선택된 항목이 없습니다."));case 2:if(confirm("".concat(s.length,"개 항목을 멤버란으로 이동하시겠습니까?"))){e.next=4;break}return e.abrupt("return");case 4:return J(!0),e.prev=5,n=m.Gf.PHOTOCARD,r=V.collection(n),a=V.collection("".concat(n,"Closet")),e.next=11,r.get();case 11:o=e.sent,c=o.docs.length,u=T(s),e.prev=14,p=regeneratorRuntime.mark(function e(){var n,o,u,s,m,p,v,y,g,b,h,E,x,A,C,k,O,j,R,L,U,M,N,z,B,F,G,H,$,V,W,_,q,K,Y,J,Z,X,ee,te,ne,re;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=d.value,o=(l||[]).find(function(e){return e.id===n})){e.next=4;break}return e.abrupt("return","continue");case 4:return u=Q.get(o.formConfigId),s=o.title||"",m="",p="",v="",y="",o.responses&&Object.entries(o.responses).forEach(function(e){var t=D(e,2),n=(t[0],t[1]);"title"===(null==n?void 0:n.dataMap)&&(s=n.value||s),"subTitle"===(null==n?void 0:n.dataMap)&&(m=n.value||m),"thumbnail"===(null==n?void 0:n.dataMap)&&(p=Array.isArray(n.value)?n.value[0]:n.value||p)}),null!=u&&u.listDisplayMapping&&(A=u.listDisplayMapping.titleFieldId,C=u.listDisplayMapping.subTitleFieldId,k=u.listDisplayMapping.thumbnailFieldId,O=u.listDisplayMapping.profileFieldId,j=u.listDisplayMapping.fullBodyFieldId,A&&null!==(g=o.responses)&&void 0!==g&&g[A]&&(s=o.responses[A].value||s),C&&null!==(b=o.responses)&&void 0!==b&&b[C]&&(m=o.responses[C].value||m),k&&null!==(h=o.responses)&&void 0!==h&&h[k]&&(R=o.responses[k].value,p=Array.isArray(R)?R[0]:R||p),O&&null!==(E=o.responses)&&void 0!==E&&E[O]&&(L=o.responses[O].value,v=Array.isArray(L)?L[0]:L||v),j&&null!==(x=o.responses)&&void 0!==x&&x[j]&&(U=o.responses[j].value,y=Array.isArray(U)?U[0]:U||y)),v||(v=p),M="",null!=u&&u.fields&&o.responses&&(N=u.fields.find(function(e){return e.type===f.PR.CAMP_SELECT}))&&o.responses[N.id]&&(M=o.responses[N.id].value||""),z={},null!=u&&u.fields&&o.responses&&(F=u.fields.find(function(e){return e.type===f.PR.STAT_INPUT}))&&null!==(B=o.responses[F.id])&&void 0!==B&&B.value&&(G=(i||[]).map(function(e){return{id:(null==e?void 0:e.id)||"",key:(null==e?void 0:e.key)||""}}),H=(0,S.k)(o.responses[F.id].value,G),$=new Map,(i||[]).forEach(function(e){var t=(null==e?void 0:e.key)||(null==e?void 0:e.id);t&&$.set(t,e)}),V=function(e){return e===w.J.HP?"currentHp":e===w.J.MP?"currentMp":"current".concat(e.charAt(0).toUpperCase()).concat(e.slice(1))},Object.values(w.J).forEach(function(e){var t=$.get(e),n="전투"===(null==t?void 0:t.type),r=H[e];if(n||void 0!==r){var a="number"==typeof r&&Number.isFinite(r)?r:0;if(n){var l="number"==typeof(null==t?void 0:t.defaultMaxValue)?t.defaultMaxValue:0;return z[e]=l,void(z[V(e)]=a)}z[e]=a}})),W=[],_=[],null!=u&&u.fields&&o.responses&&(q=new Set,u.listDisplayMapping&&((K=u.listDisplayMapping).thumbnailFieldId&&q.add(K.thumbnailFieldId),K.profileFieldId&&q.add(K.profileFieldId),K.fullBodyFieldId&&q.add(K.fullBodyFieldId)),P(u.fields).sort(function(e,t){return e.order-t.order}).forEach(function(e){var t,n=null===(t=o.responses)||void 0===t?void 0:t[e.id],r=null==n?void 0:n.value,a=e.adminOnly||(null==n?void 0:n.adminOnly);if(e.type===f.PR.LONG_TEXT&&r&&"string"==typeof r&&r.trim()&&(a?_.push(r):W.push(r)),e.type===f.PR.IMAGE_UPLOAD){if(q.has(e.id))return;if(r){var l=(Array.isArray(r)?r:[r]).filter(function(e){return e&&"string"==typeof e&&e.trim()});l.length>0&&(a?_.push({type:"images",urls:l}):W.push({type:"images",urls:l}))}}})),J=(Y=function(e){var t,n=[],r=T(e);try{for(r.s();!(t=r.n()).done;){var a=t.value;if("string"==typeof a)n.push(a);else if("images"===(null==a?void 0:a.type)&&null!=a&&a.urls){var l=a.urls.map(function(e){return'<img src="'.concat(e,'" alt="이미지" style="max-width:100%; margin:4px 0;" />')}).join("\n");n.push(l)}}}catch(e){r.e(e)}finally{r.f()}return n.join("\n\n")})(W),Z=Y(_),X=I({createdAt:new Date,editedAt:new Date,order:c++,authorUid:o.authorUid||t||"",owner:o.authorUid||t||"",title:s||"제목ì—
1†ìŒ",subTitle:m||"",description:"",thumbnail:p||"",camp:M||"",sourceFormId:o.id},z),e.next=26,r.add(X);case 26:return ee=e.sent,te=ee.id,ne=y||v||"",re={photoCardId:te,authorUid:o.authorUid||t||"",order:0,closetName:"기본",createdAt:new Date,editedAt:new Date,title:s||"제목없음",tag:"",subTitle:m||"",description:"",imgURL:ne,note:J||"",secretNote:Z||"",thumbnail:v||""},e.next=32,a.add(re);case 32:case"end":return e.stop()}},e)}),u.s();case 17:if((d=u.n()).done){e.next=24;break}return e.delegateYield(p(),"t0",19);case 19:if("continue"!==e.t0){e.next=22;break}return e.abrupt("continue",22);case 22:e.next=17;break;case 24:e.next=29;break;case 26:e.prev=26,e.t1=e.catch(14),u.e(e.t1);case 29:return e.prev=29,u.f(),e.finish(29);case 32:alert("이동 완료"),E([]),e.next=40;break;case 36:e.prev=36,e.t2=e.catch(5),console.error(e.t2),alert("이동 중 오류가 발생했습니다.");case 40:return e.prev=40,J(!1),e.finish(40);case 43:case"end":return e.stop()}},e,null,[[5,36,40,43],[14,26,29,32]])})),[s,l,Q,t,i]),oe=(0,u.useMemo)(function(){return[{id:"",key:"",value:"전체 폼"}].concat(P((o||[]).map(function(e){return{id:e.id,key:e.id,value:e.title}})))},[o]),ie=(0,u.useMemo)(function(){return[g.KC.PUBLIC,g.KC.MEMBER,g.KC.SECRET].map(function(e){return{id:e,key:e,value:g.TN[e]}})},[]),ce=(0,u.useMemo)(function(){return[{key:"title",header:"제목",accessor:function(e){var t,n,r,a=Q.get(e.formConfigId),l=null==a||null===(t=a.listDisplayMapping)||void 0===t?void 0:t.titleFieldId;return l&&null!==(n=e.responses)&&void 0!==n&&null!==(r=n[l])&&void 0!==r&&r.value?e.responses[l].value:e.title||"(제목없음)"}},{key:"formConfigId",header:"폼 템플릿",accessor:function(e){var t;return(null===(t=Q.get(e.formConfigId))||void 0===t?void 0:t.title)||"-"}},{key:"status",header:"상태",accessor:function(e){var t=Z(e);return f.HY[t]||t||"-"}},{key:"accessType",header:"열람 권한",render:function(e){return u.createElement("span",{onClick:function(e){return e.stopPropagation()}},u.createElement(y.A,{selectList:ie,selectedKey:e.accessType||"",setSelectedKey:function(t){return re(e.id,t)},size:"sm",style:{width:"90px"}}))}},{key:"authorUid",header:"작성자",render:function(e){return e.authorUid?u.createElement(h.A,{uid:e.authorUid,noLink:!0,avatarSize:"24px"}):"-"}},{key:"createdAt",header:"생성일",accessor:function(e){return function(e){try{var t=null!=e&&e.toDate?e.toDate():new Date(e);return!t||isNaN(t.getTime())?"":t.toLocaleString("ko-KR")}catch(e){return""}}(e.createdAt)}}]},[Q,ie,re,Z]);return u.createElement(k.Ay,null,u.createElement(z,null,u.createElement(B,null,u.createElement("h6",{style:{margin:0}},"폼 일괄 관리"),u.createElement(F,null,u.createElement(p.A,{shape:"stroke",onClick:function(){return e("/form")},pending:Y},"나가기"))),u.createElement(G,null,u.createElement(H,null,u.createElement(p.A,{shape:"stroke",onClick:ae,pending:Y,color:"warning"},"선택 삭제"),u.createElement(p.A,{onClick:le,pending:Y},"선택 멤버란으로 이동")),u.createElement(H,null,u.createElement(y.A,{selectList:oe,selectedKey:j,setSelectedKey:R,size:"sm"}),u.createElement(y.A,{selectList:ee,selectedKey:M,setSelectedKey:N,size:"sm"}),u.createElement(v.A,{name:"form-manage-filter",placeholder:"제목 검색",value:_,onChange:function(e){return q(e.target.value)},style:{maxWidth:"200px"}}),u.createElement(p.A,{shape:"stroke",size:"sm",onClick:function(){q(""),N(""),R("")}},"초기화"))),u.createElement(b.A,{columns:ce,data:X,rowKey:function(e){return e.id},selectedKeys:s,onSelectionChange:E,emptyText:"폼 응답이 없습니다."}),te&&u.createElement($,null,u.createElement(p.A,{shape:"stroke",onClick:ne},"더 보기 (",r,"개 로드됨)"))))}}}]);
2//# sourceMappingURL=4269.8ccbfebb.chunk.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.