diff --git a/dist/assets/index-BHzMN3F_.js b/dist/assets/index-DaRs3nRs.js similarity index 97% rename from dist/assets/index-BHzMN3F_.js rename to dist/assets/index-DaRs3nRs.js index ff5a94e..5be5ae0 100644 --- a/dist/assets/index-BHzMN3F_.js +++ b/dist/assets/index-DaRs3nRs.js @@ -2385,4 +2385,4 @@ `);return}e=$M(e),t!=null&&o.push(` ${e}${eN(t)}`)}),e&&o.push(`}`),o.join(` `)}function rN(e,t,n){e&&e.forEach(e=>{if(Array.isArray(e))rN(e,t,n);else if(typeof e==`function`){let r=e(t);Array.isArray(r)?rN(r,t,n):r&&n(r)}else e&&n(e)})}function iN(e,t,n,r,i,a){let o=e.$;!o||typeof o==`string`?t.push(o):typeof o==`function`?t.push(o({context:r.context,props:i})):(o.before&&o.before(r.context),!o.$||typeof o.$==`string`?t.push(o.$):o.$&&t.push(o.$({context:r.context,props:i})));let s=ZM(t),c=nN(s,e.props,r,i);a&&c&&a.insertRule(c),!a&&c.length&&n.push(c),e.children&&rN(e.children,{context:r.context,props:i},e=>{if(typeof e==`string`){let t=nN(s,{raw:e},r,i);a?a.insertRule(t):n.push(t)}else iN(e,t,n,r,i,a)}),t.pop(),o&&o.after&&o.after(r.context)}function aN(e,t,n,r=!1){let i=[];return iN(e,[],i,t,n,r?e.instance.__styleSheet:void 0),r?``:i.join(` -`)}function oN(e){if(!e)return;let t=e.parentElement;t&&t.removeChild(e)}function sN(e){return document.querySelector(`style[cssr-id="${e}"]`)}function cN(e){let t=document.createElement(`style`);return t.setAttribute(`cssr-id`,e),t}window&&(window.__cssrContext={});function lN(e){let t=e.getAttribute(`mount-count`);return t===null?null:Number(t)}function uN(e,t){e.setAttribute(`mount-count`,String(t))}function dN(e,t,n,r){let{els:i}=t;if(n===void 0)i.forEach(oN),t.els=[];else{let e=sN(n);if(e&&i.includes(e)){let a=lN(e);r?a===null?console.error(`[css-render/unmount]: The style with target='${n}' is mounted in count mode.`):a<=1?(oN(e),t.els=i.filter(t=>t!==e)):uN(e,a-1):a===null?(oN(e),t.els=i.filter(t=>t!==e)):console.error(`[css-render/unmount]: The style with target='${n}' is mounted in no-count mode.`)}}}function fN(e,t){e.push(t)}function pN(e,t,n,r,i,a,o,s,c){if(o&&!c){if(n===void 0){console.error("[css-render/mount]: `id` is required in `boost` mode.");return}let i=window.__cssrContext;i[n]||(i[n]=!0,aN(t,e,r,o));return}let l,{els:u}=t,d;if(n===void 0&&(d=t.render(r),n=jc(d)),c){c(n,d??t.render(r));return}let f=sN(n);if(s||f===null){if(l=f===null?cN(n):f,d===void 0&&(d=t.render(r)),l.textContent=d,f!==null)return;if(i){let e=document.head.getElementsByTagName(`style`)[0]||null;document.head.insertBefore(l,e)}else document.head.appendChild(l);a&&uN(l,1),fN(u,l)}else{let e=lN(f);a?e===null?console.error(`[css-render/mount]: The style with id='${n}' has been mounted in no-count mode.`):uN(f,e+1):e!==null&&console.error(`[css-render/mount]: The style with id='${n}' has been mounted in count mode.`)}return f??l}function mN(e){return aN(this,this.instance,e)}function hN(e={}){let{target:t,id:n,ssr:r,props:i,count:a=!1,head:o=!1,boost:s=!1,force:c=!1}=e;return pN(this.instance,this,n??t,i,o,a,s,c,r)}function gN(e={}){let{id:t,target:n,delay:r=0,count:i=!1}=e;r===0?dN(this.instance,this,t??n,i):setTimeout(()=>dN(this.instance,this,t??n,i),r)}var _N=function(e,t,n,r){return{instance:e,$:t,props:n,children:r,els:[],render:mN,mount:hN,unmount:gN}},vN=function(e,t,n,r){return Array.isArray(t)?_N(e,{$:null},null,t):Array.isArray(n)?_N(e,t,null,n):Array.isArray(r)?_N(e,t,n,r):_N(e,t,n,null)};function yN(e={}){let t=null,n={c:((...e)=>vN(n,...e)),use:(e,...t)=>e.install(n,...t),find:sN,context:{},config:e,get __styleSheet(){if(!t){let e=document.createElement(`style`);return document.head.appendChild(e),t=document.styleSheets[document.styleSheets.length-1],t}return t}};return n}var{c:bN}=yN(),xN=bN(`.xicon`,{width:`1em`,height:`1em`,display:`inline-flex`},[bN(`svg`,{width:`1em`,height:`1em`}),bN(`svg:not([fill])`,{fill:`currentColor`})]),SN=()=>{xN.mount({id:`xicons-icon`})},CN={size:[String,Number],color:String,tag:String},wN=Symbol(`IconConfigInjection`),TN=`span`,EN=P({name:`Icon`,props:CN,setup(e,{slots:t}){let n=N(wN,null),r=V(()=>{let t=e.size??n?.size;if(t!==void 0)return typeof t==`number`||/^\d+$/.test(t)?`${t}px`:t}),i=V(()=>{let{color:t}=e;return t===void 0?n?n.color:void 0:t}),a=V(()=>{let{tag:t}=e;return t===void 0?n?.tag??TN:t});return Br(()=>{SN()}),()=>H(a.value,{class:`xicon`,style:{color:i.value,fontSize:r.value}},[Qr(t,`default`)])}}),DN={class:`menu-block`},ON={class:`right-group`},kN=P({__name:`HeaderMenu`,props:{active:{type:String,required:!1}},setup(e){let t=e,n=IM();n.initFromStorage();let r=qA(),i=LM(),a=k([]);async function o(){a.value=[];let e=await i.GetPermissions({});a.value=e.permissions}o();function s(e){return a.value.includes(e)}let c=()=>{r.push(`/login`)},l=()=>{n.logout(),r.push(`/login`)},u=k(!1);return(e,i)=>(I(),L(`div`,DN,[R(`div`,{onClick:i[0]||=e=>u.value=!u.value,class:`burger-button`},[z(A(EN),{class:`burger-icon`,size:`28`},{default:M(()=>[z(A(GM))]),_:1})]),R(`div`,{class:_e([`left-group menu-buttons-block`,u.value?``:`menu-buttons-block-active`])},[R(`div`,{class:_e([`menu-item-block`,{active:t.active==`main`}]),onClick:i[1]||=e=>A(r).push(`/`)},` Главная `,2),A(n).hasRole(`user`)?(I(),L(`div`,{key:0,class:_e([`menu-item-block`,{active:t.active==`office`}]),onClick:i[2]||=e=>A(r).push(`/office`)},` Кабинет `,2)):Aa(``,!0),s(`games_page`)?(I(),L(`div`,{key:1,class:_e([`menu-item-block`,{active:t.active==`games`}]),onClick:i[3]||=e=>A(r).push(`/games`)},` Игры `,2)):Aa(``,!0),R(`div`,{class:_e([`menu-item-block`,{active:t.active==`catalog`}]),onClick:i[4]||=e=>A(r).push(`/catalog`)},` Каталог `,2),s(`scenarios_page`)?(I(),L(`div`,{key:2,class:_e([`menu-item-block`,{active:t.active==`scenarios`}]),onClick:i[5]||=e=>A(r).push(`/scenarios`)},` Мои сценарии `,2)):Aa(``,!0),s(`users_page`)?(I(),L(`div`,{key:3,class:_e([`menu-item-block`,{active:t.active==`users`}]),onClick:i[6]||=e=>A(r).push(`/users`)},` Пользователи `,2)):Aa(``,!0)],2),R(`div`,ON,[A(n).isAuthenticated?Aa(``,!0):(I(),L(`div`,{key:0,class:`menu-item-block right`,onClick:c},` Войти `)),A(n).isAuthenticated?(I(),L(`div`,{key:1,class:`menu-item-block right`,onClick:l},`Выйти`)):Aa(``,!0)])]))}}),AN=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},jN=AN(kN,[[`__scopeId`,`data-v-5e423637`]]),MN={class:`center-block-custom`},NN={class:`width1200`},PN=[`onClick`],FN={class:`game-title`},IN={class:`game-description`},LN=AN(P({__name:`GamesPage`,setup(e){let t=LM(),n=$E(),r=qA(),i=k([]);async function a(){i.value=[];let e=await t.GetGames({});if(e.error!=``){n.error(e.error);return}i.value=e.games||[]}a();async function o(e){r.push(`/games/`+e)}return(e,t)=>(I(),L(F,null,[R(`div`,MN,[R(`div`,NN,[(I(!0),L(F,null,Zr(i.value,e=>(I(),L(`div`,{class:`game-block`,onClick:t=>o(e.id)},[R(`div`,FN,O(e.name),1),R(`div`,IN,O(e.description),1)],8,PN))),256))])]),z(jN,{active:`games`})],64))}}),[[`__scopeId`,`data-v-c7afa62c`]]),RN=P({__name:`GamesView`,setup(e){return(e,t)=>(I(),Sa(LN))}}),zN=P({__name:`HomeView`,setup(e){return(e,t)=>(I(),L(F,null,[t[0]||=R(`div`,{class:`center-block-custom content-block center-middle-block-custom height80`},[R(`div`,null,[R(`h1`,{class:`font-text`},`Вечерний детектив`),R(`h3`,{class:`font-text`},`Дело №0`),R(`p`,{class:`content-text`},` Поиграем? `)])],-1),z(jN,{active:`main`})],64))}}),BN={class:`center-block-custom content-block center-middle-block-custom height80`},VN={class:`form-button-wrapper`},HN={class:`form-label`},UN={key:0},WN={key:1},GN={class:`form-label`},KN={class:`form-button-wrapper`},qN={class:`form-label`},JN={key:0},YN={key:1},XN={class:`form-button-wrapper`},ZN={class:`form-label`},QN={key:0},$N={key:1},eP=AN(P({__name:`LoginPage`,setup(e){let t=IM(),n=qA(),r=$E(),i=k(``),a=k(``),o=k(``),s=k(!1),c=V(()=>[`@mail.ru`,`@yandex.ru`,`@gmail.com`].map(e=>{let t=a.value.split(`@`)[0];return{label:t+e,value:t+e}}));async function l(){if(!await t.login(a.value,o.value)&&t.error!=null){r.error(t.error);return}n.push(`/office`)}async function u(){if(s.value){if(!await t.signup(i.value,a.value)&&t.error!=null){r.error(t.error);return}r.info(`Пароль отправлен на почту`)}}async function d(){if(!await t.refreshPassword(a.value)&&t.error!=null){r.error(t.error);return}r.info(`Пароль отправлен на почту`)}return(e,n)=>(I(),L(`div`,BN,[z(A(bT),{style:{"margin-bottom":`16px`},class:`sign-card`},{default:M(()=>[z(A(Gk),{type:`line`,animated:``},{default:M(()=>[z(A(Vk),{name:`signin`,tab:`Вход`},{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[6]||=R(`div`,{class:`form-label`},`Почта`,-1),z(A(jw),{value:a.value,"onUpdate:value":n[0]||=e=>a.value=e,"input-props":{autocomplete:`disabled`},options:c.value,placeholder:`detective@mail.ru`,clearable:``},null,8,[`value`,`options`]),n[7]||=R(`div`,{class:`form-label`},`Пароль`,-1),z(A(yw),{value:o.value,"onUpdate:value":n[1]||=e=>o.value=e,type:`password`,placeholder:`********`},null,8,[`value`]),R(`div`,VN,[R(`div`,HN,[z(A(nT),{onClick:l,disabled:a.value.length==0||o.value.length==0},{default:M(()=>[A(t).isLoading?(I(),L(`span`,WN,` Подождите... `)):(I(),L(`span`,UN,` Вход `))]),_:1},8,[`disabled`])])])]),_:1})]),_:1}),z(A(Vk),{name:`signup`,tab:`Регистрация`},{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[9]||=R(`div`,{class:`form-label`},`Позывной`,-1),z(A(yw),{value:i.value,"onUpdate:value":n[2]||=e=>i.value=e,type:`text`,placeholder:`Шерлок`},null,8,[`value`]),n[10]||=R(`div`,{class:`form-label`},`Почта`,-1),z(A(jw),{value:a.value,"onUpdate:value":n[3]||=e=>a.value=e,"input-props":{autocomplete:`disabled`},options:c.value,placeholder:`detective@mail.ru`,clearable:``},null,8,[`value`,`options`]),R(`div`,GN,[z(A(NT),{checked:s.value,"onUpdate:checked":n[4]||=e=>s.value=e},{default:M(()=>[...n[8]||=[B(` Я согласен с `,-1),R(`a`,{href:`/user-agreement`,target:`_blank`,class:`docs-link`},`пользовательским соглашением`,-1),R(`br`,null,null,-1),B(` и `,-1),R(`a`,{href:`/privacy-policy`,target:`_blank`,class:`docs-link`},`соглашением о персональных данных`,-1)]]),_:1},8,[`checked`])]),R(`div`,KN,[R(`div`,qN,[z(A(nT),{onClick:u,disabled:i.value.length==0||o.value.length==0||!s.value},{default:M(()=>[A(t).isLoading?(I(),L(`span`,YN,` Подождите... `)):(I(),L(`span`,JN,` Регистрация `))]),_:1},8,[`disabled`])])])]),_:1})]),_:1}),z(A(Vk),{name:`new-password`,tab:`Новый пароль`},{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[11]||=R(`div`,{class:`form-label`},`Почта`,-1),z(A(jw),{value:a.value,"onUpdate:value":n[5]||=e=>a.value=e,"input-props":{autocomplete:`disabled`},options:c.value,placeholder:`detective@mail.ru`,clearable:``},null,8,[`value`,`options`]),R(`div`,XN,[R(`div`,ZN,[z(A(nT),{onClick:d,disabled:a.value.length==0},{default:M(()=>[A(t).isLoading?(I(),L(`span`,$N,` Подождите... `)):(I(),L(`span`,QN,` Прислать новый пароль `))]),_:1},8,[`disabled`])])])]),_:1})]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-c1fd645b`]]),tP=P({__name:`LoginView`,setup(e){return(e,t)=>(I(),L(F,null,[z(eP),z(jN)],64))}}),nP={class:`center-block-custom`},rP={class:`width700`},iP=P({__name:`OfficePage`,setup(e){let t=IM(),n=LM(),r=k([]);async function i(){r.value=[];let e=await n.GetPermissions({});r.value=e.permissions}i();function a(){let e=new Date,t=e.getDay(),n=e.getDate(),r=e.getMonth()+1,i=t===1,a=t===5&&n===13,o=r===1&&n===1||r===12&&n===31,s=r>=6&&r<=8,c=r===12||r<=2,l=n%5==0,u=[`Всегда носи с собой запасную ручку — признания любят записывать в самый неподходящий момент.`,`Если подозреваемый слишком вежлив, он либо дипломат, либо прячет труп в гараже.`,`Кофе в участке — это не напиток, это яд для улик. Пей только свой.`,`Следы на месте преступления всегда ведут к тому, кто забыл закрыть дверь.`,`Лучший способ разговорить молчуна — предложить ему чай с тремя ложками сахара.`,`Если всё указывает на дворецкого, ищи того, кто нанимал дворецкого.`,`Записывай каждую мелочь. Особенно цвет носков убитого.`,`Не верь алиби, которое начинается со слов 'Я бы никогда...'`,`Преступник всегда возвращается на место преступления. Или за забытым телефоном.`,`Ищи того, кому есть что терять, кроме своего времени.`,`Если женщина плачет в кабинете — дай ей платок. Если мужчина — дай ему стакан воды.`,`Самое опасное оружие — не пистолет, а бухгалтерская книга.`,`Собака всегда знает убийцу. Но она не говорит, потому что у неё контракт.`,`Проверяй чеки, билеты и смс. Ложь не терпит документации.`,`Если у тела нет врагов — ты плохо искал врагов.`,`Лупа нужна не для увеличения улик, а для того, чтобы выглядеть умнее.`,`Интуиция — это когда ты уже знаешь ответ, но хочешь убедиться, что не ошибся.`,`Подозревай всех, даже самого себя. Иногда преступник — это ты в прошлом.`,`Хороший детектив видит улики. Великий — видит их отсутствие.`,`Никогда не допрашивай свидетеля на голодный желудок. И себя тоже.`,`Если дело зашло в тупик, переверни бумаги вверх ногами.`,`Самый ценный свидетель — это камера наблюдения, у которой сломана защита.`,`Не ищи мотив. Ищи возможность.`,`Преступник не оставляет следов. Он оставляет выбор.`,`Если дверь была закрыта изнутри — ищи люк, который открывается снаружи.`,`Лучший детектив — тот, кого не замечают в толпе.`,`Учись читать по губам. Пригодится на допросах с адвокатом.`,`Запах духов на месте преступления важнее запаха пороха.`,`Если ты нашел отпечаток пальца — проверь, не твой ли он.`,`Раскрыть дело — это искусство. Не раскрыть — тоже искусство, но другое.`,`Никогда не спорь с баллистикой. Она всегда права, даже если ты не согласен.`,`В каждом деле есть одна странная деталь. Найди её — и пазл сложится.`,`Если преступник умный — он оставит ложный след. Если глупый — он оставит следы в соцсетях.`,`Лучший друг детектива — тишина. Второй друг — кофе.`,`Если свидетель говорит слишком много, он врет. Если молчит — он тоже врет.`,`Преступление редко бывает идеальным. Идеальным бывает только алиби жены.`,`Всегда смотри на часы на трупе. Возможно, они показывают время, когда он перестал верить в людей.`,`Воры любят темноту. Детективы — свет. А маньяки — полную луну.`,`Если ты поймал преступника, не радуйся раньше времени — может, он просто лжец.`,`В каждом городе есть одно место, где собираются все сплетники. Начни оттуда.`,`Не верь в совпадения. Но верь в удачу.`,`Если у тебя нет улик — придумай их. Но только мысленно, чтобы знать, где искать.`,`Жертва всегда знала убийцу. Даже если она не знала, что знает.`,`Проверяй алиби на разрыв. Если оно выдерживает — ты ошибся.`,`Самый страшный враг детектива — не маньяк, а его собственная лень.`,`Если преступник оставил записку — прочитай её. И сожги, чтобы никто не узнал твой почерк.`,`Всегда носи с собой фонарик. Даже днём. Для эффекта.`,`В деле важно всё: от укуса комара до размера обуви.`,`Если ты думаешь, что дело простое — значит, ты не додумал.`,`Убийца всегда ищет внимания. Или наоборот, избегает его.`,`Стук в дверь в полночь — это либо полиция, либо заказчик.`,`Никогда не давай обещаний родственникам жертвы. Только факты.`,`Если у тебя есть три версии — выбирай четвёртую.`,`Лучшее оружие — это бумага. На ней можно написать что угодно.`,`Когда ты смотришь на улику, смотри на неё глазами преступника.`,`Все любят детективы, пока не становятся подозреваемыми.`,`Следы крови важны. Но важнее — следы лжи.`,`Если ты не спишь третьи сутки, значит, ты либо гений, либо дурак.`,`Проверяй каждого, кто говорит 'Я ничего не видел'.`,`В каждом деле есть один человек, который знает всё. И он не говорит.`,`Не суди преступника по одежде. Суди по тому, как он её снимал.`,`Дыра в алиби — это как дыра в лодке. Рано или поздно она утонет.`,`Если преступник использует перчатки — он профессионал. Если нет — он любитель.`,`Запомни: первая версия — всегда неверная.`,`Если у тебя кончились идеи, иди в бар. Там всегда есть кто-то, кто расскажет тебе дело.`,`Свидетель с фотороботом — это как слепой с компасом.`,`Никогда не смейся над уликами. Они могут обидеться и исчезнуть.`,`Если ты нашёл оружие — не трогай его. Иначе твои отпечатки будут на нём.`,`Преступник умён, но ты умнее. Потому что ты пьёшь правильный кофе.`,`Всегда пересматривай видеозаписи. Особенно в два раза медленнее.`,`Если на месте преступления есть кот — он видел всё. Но он не скажет.`,`Лучший способ поймать преступника — пригласить его на обед.`,`Если подозреваемый улыбается, он либо невиновен, либо психопат.`,`Проверяй мусор. В нём всегда есть что-то полезное.`,`Никогда не доверяй красивым историям. Только уродливым фактам.`,`Если ты нашёл улику слишком легко — это ловушка.`,`Убийца всегда оставляет послание. Даже если это просто тишина.`,`Если ты запнулся на допросе — делай вид, что так и задумано.`,`Помни: все врут. Даже я тебе советую.`,`Если ты боишься темноты — стань детективом. Страх пройдёт.`,`Самые лучшие признания случаются под утро, когда все устали.`,`Если преступник использовал компьютер, значит, он либо хакер, либо дурак.`,`Следы шин — это как подпись на дороге.`,`Никогда не забывай про запах. Он помнит дольше, чем люди.`,`Если ты не знаешь, что делать — съешь шоколадку.`,`В каждом деле есть одна минута слабости. Найди её.`,`Преступник всегда нервничает. Даже если он не нервничает.`,`Если у тебя есть подозреваемый и нет улик — подожди. Улики появятся.`,`Не верь в чудеса. Верь в логику.`,`Если ты устал — возьми отпуск. Преступление никуда не денется.`,`Запомни: самый опасный преступник — тот, кто читал детективы.`,`Если ты думаешь, что всё кончено — значит, ты пропустил поворот.`,`Следы на полу важнее следов в душе.`,`Если преступник оставил окурок — он курил. Или хотел, чтобы ты так думал.`,`Хороший детектив всегда голоден. Это помогает мыслить.`,`Не суди по первому впечатлению. Суди по второму, когда увидишь его в наручниках.`,`Если у тебя есть тайный агент — не доверяй ему.`,`В деле всегда есть тот, кто знает больше, чем говорит.`,`Если ты не можешь найти убийцу — стань им (в мыслях).`,`И последнее: всегда проверяй, закрыл ли ты дверь участка.`],d=[];i&&d.push(`☕ Понедельник: Сегодня даже преступники не хотят работать. Проверь тех, кто был слишком бодр.`),a&&d.push(`🔮 Пятница 13-е: Если улики ведут к чёрной кошке, ищи чёрного кота с алиби.`),o&&d.push(`🎄 Новый год: Свидетель в костюме Деда Мороза врёт. Настоящий Дед Мороз всегда в отпуске.`),s&&d.push(`☀️ Лето: В жару преступники забывают улики в карманах, потому что снимают пиджаки.`),c&&d.push(`❄️ Зима: Следы на снегу ведут к тому, у кого самые холодные руки.`),l&&d.push(`🌕 Полнолуние: Если подозреваемый воет на луну, он либо оборотень, либо фанат рока.`);let f=u.concat(d),p=f[Math.floor(Math.random()*f.length)],m=[`🔍 Заметки сыщика:`,`📓 Из дневника инспектора:`,`🕵️ Мудрость Шерлока:`,`🧠 Гениально и просто:`,`📌 Правило большого пальца:`,`☕ Кофейная истина:`];return{header:m[Math.floor(Math.random()*m.length)],text:p}}let o=a();return(e,n)=>(I(),L(F,null,[R(`div`,nP,[R(`div`,rP,[z(A(tw),{title:A(o).header,"show-icon":!1,type:`info`,style:{"margin-bottom":`20px`}},{default:M(()=>[B(O(A(o).text),1)]),_:1},8,[`title`]),R(`p`,null,`Доброго времени суток, `+O(A(t).username)+`.`,1)])]),z(jN,{active:`office`})],64))}}),aP=P({__name:`OfficeView`,setup(e){return(e,t)=>(I(),Sa(iP))}}),oP={};function sP(e,t){return`Соглашением о персональных данных`}var cP=AN(oP,[[`render`,sP]]),lP={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},uP=P({name:`Settings`,render:function(e,t){return I(),L(`svg`,lP,t[0]||=[R(`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),R(`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)])}}),dP={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 24 24`},fP=P({name:`Key24Regular`,render:function(e,t){return I(),L(`svg`,dP,t[0]||=[R(`g`,{fill:`none`},[R(`path`,{d:`M18.25 7a1.25 1.25 0 1 1-2.5 0a1.25 1.25 0 0 1 2.5 0zM15.5 2.05A6.554 6.554 0 0 0 8.95 8.6c0 .387.05.76.11 1.104a.275.275 0 0 1-.07.244l-6.235 6.236a2.75 2.75 0 0 0-.806 1.944V20.3c0 .966.784 1.75 1.75 1.75h2.5a1.75 1.75 0 0 0 1.75-1.75v-1.25H9.7c.69 0 1.25-.56 1.25-1.25v-1.75h1.75a1.25 1.25 0 0 0 1.25-1.204c.496.128 1.02.204 1.55.204a6.554 6.554 0 0 0 6.55-6.55c0-3.631-2.953-6.45-6.55-6.45zM10.45 8.6a5.054 5.054 0 0 1 5.05-5.05c2.802 0 5.05 2.181 5.05 4.95a5.054 5.054 0 0 1-5.05 5.05c-.68 0-1.38-.171-2.005-.44a.75.75 0 0 0-1.046.69v.75H10.7c-.69 0-1.25.56-1.25 1.25v1.75H7.7c-.69 0-1.25.56-1.25 1.25v1.5a.25.25 0 0 1-.25.25H3.7a.25.25 0 0 1-.25-.25v-2.172c0-.331.132-.65.366-.884l6.236-6.235a1.774 1.774 0 0 0 .486-1.564a4.917 4.917 0 0 1-.088-.845z`,fill:`currentColor`})],-1)])}}),pP={class:`main`},mP={class:`message-cloud`},hP=AN(P({__name:`MessagePaper`,setup(e){return(e,t)=>(I(),L(`div`,pP,[t[0]||=R(`div`,{class:`message-cloud-3`},null,-1),t[1]||=R(`div`,{class:`message-cloud-2`},null,-1),R(`div`,mP,[Qr(e.$slots,`default`,{},void 0,!0)])]))}}),[[`__scopeId`,`data-v-dfe3093b`]]),gP={key:1,class:`place-block`},_P={class:`message-header`},vP={class:`message-content`},yP={key:0},bP={class:`message-image-border`},xP=[`src`],SP={class:`key-block`},CP={key:0,class:`hr`},wP={class:`gray-block`},TP={key:0},EP={class:`key-block`},DP={key:3},OP={class:`message-show-header font`},kP={class:`message-show-content font`},AP={key:0},jP={class:`message-image-border`},MP=[`src`],NP={key:0,class:`show-hr`},PP=[`onClick`],FP={class:`button-dialog-text`},IP={key:1,class:`show-hr`},LP={key:4},RP={class:`message-header font`},zP={key:5,class:`place-block`},BP=[`src`],VP={style:{display:`flex`,"align-items":`center`,width:`100%`}},HP={style:{display:`flex`,"flex-direction":`column`}},UP={style:{display:`flex`,"flex-direction":`column`,width:`100%`}},WP={class:`door-add-block`},GP={class:`door-field`},KP={style:{display:`flex`,"align-items":`center`,width:`100%`}},qP={style:{display:`flex`,"align-items":`center`,width:`100%`}},JP={class:`slot-block`},YP=AN(P({__name:`PlaceBlock`,props:{newPlaceCode:{type:String},newPlaceName:{type:String},newPlaceText:{type:String},place:{type:Object},mode:{type:String,required:!0},addAction:{type:Function}},emits:[`update:newPlaceCode`,`update:newPlaceName`,`update:newPlaceText`,`update:mode`],setup(e,{emit:t}){let n=e,r=t,i=e=>{r(`update:newPlaceCode`,e)},a=e=>{r(`update:newPlaceName`,e)},o=e=>{r(`update:newPlaceText`,e)},s=e=>{r(`update:mode`,e)};function c(){return{name:void 0,image:void 0}}function l(){return{code:void 0,name:void 0,keys:void 0}}function u(){return{name:void 0}}return(t,r)=>(I(),L(F,null,[e.mode==`mini-add`?(I(),L(`div`,{key:0,class:`place-block-hover show-editor-block`,onClick:r[0]||=e=>s(`add`)},[...r[14]||=[R(`p`,{class:`place-image-plus`},`+`,-1)]])):Aa(``,!0),e.mode==`add`?(I(),L(`div`,gP,[z(A(CD),{vertical:``},{default:M(()=>[z(A(xw),null,{default:M(()=>[z(A(yw),{style:{width:`20%`},value:e.newPlaceCode,"onUpdate:value":i,type:`text`,placeholder:`Ы-1`},null,8,[`value`]),z(A(yw),{style:{width:`80%`},value:e.newPlaceName,"onUpdate:value":a,type:`text`,placeholder:`Дом №Ы`},null,8,[`value`])]),_:1}),z(A(yw),{value:e.newPlaceText,"onUpdate:value":o,type:`textarea`,autosize:{minRows:3},placeholder:`В начале было слово...`},null,8,[`value`]),Qr(t.$slots,`default`,{},void 0,!0)]),_:3})])):Aa(``,!0),e.mode==`show-editor`?(I(),L(`div`,{key:2,class:`place-block-hover show-editor-block`,onClick:r[1]||=e=>s(`edit`)},[R(`div`,_P,O(n.place?.code)+`: `+O(n.place?.name),1),r[15]||=R(`hr`,{class:`hr`},null,-1),R(`div`,vP,[n.place?.image?(I(),L(`div`,yP,[R(`div`,bP,[R(`img`,{src:n.place?.image,class:`message-image`},null,8,xP)])])):Aa(``,!0),B(` `+O(n.place?.text),1)]),(I(!0),L(F,null,Zr(n.place?.doors,e=>(I(),L(`div`,{key:e.code,class:`door-block`},[B(O(e.name)+` `,1),(I(!0),L(F,null,Zr(e.keys,e=>(I(),L(`span`,SP,[z(A(EN),{class:`lock-icon`},{default:M(()=>[z(A(UM))]),_:1}),B(` `+O(e.name),1)]))),256))]))),128)),n.place?.applications?.length?(I(),L(`hr`,CP)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.applications,e=>(I(),L(`div`,{class:`message-footer application-block`,key:e.name},` Приложение: `+O(e.name),1))),128)),R(`p`,wP,[n.place?.hidden?(I(),L(`span`,TP,` Скрытая точка `)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.keys,e=>(I(),L(`span`,EP,[z(A(EN),{class:`lock-icon`},{default:M(()=>[z(A(fP))]),_:1}),B(` `+O(e.name),1)]))),256))])])):Aa(``,!0),e.mode==`show`?(I(),L(`div`,DP,[z(hP,null,{default:M(()=>[R(`div`,OP,[B(O(e.place?.code)+`: `+O(e.place?.name)+` `,1),R(`span`,{class:`collapse-icon collapse-icon-up`,onClick:r[2]||=e=>s(`show-collapse`)})]),r[16]||=R(`hr`,{class:`show-hr`},null,-1),R(`div`,kP,[e.place?.image?.length?(I(),L(`div`,AP,[R(`div`,jP,[R(`img`,{src:e.place?.image,class:`message-image`},null,8,MP)])])):Aa(``,!0),B(` `+O(e.place?.text),1)]),n.place?.doors?.length?(I(),L(`hr`,NP)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.doors,t=>(I(),L(`div`,{key:t.code,class:`button-dialog font`,onClick:n=>e.addAction(t.code)},[R(`div`,FP,O(t.code)+` `+O(t.name),1)],8,PP))),128)),n.place?.applications?.length?(I(),L(`hr`,IP)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.applications,e=>(I(),L(`div`,{class:`message-show-footer font`,key:e.name},` Приложение: `+O(e.name),1))),128))]),_:1})])):Aa(``,!0),e.mode==`show-collapse`?(I(),L(`div`,LP,[z(hP,null,{default:M(()=>[R(`div`,RP,[B(O(e.place?.code)+`: `+O(e.place?.name)+` `,1),R(`span`,{class:`collapse-icon`,onClick:r[3]||=e=>s(`show`)})])]),_:1})])):Aa(``,!0),e.mode==`edit`?(I(),L(`div`,zP,[z(A(CD),{vertical:``},{default:M(()=>[z(A(xw),null,{default:M(()=>[z(A(yw),{style:{width:`20%`},value:n.place.code,"onUpdate:value":r[4]||=e=>n.place.code=e,type:`text`,placeholder:`Ы-1`},null,8,[`value`]),z(A(yw),{style:{width:`80%`},value:n.place.name,"onUpdate:value":r[5]||=e=>n.place.name=e,type:`text`,placeholder:`Дом №Ы`},null,8,[`value`])]),_:1}),z(A(yw),{value:n.place.text,"onUpdate:value":r[6]||=e=>n.place.text=e,type:`textarea`,autosize:{minRows:3},placeholder:`В начале было слово...`},null,8,[`value`]),r[28]||=R(`p`,{class:`settings-header`},`Картинка`,-1),R(`div`,null,[z(A(CD),null,{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[R(`img`,{src:n.place.image,class:`message-edit-image`},null,8,BP),z(A(nT),{onClick:r[7]||=e=>(n.place.image=``,n.place.fileList=null)},{default:M(()=>[...r[17]||=[B(`Убрать картинку`,-1)]]),_:1})]),_:1}),z(A(CD),{vertical:``},{default:M(()=>[z(A(yw),{value:n.place.image,"onUpdate:value":r[8]||=e=>n.place.image=e,type:`text`,placeholder:`Не задано`,disabled:``},null,8,[`value`]),z(A(kA),{"directory-dnd":``,max:1,"file-list":n.place.fileList,"onUpdate:fileList":r[9]||=e=>n.place.fileList=e},{default:M(()=>[z(A(eA),null,{default:M(()=>[z(A(Zk),{style:{"font-size":`16px`}},{default:M(()=>[...r[18]||=[B(` Щелкните или перетащите файл в эту область для загрузки `,-1)]]),_:1})]),_:1})]),_:1},8,[`file-list`])]),_:1})]),_:1})]),r[29]||=R(`p`,{class:`settings-header`},`Видимость точки`,-1),z(A(Rk),{value:n.place.hidden,"onUpdate:value":r[10]||=e=>n.place.hidden=e},{checked:M(()=>[...r[19]||=[B(` Скрытая точка `,-1)]]),unchecked:M(()=>[...r[20]||=[B(` Обычная точка `,-1)]]),_:1},8,[`value`]),r[30]||=B(` Улики `,-1),z(A(gD),{value:n.place.applications,"onUpdate:value":r[11]||=e=>n.place.applications=e,"on-create":c},{"create-button-default":M(()=>[...r[21]||=[B(` Добавить улику `,-1)]]),default:M(({value:e})=>[R(`div`,VP,[z(A(yw),{value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])])]),_:1},8,[`value`]),r[31]||=B(` Действия `,-1),z(A(gD),{value:n.place.doors,"onUpdate:value":r[12]||=e=>n.place.doors=e,"on-create":l},{"create-button-default":M(()=>[...r[22]||=[B(` Добавить действие `,-1)]]),action:M(({index:e,create:t,remove:n})=>[R(`div`,HP,[z(A(nT),{onClick:()=>t(e),class:`plus-minus-buttons`},{default:M(()=>[...r[23]||=[B(`+`,-1)]]),_:1},8,[`onClick`]),z(A(nT),{disabled:``,onClick:()=>n(e),class:`plus-minus-buttons`},{default:M(()=>[...r[24]||=[B(`-`,-1)]]),_:1},8,[`onClick`])])]),default:M(({value:e})=>[R(`div`,UP,[R(`div`,WP,[z(A(xw),null,{default:M(()=>[z(A(yw),{style:{width:`30%`},value:e.code,"onUpdate:value":t=>e.code=t,type:`text`,placeholder:`Код`},null,8,[`value`,`onUpdate:value`]),z(A(yw),{style:{width:`70%`},value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),r[26]||=R(`p`,{class:`need-keys-text`},`Требуемые ключи`,-1),R(`div`,GP,[z(A(gD),{value:e.keys,"onUpdate:value":t=>e.keys=t,"on-create":u},{"create-button-default":M(()=>[...r[25]||=[B(` Добавить ключ `,-1)]]),default:M(({value:e})=>[R(`div`,KP,[z(A(yw),{value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])])]),_:1},8,[`value`,`onUpdate:value`])])])])]),_:1},8,[`value`]),r[32]||=B(` Получаемые ключи `,-1),z(A(gD),{value:n.place.keys,"onUpdate:value":r[13]||=e=>n.place.keys=e,"on-create":u},{"create-button-default":M(()=>[...r[27]||=[B(` Добавить ключ `,-1)]]),default:M(({value:e})=>[R(`div`,qP,[z(A(yw),{value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])])]),_:1},8,[`value`]),R(`div`,JP,[Qr(t.$slots,`default`,{},void 0,!0)])]),_:3})])):Aa(``,!0)],64))}}),[[`__scopeId`,`data-v-60b29dfb`]]),XP={class:`center-block-custom`},ZP={class:`width700`},QP={class:`places-container`},$P={class:`settings-block`},eF=AN(P({__name:`ScenariosEditorPage`,setup(e){let t=IM(),n=LM(),r=JA().params.id,i=k(!1),a=k(``),o=k(``),s=$E(),c=k([]),l=k({id:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0});async function u(e){let t=await n.GetFullScenario({id:e});if(t.error!=``){s.error(t.error);return}l.value=t.scenario,l.value.story?.places?.forEach(e=>{e.oldCode=e.code,e.mode=`show-editor`})}u(Number(r));async function d(e){let t=await n.DeleteScenario({id:e});if(t.error!=``){s.error(t.error);return}wI.push(`/scenarios`)}async function f(e){let t=await n.PublicScenario({id:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),a.value=``,i.value=!1}async function p(e,t){let r=new Date().toISOString(),i=await n.AddGame({name:(`Тестовая игра: `+e).trim(),description:`Тестовая игра`,startAt:r,scenarioId:t});if(i.error!=``){s.error(i.error);return}let a=await n.AddTeam({name:`Тестовая команда`,gameId:i.id});if(a.error!=``){s.error(a.error);return}wI.push(`/team-story/`+a.id+`?password=`+a.password)}async function m(e){let t=await n.DraftScenario({id:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),a.value=``,i.value=!1}async function h(e,t){if(!e)return``;let r=await e.arrayBuffer(),i=new Uint8Array(r),a=await n.UploadFile({filename:t,data:_(i)});return a.error==``?a.filename||``:(s.error(a.error),``)}async function g(){let e=``;if(c.value&&c.value.length>0){let t=c.value[0].file||null;if(t==null||(e=await h(t,`scenarios_`+l.value.id+`_`+t.name),e===``))return}let t=await n.UpdateScenario({id:l.value.id,name:l.value.name,description:l.value.description,image:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),i.value=!1}function _(e){let t=String.fromCharCode(...e);return btoa(t)}let v=k(``),y=k(``),b=k(``),x=k(`mini-add`);async function S(){let e=await n.AddScenarioPlace({id:l.value.id,place:{code:v.value,name:y.value,text:b.value,image:void 0,hidden:void 0,applications:void 0,doors:void 0,keys:void 0}});if(e.error!=``){s.error(e.error);return}await u(Number(r)),v.value=``,y.value=``,b.value=``,x.value=`add`}async function C(){v.value=``,y.value=``,b.value=``,x.value=`mini-add`}async function w(e,t){for(let r of t.doors||[])if(e.story?.places?.find(e=>e.code==r.code)==null){let t=await n.AddScenarioPlace({id:e.id,place:{code:r.code,name:r.name,text:void 0,image:void 0,hidden:!0,applications:void 0,doors:void 0,keys:void 0}});if(t.error!=``){s.error(t.error);return}}}async function T(e){await u(Number(r)),e.mode=`show-editor`}async function ee(e){if(e.fileList&&e.fileList.length>0){let t=e.fileList[0].file||null;if(t==null)return;let n=await h(t,`scenarios_`+l.value.id+`_place_`+e.code+`_`+t.name);if(n===``)return;e.image=n}await w(l.value,e);let t=await n.UpdateScenarioPlace({id:l.value.id,code:e.oldCode,place:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),e.mode=`show-editor`}async function E(e){let t=await n.DeleteScenarioPlace({id:l.value.id,code:e.oldCode});if(t.error!=``){s.error(t.error);return}await u(Number(r))}function D(){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(e,n)=>(I(),L(F,null,[R(`div`,XP,[R(`div`,ZP,[R(`div`,QP,[l.value.status==`public`?(I(),Sa(A(tw),{key:0,title:`Сценарий опубликован`,type:`warning`,style:{"margin-bottom":`20px`}},{default:M(()=>[...n[20]||=[B(` Не рекомендуется редактировать сценарий когда он опубликован. `,-1)]]),_:1})):Aa(``,!0),A(t).user?.id==2?(I(),Sa(A(tw),{key:1,title:D(),type:`info`,style:{"margin-bottom":`20px`}},null,8,[`title`])):Aa(``,!0),R(`div`,$P,[B(` Точек: `+O(l.value.story?.places?.length)+` `,1),z(A(nT),{quaternary:``,onClick:n[0]||=e=>i.value=!0,class:`settings-button`},{default:M(()=>[z(A(EN),{class:`settings-icon`},{default:M(()=>[z(A(uP))]),_:1}),n[21]||=B(` Настройки `,-1)]),_:1})]),z(YP,{mode:x.value,"onUpdate:mode":n[3]||=e=>x.value=e,newPlaceCode:v.value,"onUpdate:newPlaceCode":n[4]||=e=>v.value=e,newPlaceName:y.value,"onUpdate:newPlaceName":n[5]||=e=>y.value=e,newPlaceText:b.value,"onUpdate:newPlaceText":n[6]||=e=>b.value=e},{default:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:n[1]||=e=>C()},{default:M(()=>[...n[22]||=[B(`Отмена`,-1)]]),_:1}),z(A(nT),{onClick:n[2]||=e=>S(),disabled:!v.value},{default:M(()=>[...n[23]||=[B(`Добавить точку`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`mode`,`newPlaceCode`,`newPlaceName`,`newPlaceText`]),(I(!0),L(F,null,Zr(l.value.story?.places,e=>(I(),Sa(YP,{place:e,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.oldCode},{default:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t=>E(e),type:`error`,ghost:``},{default:M(()=>[...n[24]||=[B(`Удалить`,-1)]]),_:1},8,[`onClick`]),z(A(nT),{onClick:t=>T(e)},{default:M(()=>[...n[25]||=[B(`Отмена`,-1)]]),_:1},8,[`onClick`]),z(A(nT),{onClick:t=>ee(e),disabled:e.code==``},{default:M(()=>[...n[26]||=[B(`Сохранить`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)]),_:2},1032,[`place`,`mode`,`onUpdate:mode`]))),128))])])]),z(A(RE),{show:i.value,"onUpdate:show":n[19]||=e=>i.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Настройки сценария`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:n[7]||=e=>i.value=!1},{default:M(()=>[...n[27]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[...n[47]||=[]]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[39]||=R(`p`,null,`Название`,-1),z(A(yw),{value:l.value.name,"onUpdate:value":n[8]||=e=>l.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),n[40]||=R(`p`,{class:`settings-header`},`Описание`,-1),z(A(yw),{value:l.value.description,"onUpdate:value":n[9]||=e=>l.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`]),n[41]||=R(`p`,{class:`settings-header`},`Картинка`,-1),z(A(yw),{value:l.value.image,"onUpdate:value":n[10]||=e=>l.value.image=e,type:`text`,placeholder:`default_scenario.png`,disabled:``},null,8,[`value`]),z(A(kA),{"directory-dnd":``,max:1,"file-list":c.value,"onUpdate:fileList":n[11]||=e=>c.value=e},{default:M(()=>[z(A(eA),null,{default:M(()=>[z(A(Zk),{style:{"font-size":`16px`}},{default:M(()=>[...n[28]||=[B(` Щелкните или перетащите файл в эту область для загрузки `,-1)]]),_:1})]),_:1})]),_:1},8,[`file-list`]),z(A(nT),{onClick:n[12]||=e=>g(),ghost:``},{default:M(()=>[...n[29]||=[B(` Сохранить изменения `,-1)]]),_:1}),n[42]||=R(`hr`,{class:`settings-hr`},null,-1),n[43]||=R(`p`,null,`Создать тестовую игру`,-1),z(A(nT),{onClick:n[13]||=e=>p(l.value.name||``,l.value.id),ghost:``},{default:M(()=>[...n[30]||=[B(` Создать игру `,-1)]]),_:1}),n[44]||=R(`hr`,{class:`settings-hr`},null,-1),n[45]||=R(`p`,null,`Публикация`,-1),R(`p`,null,[l.value.status==`public`?(I(),Sa(A(RC),{key:0,bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[...n[31]||=[B(` Опубликовано `,-1)]]),_:1})):Aa(``,!0),l.value.status==`draft`?(I(),Sa(A(RC),{key:1,bordered:!1,type:`warning`,class:`status-block`},{default:M(()=>[...n[32]||=[B(` В разработке `,-1)]]),_:1})):Aa(``,!0)]),R(`p`,null,[n[33]||=B(` Введите название сценария `,-1),z(A(Zk),{class:`name-text`,strong:``},{default:M(()=>[B(O(l.value.name),1)]),_:1})]),z(A(yw),{value:a.value,"onUpdate:value":n[14]||=e=>a.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),l.value.status==`public`?Aa(``,!0):(I(),Sa(A(nT),{key:0,onClick:n[15]||=e=>f(l.value.id),ghost:``,disabled:a.value!=l.value.name},{default:M(()=>[...n[34]||=[B(` Опубликовать сценарий `,-1)]]),_:1},8,[`disabled`])),l.value.status==`draft`?Aa(``,!0):(I(),Sa(A(nT),{key:1,onClick:n[16]||=e=>m(l.value.id),ghost:``,disabled:a.value!=l.value.name},{default:M(()=>[...n[35]||=[B(` Снять сценарий с публикации `,-1)]]),_:1},8,[`disabled`])),n[46]||=R(`hr`,{class:`settings-hr`},null,-1),R(`p`,null,[n[36]||=B(` Введите название сценария `,-1),z(A(Zk),{class:`name-text`,strong:``},{default:M(()=>[B(O(l.value.name),1)]),_:1}),n[37]||=B(` чтобы удалить его `,-1)]),z(A(yw),{value:o.value,"onUpdate:value":n[17]||=e=>o.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),z(A(nT),{onClick:n[18]||=e=>d(l.value.id),type:`error`,ghost:``,disabled:o.value!=l.value.name},{default:M(()=>[...n[38]||=[B(` Удалить сценарий `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`show`]),z(jN,{active:`scenarios`})],64))}}),[[`__scopeId`,`data-v-e4c92d18`]]),tF=P({__name:`ScenariosEditorView`,setup(e){return(e,t)=>(I(),Sa(eF))}}),nF={class:`center-block-custom`},rF={class:`width1200 display-table`},iF=[`onClick`],aF={class:`scenario-content-block`},oF={class:`scenario-title`},sF={class:`scenario-label`},cF=AN(P({__name:`ScenariosPage`,setup(e){let t=LM(),n=k([]),r=qA(),i=$E(),a=k(!1),o=k(``);async function s(){n.value=[];let e=await t.GetMyScenarios({});n.value=e.scenarios}async function c(e){let n=await t.AddScenario({name:e});if(n.error!=``){i.error(n.error);return}await l(n.id)}async function l(e){r.push(`/scenarios/`+e+`/editor`)}return s(),(e,t)=>(I(),L(F,null,[R(`div`,nF,[R(`div`,rF,[R(`div`,{class:`scenario-block`,onClick:t[0]||=e=>a.value=!0},[...t[5]||=[R(`div`,{class:`scenario-image-block scenario-image-plus`},`+`,-1),R(`div`,{class:`scenario-content-block`},[R(`p`,{class:`scenario-title`},`Создать новый сценарий`)],-1)]]),(I(!0),L(F,null,Zr(n.value,e=>(I(),L(`div`,{class:`scenario-block`,onClick:t=>l(e.id),key:e.id},[R(`div`,{class:`scenario-image-block scenario-image`,style:fe({backgroundImage:`url(${e.image})`})},null,4),R(`div`,aF,[R(`p`,oF,O(e.name),1),R(`p`,sF,[e.status==`public`?(I(),Sa(A(RC),{key:0,bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[...t[6]||=[B(`Опубликовано`,-1)]]),_:1})):Aa(``,!0),e.status==`draft`?(I(),Sa(A(RC),{key:1,bordered:!1,type:`warning`,class:`status-block`},{default:M(()=>[...t[7]||=[B(`В разработке`,-1)]]),_:1})):Aa(``,!0)])])],8,iF))),128))])]),z(A(RE),{show:a.value,"onUpdate:show":t[4]||=e=>a.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Создание сценария`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[1]||=e=>a.value=!1},{default:M(()=>[...t[8]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[3]||=e=>c(o.value),disabled:o.value.length==0},{default:M(()=>[...t[9]||=[B(` Создать `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:M(()=>[z(A(yw),{value:o.value,"onUpdate:value":t[2]||=e=>o.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`])]),_:1})]),_:1},8,[`show`]),z(jN,{active:`scenarios`})],64))}}),[[`__scopeId`,`data-v-12737793`]]),lF=P({__name:`ScenariosView`,setup(e){return(e,t)=>(I(),Sa(cF))}}),uF={};function dF(e,t){return`Пользовательское соглашение`}var fF=AN(uF,[[`render`,dF]]),pF={class:`center-block-custom`},mF={class:`width700`},hF={class:`user-field`},gF={class:`user-field`},_F={class:`user-field`},vF=AN(P({__name:`UsersPage`,setup(e){let t=LM(),n=$E(),r=k([]);async function i(){let e=await t.GetUsers({});if(e.error!=``){n.error(e.error);return}r.value=e.users}i();async function a(e,r){let a=await t.AddUserRole({id:e,role:r});if(a.error!=``){n.error(a.error);return}await i()}async function o(e,r){let a=await t.DeleteUserRole({id:e,role:r});if(a.error!=``){n.error(a.error);return}await i()}return(e,t)=>(I(),L(F,null,[R(`div`,pF,[R(`div`,mF,[(I(!0),L(F,null,Zr(r.value,e=>(I(),L(`div`,{key:e.id,class:`user-block`},[R(`div`,hF,` Позывной: `+O(e.username),1),R(`div`,gF,` Почта: `+O(e.email),1),R(`div`,_F,[z(A(CD),null,{default:M(()=>[t[0]||=B(` Роли: `,-1),(I(!0),L(F,null,Zr(e.roles,e=>(I(),Sa(A(RC),{bordered:!1,key:e},{default:M(()=>[B(O(e),1)]),_:2},1024))),128))]),_:2},1024)]),z(A(AD),{justify:`end`,class:`roles-buttons-block`},{default:M(()=>[e.roles?.includes(`author`)?(I(),Sa(A(nT),{key:1,onClick:t=>o(e.id,`author`)},{default:M(()=>[...t[2]||=[B(`Забрать роль автора`,-1)]]),_:1},8,[`onClick`])):(I(),Sa(A(nT),{key:0,onClick:t=>a(e.id,`author`)},{default:M(()=>[...t[1]||=[B(`Сделать автором`,-1)]]),_:1},8,[`onClick`])),e.roles?.includes(`organizer`)?(I(),Sa(A(nT),{key:3,onClick:t=>o(e.id,`organizer`)},{default:M(()=>[...t[4]||=[B(`Забрать роль организатора`,-1)]]),_:1},8,[`onClick`])):(I(),Sa(A(nT),{key:2,onClick:t=>a(e.id,`organizer`)},{default:M(()=>[...t[3]||=[B(`Сделать организатором`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]))),128))])]),z(jN,{active:`users`})],64))}}),[[`__scopeId`,`data-v-b07aea1d`]]),yF=P({__name:`UsersView`,setup(e){return(e,t)=>(I(),Sa(vF))}}),bF={class:`center-block-custom`},xF={class:`width1200 display-table`},SF=[`onClick`],CF={class:`scenario-content-block`},wF={class:`scenario-title`},TF={class:`scenario-description`},EF={class:`scenario-label`},DF=AN(P({__name:`CatalogPage`,setup(e){let t=LM(),n=k([]),r=qA();async function i(){n.value=[];let e=await t.GetScenariosCatalog({});n.value=e.scenarios}async function a(e){r.push(`/scenarios/`+e)}return i(),(e,t)=>(I(),L(F,null,[R(`div`,bF,[R(`div`,xF,[(I(!0),L(F,null,Zr(n.value,e=>(I(),L(`div`,{class:`scenario-block`,onClick:t=>a(e.id),key:e.id},[R(`div`,{class:`scenario-image-block scenario-image`,style:fe({backgroundImage:`url(${e.image})`})},null,4),R(`div`,CF,[R(`p`,wF,O(e.name),1),R(`p`,TF,O(e.description),1),R(`p`,EF,[z(A(RC),{bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[B(`Автор: `+O(e.author?.username),1)]),_:2},1024)])])],8,SF))),128))])]),z(jN,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-40f12db0`]]),OF=P({__name:`CatalogView`,setup(e){return(e,t)=>(I(),Sa(DF))}}),kF={class:`center-block-custom`},AF={class:`width700`},jF={class:`scenario-title`},MF=[`src`],NF={class:`scenario-description`},PF={class:`scenario-author`},FF=AN(P({__name:`ScenarioPage`,setup(e){let t=$E(),n=LM(),r=JA().params.id,i=k({id:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0});async function a(e){let r=await n.GetScenario({id:e});if(r.error!=``){t.error(r.error);return}i.value=r.scenario}return a(Number(r)),(e,t)=>(I(),L(F,null,[R(`div`,kF,[R(`div`,AF,[R(`div`,jF,O(i.value.name),1),R(`img`,{class:`scenario-image`,src:i.value.image},null,8,MF),R(`div`,NF,O(i.value.description),1),R(`div`,PF,[z(A(RC),{bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[B(`Автор: `+O(i.value.author?.username),1)]),_:1})])])]),z(jN,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-aa5857fa`]]),IF=P({__name:`ScenarioView`,setup(e){return(e,t)=>(I(),Sa(FF))}}),LF={class:`center-block-custom`},RF={class:`width1200`},zF={class:`settings-block`},BF={class:`team-block`},VF={class:`team-content-block`},HF={class:`title-block`},UF={class:`team-name-block`},WF={class:`qr-block`},GF=AN(P({__name:`GamePage`,setup(e){let t=LM(),n=qA(),r=JA().params.id,i=$E(),a=k(!1),o=k(!1),s=k(!1),c=k(!1),l=k(``),u=k(!1),d=k(``),f=k({id:void 0,name:void 0,description:void 0,startAt:void 0,status:void 0,scenario:void 0,teams:void 0});async function p(e){let n=await t.GetGame({id:e});if(n.error!=``){i.error(n.error);return}f.value=n.game}p(Number(r));async function m(e,t){n.push(`/team-story/`+e+`?password=`+t)}async function h(){let e=await t.UpdateGame({id:f.value.id,name:f.value.name,description:f.value.description,startAt:f.value.startAt,scenarioId:f.value.scenario?.id});if(e.error!=``){i.error(e.error);return}await p(f.value.id),a.value=!1}let g=k({id:0,name:``,status:``,password:``,actionsCount:0,applications:[]}),_=k(``),v=k({id:0,name:``,status:``,password:``,actionsCount:0,applications:[]}),y=k({name:``,image:``});function b(e,t){g.value=e,y.value=t,o.value=!0}async function x(){let e=await t.AddTeam({gameId:f.value.id,name:l.value});if(e.error!=``){i.error(e.error);return}await p(f.value.id),s.value=!1}async function S(){let e=await t.GiveTeamApplications({id:g.value.id,name:y.value.name});if(e.error!=``){i.error(e.error);return}await p(f.value.id),o.value=!1}async function C(e){v.value=e,c.value=!0}async function w(){let e=await t.DeleteTeam({id:v.value.id});if(e.error!=``){i.error(e.error);return}await p(f.value.id),c.value=!1}function T(e,t){return FM()+`/team-story/`+e+`?password=`+t}async function ee(e){d.value=e,u.value=!0}return(e,t)=>(I(),L(F,null,[R(`div`,LF,[R(`div`,RF,[R(`div`,zF,[B(` Команд: `+O(f.value.teams?.length)+` `,1),z(A(nT),{quaternary:``,onClick:t[0]||=e=>a.value=!0,class:`settings-button`},{default:M(()=>[z(A(EN),{class:`settings-icon`},{default:M(()=>[z(A(uP))]),_:1}),t[20]||=B(` Настройки `,-1)]),_:1})]),R(`div`,{class:`team-block team-block-hover`,onClick:t[1]||=e=>s.value=!0},[...t[21]||=[R(`p`,{class:`place-image-plus`},`+`,-1)]]),(I(!0),L(F,null,Zr(f.value.teams,e=>(I(),L(`div`,BF,[R(`div`,VF,[R(`div`,HF,[R(`span`,UF,O(e.name),1),R(`div`,null,` Поездки: `+O(e.actionsCount),1)]),z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t=>ee(T(e.id,e.password))},{default:M(()=>[...t[22]||=[B(` QR `,-1)]]),_:1},8,[`onClick`]),z(A(nT),{onClick:t=>m(e.id,e.password)},{default:M(()=>[...t[23]||=[B(` Подсмотреть игру `,-1)]]),_:1},8,[`onClick`]),z(A(nT),{type:`error`,ghost:``,onClick:t=>C(e)},{default:M(()=>[...t[24]||=[B(` Удалить `,-1)]]),_:1},8,[`onClick`])]),_:2},1024),(I(!0),L(F,null,Zr(e.applications,t=>(I(),Sa(A(nT),{key:t.name,class:`link-button`,onClick:n=>b(e,t)},{default:M(()=>[B(` Выдать: `+O(t.name),1)]),_:2},1032,[`onClick`]))),128))])]))),256))])]),z(A(RE),{show:a.value,"onUpdate:show":t[6]||=e=>a.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Настройки игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[2]||=e=>a.value=!1},{default:M(()=>[...t[25]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[5]||=e=>h(),ghost:``},{default:M(()=>[...t[28]||=[B(` Сохранить изменения `,-1)]]),_:1})]),_:1})]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[t[26]||=R(`p`,null,`Название`,-1),z(A(yw),{value:f.value.name,"onUpdate:value":t[3]||=e=>f.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),t[27]||=R(`p`,{class:`settings-header`},`Описание`,-1),z(A(yw),{value:f.value.description,"onUpdate:value":t[4]||=e=>f.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:o.value,"onUpdate:show":t[9]||=e=>o.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Настройки игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[7]||=e=>o.value=!1},{default:M(()=>[...t[29]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[8]||=e=>S(),ghost:``},{default:M(()=>[...t[32]||=[B(` Выдать `,-1)]]),_:1})]),_:1})]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[t[30]||=R(`p`,null,`Команда`,-1),R(`h3`,null,O(g.value.name),1),t[31]||=R(`p`,null,`Улика`,-1),R(`h3`,null,O(y.value.name),1)]),_:1})]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:s.value,"onUpdate:show":t[13]||=e=>s.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Создание команды`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[10]||=e=>s.value=!1},{default:M(()=>[...t[33]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[12]||=e=>x(),disabled:l.value.length==0},{default:M(()=>[...t[34]||=[B(` Создать `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:M(()=>[z(A(yw),{value:l.value,"onUpdate:value":t[11]||=e=>l.value=e,type:`text`,placeholder:`Три дебила`},null,8,[`value`])]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:c.value,"onUpdate:show":t[17]||=e=>c.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Удаление команды`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[14]||=e=>c.value=!1},{default:M(()=>[...t[35]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[16]||=e=>w(),disabled:_.value!=v.value.name},{default:M(()=>[...t[38]||=[B(` Удалить `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[R(`p`,null,[t[36]||=B(` Введите название команды `,-1),z(A(Zk),{class:`name-text`,strong:``},{default:M(()=>[B(O(v.value.name),1)]),_:1}),t[37]||=B(` чтобы удалить его `,-1)]),z(A(yw),{value:_.value,"onUpdate:value":t[15]||=e=>_.value=e,type:`text`,placeholder:`Три дебила`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:u.value,"onUpdate:show":t[19]||=e=>u.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Подсмотреть игру`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[18]||=e=>u.value=!1},{default:M(()=>[...t[39]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[...t[40]||=[]]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[R(`div`,WF,[z(A(Mk),{value:d.value,size:300,padding:0},null,8,[`value`])])]),_:1})]),_:1})]),_:1},8,[`show`]),z(jN,{active:`games`})],64))}}),[[`__scopeId`,`data-v-f1807272`]]),KF=P({__name:`GameView`,setup(e){return(e,t)=>(I(),Sa(GF))}}),qF={},JF={class:`belt-block`};function YF(e,t){return I(),L(`div`,null,[t[0]||=R(`div`,{class:`shadow shadow-top`},null,-1),t[1]||=R(`div`,{class:`shadow shadow-bottom`},null,-1),R(`div`,JF,[Qr(e.$slots,`default`,{},void 0,!0)])])}var XF=AN(qF,[[`render`,YF],[`__scopeId`,`data-v-0effe39e`]]),ZF={},QF={class:`plate-block`},$F={class:`metal-plate-block`};function eI(e,t){return I(),L(`div`,QF,[R(`div`,$F,[Qr(e.$slots,`default`,{},void 0,!0)]),t[0]||=R(`div`,{class:`pin pin-top-left`},null,-1),t[1]||=R(`div`,{class:`pin pin-top-right`},null,-1),t[2]||=R(`div`,{class:`pin pin-bottom-right`},null,-1),t[3]||=R(`div`,{class:`pin pin-bottom-left`},null,-1)])}var tI=AN(ZF,[[`render`,eI],[`__scopeId`,`data-v-34e952c0`]]),nI={class:`text-with-font`},rI=AN(P({__name:`HeaderText`,setup(e){return(e,t)=>(I(),L(`span`,nI,[Qr(e.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-e13ee3bd`]]),iI={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 512 512`},aI=P({name:`Footsteps`,render:function(e,t){return I(),L(`svg`,iI,t[0]||=[R(`path`,{d:`M133.83 361.27c-22.61 0-41-8.17-54.79-24.39s-22.84-40.29-28.11-75.31c-7.76-51.61-.06-95.11 21.68-122.48c12.8-16.12 29.6-25.44 48.58-26.94c16.25-1.3 40.54 5.29 64 44c14.69 24.24 25.86 56.44 30.65 88.34c5.79 38.51 1.48 66.86-13.18 86.65c-11.64 15.72-29.54 25.46-53.21 29a106.46 106.46 0 0 1-15.62 1.13z`,fill:`currentColor`},null,-1),R(`path`,{d:`M173 496c-13.21 0-26.6-4.23-38.66-12.36a79.79 79.79 0 0 1-33.52-50.6c-2.85-14.66-1.14-26.31 5.22-35.64c10.33-15.15 28.87-18.56 48.49-22.18c2.07-.38 4.17-.76 6.3-1.17c4.52-.86 9.14-2 13.62-3.11c16.78-4.14 34.14-8.43 48.47 1.75c9.59 6.8 15 18.36 16.62 35.32c1.84 19.57-2.36 39.1-11.83 55c-10.19 17.11-25.47 28.42-43 31.86A61 61 0 0 1 173 496z`,fill:`currentColor`},null,-1),R(`path`,{d:`M378.17 265.27a106.69 106.69 0 0 1-15.6-1.2c-23.66-3.5-41.56-13.25-53.2-29c-14.66-19.79-19-48.13-13.18-86.65c4.79-31.93 15.93-64.1 30.55-88.25c23.34-38.57 47.66-45.26 64-44.08c18.92 1.38 35.69 10.57 48.51 26.6c21.89 27.37 29.65 71 21.86 122.84c-5.27 35-14.2 58.95-28.11 75.31s-32.22 24.43-54.83 24.43z`,fill:`currentColor`},null,-1),R(`path`,{d:`M339 400a61 61 0 0 1-11.68-1.13c-17.56-3.44-32.84-14.75-43-31.86c-9.47-15.9-13.67-35.43-11.83-55c1.6-17 7-28.52 16.62-35.33c14.33-10.17 31.69-5.89 48.47-1.74c4.48 1.1 9.1 2.24 13.62 3.11l6.29 1.17c19.63 3.61 38.17 7 48.5 22.17c6.36 9.33 8.07 21 5.22 35.64a79.78 79.78 0 0 1-33.52 50.61C365.56 395.78 352.17 400 339 400z`,fill:`currentColor`},null,-1)])}}),oI={class:`form-custom`},sI={class:`center-block-700`},cI={class:`controller`},lI={class:`counters-block`},uI={class:`counter-block`},dI={class:`places-text`},fI={class:`places-text places-text-number`},pI={class:`counter-block`},mI={class:`places-text`},hI={class:`places-text places-text-number`},gI={class:`game-input`},_I=[`disabled`],vI=AN(P({__name:`GameInputForm`,props:{addAction:{type:Function,required:!0},allPlacesCount:{type:Number,required:!0},newPlacesCount:{type:Number,required:!0}},setup(e){let t=k(``),n=e;async function r(){await n.addAction(t.value),t.value=``}function i(e){e%=100;let t=Math.floor(e/10)%10,n=e%10,r=`–`,i=`–`;return t>0&&(r=String(t)),(n>0||t>0)&&(i=String(n)),[r,i]}return(n,a)=>(I(),L(`div`,oI,[z(XF,{class:`input-form`},{default:M(()=>[z(tI,{class:`controller-metal controller-metal-left`}),z(tI,{class:`controller-metal controller-metal-right`}),R(`div`,sI,[R(`div`,cI,[R(`div`,lI,[R(`div`,uI,[R(`div`,dI,[z(A(EN),{class:`icon-for-counter`},{default:M(()=>[z(A(aI))]),_:1})]),(I(!0),L(F,null,Zr(i(e.allPlacesCount),e=>(I(),L(`div`,fI,O(e),1))),256))]),R(`div`,pI,[R(`div`,mI,[z(A(EN),{class:`icon-for-counter`},{default:M(()=>[z(A(VM))]),_:1})]),(I(!0),L(F,null,Zr(i(e.newPlacesCount),e=>(I(),L(`div`,hI,O(e),1))),256))])]),R(`div`,gI,[Vn(R(`input`,{id:`run`,class:`game-input-run`,"onUpdate:modelValue":a[0]||=e=>t.value=e,type:`text`,placeholder:`Место назначения`},null,512),[[Es,t.value]])]),a[2]||=R(`div`,{class:`game-button-run-shadow`},null,-1),R(`button`,{class:`game-button-run`,type:`submit`,disabled:t.value.length==0,onClick:r},[z(rI,null,{default:M(()=>[...a[1]||=[B(`Поехали`,-1)]]),_:1})],8,_I)])])]),_:1})]))}}),[[`__scopeId`,`data-v-6e0e0fb9`]]);function yI(e,t=5e3){let n=k(!0),r=null,i=()=>{n.value=!0,e(),r=window.setInterval(e,t)},a=()=>{n.value=!1,r&&=(clearInterval(r),null)};return Vr(i),Gr(a),{isActive:n,start:i,stop:a}}var bI={class:`width700`},xI={key:0,class:`edit-panel`},SI=AN(P({__name:`TeamStoryPage`,setup(e){let t=IM(),n=LM(),r=$E(),i=JA(),a=i.params.id,o=i.query.password,s=k(0),c=k(),l=k({places:[]}),u=k({id:void 0,name:void 0,description:void 0,startAt:void 0,status:void 0,scenario:void 0,teams:void 0}),d=k(``),f=()=>{let e=c.value;return e?e.scrollHeight-e.scrollTop-e.clientHeight<1:!1};async function p(){let e=l.value,t=await n.GetTeamStory({id:Number(a),password:o});if(t.error!=``){r.error(t.error);return}u.value=t.game;let i=f();i&&(s.value=0);let d=l.value.places.length;l.value={places:t.story.places?.map((t,n)=>(console.log(e?.places[n]?.mode),{place:t,mode:e?.places[n]?.mode||`show`}))||[]};let p=l.value.places.length;if(p>d&&d!=0&&(s.value+=p-d),await kn(),i&&d!=0){let e=c.value;if(!e)return!1;e.scrollTop=e.scrollHeight}}p();async function m(e){let t=await n.AddTeamAction({id:Number(a),password:o,code:e});if(t.error!=``){r.error(t.error);return}await p(),d.value=``,await kn(),s.value=0}async function h(){let e=await n.DeleteLastTeamAction({id:Number(a)});if(e.error!=``){r.error(e.error);return}await p(),d.value=``}return yI(()=>{p()},2e3),(e,n)=>(I(),L(F,null,[R(`div`,{class:`center-block-custom bottom-margin smooth-scroll`,ref_key:`scrollContainer`,ref:c},[R(`div`,bI,[z(vI,{addAction:m,allPlacesCount:l.value.places.length,newPlacesCount:s.value},null,8,[`allPlacesCount`,`newPlacesCount`]),(I(!0),L(F,null,Zr(l.value.places,e=>(I(),Sa(YP,{place:e.place,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.place.code,addAction:m},null,8,[`place`,`mode`,`onUpdate:mode`]))),128)),A(t).hasRole(`author`)?(I(),L(`div`,xI,[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:h},{default:M(()=>[...n[0]||=[B(`Удалить последний ход`,-1)]]),_:1})]),_:1})])):Aa(``,!0)])],512),z(jN,{active:`games`})],64))}}),[[`__scopeId`,`data-v-c92c3497`]]),CI=P({__name:`TeamStoryView`,setup(e){return(e,t)=>(I(),Sa(SI))}}),wI=AM({history:Qj(`/`),routes:[{path:`/`,name:`home`,component:zN},{path:`/login`,name:`login`,component:tP},{path:`/office`,name:`office`,component:aP},{path:`/user-agreement`,name:`user-agreement`,component:fF},{path:`/privacy-policy`,name:`privacy-policy`,component:cP},{path:`/games`,name:`games`,component:RN},{path:`/games/:id`,name:`game`,component:KF},{path:`/team-story/:id`,name:`team-story`,component:CI},{path:`/scenarios`,name:`scenarios`,component:lF},{path:`/catalog`,name:`catalog`,component:OF},{path:`/scenarios/:id/editor`,name:`scenario-editor`,component:tF},{path:`/scenarios/:id`,name:`scenario`,component:IF},{path:`/users`,name:`users`,component:yF}]}),TI=As(jM);TI.use(Zs()),TI.use(wI),TI.mount(`#app`); \ No newline at end of file +`)}function oN(e){if(!e)return;let t=e.parentElement;t&&t.removeChild(e)}function sN(e){return document.querySelector(`style[cssr-id="${e}"]`)}function cN(e){let t=document.createElement(`style`);return t.setAttribute(`cssr-id`,e),t}window&&(window.__cssrContext={});function lN(e){let t=e.getAttribute(`mount-count`);return t===null?null:Number(t)}function uN(e,t){e.setAttribute(`mount-count`,String(t))}function dN(e,t,n,r){let{els:i}=t;if(n===void 0)i.forEach(oN),t.els=[];else{let e=sN(n);if(e&&i.includes(e)){let a=lN(e);r?a===null?console.error(`[css-render/unmount]: The style with target='${n}' is mounted in count mode.`):a<=1?(oN(e),t.els=i.filter(t=>t!==e)):uN(e,a-1):a===null?(oN(e),t.els=i.filter(t=>t!==e)):console.error(`[css-render/unmount]: The style with target='${n}' is mounted in no-count mode.`)}}}function fN(e,t){e.push(t)}function pN(e,t,n,r,i,a,o,s,c){if(o&&!c){if(n===void 0){console.error("[css-render/mount]: `id` is required in `boost` mode.");return}let i=window.__cssrContext;i[n]||(i[n]=!0,aN(t,e,r,o));return}let l,{els:u}=t,d;if(n===void 0&&(d=t.render(r),n=jc(d)),c){c(n,d??t.render(r));return}let f=sN(n);if(s||f===null){if(l=f===null?cN(n):f,d===void 0&&(d=t.render(r)),l.textContent=d,f!==null)return;if(i){let e=document.head.getElementsByTagName(`style`)[0]||null;document.head.insertBefore(l,e)}else document.head.appendChild(l);a&&uN(l,1),fN(u,l)}else{let e=lN(f);a?e===null?console.error(`[css-render/mount]: The style with id='${n}' has been mounted in no-count mode.`):uN(f,e+1):e!==null&&console.error(`[css-render/mount]: The style with id='${n}' has been mounted in count mode.`)}return f??l}function mN(e){return aN(this,this.instance,e)}function hN(e={}){let{target:t,id:n,ssr:r,props:i,count:a=!1,head:o=!1,boost:s=!1,force:c=!1}=e;return pN(this.instance,this,n??t,i,o,a,s,c,r)}function gN(e={}){let{id:t,target:n,delay:r=0,count:i=!1}=e;r===0?dN(this.instance,this,t??n,i):setTimeout(()=>dN(this.instance,this,t??n,i),r)}var _N=function(e,t,n,r){return{instance:e,$:t,props:n,children:r,els:[],render:mN,mount:hN,unmount:gN}},vN=function(e,t,n,r){return Array.isArray(t)?_N(e,{$:null},null,t):Array.isArray(n)?_N(e,t,null,n):Array.isArray(r)?_N(e,t,n,r):_N(e,t,n,null)};function yN(e={}){let t=null,n={c:((...e)=>vN(n,...e)),use:(e,...t)=>e.install(n,...t),find:sN,context:{},config:e,get __styleSheet(){if(!t){let e=document.createElement(`style`);return document.head.appendChild(e),t=document.styleSheets[document.styleSheets.length-1],t}return t}};return n}var{c:bN}=yN(),xN=bN(`.xicon`,{width:`1em`,height:`1em`,display:`inline-flex`},[bN(`svg`,{width:`1em`,height:`1em`}),bN(`svg:not([fill])`,{fill:`currentColor`})]),SN=()=>{xN.mount({id:`xicons-icon`})},CN={size:[String,Number],color:String,tag:String},wN=Symbol(`IconConfigInjection`),TN=`span`,EN=P({name:`Icon`,props:CN,setup(e,{slots:t}){let n=N(wN,null),r=V(()=>{let t=e.size??n?.size;if(t!==void 0)return typeof t==`number`||/^\d+$/.test(t)?`${t}px`:t}),i=V(()=>{let{color:t}=e;return t===void 0?n?n.color:void 0:t}),a=V(()=>{let{tag:t}=e;return t===void 0?n?.tag??TN:t});return Br(()=>{SN()}),()=>H(a.value,{class:`xicon`,style:{color:i.value,fontSize:r.value}},[Qr(t,`default`)])}}),DN={class:`menu-block`},ON={class:`right-group`},kN=P({__name:`HeaderMenu`,props:{active:{type:String,required:!1}},setup(e){let t=e,n=IM();n.initFromStorage();let r=qA(),i=LM(),a=k([]);async function o(){a.value=[];let e=await i.GetPermissions({});a.value=e.permissions}o();function s(e){return a.value.includes(e)}let c=()=>{r.push(`/login`)},l=()=>{n.logout(),r.push(`/login`)},u=k(!1);return(e,i)=>(I(),L(`div`,DN,[R(`div`,{onClick:i[0]||=e=>u.value=!u.value,class:`burger-button`},[z(A(EN),{class:`burger-icon`,size:`28`},{default:M(()=>[z(A(GM))]),_:1})]),R(`div`,{class:_e([`left-group menu-buttons-block`,u.value?``:`menu-buttons-block-active`])},[R(`div`,{class:_e([`menu-item-block`,{active:t.active==`main`}]),onClick:i[1]||=e=>A(r).push(`/`)},` Главная `,2),A(n).hasRole(`user`)?(I(),L(`div`,{key:0,class:_e([`menu-item-block`,{active:t.active==`office`}]),onClick:i[2]||=e=>A(r).push(`/office`)},` Кабинет `,2)):Aa(``,!0),s(`games_page`)?(I(),L(`div`,{key:1,class:_e([`menu-item-block`,{active:t.active==`games`}]),onClick:i[3]||=e=>A(r).push(`/games`)},` Игры `,2)):Aa(``,!0),R(`div`,{class:_e([`menu-item-block`,{active:t.active==`catalog`}]),onClick:i[4]||=e=>A(r).push(`/catalog`)},` Каталог `,2),s(`scenarios_page`)?(I(),L(`div`,{key:2,class:_e([`menu-item-block`,{active:t.active==`scenarios`}]),onClick:i[5]||=e=>A(r).push(`/scenarios`)},` Мои сценарии `,2)):Aa(``,!0),s(`users_page`)?(I(),L(`div`,{key:3,class:_e([`menu-item-block`,{active:t.active==`users`}]),onClick:i[6]||=e=>A(r).push(`/users`)},` Пользователи `,2)):Aa(``,!0)],2),R(`div`,ON,[A(n).isAuthenticated?Aa(``,!0):(I(),L(`div`,{key:0,class:`menu-item-block right`,onClick:c},` Войти `)),A(n).isAuthenticated?(I(),L(`div`,{key:1,class:`menu-item-block right`,onClick:l},`Выйти`)):Aa(``,!0)])]))}}),AN=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},jN=AN(kN,[[`__scopeId`,`data-v-5e423637`]]),MN={class:`center-block-custom`},NN={class:`width1200`},PN=[`onClick`],FN={class:`game-title`},IN={class:`game-description`},LN=AN(P({__name:`GamesPage`,setup(e){let t=LM(),n=$E(),r=qA(),i=k([]);async function a(){i.value=[];let e=await t.GetGames({});if(e.error!=``){n.error(e.error);return}i.value=e.games||[]}a();async function o(e){r.push(`/games/`+e)}return(e,t)=>(I(),L(F,null,[R(`div`,MN,[R(`div`,NN,[(I(!0),L(F,null,Zr(i.value,e=>(I(),L(`div`,{class:`game-block`,onClick:t=>o(e.id)},[R(`div`,FN,O(e.name),1),R(`div`,IN,O(e.description),1)],8,PN))),256))])]),z(jN,{active:`games`})],64))}}),[[`__scopeId`,`data-v-c7afa62c`]]),RN=P({__name:`GamesView`,setup(e){return(e,t)=>(I(),Sa(LN))}}),zN=P({__name:`HomeView`,setup(e){return(e,t)=>(I(),L(F,null,[t[0]||=R(`div`,{class:`center-block-custom content-block center-middle-block-custom height80`},[R(`div`,null,[R(`h1`,{class:`font-text`},`Вечерний детектив`),R(`h3`,{class:`font-text`},`Дело №0`),R(`p`,{class:`content-text`},` Поиграем? `)])],-1),z(jN,{active:`main`})],64))}}),BN={class:`center-block-custom content-block center-middle-block-custom height80`},VN={class:`form-button-wrapper`},HN={class:`form-label`},UN={key:0},WN={key:1},GN={class:`form-label`},KN={class:`form-button-wrapper`},qN={class:`form-label`},JN={key:0},YN={key:1},XN={class:`form-button-wrapper`},ZN={class:`form-label`},QN={key:0},$N={key:1},eP=AN(P({__name:`LoginPage`,setup(e){let t=IM(),n=qA(),r=$E(),i=k(``),a=k(``),o=k(``),s=k(!1),c=V(()=>[`@mail.ru`,`@yandex.ru`,`@gmail.com`].map(e=>{let t=a.value.split(`@`)[0];return{label:t+e,value:t+e}}));async function l(){if(!await t.login(a.value,o.value)&&t.error!=null){r.error(t.error);return}n.push(`/office`)}async function u(){if(s.value){if(!await t.signup(i.value,a.value)&&t.error!=null){r.error(t.error);return}r.info(`Пароль отправлен на почту`)}}async function d(){if(!await t.refreshPassword(a.value)&&t.error!=null){r.error(t.error);return}r.info(`Пароль отправлен на почту`)}return(e,n)=>(I(),L(`div`,BN,[z(A(bT),{style:{"margin-bottom":`16px`},class:`sign-card`},{default:M(()=>[z(A(Gk),{type:`line`,animated:``},{default:M(()=>[z(A(Vk),{name:`signin`,tab:`Вход`},{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[6]||=R(`div`,{class:`form-label`},`Почта`,-1),z(A(jw),{value:a.value,"onUpdate:value":n[0]||=e=>a.value=e,"input-props":{autocomplete:`disabled`},options:c.value,placeholder:`detective@mail.ru`,clearable:``},null,8,[`value`,`options`]),n[7]||=R(`div`,{class:`form-label`},`Пароль`,-1),z(A(yw),{value:o.value,"onUpdate:value":n[1]||=e=>o.value=e,type:`password`,placeholder:`********`},null,8,[`value`]),R(`div`,VN,[R(`div`,HN,[z(A(nT),{onClick:l,disabled:a.value.length==0||o.value.length==0},{default:M(()=>[A(t).isLoading?(I(),L(`span`,WN,` Подождите... `)):(I(),L(`span`,UN,` Вход `))]),_:1},8,[`disabled`])])])]),_:1})]),_:1}),z(A(Vk),{name:`signup`,tab:`Регистрация`},{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[9]||=R(`div`,{class:`form-label`},`Позывной`,-1),z(A(yw),{value:i.value,"onUpdate:value":n[2]||=e=>i.value=e,type:`text`,placeholder:`Шерлок`},null,8,[`value`]),n[10]||=R(`div`,{class:`form-label`},`Почта`,-1),z(A(jw),{value:a.value,"onUpdate:value":n[3]||=e=>a.value=e,"input-props":{autocomplete:`disabled`},options:c.value,placeholder:`detective@mail.ru`,clearable:``},null,8,[`value`,`options`]),R(`div`,GN,[z(A(NT),{checked:s.value,"onUpdate:checked":n[4]||=e=>s.value=e},{default:M(()=>[...n[8]||=[B(` Я согласен с `,-1),R(`a`,{href:`/user-agreement`,target:`_blank`,class:`docs-link`},`пользовательским соглашением`,-1),R(`br`,null,null,-1),B(` и `,-1),R(`a`,{href:`/privacy-policy`,target:`_blank`,class:`docs-link`},`соглашением о персональных данных`,-1)]]),_:1},8,[`checked`])]),R(`div`,KN,[R(`div`,qN,[z(A(nT),{onClick:u,disabled:i.value.length==0||o.value.length==0||!s.value},{default:M(()=>[A(t).isLoading?(I(),L(`span`,YN,` Подождите... `)):(I(),L(`span`,JN,` Регистрация `))]),_:1},8,[`disabled`])])])]),_:1})]),_:1}),z(A(Vk),{name:`new-password`,tab:`Новый пароль`},{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[11]||=R(`div`,{class:`form-label`},`Почта`,-1),z(A(jw),{value:a.value,"onUpdate:value":n[5]||=e=>a.value=e,"input-props":{autocomplete:`disabled`},options:c.value,placeholder:`detective@mail.ru`,clearable:``},null,8,[`value`,`options`]),R(`div`,XN,[R(`div`,ZN,[z(A(nT),{onClick:d,disabled:a.value.length==0},{default:M(()=>[A(t).isLoading?(I(),L(`span`,$N,` Подождите... `)):(I(),L(`span`,QN,` Прислать новый пароль `))]),_:1},8,[`disabled`])])])]),_:1})]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-c1fd645b`]]),tP=P({__name:`LoginView`,setup(e){return(e,t)=>(I(),L(F,null,[z(eP),z(jN)],64))}}),nP={class:`center-block-custom`},rP={class:`width700`},iP=P({__name:`OfficePage`,setup(e){let t=IM(),n=LM(),r=k([]);async function i(){r.value=[];let e=await n.GetPermissions({});r.value=e.permissions}i();function a(){let e=new Date,t=e.getDay(),n=e.getDate(),r=e.getMonth()+1,i=t===1,a=t===5&&n===13,o=r===1&&n===1||r===12&&n===31,s=r>=6&&r<=8,c=r===12||r<=2,l=n%5==0,u=[`Всегда носи с собой запасную ручку — признания любят записывать в самый неподходящий момент.`,`Если подозреваемый слишком вежлив, он либо дипломат, либо прячет труп в гараже.`,`Кофе в участке — это не напиток, это яд для улик. Пей только свой.`,`Следы на месте преступления всегда ведут к тому, кто забыл закрыть дверь.`,`Лучший способ разговорить молчуна — предложить ему чай с тремя ложками сахара.`,`Если всё указывает на дворецкого, ищи того, кто нанимал дворецкого.`,`Записывай каждую мелочь. Особенно цвет носков убитого.`,`Не верь алиби, которое начинается со слов 'Я бы никогда...'`,`Преступник всегда возвращается на место преступления. Или за забытым телефоном.`,`Ищи того, кому есть что терять, кроме своего времени.`,`Если женщина плачет в кабинете — дай ей платок. Если мужчина — дай ему стакан воды.`,`Самое опасное оружие — не пистолет, а бухгалтерская книга.`,`Собака всегда знает убийцу. Но она не говорит, потому что у неё контракт.`,`Проверяй чеки, билеты и смс. Ложь не терпит документации.`,`Если у тела нет врагов — ты плохо искал врагов.`,`Лупа нужна не для увеличения улик, а для того, чтобы выглядеть умнее.`,`Интуиция — это когда ты уже знаешь ответ, но хочешь убедиться, что не ошибся.`,`Подозревай всех, даже самого себя. Иногда преступник — это ты в прошлом.`,`Хороший детектив видит улики. Великий — видит их отсутствие.`,`Никогда не допрашивай свидетеля на голодный желудок. И себя тоже.`,`Если дело зашло в тупик, переверни бумаги вверх ногами.`,`Самый ценный свидетель — это камера наблюдения, у которой сломана защита.`,`Не ищи мотив. Ищи возможность.`,`Преступник не оставляет следов. Он оставляет выбор.`,`Если дверь была закрыта изнутри — ищи люк, который открывается снаружи.`,`Лучший детектив — тот, кого не замечают в толпе.`,`Учись читать по губам. Пригодится на допросах с адвокатом.`,`Запах духов на месте преступления важнее запаха пороха.`,`Если ты нашел отпечаток пальца — проверь, не твой ли он.`,`Раскрыть дело — это искусство. Не раскрыть — тоже искусство, но другое.`,`Никогда не спорь с баллистикой. Она всегда права, даже если ты не согласен.`,`В каждом деле есть одна странная деталь. Найди её — и пазл сложится.`,`Если преступник умный — он оставит ложный след. Если глупый — он оставит следы в соцсетях.`,`Лучший друг детектива — тишина. Второй друг — кофе.`,`Если свидетель говорит слишком много, он врет. Если молчит — он тоже врет.`,`Преступление редко бывает идеальным. Идеальным бывает только алиби жены.`,`Всегда смотри на часы на трупе. Возможно, они показывают время, когда он перестал верить в людей.`,`Воры любят темноту. Детективы — свет. А маньяки — полную луну.`,`Если ты поймал преступника, не радуйся раньше времени — может, он просто лжец.`,`В каждом городе есть одно место, где собираются все сплетники. Начни оттуда.`,`Не верь в совпадения. Но верь в удачу.`,`Если у тебя нет улик — придумай их. Но только мысленно, чтобы знать, где искать.`,`Жертва всегда знала убийцу. Даже если она не знала, что знает.`,`Проверяй алиби на разрыв. Если оно выдерживает — ты ошибся.`,`Самый страшный враг детектива — не маньяк, а его собственная лень.`,`Если преступник оставил записку — прочитай её. И сожги, чтобы никто не узнал твой почерк.`,`Всегда носи с собой фонарик. Даже днём. Для эффекта.`,`В деле важно всё: от укуса комара до размера обуви.`,`Если ты думаешь, что дело простое — значит, ты не додумал.`,`Убийца всегда ищет внимания. Или наоборот, избегает его.`,`Стук в дверь в полночь — это либо полиция, либо заказчик.`,`Никогда не давай обещаний родственникам жертвы. Только факты.`,`Если у тебя есть три версии — выбирай четвёртую.`,`Лучшее оружие — это бумага. На ней можно написать что угодно.`,`Когда ты смотришь на улику, смотри на неё глазами преступника.`,`Все любят детективы, пока не становятся подозреваемыми.`,`Следы крови важны. Но важнее — следы лжи.`,`Если ты не спишь третьи сутки, значит, ты либо гений, либо дурак.`,`Проверяй каждого, кто говорит 'Я ничего не видел'.`,`В каждом деле есть один человек, который знает всё. И он не говорит.`,`Не суди преступника по одежде. Суди по тому, как он её снимал.`,`Дыра в алиби — это как дыра в лодке. Рано или поздно она утонет.`,`Если преступник использует перчатки — он профессионал. Если нет — он любитель.`,`Запомни: первая версия — всегда неверная.`,`Если у тебя кончились идеи, иди в бар. Там всегда есть кто-то, кто расскажет тебе дело.`,`Свидетель с фотороботом — это как слепой с компасом.`,`Никогда не смейся над уликами. Они могут обидеться и исчезнуть.`,`Если ты нашёл оружие — не трогай его. Иначе твои отпечатки будут на нём.`,`Преступник умён, но ты умнее. Потому что ты пьёшь правильный кофе.`,`Всегда пересматривай видеозаписи. Особенно в два раза медленнее.`,`Если на месте преступления есть кот — он видел всё. Но он не скажет.`,`Лучший способ поймать преступника — пригласить его на обед.`,`Если подозреваемый улыбается, он либо невиновен, либо психопат.`,`Проверяй мусор. В нём всегда есть что-то полезное.`,`Никогда не доверяй красивым историям. Только уродливым фактам.`,`Если ты нашёл улику слишком легко — это ловушка.`,`Убийца всегда оставляет послание. Даже если это просто тишина.`,`Если ты запнулся на допросе — делай вид, что так и задумано.`,`Помни: все врут. Даже я тебе советую.`,`Если ты боишься темноты — стань детективом. Страх пройдёт.`,`Самые лучшие признания случаются под утро, когда все устали.`,`Если преступник использовал компьютер, значит, он либо хакер, либо дурак.`,`Следы шин — это как подпись на дороге.`,`Никогда не забывай про запах. Он помнит дольше, чем люди.`,`Если ты не знаешь, что делать — съешь шоколадку.`,`В каждом деле есть одна минута слабости. Найди её.`,`Преступник всегда нервничает. Даже если он не нервничает.`,`Если у тебя есть подозреваемый и нет улик — подожди. Улики появятся.`,`Не верь в чудеса. Верь в логику.`,`Если ты устал — возьми отпуск. Преступление никуда не денется.`,`Запомни: самый опасный преступник — тот, кто читал детективы.`,`Если ты думаешь, что всё кончено — значит, ты пропустил поворот.`,`Следы на полу важнее следов в душе.`,`Если преступник оставил окурок — он курил. Или хотел, чтобы ты так думал.`,`Хороший детектив всегда голоден. Это помогает мыслить.`,`Не суди по первому впечатлению. Суди по второму, когда увидишь его в наручниках.`,`Если у тебя есть тайный агент — не доверяй ему.`,`В деле всегда есть тот, кто знает больше, чем говорит.`,`Если ты не можешь найти убийцу — стань им (в мыслях).`,`И последнее: всегда проверяй, закрыл ли ты дверь участка.`],d=[];i&&d.push(`☕ Понедельник: Сегодня даже преступники не хотят работать. Проверь тех, кто был слишком бодр.`),a&&d.push(`🔮 Пятница 13-е: Если улики ведут к чёрной кошке, ищи чёрного кота с алиби.`),o&&d.push(`🎄 Новый год: Свидетель в костюме Деда Мороза врёт. Настоящий Дед Мороз всегда в отпуске.`),s&&d.push(`☀️ Лето: В жару преступники забывают улики в карманах, потому что снимают пиджаки.`),c&&d.push(`❄️ Зима: Следы на снегу ведут к тому, у кого самые холодные руки.`),l&&d.push(`🌕 Полнолуние: Если подозреваемый воет на луну, он либо оборотень, либо фанат рока.`);let f=u.concat(d),p=f[Math.floor(Math.random()*f.length)],m=[`🔍 Заметки сыщика:`,`📓 Из дневника инспектора:`,`🕵️ Мудрость Шерлока:`,`🧠 Гениально и просто:`,`📌 Правило большого пальца:`,`☕ Кофейная истина:`];return{header:m[Math.floor(Math.random()*m.length)],text:p}}let o=a();return(e,n)=>(I(),L(F,null,[R(`div`,nP,[R(`div`,rP,[z(A(tw),{title:A(o).header,"show-icon":!1,type:`info`,style:{"margin-bottom":`20px`}},{default:M(()=>[B(O(A(o).text),1)]),_:1},8,[`title`]),R(`p`,null,`Доброго времени суток, `+O(A(t).username)+`.`,1)])]),z(jN,{active:`office`})],64))}}),aP=P({__name:`OfficeView`,setup(e){return(e,t)=>(I(),Sa(iP))}}),oP={};function sP(e,t){return`Соглашением о персональных данных`}var cP=AN(oP,[[`render`,sP]]),lP={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},uP=P({name:`Settings`,render:function(e,t){return I(),L(`svg`,lP,t[0]||=[R(`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),R(`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)])}}),dP={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 24 24`},fP=P({name:`Key24Regular`,render:function(e,t){return I(),L(`svg`,dP,t[0]||=[R(`g`,{fill:`none`},[R(`path`,{d:`M18.25 7a1.25 1.25 0 1 1-2.5 0a1.25 1.25 0 0 1 2.5 0zM15.5 2.05A6.554 6.554 0 0 0 8.95 8.6c0 .387.05.76.11 1.104a.275.275 0 0 1-.07.244l-6.235 6.236a2.75 2.75 0 0 0-.806 1.944V20.3c0 .966.784 1.75 1.75 1.75h2.5a1.75 1.75 0 0 0 1.75-1.75v-1.25H9.7c.69 0 1.25-.56 1.25-1.25v-1.75h1.75a1.25 1.25 0 0 0 1.25-1.204c.496.128 1.02.204 1.55.204a6.554 6.554 0 0 0 6.55-6.55c0-3.631-2.953-6.45-6.55-6.45zM10.45 8.6a5.054 5.054 0 0 1 5.05-5.05c2.802 0 5.05 2.181 5.05 4.95a5.054 5.054 0 0 1-5.05 5.05c-.68 0-1.38-.171-2.005-.44a.75.75 0 0 0-1.046.69v.75H10.7c-.69 0-1.25.56-1.25 1.25v1.75H7.7c-.69 0-1.25.56-1.25 1.25v1.5a.25.25 0 0 1-.25.25H3.7a.25.25 0 0 1-.25-.25v-2.172c0-.331.132-.65.366-.884l6.236-6.235a1.774 1.774 0 0 0 .486-1.564a4.917 4.917 0 0 1-.088-.845z`,fill:`currentColor`})],-1)])}}),pP={class:`main`},mP={class:`message-cloud`},hP=AN(P({__name:`MessagePaper`,setup(e){return(e,t)=>(I(),L(`div`,pP,[t[0]||=R(`div`,{class:`message-cloud-3`},null,-1),t[1]||=R(`div`,{class:`message-cloud-2`},null,-1),R(`div`,mP,[Qr(e.$slots,`default`,{},void 0,!0)])]))}}),[[`__scopeId`,`data-v-dfe3093b`]]),gP={key:1,class:`place-block`},_P={class:`message-header`},vP={class:`message-content`},yP={key:0},bP={class:`message-image-border`},xP=[`src`],SP={class:`key-block`},CP={key:0,class:`hr`},wP={class:`gray-block`},TP={key:0},EP={class:`key-block`},DP={key:3},OP={class:`message-show-header font`},kP={class:`message-show-content font`},AP={key:0},jP={class:`message-image-border`},MP=[`src`],NP={key:0,class:`show-hr`},PP=[`onClick`],FP={class:`button-dialog-text`},IP={key:1,class:`show-hr`},LP={key:4},RP={class:`message-header font`},zP={key:5,class:`place-block`},BP=[`src`],VP={style:{display:`flex`,"align-items":`center`,width:`100%`}},HP={style:{display:`flex`,"flex-direction":`column`}},UP={style:{display:`flex`,"flex-direction":`column`,width:`100%`}},WP={class:`door-add-block`},GP={class:`door-field`},KP={style:{display:`flex`,"align-items":`center`,width:`100%`}},qP={style:{display:`flex`,"align-items":`center`,width:`100%`}},JP={class:`slot-block`},YP=AN(P({__name:`PlaceBlock`,props:{newPlaceCode:{type:String},newPlaceName:{type:String},newPlaceText:{type:String},place:{type:Object},mode:{type:String,required:!0},addAction:{type:Function}},emits:[`update:newPlaceCode`,`update:newPlaceName`,`update:newPlaceText`,`update:mode`],setup(e,{emit:t}){let n=e,r=t,i=e=>{r(`update:newPlaceCode`,e)},a=e=>{r(`update:newPlaceName`,e)},o=e=>{r(`update:newPlaceText`,e)},s=e=>{r(`update:mode`,e)};function c(){return{name:void 0,image:void 0}}function l(){return{code:void 0,name:void 0,keys:void 0}}function u(){return{name:void 0}}return(t,r)=>(I(),L(F,null,[e.mode==`mini-add`?(I(),L(`div`,{key:0,class:`place-block-hover show-editor-block`,onClick:r[0]||=e=>s(`add`)},[...r[14]||=[R(`p`,{class:`place-image-plus`},`+`,-1)]])):Aa(``,!0),e.mode==`add`?(I(),L(`div`,gP,[z(A(CD),{vertical:``},{default:M(()=>[z(A(xw),null,{default:M(()=>[z(A(yw),{style:{width:`20%`},value:e.newPlaceCode,"onUpdate:value":i,type:`text`,placeholder:`Ы-1`},null,8,[`value`]),z(A(yw),{style:{width:`80%`},value:e.newPlaceName,"onUpdate:value":a,type:`text`,placeholder:`Дом №Ы`},null,8,[`value`])]),_:1}),z(A(yw),{value:e.newPlaceText,"onUpdate:value":o,type:`textarea`,autosize:{minRows:3},placeholder:`В начале было слово...`},null,8,[`value`]),Qr(t.$slots,`default`,{},void 0,!0)]),_:3})])):Aa(``,!0),e.mode==`show-editor`?(I(),L(`div`,{key:2,class:`place-block-hover show-editor-block`,onClick:r[1]||=e=>s(`edit`)},[R(`div`,_P,O(n.place?.code)+`: `+O(n.place?.name),1),r[15]||=R(`hr`,{class:`hr`},null,-1),R(`div`,vP,[n.place?.image?(I(),L(`div`,yP,[R(`div`,bP,[R(`img`,{src:n.place?.image,class:`message-image`},null,8,xP)])])):Aa(``,!0),B(` `+O(n.place?.text),1)]),(I(!0),L(F,null,Zr(n.place?.doors,e=>(I(),L(`div`,{key:e.code,class:`door-block`},[B(O(e.name)+` `,1),(I(!0),L(F,null,Zr(e.keys,e=>(I(),L(`span`,SP,[z(A(EN),{class:`lock-icon`},{default:M(()=>[z(A(UM))]),_:1}),B(` `+O(e.name),1)]))),256))]))),128)),n.place?.applications?.length?(I(),L(`hr`,CP)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.applications,e=>(I(),L(`div`,{class:`message-footer application-block`,key:e.name},` Приложение: `+O(e.name),1))),128)),R(`p`,wP,[n.place?.hidden?(I(),L(`span`,TP,` Скрытая точка `)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.keys,e=>(I(),L(`span`,EP,[z(A(EN),{class:`lock-icon`},{default:M(()=>[z(A(fP))]),_:1}),B(` `+O(e.name),1)]))),256))])])):Aa(``,!0),e.mode==`show`?(I(),L(`div`,DP,[z(hP,null,{default:M(()=>[R(`div`,OP,[B(O(e.place?.code)+`: `+O(e.place?.name)+` `,1),R(`span`,{class:`collapse-icon collapse-icon-up`,onClick:r[2]||=e=>s(`show-collapse`)})]),r[16]||=R(`hr`,{class:`show-hr`},null,-1),R(`div`,kP,[e.place?.image?.length?(I(),L(`div`,AP,[R(`div`,jP,[R(`img`,{src:e.place?.image,class:`message-image`},null,8,MP)])])):Aa(``,!0),B(` `+O(e.place?.text),1)]),n.place?.doors?.length?(I(),L(`hr`,NP)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.doors,t=>(I(),L(`div`,{key:t.code,class:`button-dialog font`,onClick:n=>e.addAction(t.code)},[R(`div`,FP,O(t.code)+` `+O(t.name),1)],8,PP))),128)),n.place?.applications?.length?(I(),L(`hr`,IP)):Aa(``,!0),(I(!0),L(F,null,Zr(n.place?.applications,e=>(I(),L(`div`,{class:`message-show-footer font`,key:e.name},` Приложение: `+O(e.name),1))),128))]),_:1})])):Aa(``,!0),e.mode==`show-collapse`?(I(),L(`div`,LP,[z(hP,null,{default:M(()=>[R(`div`,RP,[B(O(e.place?.code)+`: `+O(e.place?.name)+` `,1),R(`span`,{class:`collapse-icon`,onClick:r[3]||=e=>s(`show`)})])]),_:1})])):Aa(``,!0),e.mode==`edit`?(I(),L(`div`,zP,[z(A(CD),{vertical:``},{default:M(()=>[z(A(xw),null,{default:M(()=>[z(A(yw),{style:{width:`20%`},value:n.place.code,"onUpdate:value":r[4]||=e=>n.place.code=e,type:`text`,placeholder:`Ы-1`},null,8,[`value`]),z(A(yw),{style:{width:`80%`},value:n.place.name,"onUpdate:value":r[5]||=e=>n.place.name=e,type:`text`,placeholder:`Дом №Ы`},null,8,[`value`])]),_:1}),z(A(yw),{value:n.place.text,"onUpdate:value":r[6]||=e=>n.place.text=e,type:`textarea`,autosize:{minRows:3},placeholder:`В начале было слово...`},null,8,[`value`]),r[28]||=R(`p`,{class:`settings-header`},`Картинка`,-1),R(`div`,null,[z(A(CD),null,{default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[R(`img`,{src:n.place.image,class:`message-edit-image`},null,8,BP),z(A(nT),{onClick:r[7]||=e=>(n.place.image=``,n.place.fileList=null)},{default:M(()=>[...r[17]||=[B(`Убрать картинку`,-1)]]),_:1})]),_:1}),z(A(CD),{vertical:``},{default:M(()=>[z(A(yw),{value:n.place.image,"onUpdate:value":r[8]||=e=>n.place.image=e,type:`text`,placeholder:`Не задано`,disabled:``},null,8,[`value`]),z(A(kA),{"directory-dnd":``,max:1,"file-list":n.place.fileList,"onUpdate:fileList":r[9]||=e=>n.place.fileList=e},{default:M(()=>[z(A(eA),null,{default:M(()=>[z(A(Zk),{style:{"font-size":`16px`}},{default:M(()=>[...r[18]||=[B(` Щелкните или перетащите файл в эту область для загрузки `,-1)]]),_:1})]),_:1})]),_:1},8,[`file-list`])]),_:1})]),_:1})]),r[29]||=R(`p`,{class:`settings-header`},`Видимость точки`,-1),z(A(Rk),{value:n.place.hidden,"onUpdate:value":r[10]||=e=>n.place.hidden=e},{checked:M(()=>[...r[19]||=[B(` Скрытая точка `,-1)]]),unchecked:M(()=>[...r[20]||=[B(` Обычная точка `,-1)]]),_:1},8,[`value`]),r[30]||=B(` Улики `,-1),z(A(gD),{value:n.place.applications,"onUpdate:value":r[11]||=e=>n.place.applications=e,"on-create":c},{"create-button-default":M(()=>[...r[21]||=[B(` Добавить улику `,-1)]]),default:M(({value:e})=>[R(`div`,VP,[z(A(yw),{value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])])]),_:1},8,[`value`]),r[31]||=B(` Действия `,-1),z(A(gD),{value:n.place.doors,"onUpdate:value":r[12]||=e=>n.place.doors=e,"on-create":l},{"create-button-default":M(()=>[...r[22]||=[B(` Добавить действие `,-1)]]),action:M(({index:e,create:t,remove:n})=>[R(`div`,HP,[z(A(nT),{onClick:()=>t(e),class:`plus-minus-buttons`},{default:M(()=>[...r[23]||=[B(`+`,-1)]]),_:1},8,[`onClick`]),z(A(nT),{disabled:``,onClick:()=>n(e),class:`plus-minus-buttons`},{default:M(()=>[...r[24]||=[B(`-`,-1)]]),_:1},8,[`onClick`])])]),default:M(({value:e})=>[R(`div`,UP,[R(`div`,WP,[z(A(xw),null,{default:M(()=>[z(A(yw),{style:{width:`30%`},value:e.code,"onUpdate:value":t=>e.code=t,type:`text`,placeholder:`Код`},null,8,[`value`,`onUpdate:value`]),z(A(yw),{style:{width:`70%`},value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])]),_:2},1024),r[26]||=R(`p`,{class:`need-keys-text`},`Требуемые ключи`,-1),R(`div`,GP,[z(A(gD),{value:e.keys,"onUpdate:value":t=>e.keys=t,"on-create":u},{"create-button-default":M(()=>[...r[25]||=[B(` Добавить ключ `,-1)]]),default:M(({value:e})=>[R(`div`,KP,[z(A(yw),{value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])])]),_:1},8,[`value`,`onUpdate:value`])])])])]),_:1},8,[`value`]),r[32]||=B(` Получаемые ключи `,-1),z(A(gD),{value:n.place.keys,"onUpdate:value":r[13]||=e=>n.place.keys=e,"on-create":u},{"create-button-default":M(()=>[...r[27]||=[B(` Добавить ключ `,-1)]]),default:M(({value:e})=>[R(`div`,qP,[z(A(yw),{value:e.name,"onUpdate:value":t=>e.name=t,type:`text`,placeholder:`Название`},null,8,[`value`,`onUpdate:value`])])]),_:1},8,[`value`]),R(`div`,JP,[Qr(t.$slots,`default`,{},void 0,!0)])]),_:3})])):Aa(``,!0)],64))}}),[[`__scopeId`,`data-v-60b29dfb`]]),XP={class:`center-block-custom`},ZP={class:`width700`},QP={class:`places-container`},$P={class:`settings-block`},eF=AN(P({__name:`ScenariosEditorPage`,setup(e){let t=IM(),n=LM(),r=JA().params.id,i=k(!1),a=k(``),o=k(``),s=$E(),c=k([]),l=k({id:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0});async function u(e){let t=await n.GetFullScenario({id:e});if(t.error!=``){s.error(t.error);return}l.value=t.scenario,l.value.story?.places?.forEach(e=>{e.oldCode=e.code,e.mode=`show-editor`})}u(Number(r));async function d(e){let t=await n.DeleteScenario({id:e});if(t.error!=``){s.error(t.error);return}wI.push(`/scenarios`)}async function f(e){let t=await n.PublicScenario({id:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),a.value=``,i.value=!1}async function p(e,t){let r=new Date().toISOString(),i=await n.AddGame({name:(`Тестовая игра: `+e).trim(),description:`Тестовая игра`,startAt:r,scenarioId:t});if(i.error!=``){s.error(i.error);return}let a=await n.AddTeam({name:`Тестовая команда`,gameId:i.id});if(a.error!=``){s.error(a.error);return}wI.push(`/team-story/`+a.id+`?password=`+a.password)}async function m(e){let t=await n.DraftScenario({id:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),a.value=``,i.value=!1}async function h(e,t){if(!e)return``;let r=await e.arrayBuffer(),i=new Uint8Array(r),a=await n.UploadFile({filename:t,data:_(i)});return a.error==``?a.filename||``:(s.error(a.error),``)}async function g(){let e=``;if(c.value&&c.value.length>0){let t=c.value[0].file||null;if(t==null||(e=await h(t,`scenarios_`+l.value.id+`_`+t.name),e===``))return}let t=await n.UpdateScenario({id:l.value.id,name:l.value.name,description:l.value.description,image:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),i.value=!1}function _(e){let t=String.fromCharCode(...e);return btoa(t)}let v=k(``),y=k(``),b=k(``),x=k(`mini-add`);async function S(){let e=await n.AddScenarioPlace({id:l.value.id,place:{code:v.value,name:y.value,text:b.value,image:void 0,hidden:void 0,applications:void 0,doors:void 0,keys:void 0}});if(e.error!=``){s.error(e.error);return}await u(Number(r)),v.value=``,y.value=``,b.value=``,x.value=`add`}async function C(){v.value=``,y.value=``,b.value=``,x.value=`mini-add`}async function w(e,t){for(let r of t.doors||[])if(e.story?.places?.find(e=>e.code==r.code)==null){let t=await n.AddScenarioPlace({id:e.id,place:{code:r.code,name:r.name,text:void 0,image:void 0,hidden:!0,applications:void 0,doors:void 0,keys:void 0}});if(t.error!=``){s.error(t.error);return}}}async function T(e){await u(Number(r)),e.mode=`show-editor`}async function ee(e){if(e.fileList&&e.fileList.length>0){let t=e.fileList[0].file||null;if(t==null)return;let n=await h(t,`scenarios_`+l.value.id+`_place_`+e.code+`_`+t.name);if(n===``)return;e.image=n}await w(l.value,e);let t=await n.UpdateScenarioPlace({id:l.value.id,code:e.oldCode,place:e});if(t.error!=``){s.error(t.error);return}await u(Number(r)),e.mode=`show-editor`}async function E(e){let t=await n.DeleteScenarioPlace({id:l.value.id,code:e.oldCode});if(t.error!=``){s.error(t.error);return}await u(Number(r))}function D(){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(e,n)=>(I(),L(F,null,[R(`div`,XP,[R(`div`,ZP,[R(`div`,QP,[l.value.status==`public`?(I(),Sa(A(tw),{key:0,title:`Сценарий опубликован`,type:`warning`,style:{"margin-bottom":`20px`}},{default:M(()=>[...n[20]||=[B(` Не рекомендуется редактировать сценарий когда он опубликован. `,-1)]]),_:1})):Aa(``,!0),A(t).user?.id==2?(I(),Sa(A(tw),{key:1,title:D(),type:`info`,style:{"margin-bottom":`20px`}},null,8,[`title`])):Aa(``,!0),R(`div`,$P,[B(` Точек: `+O(l.value.story?.places?.length)+` `,1),z(A(nT),{quaternary:``,onClick:n[0]||=e=>i.value=!0,class:`settings-button`},{default:M(()=>[z(A(EN),{class:`settings-icon`},{default:M(()=>[z(A(uP))]),_:1}),n[21]||=B(` Настройки `,-1)]),_:1})]),z(YP,{mode:x.value,"onUpdate:mode":n[3]||=e=>x.value=e,newPlaceCode:v.value,"onUpdate:newPlaceCode":n[4]||=e=>v.value=e,newPlaceName:y.value,"onUpdate:newPlaceName":n[5]||=e=>y.value=e,newPlaceText:b.value,"onUpdate:newPlaceText":n[6]||=e=>b.value=e},{default:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:n[1]||=e=>C()},{default:M(()=>[...n[22]||=[B(`Отмена`,-1)]]),_:1}),z(A(nT),{onClick:n[2]||=e=>S(),disabled:!v.value},{default:M(()=>[...n[23]||=[B(`Добавить точку`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`mode`,`newPlaceCode`,`newPlaceName`,`newPlaceText`]),(I(!0),L(F,null,Zr(l.value.story?.places,e=>(I(),Sa(YP,{place:e,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.oldCode},{default:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t=>E(e),type:`error`,ghost:``},{default:M(()=>[...n[24]||=[B(`Удалить`,-1)]]),_:1},8,[`onClick`]),z(A(nT),{onClick:t=>T(e)},{default:M(()=>[...n[25]||=[B(`Отмена`,-1)]]),_:1},8,[`onClick`]),z(A(nT),{onClick:t=>ee(e),disabled:e.code==``},{default:M(()=>[...n[26]||=[B(`Сохранить`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)]),_:2},1032,[`place`,`mode`,`onUpdate:mode`]))),128))])])]),z(A(RE),{show:i.value,"onUpdate:show":n[19]||=e=>i.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Настройки сценария`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:n[7]||=e=>i.value=!1},{default:M(()=>[...n[27]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[...n[47]||=[]]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[n[39]||=R(`p`,null,`Название`,-1),z(A(yw),{value:l.value.name,"onUpdate:value":n[8]||=e=>l.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),n[40]||=R(`p`,{class:`settings-header`},`Описание`,-1),z(A(yw),{value:l.value.description,"onUpdate:value":n[9]||=e=>l.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`]),n[41]||=R(`p`,{class:`settings-header`},`Картинка`,-1),z(A(yw),{value:l.value.image,"onUpdate:value":n[10]||=e=>l.value.image=e,type:`text`,placeholder:`default_scenario.png`,disabled:``},null,8,[`value`]),z(A(kA),{"directory-dnd":``,max:1,"file-list":c.value,"onUpdate:fileList":n[11]||=e=>c.value=e},{default:M(()=>[z(A(eA),null,{default:M(()=>[z(A(Zk),{style:{"font-size":`16px`}},{default:M(()=>[...n[28]||=[B(` Щелкните или перетащите файл в эту область для загрузки `,-1)]]),_:1})]),_:1})]),_:1},8,[`file-list`]),z(A(nT),{onClick:n[12]||=e=>g(),ghost:``},{default:M(()=>[...n[29]||=[B(` Сохранить изменения `,-1)]]),_:1}),n[42]||=R(`hr`,{class:`settings-hr`},null,-1),n[43]||=R(`p`,null,`Создать тестовую игру`,-1),z(A(nT),{onClick:n[13]||=e=>p(l.value.name||``,l.value.id),ghost:``},{default:M(()=>[...n[30]||=[B(` Создать игру `,-1)]]),_:1}),n[44]||=R(`hr`,{class:`settings-hr`},null,-1),n[45]||=R(`p`,null,`Публикация`,-1),R(`p`,null,[l.value.status==`public`?(I(),Sa(A(RC),{key:0,bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[...n[31]||=[B(` Опубликовано `,-1)]]),_:1})):Aa(``,!0),l.value.status==`draft`?(I(),Sa(A(RC),{key:1,bordered:!1,type:`warning`,class:`status-block`},{default:M(()=>[...n[32]||=[B(` В разработке `,-1)]]),_:1})):Aa(``,!0)]),R(`p`,null,[n[33]||=B(` Введите название сценария `,-1),z(A(Zk),{class:`name-text`,strong:``},{default:M(()=>[B(O(l.value.name),1)]),_:1})]),z(A(yw),{value:a.value,"onUpdate:value":n[14]||=e=>a.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),l.value.status==`public`?Aa(``,!0):(I(),Sa(A(nT),{key:0,onClick:n[15]||=e=>f(l.value.id),ghost:``,disabled:a.value!=l.value.name},{default:M(()=>[...n[34]||=[B(` Опубликовать сценарий `,-1)]]),_:1},8,[`disabled`])),l.value.status==`draft`?Aa(``,!0):(I(),Sa(A(nT),{key:1,onClick:n[16]||=e=>m(l.value.id),ghost:``,disabled:a.value!=l.value.name},{default:M(()=>[...n[35]||=[B(` Снять сценарий с публикации `,-1)]]),_:1},8,[`disabled`])),n[46]||=R(`hr`,{class:`settings-hr`},null,-1),R(`p`,null,[n[36]||=B(` Введите название сценария `,-1),z(A(Zk),{class:`name-text`,strong:``},{default:M(()=>[B(O(l.value.name),1)]),_:1}),n[37]||=B(` чтобы удалить его `,-1)]),z(A(yw),{value:o.value,"onUpdate:value":n[17]||=e=>o.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),z(A(nT),{onClick:n[18]||=e=>d(l.value.id),type:`error`,ghost:``,disabled:o.value!=l.value.name},{default:M(()=>[...n[38]||=[B(` Удалить сценарий `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`show`]),z(jN,{active:`scenarios`})],64))}}),[[`__scopeId`,`data-v-e4c92d18`]]),tF=P({__name:`ScenariosEditorView`,setup(e){return(e,t)=>(I(),Sa(eF))}}),nF={class:`center-block-custom`},rF={class:`width1200 display-table`},iF=[`onClick`],aF={class:`scenario-content-block`},oF={class:`scenario-title`},sF={class:`scenario-label`},cF=AN(P({__name:`ScenariosPage`,setup(e){let t=LM(),n=k([]),r=qA(),i=$E(),a=k(!1),o=k(``);async function s(){n.value=[];let e=await t.GetMyScenarios({});n.value=e.scenarios}async function c(e){let n=await t.AddScenario({name:e});if(n.error!=``){i.error(n.error);return}await l(n.id)}async function l(e){r.push(`/scenarios/`+e+`/editor`)}return s(),(e,t)=>(I(),L(F,null,[R(`div`,nF,[R(`div`,rF,[R(`div`,{class:`scenario-block`,onClick:t[0]||=e=>a.value=!0},[...t[5]||=[R(`div`,{class:`scenario-image-block scenario-image-plus`},`+`,-1),R(`div`,{class:`scenario-content-block`},[R(`p`,{class:`scenario-title`},`Создать новый сценарий`)],-1)]]),(I(!0),L(F,null,Zr(n.value,e=>(I(),L(`div`,{class:`scenario-block`,onClick:t=>l(e.id),key:e.id},[R(`div`,{class:`scenario-image-block scenario-image`,style:fe({backgroundImage:`url(${e.image})`})},null,4),R(`div`,aF,[R(`p`,oF,O(e.name),1),R(`p`,sF,[e.status==`public`?(I(),Sa(A(RC),{key:0,bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[...t[6]||=[B(`Опубликовано`,-1)]]),_:1})):Aa(``,!0),e.status==`draft`?(I(),Sa(A(RC),{key:1,bordered:!1,type:`warning`,class:`status-block`},{default:M(()=>[...t[7]||=[B(`В разработке`,-1)]]),_:1})):Aa(``,!0)])])],8,iF))),128))])]),z(A(RE),{show:a.value,"onUpdate:show":t[4]||=e=>a.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Создание сценария`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[1]||=e=>a.value=!1},{default:M(()=>[...t[8]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[3]||=e=>c(o.value),disabled:o.value.length==0},{default:M(()=>[...t[9]||=[B(` Создать `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:M(()=>[z(A(yw),{value:o.value,"onUpdate:value":t[2]||=e=>o.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`])]),_:1})]),_:1},8,[`show`]),z(jN,{active:`scenarios`})],64))}}),[[`__scopeId`,`data-v-12737793`]]),lF=P({__name:`ScenariosView`,setup(e){return(e,t)=>(I(),Sa(cF))}}),uF={};function dF(e,t){return`Пользовательское соглашение`}var fF=AN(uF,[[`render`,dF]]),pF={class:`center-block-custom`},mF={class:`width700`},hF={class:`user-field`},gF={class:`user-field`},_F={class:`user-field`},vF=AN(P({__name:`UsersPage`,setup(e){let t=LM(),n=$E(),r=k([]);async function i(){let e=await t.GetUsers({});if(e.error!=``){n.error(e.error);return}r.value=e.users}i();async function a(e,r){let a=await t.AddUserRole({id:e,role:r});if(a.error!=``){n.error(a.error);return}await i()}async function o(e,r){let a=await t.DeleteUserRole({id:e,role:r});if(a.error!=``){n.error(a.error);return}await i()}return(e,t)=>(I(),L(F,null,[R(`div`,pF,[R(`div`,mF,[(I(!0),L(F,null,Zr(r.value,e=>(I(),L(`div`,{key:e.id,class:`user-block`},[R(`div`,hF,` Позывной: `+O(e.username),1),R(`div`,gF,` Почта: `+O(e.email),1),R(`div`,_F,[z(A(CD),null,{default:M(()=>[t[0]||=B(` Роли: `,-1),(I(!0),L(F,null,Zr(e.roles,e=>(I(),Sa(A(RC),{bordered:!1,key:e},{default:M(()=>[B(O(e),1)]),_:2},1024))),128))]),_:2},1024)]),z(A(AD),{justify:`end`,class:`roles-buttons-block`},{default:M(()=>[e.roles?.includes(`author`)?(I(),Sa(A(nT),{key:1,onClick:t=>o(e.id,`author`)},{default:M(()=>[...t[2]||=[B(`Забрать роль автора`,-1)]]),_:1},8,[`onClick`])):(I(),Sa(A(nT),{key:0,onClick:t=>a(e.id,`author`)},{default:M(()=>[...t[1]||=[B(`Сделать автором`,-1)]]),_:1},8,[`onClick`])),e.roles?.includes(`organizer`)?(I(),Sa(A(nT),{key:3,onClick:t=>o(e.id,`organizer`)},{default:M(()=>[...t[4]||=[B(`Забрать роль организатора`,-1)]]),_:1},8,[`onClick`])):(I(),Sa(A(nT),{key:2,onClick:t=>a(e.id,`organizer`)},{default:M(()=>[...t[3]||=[B(`Сделать организатором`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]))),128))])]),z(jN,{active:`users`})],64))}}),[[`__scopeId`,`data-v-b07aea1d`]]),yF=P({__name:`UsersView`,setup(e){return(e,t)=>(I(),Sa(vF))}}),bF={class:`center-block-custom`},xF={class:`width1200 display-table`},SF=[`onClick`],CF={class:`scenario-content-block`},wF={class:`scenario-title`},TF={class:`scenario-description`},EF={class:`scenario-label`},DF=AN(P({__name:`CatalogPage`,setup(e){let t=LM(),n=k([]),r=qA();async function i(){n.value=[];let e=await t.GetScenariosCatalog({});n.value=e.scenarios}async function a(e){r.push(`/scenarios/`+e)}return i(),(e,t)=>(I(),L(F,null,[R(`div`,bF,[R(`div`,xF,[(I(!0),L(F,null,Zr(n.value,e=>(I(),L(`div`,{class:`scenario-block`,onClick:t=>a(e.id),key:e.id},[R(`div`,{class:`scenario-image-block scenario-image`,style:fe({backgroundImage:`url(${e.image})`})},null,4),R(`div`,CF,[R(`p`,wF,O(e.name),1),R(`p`,TF,O(e.description),1),R(`p`,EF,[z(A(RC),{bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[B(`Автор: `+O(e.author?.username),1)]),_:2},1024)])])],8,SF))),128))])]),z(jN,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-40f12db0`]]),OF=P({__name:`CatalogView`,setup(e){return(e,t)=>(I(),Sa(DF))}}),kF={class:`center-block-custom`},AF={class:`width700`},jF={class:`scenario-title`},MF=[`src`],NF={class:`scenario-description`},PF={class:`scenario-author`},FF=AN(P({__name:`ScenarioPage`,setup(e){let t=$E(),n=LM(),r=JA().params.id,i=k({id:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0});async function a(e){let r=await n.GetScenario({id:e});if(r.error!=``){t.error(r.error);return}i.value=r.scenario}return a(Number(r)),(e,t)=>(I(),L(F,null,[R(`div`,kF,[R(`div`,AF,[R(`div`,jF,O(i.value.name),1),R(`img`,{class:`scenario-image`,src:i.value.image},null,8,MF),R(`div`,NF,O(i.value.description),1),R(`div`,PF,[z(A(RC),{bordered:!1,type:`success`,class:`status-block`},{default:M(()=>[B(`Автор: `+O(i.value.author?.username),1)]),_:1})])])]),z(jN,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-aa5857fa`]]),IF=P({__name:`ScenarioView`,setup(e){return(e,t)=>(I(),Sa(FF))}});function LF(e,t=5e3){let n=k(!0),r=null,i=()=>{n.value=!0,e(),r=window.setInterval(e,t)},a=()=>{n.value=!1,r&&=(clearInterval(r),null)};return Vr(i),Gr(a),{isActive:n,start:i,stop:a}}var RF={class:`center-block-custom`},zF={class:`width1200`},BF={class:`settings-block`},VF={class:`team-block`},HF={class:`team-content-block`},UF={class:`title-block`},WF={class:`team-name-block`},GF={class:`qr-block`},KF=AN(P({__name:`GamePage`,setup(e){let t=LM(),n=qA(),r=JA().params.id,i=$E(),a=k(!1),o=k(!1),s=k(!1),c=k(!1),l=k(``),u=k(!1),d=k(``),f=k({id:void 0,name:void 0,description:void 0,startAt:void 0,status:void 0,scenario:void 0,teams:void 0});async function p(e){let n=await t.GetGame({id:e});if(n.error!=``){i.error(n.error);return}f.value=n.game,f.value.teams=f.value.teams?.sort((e,t)=>{let n=0;(e.applications?.length||0)>0&&(n=1);let r=0;if((t.applications?.length||0)>0&&(r=1),n>r)return-1;if(na?1:i{p(Number(r))},2e3),(e,t)=>(I(),L(F,null,[R(`div`,RF,[R(`div`,zF,[R(`div`,BF,[B(` Команд: `+O(f.value.teams?.length)+` `,1),z(A(nT),{quaternary:``,onClick:t[0]||=e=>a.value=!0,class:`settings-button`},{default:M(()=>[z(A(EN),{class:`settings-icon`},{default:M(()=>[z(A(uP))]),_:1}),t[20]||=B(` Настройки `,-1)]),_:1})]),R(`div`,{class:`team-block team-block-hover`,onClick:t[1]||=e=>s.value=!0},[...t[21]||=[R(`p`,{class:`place-image-plus`},`+`,-1)]]),(I(!0),L(F,null,Zr(f.value.teams,e=>(I(),L(`div`,VF,[R(`div`,HF,[R(`div`,UF,[R(`span`,WF,O(e.name),1),R(`div`,null,` Поездки: `+O(e.actionsCount),1)]),z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t=>ee(T(e.id,e.password))},{default:M(()=>[...t[22]||=[B(` QR `,-1)]]),_:1},8,[`onClick`]),z(A(nT),{onClick:t=>m(e.id,e.password)},{default:M(()=>[...t[23]||=[B(` Подсмотреть игру `,-1)]]),_:1},8,[`onClick`]),z(A(nT),{type:`error`,ghost:``,onClick:t=>C(e)},{default:M(()=>[...t[24]||=[B(` Удалить `,-1)]]),_:1},8,[`onClick`])]),_:2},1024),(I(!0),L(F,null,Zr(e.applications,t=>(I(),Sa(A(nT),{key:t.name,class:`link-button`,onClick:n=>b(e,t)},{default:M(()=>[B(` Выдать: `+O(t.name),1)]),_:2},1032,[`onClick`]))),128))])]))),256))])]),z(A(RE),{show:a.value,"onUpdate:show":t[6]||=e=>a.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Настройки игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[2]||=e=>a.value=!1},{default:M(()=>[...t[25]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[5]||=e=>h(),ghost:``},{default:M(()=>[...t[28]||=[B(` Сохранить изменения `,-1)]]),_:1})]),_:1})]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[t[26]||=R(`p`,null,`Название`,-1),z(A(yw),{value:f.value.name,"onUpdate:value":t[3]||=e=>f.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),t[27]||=R(`p`,{class:`settings-header`},`Описание`,-1),z(A(yw),{value:f.value.description,"onUpdate:value":t[4]||=e=>f.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:o.value,"onUpdate:show":t[9]||=e=>o.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Настройки игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[7]||=e=>o.value=!1},{default:M(()=>[...t[29]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[8]||=e=>S(),ghost:``},{default:M(()=>[...t[32]||=[B(` Выдать `,-1)]]),_:1})]),_:1})]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[t[30]||=R(`p`,null,`Команда`,-1),R(`h3`,null,O(g.value.name),1),t[31]||=R(`p`,null,`Улика`,-1),R(`h3`,null,O(y.value.name),1)]),_:1})]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:s.value,"onUpdate:show":t[13]||=e=>s.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Создание команды`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[10]||=e=>s.value=!1},{default:M(()=>[...t[33]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[12]||=e=>x(),disabled:l.value.length==0},{default:M(()=>[...t[34]||=[B(` Создать `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:M(()=>[z(A(yw),{value:l.value,"onUpdate:value":t[11]||=e=>l.value=e,type:`text`,placeholder:`Три дебила`},null,8,[`value`])]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:c.value,"onUpdate:show":t[17]||=e=>c.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Удаление команды`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[14]||=e=>c.value=!1},{default:M(()=>[...t[35]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:t[16]||=e=>w(),disabled:_.value!=v.value.name},{default:M(()=>[...t[38]||=[B(` Удалить `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[R(`p`,null,[t[36]||=B(` Введите название команды `,-1),z(A(Zk),{class:`name-text`,strong:``},{default:M(()=>[B(O(v.value.name),1)]),_:1}),t[37]||=B(` чтобы удалить его `,-1)]),z(A(yw),{value:_.value,"onUpdate:value":t[15]||=e=>_.value=e,type:`text`,placeholder:`Три дебила`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),z(A(RE),{show:u.value,"onUpdate:show":t[19]||=e=>u.value=e},{default:M(()=>[z(A(bT),{style:{width:`600px`},title:`Подсмотреть игру`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":M(()=>[z(A(nT),{onClick:t[18]||=e=>u.value=!1},{default:M(()=>[...t[39]||=[B(` x `,-1)]]),_:1})]),footer:M(()=>[...t[40]||=[]]),default:M(()=>[z(A(CD),{vertical:``},{default:M(()=>[R(`div`,GF,[z(A(Mk),{value:d.value,size:300,padding:0},null,8,[`value`])])]),_:1})]),_:1})]),_:1},8,[`show`]),z(jN,{active:`games`})],64))}}),[[`__scopeId`,`data-v-7f5b5e01`]]),qF=P({__name:`GameView`,setup(e){return(e,t)=>(I(),Sa(KF))}}),JF={},YF={class:`belt-block`};function XF(e,t){return I(),L(`div`,null,[t[0]||=R(`div`,{class:`shadow shadow-top`},null,-1),t[1]||=R(`div`,{class:`shadow shadow-bottom`},null,-1),R(`div`,YF,[Qr(e.$slots,`default`,{},void 0,!0)])])}var ZF=AN(JF,[[`render`,XF],[`__scopeId`,`data-v-0effe39e`]]),QF={},$F={class:`plate-block`},eI={class:`metal-plate-block`};function tI(e,t){return I(),L(`div`,$F,[R(`div`,eI,[Qr(e.$slots,`default`,{},void 0,!0)]),t[0]||=R(`div`,{class:`pin pin-top-left`},null,-1),t[1]||=R(`div`,{class:`pin pin-top-right`},null,-1),t[2]||=R(`div`,{class:`pin pin-bottom-right`},null,-1),t[3]||=R(`div`,{class:`pin pin-bottom-left`},null,-1)])}var nI=AN(QF,[[`render`,tI],[`__scopeId`,`data-v-34e952c0`]]),rI={class:`text-with-font`},iI=AN(P({__name:`HeaderText`,setup(e){return(e,t)=>(I(),L(`span`,rI,[Qr(e.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-e13ee3bd`]]),aI={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 512 512`},oI=P({name:`Footsteps`,render:function(e,t){return I(),L(`svg`,aI,t[0]||=[R(`path`,{d:`M133.83 361.27c-22.61 0-41-8.17-54.79-24.39s-22.84-40.29-28.11-75.31c-7.76-51.61-.06-95.11 21.68-122.48c12.8-16.12 29.6-25.44 48.58-26.94c16.25-1.3 40.54 5.29 64 44c14.69 24.24 25.86 56.44 30.65 88.34c5.79 38.51 1.48 66.86-13.18 86.65c-11.64 15.72-29.54 25.46-53.21 29a106.46 106.46 0 0 1-15.62 1.13z`,fill:`currentColor`},null,-1),R(`path`,{d:`M173 496c-13.21 0-26.6-4.23-38.66-12.36a79.79 79.79 0 0 1-33.52-50.6c-2.85-14.66-1.14-26.31 5.22-35.64c10.33-15.15 28.87-18.56 48.49-22.18c2.07-.38 4.17-.76 6.3-1.17c4.52-.86 9.14-2 13.62-3.11c16.78-4.14 34.14-8.43 48.47 1.75c9.59 6.8 15 18.36 16.62 35.32c1.84 19.57-2.36 39.1-11.83 55c-10.19 17.11-25.47 28.42-43 31.86A61 61 0 0 1 173 496z`,fill:`currentColor`},null,-1),R(`path`,{d:`M378.17 265.27a106.69 106.69 0 0 1-15.6-1.2c-23.66-3.5-41.56-13.25-53.2-29c-14.66-19.79-19-48.13-13.18-86.65c4.79-31.93 15.93-64.1 30.55-88.25c23.34-38.57 47.66-45.26 64-44.08c18.92 1.38 35.69 10.57 48.51 26.6c21.89 27.37 29.65 71 21.86 122.84c-5.27 35-14.2 58.95-28.11 75.31s-32.22 24.43-54.83 24.43z`,fill:`currentColor`},null,-1),R(`path`,{d:`M339 400a61 61 0 0 1-11.68-1.13c-17.56-3.44-32.84-14.75-43-31.86c-9.47-15.9-13.67-35.43-11.83-55c1.6-17 7-28.52 16.62-35.33c14.33-10.17 31.69-5.89 48.47-1.74c4.48 1.1 9.1 2.24 13.62 3.11l6.29 1.17c19.63 3.61 38.17 7 48.5 22.17c6.36 9.33 8.07 21 5.22 35.64a79.78 79.78 0 0 1-33.52 50.61C365.56 395.78 352.17 400 339 400z`,fill:`currentColor`},null,-1)])}}),sI={class:`form-custom`},cI={class:`center-block-700`},lI={class:`controller`},uI={class:`counters-block`},dI={class:`counter-block`},fI={class:`places-text`},pI={class:`places-text places-text-number`},mI={class:`counter-block`},hI={class:`places-text`},gI={class:`places-text places-text-number`},_I={class:`game-input`},vI=[`disabled`],yI=AN(P({__name:`GameInputForm`,props:{addAction:{type:Function,required:!0},allPlacesCount:{type:Number,required:!0},newPlacesCount:{type:Number,required:!0}},setup(e){let t=k(``),n=e;async function r(){await n.addAction(t.value),t.value=``}function i(e){e%=100;let t=Math.floor(e/10)%10,n=e%10,r=`–`,i=`–`;return t>0&&(r=String(t)),(n>0||t>0)&&(i=String(n)),[r,i]}return(n,a)=>(I(),L(`div`,sI,[z(ZF,{class:`input-form`},{default:M(()=>[z(nI,{class:`controller-metal controller-metal-left`}),z(nI,{class:`controller-metal controller-metal-right`}),R(`div`,cI,[R(`div`,lI,[R(`div`,uI,[R(`div`,dI,[R(`div`,fI,[z(A(EN),{class:`icon-for-counter`},{default:M(()=>[z(A(oI))]),_:1})]),(I(!0),L(F,null,Zr(i(e.allPlacesCount),e=>(I(),L(`div`,pI,O(e),1))),256))]),R(`div`,mI,[R(`div`,hI,[z(A(EN),{class:`icon-for-counter`},{default:M(()=>[z(A(VM))]),_:1})]),(I(!0),L(F,null,Zr(i(e.newPlacesCount),e=>(I(),L(`div`,gI,O(e),1))),256))])]),R(`div`,_I,[Vn(R(`input`,{id:`run`,class:`game-input-run`,"onUpdate:modelValue":a[0]||=e=>t.value=e,type:`text`,placeholder:`Место назначения`},null,512),[[Es,t.value]])]),a[2]||=R(`div`,{class:`game-button-run-shadow`},null,-1),R(`button`,{class:`game-button-run`,type:`submit`,disabled:t.value.length==0,onClick:r},[z(iI,null,{default:M(()=>[...a[1]||=[B(`Поехали`,-1)]]),_:1})],8,vI)])])]),_:1})]))}}),[[`__scopeId`,`data-v-6e0e0fb9`]]),bI={class:`width700`},xI={key:0,class:`edit-panel`},SI=AN(P({__name:`TeamStoryPage`,setup(e){let t=IM(),n=LM(),r=$E(),i=JA(),a=i.params.id,o=i.query.password,s=k(0),c=k(),l=k({places:[]}),u=k({id:void 0,name:void 0,description:void 0,startAt:void 0,status:void 0,scenario:void 0,teams:void 0}),d=k(``),f=()=>{let e=c.value;return e?e.scrollHeight-e.scrollTop-e.clientHeight<1:!1};async function p(){let e=l.value,t=await n.GetTeamStory({id:Number(a),password:o});if(t.error!=``){r.error(t.error);return}u.value=t.game;let i=f();i&&(s.value=0);let d=l.value.places.length;l.value={places:t.story.places?.map((t,n)=>(console.log(e?.places[n]?.mode),{place:t,mode:e?.places[n]?.mode||`show`}))||[]};let p=l.value.places.length;if(p>d&&d!=0&&(s.value+=p-d),await kn(),i&&d!=0){let e=c.value;if(!e)return!1;e.scrollTop=e.scrollHeight}}p();async function m(e){let t=await n.AddTeamAction({id:Number(a),password:o,code:e});if(t.error!=``){r.error(t.error);return}await p(),d.value=``,await kn(),s.value=0}async function h(){let e=await n.DeleteLastTeamAction({id:Number(a)});if(e.error!=``){r.error(e.error);return}await p(),d.value=``}return LF(()=>{p()},2e3),(e,n)=>(I(),L(F,null,[R(`div`,{class:`center-block-custom bottom-margin smooth-scroll`,ref_key:`scrollContainer`,ref:c},[R(`div`,bI,[z(yI,{addAction:m,allPlacesCount:l.value.places.length,newPlacesCount:s.value},null,8,[`allPlacesCount`,`newPlacesCount`]),(I(!0),L(F,null,Zr(l.value.places,e=>(I(),Sa(YP,{place:e.place,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.place.code,addAction:m},null,8,[`place`,`mode`,`onUpdate:mode`]))),128)),A(t).hasRole(`author`)?(I(),L(`div`,xI,[z(A(AD),{justify:`end`},{default:M(()=>[z(A(nT),{onClick:h},{default:M(()=>[...n[0]||=[B(`Удалить последний ход`,-1)]]),_:1})]),_:1})])):Aa(``,!0)])],512),z(jN,{active:`games`})],64))}}),[[`__scopeId`,`data-v-c92c3497`]]),CI=P({__name:`TeamStoryView`,setup(e){return(e,t)=>(I(),Sa(SI))}}),wI=AM({history:Qj(`/`),routes:[{path:`/`,name:`home`,component:zN},{path:`/login`,name:`login`,component:tP},{path:`/office`,name:`office`,component:aP},{path:`/user-agreement`,name:`user-agreement`,component:fF},{path:`/privacy-policy`,name:`privacy-policy`,component:cP},{path:`/games`,name:`games`,component:RN},{path:`/games/:id`,name:`game`,component:qF},{path:`/team-story/:id`,name:`team-story`,component:CI},{path:`/scenarios`,name:`scenarios`,component:lF},{path:`/catalog`,name:`catalog`,component:OF},{path:`/scenarios/:id/editor`,name:`scenario-editor`,component:tF},{path:`/scenarios/:id`,name:`scenario`,component:IF},{path:`/users`,name:`users`,component:yF}]}),TI=As(jM);TI.use(Zs()),TI.use(wI),TI.mount(`#app`); \ No newline at end of file diff --git a/dist/assets/index-sUhe8JqG.css b/dist/assets/index-x53yzfRc.css similarity index 95% rename from dist/assets/index-sUhe8JqG.css rename to dist/assets/index-x53yzfRc.css index a8bbbde..58a9314 100644 --- a/dist/assets/index-sUhe8JqG.css +++ b/dist/assets/index-x53yzfRc.css @@ -1 +1 @@ -:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--main-color:#22323c;--second-color:#614a16;--main-back-color:#f0f0f0;--main-back-item-color:#fefefe;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:#eee;background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;background-color:#111;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s;overflow:hidden}@font-face{font-family:font_old_typer;src:url(/assets/a_OldTyper-BsgRTrmO.ttf)}.height80{height:80vh}.content-block{margin-top:70px}.center-block-custom{scrollbar-width:none;height:calc(100vh - 150px);margin-top:70px;overflow-y:auto}.center-block-custom::-webkit-scrollbar{display:none}.width700,.width1200{margin:0 auto;padding:10px}.display-table{flex-flow:wrap;justify-content:center;display:flex}@media (width>=1024px){.center-block-custom{height:calc(100dvh - 70px);margin:70px auto 0}.width700{width:700px;margin:0 auto;padding:20px}.width1200{width:1200px;margin:0 auto;padding:20px}.center-middle-block-custom{place-items:center;display:grid}}.menu-block[data-v-5e423637]{background-color:#222;justify-content:space-between;align-items:center;width:100%;height:70px;padding:20px;display:flex;position:fixed;top:0;left:0}.menu-item-block[data-v-5e423637]{cursor:pointer;margin-left:10px;padding:5px;font-size:1.1em;display:inline-block}.menu-item-block[data-v-5e423637]:hover{color:#63e2b7;opacity:.8}.right[data-v-5e423637]{margin-left:auto}.active[data-v-5e423637]{color:#63e2b7}@media (width>=1024px){.burger-button[data-v-5e423637]{display:none}}@media (width<1024px){.menu-buttons-block[data-v-5e423637]{background-color:#222;flex-direction:column;width:100%;padding-bottom:5px;display:flex;position:fixed;top:70px;left:0}.menu-buttons-block div[data-v-5e423637]{padding:15px 5px}.menu-buttons-block-active[data-v-5e423637]{position:relative;top:-1000px}.burger-icon[data-v-5e423637]{position:relative;top:5px}}.game-block[data-v-c7afa62c]{border:1px solid #444;border-radius:10px;margin:10px 0;padding:20px}.game-block[data-v-c7afa62c]:hover{cursor:pointer;color:#63e2b7}.game-title[data-v-c7afa62c]{margin-bottom:10px;font-size:24px}.game-description[data-v-c7afa62c]{color:#aaa;margin-bottom:10px}.font-text{font-family:font_old_typer}.content-text{float:right;position:relative;top:100px;right:0}@media (width>=1024px){.font-text{position:relative;left:-50px}.content-text{position:relative;top:100px;right:-50px}}.sign-card[data-v-c1fd645b]{background-color:#1d1d1d}.form-label[data-v-c1fd645b]{margin-top:10px}.form-button-wrapper[data-v-c1fd645b]{justify-content:center;display:flex}.docs-link[data-v-c1fd645b]{color:#45aa89}.docs-link[data-v-c1fd645b]:hover{color:#63e2b7}@media (width>=1024px){.sign-card[data-v-c1fd645b]{width:380px}}.main[data-v-dfe3093b]{position:relative}.message-cloud[data-v-dfe3093b],.message-cloud-2[data-v-dfe3093b],.message-cloud-3[data-v-dfe3093b]{background-color:bisque}.message-cloud[data-v-dfe3093b]{color:#000;margin:15px 0;padding:16px;font-family:main;font-size:18px;font-weight:900;line-height:20px;position:relative}.message-cloud[data-v-dfe3093b],.message-cloud-2[data-v-dfe3093b],.message-cloud-3[data-v-dfe3093b]{background-image:url(/assets/paper-CuqvoKhN.jpg);background-size:cover;border-radius:5px;display:flow-root;box-shadow:0 0 5px #000}.message-cloud-2[data-v-dfe3093b],.message-cloud-3[data-v-dfe3093b]{position:absolute;top:0;left:0}.message-cloud-2[data-v-dfe3093b]{filter:brightness(50%);width:100%;height:100%;transform:rotate(-3deg)}.message-cloud-3[data-v-dfe3093b]{filter:brightness(80%);width:100%;height:100%;transform:rotate(2deg)}.hr[data-v-60b29dfb]{border:1px dashed #eee;margin:10px 0}.place-block-hover[data-v-60b29dfb],.place-block[data-v-60b29dfb]{border:1px solid #444;border-radius:10px;margin:10px 0;padding:20px}.place-block-hover[data-v-60b29dfb]:hover{color:#63e2b7;cursor:pointer;border:1px solid #63e2b7}.place-image-plus[data-v-60b29dfb]{justify-content:center;align-items:center;font-size:30px;display:flex}.show-editor-block[data-v-60b29dfb]{cursor:pointer}.message-content[data-v-60b29dfb]{white-space:pre-wrap;font-weight:500}.gray-block[data-v-60b29dfb]{color:#777;margin-top:5px}.application-block[data-v-60b29dfb]{color:#deb887;margin-right:5px}.door-block[data-v-60b29dfb]{color:#eee;background-color:#222;border-radius:5px;margin:10px 5px 10px 0;padding:5px 10px;display:inline-block}.door-add-block[data-v-60b29dfb]{color:#eee;background-color:#222;border-radius:5px;padding:10px}.key-block[data-v-60b29dfb]{color:gold;margin-left:10px}.lock-icon[data-v-60b29dfb]{position:relative;top:2px}.door-field[data-v-60b29dfb]{margin-top:10px}.need-keys-text[data-v-60b29dfb]{color:gold;margin:15px 0 0;padding:0}.slot-block[data-v-60b29dfb]{margin-top:10px}.plus-minus-buttons[data-v-60b29dfb]{text-align:center;color:#eee;border:1px solid #444;border-radius:40px;margin:0 0 10px 5px;padding:0 13px;font-size:25px}.plus-minus-buttons[data-v-60b29dfb]:hover{cursor:pointer;color:#63e2b7}.message-image-border[data-v-60b29dfb]{float:left;background-image:url(/assets/paper_white-ZSlTzOTx.jpg);background-size:cover;width:40%;max-width:200px;margin-right:15px;padding:7px;transform:rotate(-3deg);box-shadow:0 3px 15px #626262}.message-image[data-v-60b29dfb]{width:100%}.message-edit-image[data-v-60b29dfb]{width:135px;height:135px}.message-header[data-v-60b29dfb]{padding-right:50px;font-size:20px}.message-footer[data-v-60b29dfb]{color:#deb887;padding-right:50px;font-weight:400;position:relative}.message-show-header[data-v-60b29dfb]{padding-right:50px;font-size:20px}.collapse-icon[data-v-60b29dfb]{cursor:pointer;background-image:url(/assets/collapse-B6YzUtGl.png);background-position:50%;background-size:cover;width:45px;height:28px;position:absolute;top:12px;right:12px}.collapse-icon-up[data-v-60b29dfb]{transform:rotate(-180deg)}.show-hr[data-v-60b29dfb]{border:1px dashed #000;margin:10px 0}.font[data-v-60b29dfb]{font-family:font_old_typer;font-size:18px}.message-show-content[data-v-60b29dfb]{white-space:pre-wrap;font-weight:500}.message-show-footer[data-v-60b29dfb]{color:var(--second-color);padding-right:50px;font-weight:400;position:relative}.button-dialog[data-v-60b29dfb]{color:#bfa07d;cursor:pointer;background-image:url(/assets/belt-DVqk2_uL.png);background-size:cover;border-radius:5px;margin-top:10px;margin-right:10px;font-size:16px;font-weight:600;display:inline-block}.button-dialog-text[data-v-60b29dfb]{padding:5px 12px}.settings-block[data-v-e4c92d18]{height:40px}.settings-button[data-v-e4c92d18]{float:right}.settings-icon[data-v-e4c92d18]{width:20px}.name-text[data-v-e4c92d18]{background-color:#ffffff1a;border-radius:3px;padding:3px}.settings-header[data-v-e4c92d18]{margin-top:20px}.settings-hr[data-v-e4c92d18]{margin:20px 0}.places-container[data-v-e4c92d18]{flex-flow:column;display:flex}.scenario-block[data-v-12737793]{cursor:pointer;background-color:#333;border:2px solid #333;border-radius:12px;width:160px;height:300px;margin:10px;position:relative}.scenario-content-block[data-v-12737793]{padding:2px 10px}.scenario-block[data-v-12737793]:hover{color:#63e2b7;border:2px solid #63e2b7}.scenario-image-block[data-v-12737793]{background-color:#111;border-radius:10px;height:160px}.scenario-image-plus[data-v-12737793]{background-color:#111;justify-content:center;align-items:center;font-size:120px;display:flex}.scenario-image[data-v-12737793]{background-position:50%;background-size:cover}.scenario-title[data-v-12737793]{padding:5px 0}.status-block[data-v-12737793]{position:absolute;bottom:15px;right:15px}@media (width>=1024px){.scenario-block[data-v-12737793]{width:250px;height:400px}.scenario-image-block[data-v-12737793]{height:250px}.scenario-content-block[data-v-12737793]{padding:4px 10px}}.user-block[data-v-b07aea1d]{border:1px solid #444;border-radius:10px;margin:0 0 20px;padding:20px}.user-field[data-v-b07aea1d]{margin:10px}.roles-buttons-block[data-v-b07aea1d]{margin-top:20px}.scenario-block[data-v-40f12db0]{cursor:pointer;background-color:#333;border:2px solid #333;border-radius:12px;width:160px;height:300px;margin:10px;position:relative}.scenario-content-block[data-v-40f12db0]{padding:2px 10px}.scenario-block[data-v-40f12db0]:hover{color:#63e2b7;border:2px solid #63e2b7}.scenario-image-block[data-v-40f12db0]{background-color:#111;border-radius:10px;height:160px}.scenario-image[data-v-40f12db0]{background-position:50%;background-size:cover}.scenario-title[data-v-40f12db0]{padding:5px 0}.scenario-description[data-v-40f12db0]{color:#aaa;display:none}.status-block[data-v-40f12db0]{position:absolute;bottom:15px;right:15px}@media (width>=1024px){.scenario-block[data-v-40f12db0]{width:250px;height:400px}.scenario-image-block[data-v-40f12db0]{height:250px}.scenario-content-block[data-v-40f12db0]{padding:4px 10px}.scenario-description[data-v-40f12db0]{color:#aaa;display:block}}.scenario-title[data-v-aa5857fa]{margin-bottom:10px;font-size:24px}.scenario-image[data-v-aa5857fa]{width:100%;max-width:400px;margin-bottom:10px}.scenario-description[data-v-aa5857fa]{color:#aaa;margin-bottom:10px}.team-block[data-v-f1807272]{border:1px solid #444;border-radius:10px;margin:10px 0}.team-block-hover[data-v-f1807272]:hover{color:#63e2b7;cursor:pointer;border:1px solid #63e2b7}.team-content-block[data-v-f1807272]{padding:20px}.team-name-block[data-v-f1807272]{font-size:20px;font-weight:600}.settings-block[data-v-f1807272]{height:40px}.settings-button[data-v-f1807272]{float:right}.settings-icon[data-v-f1807272]{width:20px}.title-block[data-v-f1807272]{margin-bottom:20px}.link-button[data-v-f1807272]{width:100%;margin-top:20px}.place-image-plus[data-v-f1807272]{justify-content:center;align-items:center;font-size:30px;display:flex}.name-text[data-v-f1807272]{background-color:#ffffff1a;border-radius:3px;padding:3px}.qr-block[data-v-f1807272]{background-color:#fff;padding:12px;display:inline-block}.belt-block[data-v-0effe39e]{background-color:#000;background-image:url(/assets/belt-DVqk2_uL.png);background-size:cover;height:100%;position:relative}.shadow[data-v-0effe39e]{background-color:#000;width:100%;height:10px;position:absolute}.shadow-top[data-v-0effe39e]{top:0;box-shadow:0 -5px 10px #000}.shadow-bottom[data-v-0effe39e]{bottom:0;box-shadow:0 5px 10px #000}.plate-block[data-v-34e952c0]{position:relative;box-shadow:0 0 10px #000}.metal-plate-block[data-v-34e952c0]{background-image:url(/assets/metal-BiL2PH1r.png);background-size:cover;border-radius:4px;height:100%;position:relative}.pin[data-v-34e952c0]{background-image:url(/assets/pin-CJfldk-j.png);background-size:cover;width:7px;height:7px;position:absolute}.pin-top-left[data-v-34e952c0]{top:3px;left:3px}.pin-top-right[data-v-34e952c0]{top:3px;right:3px}.pin-bottom-right[data-v-34e952c0]{bottom:3px;right:3px}.pin-bottom-left[data-v-34e952c0]{bottom:3px;left:3px}.text-with-font[data-v-e13ee3bd]{color:#bfa07d;letter-spacing:2px;font-family:font_old_typer;font-size:22px;font-weight:600;line-height:20px}.form-custom[data-v-6e0e0fb9]{color:#fff;z-index:1000;width:100%;position:fixed;bottom:0;left:0}.input-form[data-v-6e0e0fb9]{z-index:1000;max-width:1920px;height:76px;margin:0 auto;position:relative}.controller-metal[data-v-6e0e0fb9]{width:30px;height:calc(100% + 2px);position:absolute;top:-1px}.controller-metal-left[data-v-6e0e0fb9]{left:-30px}.controller-metal-right[data-v-6e0e0fb9]{right:-30px}.controller[data-v-6e0e0fb9]{display:flex;position:relative}.game-input[data-v-6e0e0fb9]{width:calc(100% - 175px);height:50px;position:relative;top:14px;left:15px}.game-input-run[data-v-6e0e0fb9]{background-color:#0000;background-image:url(/assets/input_center-DZZtEHaZ.png);background-size:cover;border:0;width:100%;height:100%;padding-left:27px;font-family:font_old_typer;font-size:18px}.game-input-run[data-v-6e0e0fb9]::placeholder{color:#333}.game-input-run[data-v-6e0e0fb9]:focus{border:0;outline:none}.game-button-run-shadow[data-v-6e0e0fb9]{width:150px;height:80px;position:absolute;top:-5px;right:10px;box-shadow:-5px 5px 10px #000}.game-button-run[data-v-6e0e0fb9]{cursor:pointer;background-color:#0000;background-image:url(/assets/button-DdziMEJE.png);background-size:cover;border:0;width:155px;height:80px;margin:0;padding:0;font-size:1.5em;position:absolute;top:-5px;right:10px}.new-places-label[data-v-6e0e0fb9],.all-places-label[data-v-6e0e0fb9]{height:48px;position:absolute}.new-places-label[data-v-6e0e0fb9]{width:40px;top:14px;left:85px}.all-places-label[data-v-6e0e0fb9]{width:60px;top:14px;left:15px}.places-text[data-v-6e0e0fb9]{color:#111;text-align:center;background-color:#d1cebd;background-image:url(/assets/paper-CuqvoKhN.jpg);background-size:cover;border:1px solid #9e9982;border-radius:7px;margin:0 1px;font-family:font_old_typer;font-size:1.4em;display:inline-block;box-shadow:0 -2px 5px #000}.places-text-number[data-v-6e0e0fb9]{width:18px}.counters-block[data-v-6e0e0fb9]{margin:20px 10px 20px 5px;position:absolute;top:-40px;left:23px}.counter-block[data-v-6e0e0fb9]{margin:5px;display:inline-block}.icon-for-counter[data-v-6e0e0fb9]{margin:0 4px;position:relative;top:3px}@media (width>=1025px){.center-block-700[data-v-6e0e0fb9]{width:700px;margin:0 auto}}.bottom-margin[data-v-c92c3497]{height:calc(100dvh - 146px)}.smooth-scroll[data-v-c92c3497]{scroll-behavior:smooth}.edit-panel[data-v-c92c3497]{background-color:#222;border-radius:10px;margin:30px 0;padding:20px}@media (width>=1024px){.bottom-margin[data-v-c92c3497]{height:calc(100dvh - 146px)}} +:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--main-color:#22323c;--second-color:#614a16;--main-back-color:#f0f0f0;--main-back-item-color:#fefefe;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:#eee;background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;background-color:#111;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s;overflow:hidden}@font-face{font-family:font_old_typer;src:url(/assets/a_OldTyper-BsgRTrmO.ttf)}.height80{height:80vh}.content-block{margin-top:70px}.center-block-custom{scrollbar-width:none;height:calc(100vh - 150px);margin-top:70px;overflow-y:auto}.center-block-custom::-webkit-scrollbar{display:none}.width700,.width1200{margin:0 auto;padding:10px}.display-table{flex-flow:wrap;justify-content:center;display:flex}@media (width>=1024px){.center-block-custom{height:calc(100dvh - 70px);margin:70px auto 0}.width700{width:700px;margin:0 auto;padding:20px}.width1200{width:1200px;margin:0 auto;padding:20px}.center-middle-block-custom{place-items:center;display:grid}}.menu-block[data-v-5e423637]{background-color:#222;justify-content:space-between;align-items:center;width:100%;height:70px;padding:20px;display:flex;position:fixed;top:0;left:0}.menu-item-block[data-v-5e423637]{cursor:pointer;margin-left:10px;padding:5px;font-size:1.1em;display:inline-block}.menu-item-block[data-v-5e423637]:hover{color:#63e2b7;opacity:.8}.right[data-v-5e423637]{margin-left:auto}.active[data-v-5e423637]{color:#63e2b7}@media (width>=1024px){.burger-button[data-v-5e423637]{display:none}}@media (width<1024px){.menu-buttons-block[data-v-5e423637]{background-color:#222;flex-direction:column;width:100%;padding-bottom:5px;display:flex;position:fixed;top:70px;left:0}.menu-buttons-block div[data-v-5e423637]{padding:15px 5px}.menu-buttons-block-active[data-v-5e423637]{position:relative;top:-1000px}.burger-icon[data-v-5e423637]{position:relative;top:5px}}.game-block[data-v-c7afa62c]{border:1px solid #444;border-radius:10px;margin:10px 0;padding:20px}.game-block[data-v-c7afa62c]:hover{cursor:pointer;color:#63e2b7}.game-title[data-v-c7afa62c]{margin-bottom:10px;font-size:24px}.game-description[data-v-c7afa62c]{color:#aaa;margin-bottom:10px}.font-text{font-family:font_old_typer}.content-text{float:right;position:relative;top:100px;right:0}@media (width>=1024px){.font-text{position:relative;left:-50px}.content-text{position:relative;top:100px;right:-50px}}.sign-card[data-v-c1fd645b]{background-color:#1d1d1d}.form-label[data-v-c1fd645b]{margin-top:10px}.form-button-wrapper[data-v-c1fd645b]{justify-content:center;display:flex}.docs-link[data-v-c1fd645b]{color:#45aa89}.docs-link[data-v-c1fd645b]:hover{color:#63e2b7}@media (width>=1024px){.sign-card[data-v-c1fd645b]{width:380px}}.main[data-v-dfe3093b]{position:relative}.message-cloud[data-v-dfe3093b],.message-cloud-2[data-v-dfe3093b],.message-cloud-3[data-v-dfe3093b]{background-color:bisque}.message-cloud[data-v-dfe3093b]{color:#000;margin:15px 0;padding:16px;font-family:main;font-size:18px;font-weight:900;line-height:20px;position:relative}.message-cloud[data-v-dfe3093b],.message-cloud-2[data-v-dfe3093b],.message-cloud-3[data-v-dfe3093b]{background-image:url(/assets/paper-CuqvoKhN.jpg);background-size:cover;border-radius:5px;display:flow-root;box-shadow:0 0 5px #000}.message-cloud-2[data-v-dfe3093b],.message-cloud-3[data-v-dfe3093b]{position:absolute;top:0;left:0}.message-cloud-2[data-v-dfe3093b]{filter:brightness(50%);width:100%;height:100%;transform:rotate(-3deg)}.message-cloud-3[data-v-dfe3093b]{filter:brightness(80%);width:100%;height:100%;transform:rotate(2deg)}.hr[data-v-60b29dfb]{border:1px dashed #eee;margin:10px 0}.place-block-hover[data-v-60b29dfb],.place-block[data-v-60b29dfb]{border:1px solid #444;border-radius:10px;margin:10px 0;padding:20px}.place-block-hover[data-v-60b29dfb]:hover{color:#63e2b7;cursor:pointer;border:1px solid #63e2b7}.place-image-plus[data-v-60b29dfb]{justify-content:center;align-items:center;font-size:30px;display:flex}.show-editor-block[data-v-60b29dfb]{cursor:pointer}.message-content[data-v-60b29dfb]{white-space:pre-wrap;font-weight:500}.gray-block[data-v-60b29dfb]{color:#777;margin-top:5px}.application-block[data-v-60b29dfb]{color:#deb887;margin-right:5px}.door-block[data-v-60b29dfb]{color:#eee;background-color:#222;border-radius:5px;margin:10px 5px 10px 0;padding:5px 10px;display:inline-block}.door-add-block[data-v-60b29dfb]{color:#eee;background-color:#222;border-radius:5px;padding:10px}.key-block[data-v-60b29dfb]{color:gold;margin-left:10px}.lock-icon[data-v-60b29dfb]{position:relative;top:2px}.door-field[data-v-60b29dfb]{margin-top:10px}.need-keys-text[data-v-60b29dfb]{color:gold;margin:15px 0 0;padding:0}.slot-block[data-v-60b29dfb]{margin-top:10px}.plus-minus-buttons[data-v-60b29dfb]{text-align:center;color:#eee;border:1px solid #444;border-radius:40px;margin:0 0 10px 5px;padding:0 13px;font-size:25px}.plus-minus-buttons[data-v-60b29dfb]:hover{cursor:pointer;color:#63e2b7}.message-image-border[data-v-60b29dfb]{float:left;background-image:url(/assets/paper_white-ZSlTzOTx.jpg);background-size:cover;width:40%;max-width:200px;margin-right:15px;padding:7px;transform:rotate(-3deg);box-shadow:0 3px 15px #626262}.message-image[data-v-60b29dfb]{width:100%}.message-edit-image[data-v-60b29dfb]{width:135px;height:135px}.message-header[data-v-60b29dfb]{padding-right:50px;font-size:20px}.message-footer[data-v-60b29dfb]{color:#deb887;padding-right:50px;font-weight:400;position:relative}.message-show-header[data-v-60b29dfb]{padding-right:50px;font-size:20px}.collapse-icon[data-v-60b29dfb]{cursor:pointer;background-image:url(/assets/collapse-B6YzUtGl.png);background-position:50%;background-size:cover;width:45px;height:28px;position:absolute;top:12px;right:12px}.collapse-icon-up[data-v-60b29dfb]{transform:rotate(-180deg)}.show-hr[data-v-60b29dfb]{border:1px dashed #000;margin:10px 0}.font[data-v-60b29dfb]{font-family:font_old_typer;font-size:18px}.message-show-content[data-v-60b29dfb]{white-space:pre-wrap;font-weight:500}.message-show-footer[data-v-60b29dfb]{color:var(--second-color);padding-right:50px;font-weight:400;position:relative}.button-dialog[data-v-60b29dfb]{color:#bfa07d;cursor:pointer;background-image:url(/assets/belt-DVqk2_uL.png);background-size:cover;border-radius:5px;margin-top:10px;margin-right:10px;font-size:16px;font-weight:600;display:inline-block}.button-dialog-text[data-v-60b29dfb]{padding:5px 12px}.settings-block[data-v-e4c92d18]{height:40px}.settings-button[data-v-e4c92d18]{float:right}.settings-icon[data-v-e4c92d18]{width:20px}.name-text[data-v-e4c92d18]{background-color:#ffffff1a;border-radius:3px;padding:3px}.settings-header[data-v-e4c92d18]{margin-top:20px}.settings-hr[data-v-e4c92d18]{margin:20px 0}.places-container[data-v-e4c92d18]{flex-flow:column;display:flex}.scenario-block[data-v-12737793]{cursor:pointer;background-color:#333;border:2px solid #333;border-radius:12px;width:160px;height:300px;margin:10px;position:relative}.scenario-content-block[data-v-12737793]{padding:2px 10px}.scenario-block[data-v-12737793]:hover{color:#63e2b7;border:2px solid #63e2b7}.scenario-image-block[data-v-12737793]{background-color:#111;border-radius:10px;height:160px}.scenario-image-plus[data-v-12737793]{background-color:#111;justify-content:center;align-items:center;font-size:120px;display:flex}.scenario-image[data-v-12737793]{background-position:50%;background-size:cover}.scenario-title[data-v-12737793]{padding:5px 0}.status-block[data-v-12737793]{position:absolute;bottom:15px;right:15px}@media (width>=1024px){.scenario-block[data-v-12737793]{width:250px;height:400px}.scenario-image-block[data-v-12737793]{height:250px}.scenario-content-block[data-v-12737793]{padding:4px 10px}}.user-block[data-v-b07aea1d]{border:1px solid #444;border-radius:10px;margin:0 0 20px;padding:20px}.user-field[data-v-b07aea1d]{margin:10px}.roles-buttons-block[data-v-b07aea1d]{margin-top:20px}.scenario-block[data-v-40f12db0]{cursor:pointer;background-color:#333;border:2px solid #333;border-radius:12px;width:160px;height:300px;margin:10px;position:relative}.scenario-content-block[data-v-40f12db0]{padding:2px 10px}.scenario-block[data-v-40f12db0]:hover{color:#63e2b7;border:2px solid #63e2b7}.scenario-image-block[data-v-40f12db0]{background-color:#111;border-radius:10px;height:160px}.scenario-image[data-v-40f12db0]{background-position:50%;background-size:cover}.scenario-title[data-v-40f12db0]{padding:5px 0}.scenario-description[data-v-40f12db0]{color:#aaa;display:none}.status-block[data-v-40f12db0]{position:absolute;bottom:15px;right:15px}@media (width>=1024px){.scenario-block[data-v-40f12db0]{width:250px;height:400px}.scenario-image-block[data-v-40f12db0]{height:250px}.scenario-content-block[data-v-40f12db0]{padding:4px 10px}.scenario-description[data-v-40f12db0]{color:#aaa;display:block}}.scenario-title[data-v-aa5857fa]{margin-bottom:10px;font-size:24px}.scenario-image[data-v-aa5857fa]{width:100%;max-width:400px;margin-bottom:10px}.scenario-description[data-v-aa5857fa]{color:#aaa;margin-bottom:10px}.team-block[data-v-7f5b5e01]{border:1px solid #444;border-radius:10px;margin:10px 0}.team-block-hover[data-v-7f5b5e01]:hover{color:#63e2b7;cursor:pointer;border:1px solid #63e2b7}.team-content-block[data-v-7f5b5e01]{padding:20px}.team-name-block[data-v-7f5b5e01]{font-size:20px;font-weight:600}.settings-block[data-v-7f5b5e01]{height:40px}.settings-button[data-v-7f5b5e01]{float:right}.settings-icon[data-v-7f5b5e01]{width:20px}.title-block[data-v-7f5b5e01]{margin-bottom:20px}.link-button[data-v-7f5b5e01]{width:100%;margin-top:20px}.place-image-plus[data-v-7f5b5e01]{justify-content:center;align-items:center;font-size:30px;display:flex}.name-text[data-v-7f5b5e01]{background-color:#ffffff1a;border-radius:3px;padding:3px}.qr-block[data-v-7f5b5e01]{background-color:#fff;padding:12px;display:inline-block}.belt-block[data-v-0effe39e]{background-color:#000;background-image:url(/assets/belt-DVqk2_uL.png);background-size:cover;height:100%;position:relative}.shadow[data-v-0effe39e]{background-color:#000;width:100%;height:10px;position:absolute}.shadow-top[data-v-0effe39e]{top:0;box-shadow:0 -5px 10px #000}.shadow-bottom[data-v-0effe39e]{bottom:0;box-shadow:0 5px 10px #000}.plate-block[data-v-34e952c0]{position:relative;box-shadow:0 0 10px #000}.metal-plate-block[data-v-34e952c0]{background-image:url(/assets/metal-BiL2PH1r.png);background-size:cover;border-radius:4px;height:100%;position:relative}.pin[data-v-34e952c0]{background-image:url(/assets/pin-CJfldk-j.png);background-size:cover;width:7px;height:7px;position:absolute}.pin-top-left[data-v-34e952c0]{top:3px;left:3px}.pin-top-right[data-v-34e952c0]{top:3px;right:3px}.pin-bottom-right[data-v-34e952c0]{bottom:3px;right:3px}.pin-bottom-left[data-v-34e952c0]{bottom:3px;left:3px}.text-with-font[data-v-e13ee3bd]{color:#bfa07d;letter-spacing:2px;font-family:font_old_typer;font-size:22px;font-weight:600;line-height:20px}.form-custom[data-v-6e0e0fb9]{color:#fff;z-index:1000;width:100%;position:fixed;bottom:0;left:0}.input-form[data-v-6e0e0fb9]{z-index:1000;max-width:1920px;height:76px;margin:0 auto;position:relative}.controller-metal[data-v-6e0e0fb9]{width:30px;height:calc(100% + 2px);position:absolute;top:-1px}.controller-metal-left[data-v-6e0e0fb9]{left:-30px}.controller-metal-right[data-v-6e0e0fb9]{right:-30px}.controller[data-v-6e0e0fb9]{display:flex;position:relative}.game-input[data-v-6e0e0fb9]{width:calc(100% - 175px);height:50px;position:relative;top:14px;left:15px}.game-input-run[data-v-6e0e0fb9]{background-color:#0000;background-image:url(/assets/input_center-DZZtEHaZ.png);background-size:cover;border:0;width:100%;height:100%;padding-left:27px;font-family:font_old_typer;font-size:18px}.game-input-run[data-v-6e0e0fb9]::placeholder{color:#333}.game-input-run[data-v-6e0e0fb9]:focus{border:0;outline:none}.game-button-run-shadow[data-v-6e0e0fb9]{width:150px;height:80px;position:absolute;top:-5px;right:10px;box-shadow:-5px 5px 10px #000}.game-button-run[data-v-6e0e0fb9]{cursor:pointer;background-color:#0000;background-image:url(/assets/button-DdziMEJE.png);background-size:cover;border:0;width:155px;height:80px;margin:0;padding:0;font-size:1.5em;position:absolute;top:-5px;right:10px}.new-places-label[data-v-6e0e0fb9],.all-places-label[data-v-6e0e0fb9]{height:48px;position:absolute}.new-places-label[data-v-6e0e0fb9]{width:40px;top:14px;left:85px}.all-places-label[data-v-6e0e0fb9]{width:60px;top:14px;left:15px}.places-text[data-v-6e0e0fb9]{color:#111;text-align:center;background-color:#d1cebd;background-image:url(/assets/paper-CuqvoKhN.jpg);background-size:cover;border:1px solid #9e9982;border-radius:7px;margin:0 1px;font-family:font_old_typer;font-size:1.4em;display:inline-block;box-shadow:0 -2px 5px #000}.places-text-number[data-v-6e0e0fb9]{width:18px}.counters-block[data-v-6e0e0fb9]{margin:20px 10px 20px 5px;position:absolute;top:-40px;left:23px}.counter-block[data-v-6e0e0fb9]{margin:5px;display:inline-block}.icon-for-counter[data-v-6e0e0fb9]{margin:0 4px;position:relative;top:3px}@media (width>=1025px){.center-block-700[data-v-6e0e0fb9]{width:700px;margin:0 auto}}.bottom-margin[data-v-c92c3497]{height:calc(100dvh - 146px)}.smooth-scroll[data-v-c92c3497]{scroll-behavior:smooth}.edit-panel[data-v-c92c3497]{background-color:#222;border-radius:10px;margin:30px 0;padding:20px}@media (width>=1024px){.bottom-margin[data-v-c92c3497]{height:calc(100dvh - 146px)}} diff --git a/dist/index.html b/dist/index.html index ca44b10..1a91299 100644 --- a/dist/index.html +++ b/dist/index.html @@ -5,8 +5,8 @@ Вечерний детектив - - + +
diff --git a/src/components/GamePage.vue b/src/components/GamePage.vue index 313e2a7..bd5e4a6 100644 --- a/src/components/GamePage.vue +++ b/src/components/GamePage.vue @@ -11,6 +11,7 @@ import { useMessage } from 'naive-ui'; import { ref } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { getURL } from '@/api/generated/crabs/evening_detective_server/client'; +import { useSimplePolling } from '@/composables/useSimplePolling'; const client = getAuthClient() const router = useRouter() @@ -44,6 +45,32 @@ async function getGame(id: number) { return } game.value = res.game! + game.value.teams = game.value.teams?.sort((a, b) => { + let aLen = 0 + if ((a.applications?.length || 0) > 0) { + aLen = 1 + } + let bLen = 0 + if ((b.applications?.length || 0) > 0) { + bLen = 1 + } + if (aLen > bLen) { + return -1 + } + if (aLen < bLen) { + return 1 + } + + const aName = a.name || '' + const bName = b.name || '' + if (aName > bName) { + return 1 + } + if (aName < bName) { + return -1 + } + return 0 + }) } getGame(Number(gameId)) @@ -148,6 +175,10 @@ async function openQR(url: string) { urlQR.value = url showQR.value = true } + +useSimplePolling(() => { + getGame(Number(gameId)) +}, 2000);