Files
prod/frontend/dist/assets/ScenariosEditorView-DVjAWFn2.js
T
2026-10-04 14:25:32 +07:00

1 line
23 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{D as e,E as t,M as n,N as r,O as i,Q as a,T as o,Y as s,Z as c,at as l,gt as u,j as d,l as ee,w as f,xt as p,y as m,zt as h}from"./client-Dr2LhGo3.js";import{t as g}from"./Card-C30QQ1L4.js";import{t as _}from"./Modal-803EdS-A.js";import{t as v}from"./Button-CnjsaYfJ.js";import{n as te,t as y}from"./Upload-R-ae8PXJ.js";import{n as ne,r as b,t as re}from"./PlaceBlock-E-eSHsvT.js";import{t as x}from"./Input-DTIZ9rz4.js";import{t as ie}from"./Tag-Clu2bPlS.js";import{t as ae}from"./Alert--hABSHJL.js";import{n as oe,r as se,t as ce}from"./es-DJ1c4P06.js";import{t as S}from"./Space-D4xzR_P1.js";import{t as C}from"./Flex-D8hl89Lu.js";import{t as w}from"./text-DOSf6v6x.js";import{n as le,t as ue}from"./index-oZuSbaof.js";import{t as de}from"./HeaderMenu-45tXwFJZ.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as fe}from"./Settings-Buf1j0KY.js";import{t as pe}from"./binary_client-DF-ksuZm.js";import{r as me}from"./application-DXNAO2qx.js";var E={key:1,class:`place-block`},D={class:`message-header`},O={class:`message-content`},k={key:0},A={class:`correct-answer`},j={key:1,class:`intro-empty`},M={key:3,class:`place-block`},N={class:`slot-block`},he=T(r({__name:`QuestionBlock`,props:{newQuestionCode:{},newQuestionText:{},newQuestionAnswer:{},question:{},mode:{}},emits:[`update:newQuestionCode`,`update:newQuestionText`,`update:newQuestionAnswer`,`update:mode`],setup(t,{emit:r}){let c=t,u=r,ee=e=>{u(`update:newQuestionCode`,e)},f=e=>{u(`update:newQuestionText`,e)},g=e=>{u(`update:newQuestionAnswer`,e)},_=e=>{u(`update:mode`,e)};return(r,u)=>(s(),i(m,null,[t.mode==`mini-add`?(s(),i(`div`,{key:0,class:`place-block-hover show-editor-block`,onClick:u[0]||=e=>_(`add`)},[...u[5]||=[o(`p`,{class:`place-image-plus`},`+`,-1)]])):e(``,!0),t.mode==`add`?(s(),i(`div`,E,[n(p(S),{vertical:``},{default:l(()=>[n(p(b),null,{default:l(()=>[n(p(x),{style:{width:`25%`},value:t.newQuestionCode,"onUpdate:value":ee,type:`text`,placeholder:`В-1`},null,8,[`value`]),n(p(x),{style:{width:`75%`},value:t.newQuestionText,"onUpdate:value":f,type:`text`,placeholder:`Кто украл пастуха?`},null,8,[`value`])]),_:1}),n(p(x),{value:t.newQuestionAnswer,"onUpdate:value":g,type:`textarea`,autosize:{minRows:2},placeholder:`Правильный ответ (виден только автору и организаторам)`},null,8,[`value`]),a(r.$slots,`default`,{},void 0,!0)]),_:3})])):e(``,!0),t.mode==`show-editor`?(s(),i(`div`,{key:2,class:`place-block-hover show-editor-block`,onClick:u[1]||=e=>_(`edit`)},[o(`div`,D,h(c.question?.code)+`: `+h(c.question?.text),1),u[8]||=o(`hr`,{class:`hr`},null,-1),o(`div`,O,[c.question?.answer?(s(),i(`span`,k,[u[6]||=d(` Ответ:`,-1),u[7]||=o(`br`,null,null,-1),o(`span`,A,h(c.question.answer),1)])):(s(),i(`span`,j,`Ответ не задан`))])])):e(``,!0),t.mode==`edit`?(s(),i(`div`,M,[n(p(S),{vertical:``},{default:l(()=>[n(p(b),null,{default:l(()=>[n(p(x),{style:{width:`25%`},value:c.question.code,"onUpdate:value":u[2]||=e=>c.question.code=e,type:`text`,placeholder:`В-1`},null,8,[`value`]),n(p(x),{style:{width:`75%`},value:c.question.text,"onUpdate:value":u[3]||=e=>c.question.text=e,type:`text`,placeholder:`Кто украл пастуха?`},null,8,[`value`])]),_:1}),u[10]||=o(`p`,{class:`settings-header`},`Правильный ответ`,-1),n(p(x),{value:c.question.answer,"onUpdate:value":u[4]||=e=>c.question.answer=e,type:`textarea`,autosize:{minRows:2},placeholder:`Правильный ответ (виден только автору и организаторам)`},null,8,[`value`]),n(p(w),{class:`hint`,depth:`3`},{default:l(()=>[...u[9]||=[d(` Смена кода вопроса не переносит ответы команд, отправленные под старым кодом. `,-1)]]),_:1}),o(`div`,N,[a(r.$slots,`default`,{},void 0,!0)])]),_:3})])):e(``,!0)],64))}}),[[`__scopeId`,`data-v-b506c9f9`]]),ge={class:`width700`},_e={class:`places-container`},ve={class:`settings-block`},ye=[`src`],be=[`src`],xe=[`aria-label`],P=T(r({__name:`ScenariosEditorPage`,setup(r){let a=ue(),b=oe(),T=pe(),E=ee().params.id,D=u(!1),O=u(``),k=u(``),A=u(!1),j=se(),M=u([]),N=u({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=u([]),F=u(!1),I=u({text:``,audio:``}),L=u(`show-editor`),R=u({text:``,video:``}),z=u([]),B=u(!1),Se=f(()=>me(R.value.video));function V(){R.value={text:``,video:``,...N.value.story?.conclusion},z.value=[]}function Ce(){R.value.video=``,z.value=[]}async function we(e=!1){B.value=!0;try{let t=Je(R.value.video);if(!e&&z.value.length){let e=z.value[0].file;if(!e)return;let n=await W(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 b.UpdateScenarioConclusion({ID:N.value.ID,conclusion:n}),N.value.story.conclusion=n,V(),j.success(e?`Закрывашка удалена`:`Закрывашка сохранена`)}catch{j.error(`Не удалось сохранить закрывашку`)}finally{B.value=!1}}let Te=f(()=>N.value.story?.places||[]),Ee=u(null),H=new Map;function De(e){let t=e?Te.value.find(t=>(t.oldCode??t.code)===e):void 0,n=t&&H.get(t),r=Ee.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 Oe=f(()=>N.value.story?.questions||[]);async function U(e){let t=await b.GetFullScenario({ID:e});N.value=t.scenario,V(),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`}U(Number(E));async function ke(e){await b.DeleteScenario({ID:e}),le.push(`/scenarios`)}async function Ae(e){await b.PublicScenario({ID:e}),await U(Number(E)),O.value=``,D.value=!1}async function je(e,t){let n=new Date().toISOString(),r=await b.AddGame({name:(`Тестовая игра: `+e).trim(),description:`Тестовая игра`,location:``,format:`online`,startAt:n,scenarioID:t}),i=await b.AddTeam({name:`Тестовая команда`,captainEmail:``,gameID:r.ID,participantsCount:void 0});le.push(`/team-story/`+i.ID+`?password=`+i.password)}async function Me(e){await b.DraftScenario({ID:e}),await U(Number(E)),O.value=``,D.value=!1}async function Ne(){A.value=!0;try{let{blob:e,filename:t}=await T.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 W(e,t){if(!e)return{filename:``,fileType:``};let n=await e.arrayBuffer(),r=new Uint8Array(n),i=await b.UploadFile({filename:t,data:Fe(r)});return{filename:i.filename||``,fileType:i.file_type||``}}async function Pe(){let e=``;if(M.value&&M.value.length>0){let t=M.value[0].file||null;if(t==null)return;let n=await W(t,`scenarios_`+N.value.ID+`_`+t.name);if(n.filename===``)return;e=n.filename}await b.UpdateScenario({ID:N.value.ID,name:N.value.name,description:N.value.description,image:e}),await U(Number(E)),D.value=!1}function Fe(e){let t=Ie(e);return btoa(t)}function Ie(e){let t=``;for(let n=0;n<e.length;n+=5e4){let r=e.slice(n,n+5e4);t+=String.fromCharCode(...r)}return t}let G=u(``),K=u(``),q=u(``),J=u(`mini-add`);async function Le(){await b.AddScenarioPlace({ID:N.value.ID,place:{code:G.value,name:K.value,text:q.value,image:void 0,hidden:void 0,applications:void 0,doors:void 0,keys:void 0}}),await U(Number(E)),G.value=``,K.value=``,q.value=``,J.value=`add`}async function Re(){G.value=``,K.value=``,q.value=``,J.value=`mini-add`}async function ze(e,t){for(let n of t.doors||[])e.story?.places?.find(e=>e.code==n.code)??await b.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 Be(e){await U(Number(E)),e.mode=`show-editor`}async function Ve(e){if(e.fileList&&e.fileList.length>0){let t=e.fileList[0].file||null;if(t==null)return;let n=await W(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 W(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 ze(N.value,e),await b.UpdateScenarioPlace({ID:N.value.ID,code:e.oldCode,place:e}),await U(Number(E)),e.mode=`show-editor`}async function He(e){await b.DeleteScenarioPlace({ID:N.value.ID,code:e.oldCode}),await U(Number(E))}let Y=u(``),X=u(``),Z=u(``),Q=u(`mini-add`);async function Ue(){await b.AddScenarioQuestion({ID:N.value.ID,question:{code:Y.value,text:X.value,answer:Z.value}}),await U(Number(E)),Y.value=``,X.value=``,Z.value=``,Q.value=`add`}async function We(){Y.value=``,X.value=``,Z.value=``,Q.value=`mini-add`}async function Ge(e){await b.UpdateScenarioQuestion({ID:N.value.ID,code:e.oldCode,question:{code:e.code,text:e.text,answer:e.answer}}),await U(Number(E)),e.mode=`show-editor`}async function Ke(e){await U(Number(E)),e.mode=`show-editor`}async function qe(e){await b.DeleteScenarioQuestion({ID:N.value.ID,code:e.oldCode}),await U(Number(E))}function Je(e){return e&&e.split(`/`).pop()||``}async function Ye(){let e=``;if(I.value.fileList&&I.value.fileList.length>0){let t=I.value.fileList[0].file||null;if(t==null||(e=(await W(t,`scenarios_`+N.value.ID+`_intro_`+t.name)).filename,e===``))return}else e=Je(I.value.audio);await b.UpdateScenarioIntro({ID:N.value.ID,introduction:{text:I.value.text,audio:e}}),await U(Number(E))}async function $(e=!1){F.value=!0;try{let t=``;if(!e){let e=P.value[0]?.file;if(!e)return;let n=await W(e,`scenarios_`+N.value.ID+`_background_`+e.name);if(!n.filename)return;if(n.fileType!==`image`){j.error(`Фон дела должен быть изображением`);return}t=n.filename}await b.UpdateScenarioBackground({ID:N.value.ID,background:t}),await U(Number(E)),P.value=[]}catch{j.error(`Не удалось сохранить фон дела`)}finally{F.value=!1}}async function Xe(){await U(Number(E))}function Ze(){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(r,u)=>(s(),i(m,null,[o(`div`,{ref_key:`scrollContainer`,ref:Ee,class:`center-block-custom`},[o(`div`,ge,[o(`div`,_e,[N.value.status==`public`?(s(),t(p(ae),{key:0,title:`Сценарий опубликован`,type:`warning`,style:{"margin-bottom":`20px`}},{default:l(()=>[...u[39]||=[d(` Не рекомендуется редактировать сценарий когда он опубликован. `,-1)]]),_:1})):e(``,!0),p(a).user?.ID==2?(s(),t(p(ae),{key:1,title:Ze(),type:`info`,style:{"margin-bottom":`20px`}},null,8,[`title`])):e(``,!0),o(`div`,ve,[d(` Точек: `+h(N.value.story?.places?.length)+`, Вопросов: `+h(N.value.story?.questions?.length)+` `,1),n(p(v),{quaternary:``,onClick:u[0]||=e=>D.value=!0,class:`settings-button`},{default:l(()=>[n(p(ce),{class:`settings-icon`},{default:l(()=>[n(p(fe))]),_:1}),u[40]||=d(` Настройки `,-1)]),_:1})]),n(p(g),{title:`Фон дела`},{default:l(()=>[n(p(S),{vertical:``},{default:l(()=>[N.value.story?.background?(s(),i(`img`,{key:0,src:N.value.story.background,alt:`Фон дела`,class:`background-preview`},null,8,ye)):e(``,!0),n(p(y),{"file-list":P.value,"onUpdate:fileList":u[1]||=e=>P.value=e,accept:`.jpg,.jpeg,.png,.gif,.webp`,max:1,"default-upload":!1,disabled:F.value},{default:l(()=>[n(p(v),{disabled:F.value},{default:l(()=>[...u[41]||=[d(`Выбрать фон`,-1)]]),_:1},8,[`disabled`])]),_:1},8,[`file-list`,`disabled`]),n(p(C),null,{default:l(()=>[n(p(v),{loading:F.value,disabled:!P.value.length||F.value,onClick:u[2]||=e=>$()},{default:l(()=>[...u[42]||=[d(`Сохранить фон`,-1)]]),_:1},8,[`loading`,`disabled`]),N.value.story?.background?(s(),t(p(v),{key:0,disabled:F.value,onClick:u[3]||=e=>$(!0)},{default:l(()=>[...u[43]||=[d(`Удалить фон`,-1)]]),_:1},8,[`disabled`])):e(``,!0)]),_:1})]),_:1})]),_:1}),n(ne,{introduction:I.value,mode:L.value,"onUpdate:mode":u[6]||=e=>L.value=e},{default:l(()=>[n(p(C),{justify:`end`},{default:l(()=>[n(p(v),{onClick:u[4]||=e=>Xe()},{default:l(()=>[...u[44]||=[d(`Отмена`,-1)]]),_:1}),n(p(v),{onClick:u[5]||=e=>Ye()},{default:l(()=>[...u[45]||=[d(`Сохранить вступление`,-1)]]),_:1})]),_:1})]),_:1},8,[`introduction`,`mode`]),n(p(g),{title:`Закрывашка сценария`},{default:l(()=>[n(p(S),{vertical:``},{default:l(()=>[n(p(w),{depth:`3`},{default:l(()=>[...u[46]||=[d(`Разгадка дела для автора. Игрокам не показывается.`,-1)]]),_:1}),n(p(x),{value:R.value.text,"onUpdate:value":u[7]||=e=>R.value.text=e,type:`textarea`,autosize:{minRows:4,maxRows:12},placeholder:`Текст закрывашки`,"aria-label":`Текст закрывашки`,disabled:B.value},null,8,[`value`,`disabled`]),Se.value?(s(),i(`video`,{key:0,src:Se.value,controls:``,preload:`none`,class:`conclusion-video`,"aria-label":`Видео закрывашки`},null,8,be)):e(``,!0),R.value.video?(s(),t(p(v),{key:1,disabled:B.value,onClick:u[8]||=e=>Ce()},{default:l(()=>[...u[47]||=[d(`Убрать видео`,-1)]]),_:1},8,[`disabled`])):e(``,!0),n(p(y),{"file-list":z.value,"onUpdate:fileList":u[9]||=e=>z.value=e,accept:`.mp4,.webm`,max:1,"default-upload":!1,disabled:B.value},{default:l(()=>[n(p(v),{disabled:B.value},{default:l(()=>[...u[48]||=[d(`Выбрать видео MP4/WebM`,-1)]]),_:1},8,[`disabled`])]),_:1},8,[`file-list`,`disabled`]),n(p(C),{justify:`end`},{default:l(()=>[N.value.story?.conclusion?.text||N.value.story?.conclusion?.video?(s(),t(p(v),{key:0,disabled:B.value,onClick:u[10]||=e=>we(!0)},{default:l(()=>[...u[49]||=[d(`Удалить закрывашку`,-1)]]),_:1},8,[`disabled`])):e(``,!0),n(p(v),{disabled:B.value,onClick:u[11]||=e=>V()},{default:l(()=>[...u[50]||=[d(`Отмена`,-1)]]),_:1},8,[`disabled`]),n(p(v),{loading:B.value,disabled:B.value||!N.value.story,onClick:u[12]||=e=>we()},{default:l(()=>[...u[51]||=[d(`Сохранить закрывашку`,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1}),u[62]||=o(`div`,{class:`questions-header`},`Вопросы дела`,-1),n(he,{mode:Q.value,"onUpdate:mode":u[15]||=e=>Q.value=e,newQuestionCode:Y.value,"onUpdate:newQuestionCode":u[16]||=e=>Y.value=e,newQuestionText:X.value,"onUpdate:newQuestionText":u[17]||=e=>X.value=e,newQuestionAnswer:Z.value,"onUpdate:newQuestionAnswer":u[18]||=e=>Z.value=e},{default:l(()=>[n(p(C),{justify:`end`},{default:l(()=>[n(p(v),{onClick:u[13]||=e=>We()},{default:l(()=>[...u[52]||=[d(`Отмена`,-1)]]),_:1}),n(p(v),{onClick:u[14]||=e=>Ue(),disabled:!Y.value},{default:l(()=>[...u[53]||=[d(`Добавить вопрос`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`mode`,`newQuestionCode`,`newQuestionText`,`newQuestionAnswer`]),(s(!0),i(m,null,c(Oe.value,e=>(s(),t(he,{question:e,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.oldCode??e.code??``},{default:l(()=>[n(p(C),{justify:`end`},{default:l(()=>[n(p(v),{onClick:t=>qe(e),type:`error`,ghost:``},{default:l(()=>[...u[54]||=[d(`Удалить`,-1)]]),_:1},8,[`onClick`]),n(p(v),{onClick:t=>Ke(e)},{default:l(()=>[...u[55]||=[d(`Отмена`,-1)]]),_:1},8,[`onClick`]),n(p(v),{onClick:t=>Ge(e),disabled:e.code==``},{default:l(()=>[...u[56]||=[d(`Сохранить`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)]),_:2},1032,[`question`,`mode`,`onUpdate:mode`]))),128)),n(re,{mode:J.value,"onUpdate:mode":u[21]||=e=>J.value=e,newPlaceCode:G.value,"onUpdate:newPlaceCode":u[22]||=e=>G.value=e,newPlaceName:K.value,"onUpdate:newPlaceName":u[23]||=e=>K.value=e,newPlaceText:q.value,"onUpdate:newPlaceText":u[24]||=e=>q.value=e},{default:l(()=>[n(p(C),{justify:`end`},{default:l(()=>[n(p(v),{onClick:u[19]||=e=>Re()},{default:l(()=>[...u[57]||=[d(`Отмена`,-1)]]),_:1}),n(p(v),{onClick:u[20]||=e=>Le(),disabled:!G.value},{default:l(()=>[...u[58]||=[d(`Добавить точку`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`mode`,`newPlaceCode`,`newPlaceName`,`newPlaceText`]),(s(!0),i(m,null,c(Te.value,e=>(s(),i(`div`,{key:e.oldCode??e.code??``,ref_for:!0,ref:t=>t?p(H).set(e,t):p(H).delete(e),class:`place-card`,tabindex:`-1`,role:`group`,"aria-label":`${e.code}: ${e.name}`},[n(re,{place:e,mode:e.mode,"onUpdate:mode":t=>e.mode=t,onNavigate:De},{default:l(()=>[n(p(C),{justify:`end`},{default:l(()=>[n(p(v),{onClick:t=>He(e),type:`error`,ghost:``},{default:l(()=>[...u[59]||=[d(`Удалить`,-1)]]),_:1},8,[`onClick`]),n(p(v),{onClick:t=>Be(e)},{default:l(()=>[...u[60]||=[d(`Отмена`,-1)]]),_:1},8,[`onClick`]),n(p(v),{onClick:t=>Ve(e),disabled:e.code==``},{default:l(()=>[...u[61]||=[d(`Сохранить`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)]),_:2},1032,[`place`,`mode`,`onUpdate:mode`])],8,xe))),128))])])],512),n(p(_),{show:D.value,"onUpdate:show":u[38]||=e=>D.value=e},{default:l(()=>[n(p(g),{style:{width:`600px`},title:`Настройки сценария`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":l(()=>[n(p(v),{onClick:u[25]||=e=>D.value=!1},{default:l(()=>[...u[63]||=[d(` x `,-1)]]),_:1})]),footer:l(()=>[...u[87]||=[]]),default:l(()=>[n(p(S),{vertical:``},{default:l(()=>[u[76]||=o(`p`,null,`Название`,-1),n(p(x),{value:N.value.name,"onUpdate:value":u[26]||=e=>N.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),u[77]||=o(`p`,{class:`settings-header`},`Описание`,-1),n(p(x),{value:N.value.description,"onUpdate:value":u[27]||=e=>N.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`]),u[78]||=o(`p`,{class:`settings-header`},`Картинка`,-1),n(p(x),{value:N.value.image,"onUpdate:value":u[28]||=e=>N.value.image=e,type:`text`,placeholder:`default_scenario.png`,disabled:``},null,8,[`value`]),n(p(y),{"directory-dnd":``,max:1,"file-list":M.value,"onUpdate:fileList":u[29]||=e=>M.value=e},{default:l(()=>[n(p(te),null,{default:l(()=>[n(p(w),{style:{"font-size":`16px`}},{default:l(()=>[...u[64]||=[d(` Щелкните или перетащите файл в эту область для загрузки `,-1)]]),_:1})]),_:1})]),_:1},8,[`file-list`]),n(p(v),{onClick:u[30]||=e=>Pe(),ghost:``},{default:l(()=>[...u[65]||=[d(` Сохранить изменения `,-1)]]),_:1}),u[79]||=o(`hr`,{class:`settings-hr`},null,-1),u[80]||=o(`p`,{class:`settings-header`},`Архив сценария`,-1),u[81]||=o(`p`,{class:`settings-hint`},` Скачайте сценарий ZIP-архивом (scenario.json + изображения) и импортируйте его в другом аккаунте. `,-1),n(p(v),{loading:A.value,disabled:!N.value.ID,ghost:``,onClick:u[31]||=e=>Ne()},{default:l(()=>[...u[66]||=[d(` Скачать архив (.zip) `,-1)]]),_:1},8,[`loading`,`disabled`]),u[82]||=o(`hr`,{class:`settings-hr`},null,-1),u[83]||=o(`p`,null,`Создать тестовую игру`,-1),n(p(v),{onClick:u[32]||=e=>je(N.value.name||``,N.value.ID),ghost:``},{default:l(()=>[...u[67]||=[d(` Создать игру `,-1)]]),_:1}),u[84]||=o(`hr`,{class:`settings-hr`},null,-1),u[85]||=o(`p`,null,`Публикация`,-1),o(`p`,null,[N.value.status==`public`?(s(),t(p(ie),{key:0,bordered:!1,type:`success`,class:`status-block`},{default:l(()=>[...u[68]||=[d(` Опубликовано `,-1)]]),_:1})):e(``,!0),N.value.status==`draft`?(s(),t(p(ie),{key:1,bordered:!1,type:`warning`,class:`status-block`},{default:l(()=>[...u[69]||=[d(` В разработке `,-1)]]),_:1})):e(``,!0)]),o(`p`,null,[u[70]||=d(` Введите название сценария `,-1),n(p(w),{class:`name-text`,strong:``},{default:l(()=>[d(h(N.value.name),1)]),_:1})]),n(p(x),{value:O.value,"onUpdate:value":u[33]||=e=>O.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),N.value.status==`public`?e(``,!0):(s(),t(p(v),{key:0,onClick:u[34]||=e=>Ae(N.value.ID),ghost:``,disabled:O.value!=N.value.name},{default:l(()=>[...u[71]||=[d(` Опубликовать сценарий `,-1)]]),_:1},8,[`disabled`])),N.value.status==`draft`?e(``,!0):(s(),t(p(v),{key:1,onClick:u[35]||=e=>Me(N.value.ID),ghost:``,disabled:O.value!=N.value.name},{default:l(()=>[...u[72]||=[d(` Снять сценарий с публикации `,-1)]]),_:1},8,[`disabled`])),u[86]||=o(`hr`,{class:`settings-hr`},null,-1),o(`p`,null,[u[73]||=d(` Введите название сценария `,-1),n(p(w),{class:`name-text`,strong:``},{default:l(()=>[d(h(N.value.name),1)]),_:1}),u[74]||=d(` чтобы удалить его `,-1)]),n(p(x),{value:k.value,"onUpdate:value":u[36]||=e=>k.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),n(p(v),{onClick:u[37]||=e=>ke(N.value.ID),type:`error`,ghost:``,disabled:k.value!=N.value.name},{default:l(()=>[...u[75]||=[d(` Удалить сценарий `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`show`]),n(de,{active:`scenarios`})],64))}}),[[`__scopeId`,`data-v-f8a6b8da`]]),F=r({__name:`ScenariosEditorView`,setup(e){return(e,n)=>(s(),t(P))}});export{F as default};