import{Ct as e,Dt as t,Jt as n,Kt as r,Ot as i,Rn as a,St as o,Yt as ee,bn as s,bt as c,hn as l,ht as u,in as d,kt as f,l as te,wt as p,xt as m}from"./client-CAcbOpZH.js";import{t as h}from"./Card-Csl-QXBE.js";import{n as g,r as ne,t as re}from"./es-CkktpxoG.js";import{t as ie}from"./Modal-yrEbi33D.js";import{t as _}from"./Button-C-XgeD_t.js";import{t as ae}from"./Select-BdX4o_Nb.js";import{t as v}from"./_plugin-vue_export-helper-CktLkZ_U.js";import{n as oe,t as y}from"./Upload-D2Md9PBv.js";import{n as se,r as b,t as ce}from"./PlaceBlock-CB5NSsMk.js";import{t as x}from"./Input-DEXEw6Qr.js";import{t as le}from"./Alert-4b17tSP6.js";import{t as S}from"./Space-DKEXBJM2.js";import{t as C}from"./Flex-BlAYtLY_.js";import{t as w}from"./text-DQxzFqTM.js";import{i as ue,o as de,t as T}from"./index-7R9tWZyL.js";import{t as fe}from"./HeaderMenu-C7ionLsn.js";import{t as pe}from"./binary_client-opsZKG2n.js";import{r as me}from"./application-B5u0OH78.js";var E={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},he=f({name:`Settings`,render:function(e,t){return r(),p(`svg`,E,t[0]||=[m(`path`,{d:`M27 16.76V16v-.77l1.92-1.68A2 2 0 0 0 29.3 11l-2.36-4a2 2 0 0 0-1.73-1a2 2 0 0 0-.64.1l-2.43.82a11.35 11.35 0 0 0-1.31-.75l-.51-2.52a2 2 0 0 0-2-1.61h-4.68a2 2 0 0 0-2 1.61l-.51 2.52a11.48 11.48 0 0 0-1.32.75l-2.38-.86A2 2 0 0 0 6.79 6a2 2 0 0 0-1.73 1L2.7 11a2 2 0 0 0 .41 2.51L5 15.24v1.53l-1.89 1.68A2 2 0 0 0 2.7 21l2.36 4a2 2 0 0 0 1.73 1a2 2 0 0 0 .64-.1l2.43-.82a11.35 11.35 0 0 0 1.31.75l.51 2.52a2 2 0 0 0 2 1.61h4.72a2 2 0 0 0 2-1.61l.51-2.52a11.48 11.48 0 0 0 1.32-.75l2.42.82a2 2 0 0 0 .64.1a2 2 0 0 0 1.73-1l2.28-4a2 2 0 0 0-.41-2.51zM25.21 24l-3.43-1.16a8.86 8.86 0 0 1-2.71 1.57L18.36 28h-4.72l-.71-3.55a9.36 9.36 0 0 1-2.7-1.57L6.79 24l-2.36-4l2.72-2.4a8.9 8.9 0 0 1 0-3.13L4.43 12l2.36-4l3.43 1.16a8.86 8.86 0 0 1 2.71-1.57L13.64 4h4.72l.71 3.55a9.36 9.36 0 0 1 2.7 1.57L25.21 8l2.36 4l-2.72 2.4a8.9 8.9 0 0 1 0 3.13L27.57 20z`,fill:`currentColor`},null,-1),m(`path`,{d:`M16 22a6 6 0 1 1 6-6a5.94 5.94 0 0 1-6 6zm0-10a3.91 3.91 0 0 0-4 4a3.91 3.91 0 0 0 4 4a3.91 3.91 0 0 0 4-4a3.91 3.91 0 0 0-4-4z`,fill:`currentColor`},null,-1)])}}),D={key:1,class:`place-block`},O={class:`message-header`},k={class:`message-content`},A={key:0},j={class:`correct-answer`},M={key:1,class:`intro-empty`},N={key:3,class:`place-block`},P={class:`slot-block`},ge=v(f({__name:`QuestionBlock`,props:{newQuestionCode:{},newQuestionText:{},newQuestionAnswer:{},question:{},mode:{}},emits:[`update:newQuestionCode`,`update:newQuestionText`,`update:newQuestionAnswer`,`update:mode`],setup(n,{emit:o}){let c=n,l=o,f=e=>{l(`update:newQuestionCode`,e)},te=e=>{l(`update:newQuestionText`,e)},h=e=>{l(`update:newQuestionAnswer`,e)},g=e=>{l(`update:mode`,e)};return(o,l)=>(r(),p(u,null,[n.mode==`mini-add`?(r(),p(`div`,{key:0,class:`place-block-hover show-editor-block`,onClick:l[0]||=e=>g(`add`)},[...l[5]||=[m(`p`,{class:`place-image-plus`},`+`,-1)]])):e(``,!0),n.mode==`add`?(r(),p(`div`,D,[i(s(S),{vertical:``},{default:d(()=>[i(s(b),null,{default:d(()=>[i(s(x),{style:{width:`25%`},value:n.newQuestionCode,"onUpdate:value":f,type:`text`,placeholder:`В-1`},null,8,[`value`]),i(s(x),{style:{width:`75%`},value:n.newQuestionText,"onUpdate:value":te,type:`text`,placeholder:`Кто украл пастуха?`},null,8,[`value`])]),_:1}),i(s(x),{value:n.newQuestionAnswer,"onUpdate:value":h,type:`textarea`,autosize:{minRows:2},placeholder:`Правильный ответ (виден только автору и организаторам)`},null,8,[`value`]),ee(o.$slots,`default`,{},void 0,!0)]),_:3})])):e(``,!0),n.mode==`show-editor`?(r(),p(`div`,{key:2,class:`place-block-hover show-editor-block`,onClick:l[1]||=e=>g(`edit`)},[m(`div`,O,a(c.question?.code)+`: `+a(c.question?.text),1),l[8]||=m(`hr`,{class:`hr`},null,-1),m(`div`,k,[c.question?.answer?(r(),p(`span`,A,[l[6]||=t(` Ответ:`,-1),l[7]||=m(`br`,null,null,-1),m(`span`,j,a(c.question.answer),1)])):(r(),p(`span`,M,`Ответ не задан`))])])):e(``,!0),n.mode==`edit`?(r(),p(`div`,N,[i(s(S),{vertical:``},{default:d(()=>[i(s(b),null,{default:d(()=>[i(s(x),{style:{width:`25%`},value:c.question.code,"onUpdate:value":l[2]||=e=>c.question.code=e,type:`text`,placeholder:`В-1`},null,8,[`value`]),i(s(x),{style:{width:`75%`},value:c.question.text,"onUpdate:value":l[3]||=e=>c.question.text=e,type:`text`,placeholder:`Кто украл пастуха?`},null,8,[`value`])]),_:1}),l[10]||=m(`p`,{class:`settings-header`},`Правильный ответ`,-1),i(s(x),{value:c.question.answer,"onUpdate:value":l[4]||=e=>c.question.answer=e,type:`textarea`,autosize:{minRows:2},placeholder:`Правильный ответ (виден только автору и организаторам)`},null,8,[`value`]),i(s(w),{class:`hint`,depth:`3`},{default:d(()=>[...l[9]||=[t(` Смена кода вопроса не переносит ответы команд, отправленные под старым кодом. `,-1)]]),_:1}),m(`div`,P,[ee(o.$slots,`default`,{},void 0,!0)])]),_:3})])):e(``,!0)],64))}}),[[`__scopeId`,`data-v-b506c9f9`]]),_e={class:`width700`},ve={class:`places-container`},ye={class:`settings-block`},be=[`src`],xe=[`src`],Se=[`aria-label`],F=v(f({__name:`ScenariosEditorPage`,setup(ee){let f=de(),v=ue(),b=pe(),E=te().params.id,D=l(!1),O=l(``),k=l(``),A=l(!1),j=g(),M=l([]),N=l({ID:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0,averageRating:void 0,reviewsCount:void 0,difficulty:void 0}),P=l([]),F=l(!1),I=l({text:``,audio:``}),L=l(`show-editor`),R=l({text:``,video:``}),z=l([]),B=l(!1),Ce=c(()=>me(R.value.video)),we=l([]),V=l(null);function H(){R.value={text:``,video:``,...N.value.story?.conclusion},z.value=[]}function Te(){R.value.video=``,z.value=[]}async function Ee(e=!1){B.value=!0;try{let t=Qe(R.value.video);if(!e&&z.value.length){let e=z.value[0].file;if(!e)return;let n=await G(e,`scenarios_`+N.value.ID+`_conclusion_`+e.name);if(!n.filename)return;if(n.fileType!==`video`){j.error(`Закрывашка должна содержать видео MP4 или WebM`);return}t=n.filename}let n=e?{text:``,video:``}:{text:R.value.text,video:t};await v.UpdateScenarioConclusion({ID:N.value.ID,conclusion:n}),N.value.story.conclusion=n,H(),j.success(e?`Закрывашка удалена`:`Закрывашка сохранена`)}catch{j.error(`Не удалось сохранить закрывашку`)}finally{B.value=!1}}let De=c(()=>N.value.story?.places||[]),Oe=l(null),U=new Map;function ke(e){let t=e?De.value.find(t=>(t.oldCode??t.code)===e):void 0,n=t&&U.get(t),r=Oe.value;if(!n||!r){j.error(e?`Точка «${e}» не найдена`:`У действия не указан код точки`);return}n.focus({preventScroll:!0}),r.scrollTo({top:r.scrollTop+n.getBoundingClientRect().top-r.getBoundingClientRect().top-10,behavior:`smooth`})}let Ae=c(()=>N.value.story?.questions||[]);async function W(e){let t=await v.GetFullScenario({ID:e});N.value=t.scenario,V.value=N.value.music_playlist_id||null,H(),N.value.story?.places?.forEach(e=>{let t=e;t.oldCode=t.code,t.mode=`show-editor`}),N.value.story?.questions?.forEach(e=>{let t=e;t.oldCode=t.code,t.mode=`show-editor`}),I.value=N.value.story?.introduction||{text:``,audio:``},L.value=`show-editor`}W(Number(E));async function je(){try{let e=await v.GetPlaylists({});we.value=e.playlists||[]}catch(e){j.error(e instanceof Error?e.message:`Не удалось загрузить плейлисты`)}}je();async function Me(e){try{await v.SetScenarioPlaylist({ID:Number(E),playlistID:e||0}),j.success(`Плейлист сценария сохранён`)}catch(e){j.error(e instanceof Error?e.message:`Не удалось сохранить плейлист`)}}async function Ne(e){await v.DeleteScenario({ID:e}),T.push(`/scenarios`)}async function Pe(e){await v.PublicScenario({ID:e}),await W(Number(E)),O.value=``,D.value=!1}async function Fe(e,t){let n=new Date().toISOString(),r=await v.AddGame({name:(`Тестовая игра: `+e).trim(),description:`Тестовая игра`,location:``,format:`online`,startAt:n,scenarioID:t}),i=await v.AddTeam({name:`Тестовая команда`,captainEmail:``,gameID:r.ID,participantsCount:void 0});T.push(`/team-story/`+i.ID+`?password=`+i.password)}async function Ie(e){await v.DraftScenario({ID:e}),await W(Number(E)),O.value=``,D.value=!1}async function Le(){A.value=!0;try{let{blob:e,filename:t}=await b.downloadScenarioArchive(N.value.ID),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3),j.success(`Архив сценария скачан`)}catch(e){j.error(e instanceof Error?e.message:`Не удалось скачать архив`)}finally{A.value=!1}}async function G(e,t){if(!e)return{filename:``,fileType:``};let n=await e.arrayBuffer(),r=new Uint8Array(n),i=await v.UploadFile({filename:t,data:ze(r)});return{filename:i.filename||``,fileType:i.file_type||``}}async function Re(){let e=``;if(M.value&&M.value.length>0){let t=M.value[0].file||null;if(t==null)return;let n=await G(t,`scenarios_`+N.value.ID+`_`+t.name);if(n.filename===``)return;e=n.filename}await v.UpdateScenario({ID:N.value.ID,name:N.value.name,description:N.value.description,image:e}),await W(Number(E)),D.value=!1}function ze(e){let t=Be(e);return btoa(t)}function Be(e){let t=``;for(let n=0;ne.code==n.code)??await v.AddScenarioPlace({ID:e.ID,place:{code:n.code,name:n.name,text:void 0,image:void 0,hidden:!0,applications:void 0,doors:void 0,keys:void 0}})}async function We(e){await W(Number(E)),e.mode=`show-editor`}async function Ge(e){if(e.fileList&&e.fileList.length>0){let t=e.fileList[0].file||null;if(t==null)return;let n=await G(t,`scenarios_`+N.value.ID+`_place_`+e.code+`_`+t.name);if(n.filename===``)return;e.image=n.filename}let t=e.applications||[];for(let n of t){if(!n.fileList||n.fileList.length==0)continue;let t=n.fileList[0].file||null;if(t==null)continue;let r=await G(t,`scenarios_`+N.value.ID+`_place_`+e.code+`_app_`+t.name);if(r.filename===``)return;n.image=r.filename,n.file_type=r.fileType}await Ue(N.value,e),await v.UpdateScenarioPlace({ID:N.value.ID,code:e.oldCode,place:e}),await W(Number(E)),e.mode=`show-editor`}async function Ke(e){await v.DeleteScenarioPlace({ID:N.value.ID,code:e.oldCode}),await W(Number(E))}let X=l(``),Z=l(``),Q=l(``),$=l(`mini-add`);async function qe(){await v.AddScenarioQuestion({ID:N.value.ID,question:{code:X.value,text:Z.value,answer:Q.value}}),await W(Number(E)),X.value=``,Z.value=``,Q.value=``,$.value=`add`}async function Je(){X.value=``,Z.value=``,Q.value=``,$.value=`mini-add`}async function Ye(e){await v.UpdateScenarioQuestion({ID:N.value.ID,code:e.oldCode,question:{code:e.code,text:e.text,answer:e.answer}}),await W(Number(E)),e.mode=`show-editor`}async function Xe(e){await W(Number(E)),e.mode=`show-editor`}async function Ze(e){await v.DeleteScenarioQuestion({ID:N.value.ID,code:e.oldCode}),await W(Number(E))}function Qe(e){return e&&e.split(`/`).pop()||``}async function $e(){let e=``;if(I.value.fileList&&I.value.fileList.length>0){let t=I.value.fileList[0].file||null;if(t==null||(e=(await G(t,`scenarios_`+N.value.ID+`_intro_`+t.name)).filename,e===``))return}else e=Qe(I.value.audio);await v.UpdateScenarioIntro({ID:N.value.ID,introduction:{text:I.value.text,audio:e}}),await W(Number(E))}async function et(e=!1){F.value=!0;try{let t=``;if(!e){let e=P.value[0]?.file;if(!e)return;let n=await G(e,`scenarios_`+N.value.ID+`_background_`+e.name);if(!n.filename)return;if(n.fileType!==`image`){j.error(`Фон дела должен быть изображением`);return}t=n.filename}await v.UpdateScenarioBackground({ID:N.value.ID,background:t}),await W(Number(E)),P.value=[]}catch{j.error(`Не удалось сохранить фон дела`)}finally{F.value=!1}}async function tt(){await W(Number(E))}function nt(){let e=[{text:`Настя, ты просто ослепительна сегодня!`,nameForm:`Настя`},{text:`У Насти невероятный вкус!`,nameForm:`Насти`},{text:`Настенька, твоя улыбка делает мир ярче.`,nameForm:`Настенька`},{text:`С Настей всегда интересно общаться.`,nameForm:`Настей`},{text:`Настя, ты — источник вдохновения для всех вокруг.`,nameForm:`Настя`},{text:`Мне нравится, как Настя смотрит на мир.`,nameForm:`Настя`},{text:`Настюха, ты супер!`,nameForm:`Настюха`},{text:`Талант Насти поражает!`,nameForm:`Насти`},{text:`Настя, твоя энергия заряжает батарейки!`,nameForm:`Настя`},{text:`С Настей хочется проводить каждую минуту.`,nameForm:`Настей`},{text:`Настенька, ты — самое красивое, что случилось в этом мире.`,nameForm:`Настенька`},{text:`У Насти золотое сердце.`,nameForm:`Насти`}];return e[Math.floor(Math.random()*e.length)].text}return(ee,c)=>(r(),p(u,null,[m(`div`,{ref_key:`scrollContainer`,ref:Oe,class:`center-block-custom`},[m(`div`,_e,[m(`div`,ve,[N.value.status==`public`?(r(),o(s(le),{key:0,title:`Сценарий опубликован`,type:`warning`,style:{"margin-bottom":`20px`}},{default:d(()=>[...c[40]||=[t(` Не рекомендуется редактировать сценарий когда он опубликован. `,-1)]]),_:1})):e(``,!0),s(f).user?.ID==2?(r(),o(s(le),{key:1,title:nt(),type:`info`,style:{"margin-bottom":`20px`}},null,8,[`title`])):e(``,!0),m(`div`,ye,[t(` Точек: `+a(N.value.story?.places?.length)+`, Вопросов: `+a(N.value.story?.questions?.length)+` `,1),i(s(_),{quaternary:``,onClick:c[0]||=e=>D.value=!0,class:`settings-button`},{default:d(()=>[i(s(re),{class:`settings-icon`},{default:d(()=>[i(s(he))]),_:1}),c[41]||=t(` Настройки `,-1)]),_:1})]),i(s(h),{title:`Музыка сценария`},{default:d(()=>[i(s(ae),{value:V.value,"onUpdate:value":[c[1]||=e=>V.value=e,Me],options:we.value.map(e=>({label:e.name,value:e.ID})),clearable:``,placeholder:`Плейлист по умолчанию`},null,8,[`value`,`options`])]),_:1}),i(s(h),{title:`Фон дела`},{default:d(()=>[i(s(S),{vertical:``},{default:d(()=>[N.value.story?.background?(r(),p(`img`,{key:0,src:N.value.story.background,alt:`Фон дела`,class:`background-preview`},null,8,be)):e(``,!0),i(s(y),{"file-list":P.value,"onUpdate:fileList":c[2]||=e=>P.value=e,accept:`.jpg,.jpeg,.png,.gif,.webp`,max:1,"default-upload":!1,disabled:F.value},{default:d(()=>[i(s(_),{disabled:F.value},{default:d(()=>[...c[42]||=[t(`Выбрать фон`,-1)]]),_:1},8,[`disabled`])]),_:1},8,[`file-list`,`disabled`]),i(s(C),null,{default:d(()=>[i(s(_),{loading:F.value,disabled:!P.value.length||F.value,onClick:c[3]||=e=>et()},{default:d(()=>[...c[43]||=[t(`Сохранить фон`,-1)]]),_:1},8,[`loading`,`disabled`]),N.value.story?.background?(r(),o(s(_),{key:0,disabled:F.value,onClick:c[4]||=e=>et(!0)},{default:d(()=>[...c[44]||=[t(`Удалить фон`,-1)]]),_:1},8,[`disabled`])):e(``,!0)]),_:1})]),_:1})]),_:1}),i(se,{introduction:I.value,mode:L.value,"onUpdate:mode":c[7]||=e=>L.value=e},{default:d(()=>[i(s(C),{justify:`end`},{default:d(()=>[i(s(_),{onClick:c[5]||=e=>tt()},{default:d(()=>[...c[45]||=[t(`Отмена`,-1)]]),_:1}),i(s(_),{onClick:c[6]||=e=>$e()},{default:d(()=>[...c[46]||=[t(`Сохранить вступление`,-1)]]),_:1})]),_:1})]),_:1},8,[`introduction`,`mode`]),i(s(h),{title:`Закрывашка сценария`},{default:d(()=>[i(s(S),{vertical:``},{default:d(()=>[i(s(w),{depth:`3`},{default:d(()=>[...c[47]||=[t(`Разгадка дела для автора. Игрокам не показывается.`,-1)]]),_:1}),i(s(x),{value:R.value.text,"onUpdate:value":c[8]||=e=>R.value.text=e,type:`textarea`,autosize:{minRows:4,maxRows:12},placeholder:`Текст закрывашки`,"aria-label":`Текст закрывашки`,disabled:B.value},null,8,[`value`,`disabled`]),Ce.value?(r(),p(`video`,{key:0,src:Ce.value,controls:``,preload:`none`,class:`conclusion-video`,"aria-label":`Видео закрывашки`},null,8,xe)):e(``,!0),R.value.video?(r(),o(s(_),{key:1,disabled:B.value,onClick:c[9]||=e=>Te()},{default:d(()=>[...c[48]||=[t(`Убрать видео`,-1)]]),_:1},8,[`disabled`])):e(``,!0),i(s(y),{"file-list":z.value,"onUpdate:fileList":c[10]||=e=>z.value=e,accept:`.mp4,.webm`,max:1,"default-upload":!1,disabled:B.value},{default:d(()=>[i(s(_),{disabled:B.value},{default:d(()=>[...c[49]||=[t(`Выбрать видео MP4/WebM`,-1)]]),_:1},8,[`disabled`])]),_:1},8,[`file-list`,`disabled`]),i(s(C),{justify:`end`},{default:d(()=>[N.value.story?.conclusion?.text||N.value.story?.conclusion?.video?(r(),o(s(_),{key:0,disabled:B.value,onClick:c[11]||=e=>Ee(!0)},{default:d(()=>[...c[50]||=[t(`Удалить закрывашку`,-1)]]),_:1},8,[`disabled`])):e(``,!0),i(s(_),{disabled:B.value,onClick:c[12]||=e=>H()},{default:d(()=>[...c[51]||=[t(`Отмена`,-1)]]),_:1},8,[`disabled`]),i(s(_),{loading:B.value,disabled:B.value||!N.value.story,onClick:c[13]||=e=>Ee()},{default:d(()=>[...c[52]||=[t(`Сохранить закрывашку`,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1}),c[63]||=m(`div`,{class:`questions-header`},`Вопросы дела`,-1),i(ge,{mode:$.value,"onUpdate:mode":c[16]||=e=>$.value=e,newQuestionCode:X.value,"onUpdate:newQuestionCode":c[17]||=e=>X.value=e,newQuestionText:Z.value,"onUpdate:newQuestionText":c[18]||=e=>Z.value=e,newQuestionAnswer:Q.value,"onUpdate:newQuestionAnswer":c[19]||=e=>Q.value=e},{default:d(()=>[i(s(C),{justify:`end`},{default:d(()=>[i(s(_),{onClick:c[14]||=e=>Je()},{default:d(()=>[...c[53]||=[t(`Отмена`,-1)]]),_:1}),i(s(_),{onClick:c[15]||=e=>qe(),disabled:!X.value},{default:d(()=>[...c[54]||=[t(`Добавить вопрос`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`mode`,`newQuestionCode`,`newQuestionText`,`newQuestionAnswer`]),(r(!0),p(u,null,n(Ae.value,e=>(r(),o(ge,{question:e,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.oldCode??e.code??``},{default:d(()=>[i(s(C),{justify:`end`},{default:d(()=>[i(s(_),{onClick:t=>Ze(e),type:`error`,ghost:``},{default:d(()=>[...c[55]||=[t(`Удалить`,-1)]]),_:1},8,[`onClick`]),i(s(_),{onClick:t=>Xe(e)},{default:d(()=>[...c[56]||=[t(`Отмена`,-1)]]),_:1},8,[`onClick`]),i(s(_),{onClick:t=>Ye(e),disabled:e.code==``},{default:d(()=>[...c[57]||=[t(`Сохранить`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)]),_:2},1032,[`question`,`mode`,`onUpdate:mode`]))),128)),i(ce,{mode:Y.value,"onUpdate:mode":c[22]||=e=>Y.value=e,newPlaceCode:K.value,"onUpdate:newPlaceCode":c[23]||=e=>K.value=e,newPlaceName:q.value,"onUpdate:newPlaceName":c[24]||=e=>q.value=e,newPlaceText:J.value,"onUpdate:newPlaceText":c[25]||=e=>J.value=e},{default:d(()=>[i(s(C),{justify:`end`},{default:d(()=>[i(s(_),{onClick:c[20]||=e=>He()},{default:d(()=>[...c[58]||=[t(`Отмена`,-1)]]),_:1}),i(s(_),{onClick:c[21]||=e=>Ve(),disabled:!K.value},{default:d(()=>[...c[59]||=[t(`Добавить точку`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`mode`,`newPlaceCode`,`newPlaceName`,`newPlaceText`]),(r(!0),p(u,null,n(De.value,e=>(r(),p(`div`,{key:e.oldCode??e.code??``,ref_for:!0,ref:t=>t?s(U).set(e,t):s(U).delete(e),class:`place-card`,tabindex:`-1`,role:`group`,"aria-label":`${e.code}: ${e.name}`},[i(ce,{place:e,mode:e.mode,"onUpdate:mode":t=>e.mode=t,onNavigate:ke},{default:d(()=>[i(s(C),{justify:`end`},{default:d(()=>[i(s(_),{onClick:t=>Ke(e),type:`error`,ghost:``},{default:d(()=>[...c[60]||=[t(`Удалить`,-1)]]),_:1},8,[`onClick`]),i(s(_),{onClick:t=>We(e)},{default:d(()=>[...c[61]||=[t(`Отмена`,-1)]]),_:1},8,[`onClick`]),i(s(_),{onClick:t=>Ge(e),disabled:e.code==``},{default:d(()=>[...c[62]||=[t(`Сохранить`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)]),_:2},1032,[`place`,`mode`,`onUpdate:mode`])],8,Se))),128))])])],512),i(s(ie),{show:D.value,"onUpdate:show":c[39]||=e=>D.value=e},{default:d(()=>[i(s(h),{style:{width:`600px`},title:`Настройки сценария`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":d(()=>[i(s(_),{onClick:c[26]||=e=>D.value=!1},{default:d(()=>[...c[64]||=[t(` x `,-1)]]),_:1})]),footer:d(()=>[...c[88]||=[]]),default:d(()=>[i(s(S),{vertical:``},{default:d(()=>[c[77]||=m(`p`,null,`Название`,-1),i(s(x),{value:N.value.name,"onUpdate:value":c[27]||=e=>N.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),c[78]||=m(`p`,{class:`settings-header`},`Описание`,-1),i(s(x),{value:N.value.description,"onUpdate:value":c[28]||=e=>N.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`]),c[79]||=m(`p`,{class:`settings-header`},`Картинка`,-1),i(s(x),{value:N.value.image,"onUpdate:value":c[29]||=e=>N.value.image=e,type:`text`,placeholder:`default_scenario.png`,disabled:``},null,8,[`value`]),i(s(y),{"directory-dnd":``,max:1,"file-list":M.value,"onUpdate:fileList":c[30]||=e=>M.value=e},{default:d(()=>[i(s(oe),null,{default:d(()=>[i(s(w),{style:{"font-size":`16px`}},{default:d(()=>[...c[65]||=[t(` Щелкните или перетащите файл в эту область для загрузки `,-1)]]),_:1})]),_:1})]),_:1},8,[`file-list`]),i(s(_),{onClick:c[31]||=e=>Re(),ghost:``},{default:d(()=>[...c[66]||=[t(` Сохранить изменения `,-1)]]),_:1}),c[80]||=m(`hr`,{class:`settings-hr`},null,-1),c[81]||=m(`p`,{class:`settings-header`},`Архив сценария`,-1),c[82]||=m(`p`,{class:`settings-hint`},` Скачайте сценарий ZIP-архивом (scenario.json + изображения) и импортируйте его в другом аккаунте. `,-1),i(s(_),{loading:A.value,disabled:!N.value.ID,ghost:``,onClick:c[32]||=e=>Le()},{default:d(()=>[...c[67]||=[t(` Скачать архив (.zip) `,-1)]]),_:1},8,[`loading`,`disabled`]),c[83]||=m(`hr`,{class:`settings-hr`},null,-1),c[84]||=m(`p`,null,`Создать тестовую игру`,-1),i(s(_),{onClick:c[33]||=e=>Fe(N.value.name||``,N.value.ID),ghost:``},{default:d(()=>[...c[68]||=[t(` Создать игру `,-1)]]),_:1}),c[85]||=m(`hr`,{class:`settings-hr`},null,-1),c[86]||=m(`p`,null,`Публикация`,-1),m(`p`,null,[N.value.status==`public`?(r(),o(s(ne),{key:0,bordered:!1,type:`success`,class:`status-block`},{default:d(()=>[...c[69]||=[t(` Опубликовано `,-1)]]),_:1})):e(``,!0),N.value.status==`draft`?(r(),o(s(ne),{key:1,bordered:!1,type:`warning`,class:`status-block`},{default:d(()=>[...c[70]||=[t(` В разработке `,-1)]]),_:1})):e(``,!0)]),m(`p`,null,[c[71]||=t(` Введите название сценария `,-1),i(s(w),{class:`name-text`,strong:``},{default:d(()=>[t(a(N.value.name),1)]),_:1})]),i(s(x),{value:O.value,"onUpdate:value":c[34]||=e=>O.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),N.value.status==`public`?e(``,!0):(r(),o(s(_),{key:0,onClick:c[35]||=e=>Pe(N.value.ID),ghost:``,disabled:O.value!=N.value.name},{default:d(()=>[...c[72]||=[t(` Опубликовать сценарий `,-1)]]),_:1},8,[`disabled`])),N.value.status==`draft`?e(``,!0):(r(),o(s(_),{key:1,onClick:c[36]||=e=>Ie(N.value.ID),ghost:``,disabled:O.value!=N.value.name},{default:d(()=>[...c[73]||=[t(` Снять сценарий с публикации `,-1)]]),_:1},8,[`disabled`])),c[87]||=m(`hr`,{class:`settings-hr`},null,-1),m(`p`,null,[c[74]||=t(` Введите название сценария `,-1),i(s(w),{class:`name-text`,strong:``},{default:d(()=>[t(a(N.value.name),1)]),_:1}),c[75]||=t(` чтобы удалить его `,-1)]),i(s(x),{value:k.value,"onUpdate:value":c[37]||=e=>k.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),i(s(_),{onClick:c[38]||=e=>Ne(N.value.ID),type:`error`,ghost:``,disabled:k.value!=N.value.name},{default:d(()=>[...c[76]||=[t(` Удалить сценарий `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`show`]),i(fe,{active:`scenarios`})],64))}}),[[`__scopeId`,`data-v-82e71240`]]),I=f({__name:`ScenariosEditorView`,setup(e){return(e,t)=>(r(),o(F))}});export{I as default};