generated from VLADIMIR/template_frontend
1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
import{E as e,Et as t,G as n,N as r,Q as i,S as a,T as o,U as s,V as c,W as l,Z as u,a as d,b as f,ct as p,p as m,rt as h,v as g,w as _,x as v,y}from"./vue-router-CyfP71JJ.js";import{t as ee}from"./Input-DZU-Go3a.js";import{n as b,t as x}from"./use-message-BogQuslR.js";import{t as S}from"./PlaceBlock-DZefW4Qc.js";import{t as C}from"./Flex-DDWM9KY-.js";import{n as w,t as T}from"./useSimplePolling-BJymiuzr.js";import{Z as E,v as D}from"./index-CIGUcMwT.js";import{a as O,i as k,n as A,r as j,t as M}from"./HeaderMenu-BCz0PYuC.js";import{t as N}from"./HeaderText-C3OQJ_jT.js";import{n as P,t as F}from"./IntroBlock-BhD3IrgD.js";var I={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 24 24`},L=e({name:`ContactMailRound`,render:function(e,t){return c(),a(`svg`,I,t[0]||=[y(`path`,{d:`M21 8V7l-3 2l-3-2v1l2.72 1.82a.5.5 0 0 0 .55 0L21 8zm1-5H2C.9 3 0 3.9 0 5v14c0 1.1.9 2 2 2h20c1.1 0 1.99-.9 1.99-2L24 5c0-1.1-.9-2-2-2zM8 6c1.66 0 3 1.34 3 3s-1.34 3-3 3s-3-1.34-3-3s1.34-3 3-3zm6 12H2v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1zm7.5-6h-7c-.28 0-.5-.22-.5-.5v-5c0-.28.22-.5.5-.5h7c.28 0 .5.22.5.5v5c0 .28-.22.5-.5.5z`,fill:`currentColor`},null,-1)])}}),R={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 512 512`},z=e({name:`Footsteps`,render:function(e,t){return c(),a(`svg`,R,t[0]||=[y(`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),y(`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),y(`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),y(`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)])}}),B={},V={class:`belt-block`};function H(e,t){return c(),a(`div`,null,[t[0]||=y(`div`,{class:`shadow shadow-top`},null,-1),t[1]||=y(`div`,{class:`shadow shadow-bottom`},null,-1),y(`div`,V,[l(e.$slots,`default`,{},void 0,!0)])])}var U=A(B,[[`render`,H],[`__scopeId`,`data-v-bec154c5`]]),W={},G={class:`plate-block`},K={class:`metal-plate-block`};function q(e,t){return c(),a(`div`,G,[y(`div`,K,[l(e.$slots,`default`,{},void 0,!0)]),t[0]||=y(`div`,{class:`pin pin-top-left`},null,-1),t[1]||=y(`div`,{class:`pin pin-top-right`},null,-1),t[2]||=y(`div`,{class:`pin pin-bottom-right`},null,-1),t[3]||=y(`div`,{class:`pin pin-bottom-left`},null,-1)])}var J=A(W,[[`render`,q],[`__scopeId`,`data-v-4833fe7e`]]),Y={class:`form-custom`},X={class:`center-block-700`},Z={class:`controller`},Q={class:`counters-block`},te={class:`counter-block`},ne={class:`places-text`},re={class:`counter-block`},ie={class:`places-text`},ae={class:`game-input`},$=[`placeholder`,`disabled`],oe=[`disabled`],se=A(e({__name:`GameInputForm`,props:{addAction:{type:Function,required:!0},allPlacesCount:{type:Number,required:!0},newPlacesCount:{type:Number,required:!0},gameStatus:{type:String,required:!0}},setup(e){let n=h(``),r=e;async function l(){await r.addAction(n.value),n.value=``}function d(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(h,g)=>(c(),a(`div`,Y,[o(U,{class:`input-form`},{default:u(()=>[o(J,{class:`controller-metal controller-metal-left`}),o(J,{class:`controller-metal controller-metal-right`}),y(`div`,X,[y(`div`,Z,[y(`div`,Q,[y(`div`,te,[y(`div`,ne,[o(p(j),{class:`icon-for-counter`},{default:u(()=>[o(p(z))]),_:1})]),(c(!0),a(m,null,s(d(e.allPlacesCount),(e,n)=>(c(),a(`div`,{key:n,class:`places-text places-text-number`},t(e),1))),128))]),y(`div`,re,[y(`div`,ie,[o(p(j),{class:`icon-for-counter`},{default:u(()=>[o(p(L))]),_:1})]),(c(!0),a(m,null,s(d(e.newPlacesCount),(e,n)=>(c(),a(`div`,{key:n,class:`places-text places-text-number`},t(e),1))),128))])]),y(`div`,ae,[i(y(`input`,{id:`run`,class:`game-input-run`,"onUpdate:modelValue":g[0]||=e=>n.value=e,type:`text`,placeholder:r.gameStatus==`run`?`Место назначения`:`Ходы запрещены`,disabled:r.gameStatus!=`run`},null,8,$),[[E,n.value]])]),g[4]||=y(`div`,{class:`game-button-run-shadow`},null,-1),y(`button`,{class:`game-button-run`,type:`submit`,disabled:n.value.length==0,onClick:l},[r.gameStatus==`run`?(c(),f(N,{key:0},{default:u(()=>[...g[1]||=[_(`Поехали`,-1)]]),_:1})):v(``,!0),r.gameStatus==`pause`||r.gameStatus==`draft`?(c(),f(N,{key:1},{default:u(()=>[...g[2]||=[_(`Ждём`,-1)]]),_:1})):v(``,!0),r.gameStatus==`finish`?(c(),f(N,{key:2},{default:u(()=>[...g[3]||=[_(`Всё`,-1)]]),_:1})):v(``,!0)],8,oe)])])]),_:1})]))}}),[[`__scopeId`,`data-v-4d904ded`]]),ce={class:`width700`},le={class:`question-text`},ue={class:`qr-block`},de={key:3,class:`edit-panel`},fe=A(e({__name:`TeamStoryPage`,setup(e){let i=O(),l=k(),E=x(),A=d(),j=A.params.id,N=A.query.password,I=h(0),L=h(),R=h({introduction:void 0,places:[],questions:[]}),z=h({id:void 0,name:void 0,description:void 0,startAt:void 0,status:void 0,scenario:void 0,teams:void 0}),B=h(``),V=window.location.href,H=()=>{let e=L.value;return e?e.scrollHeight-e.scrollTop-e.clientHeight<1:!1};async function U(){let e=R.value,t=await l.GetTeamStory({id:Number(j),password:N});if(t.error!=``){E.error(t.error);return}z.value=t.game;let n=H();n&&(I.value=0);let i=R.value.places.length;R.value={introduction:t.story.introduction,places:t.story.places?.map((t,n)=>(console.log(e?.places[n]?.mode),{place:t,mode:e?.places[n]?.mode||`show`}))||[],questions:t.story.questions||[]};let a=R.value.places.length;if(a>i&&i!=0&&(I.value+=a-i),await r(),n&&i!=0){let e=L.value;if(!e)return!1;e.scrollTop=e.scrollHeight}}U(),K();async function W(e){let t=await l.AddTeamAction({id:Number(j),password:N,code:e});if(t.error!=``){E.error(t.error);return}await U(),B.value=``,await r(),I.value=0}let G=h({});async function K(){let e=await l.GetTeamAnswers({id:Number(j),password:N});if(e.error!=``){E.error(e.error);return}let t={};for(let n of e.answers||[])t[n.questionCode||``]=n.answer||``;G.value=t}async function q(){let e=await l.SubmitTeamAnswers({id:Number(j),password:N,answers:(R.value.questions||[]).map(e=>({questionCode:e.code,answer:G.value[e.code||``]||``}))});if(e.error!=``){E.error(e.error);return}E.success(`Ответы сохранены`),await K()}let J=g(()=>z.value?.status==`run`||z.value?.status==`pause`),Y=g(()=>(R.value.questions?.length||0)>0),X={Input:{border:`1px dashed black`,borderDisabled:`1px dashed black`,borderFocus:`1px solid black`,borderHover:`1px dashed black`,boxShadowFocus:`0 0 0 2px rgb(99 226 183 / 30%)`,caretColor:`#63e2b7`,color:`transparent`,colorDisabled:`transparent`,colorFocus:`transparent`,fontSizeMedium:`18px`,placeholderColor:`black`,placeholderColorDisabled:`black`,textColor:`black`,textColorDisabled:`black`}};async function Z(){let e=await l.DeleteLastTeamAction({id:Number(j)});if(e.error!=``){E.error(e.error);return}await U(),B.value=``}return T(()=>{U()},2e3),(e,r)=>{let l=n(`n-space`);return c(),a(m,null,[y(`div`,{class:`center-block-custom bottom-margin smooth-scroll`,ref_key:`scrollContainer`,ref:L},[y(`div`,ce,[o(se,{addAction:W,allPlacesCount:R.value.places.length,newPlacesCount:I.value,gameStatus:z.value?.status||``},null,8,[`allPlacesCount`,`newPlacesCount`,`gameStatus`]),z.value?.status&&z.value.status!=`draft`&&R.value.introduction&&(R.value.introduction.text||R.value.introduction.audio)?(c(),f(F,{key:0,introduction:R.value.introduction,mode:`show`},null,8,[`introduction`])):v(``,!0),Y.value&&z.value?.status&&z.value.status!=`draft`?(c(),f(P,{key:1,class:`questions-block`},{default:u(()=>[r[1]||=y(`div`,{class:`font`},`Вопросы дела`,-1),r[2]||=y(`hr`,{class:`questions-hr`},null,-1),r[3]||=y(`p`,{class:`questions-hint font`},` Ответьте на вопросы дела. Ответы можно менять, пока игра идёт. `,-1),o(p(D),{"theme-overrides":X},{default:u(()=>[(c(!0),a(m,null,s(R.value.questions,e=>(c(),a(`div`,{key:e.code,class:`question-item font`},[y(`div`,le,t(e.code)+`: `+t(e.text),1),o(p(ee),{value:G.value[e.code||``],"onUpdate:value":t=>G.value[e.code||``]=t,type:`textarea`,autosize:{minRows:2,maxRows:6},disabled:!J.value,placeholder:`Ваш ответ...`},null,8,[`value`,`onUpdate:value`,`disabled`])]))),128)),J.value?(c(),f(p(C),{key:0,justify:`end`,class:`questions-actions`},{default:u(()=>[y(`button`,{type:`button`,class:`paper-button`,onClick:r[0]||=e=>q()},` Сохранить ответы `)]),_:1})):v(``,!0)]),_:1})]),_:1})):v(``,!0),(c(!0),a(m,null,s(R.value.places,e=>(c(),f(S,{place:e.place,mode:e.mode,"onUpdate:mode":t=>e.mode=t,key:e.place.code,addAction:W},null,8,[`place`,`mode`,`onUpdate:mode`]))),128)),R.value.places.length==0&&z.value?.status==`draft`?(c(),f(P,{key:2,class:`qr-main-block`},{default:u(()=>[o(l,{vertical:``},{default:u(()=>[r[4]||=y(`h2`,{class:`qr-main-block-text`},`Это код этого дела`,-1),r[5]||=y(`p`,{class:`qr-main-block-text`},`Поделись с командой`,-1),y(`div`,ue,[o(p(w),{value:p(V),size:300,padding:0},null,8,[`value`])]),r[6]||=y(`p`,{class:`qr-main-block-text`},`Игра скоро начнется`,-1)]),_:1})]),_:1})):v(``,!0),p(i).hasRole(`author`)&&R.value.places.length>0?(c(),a(`div`,de,[o(p(C),{justify:`end`},{default:u(()=>[o(p(b),{onClick:Z},{default:u(()=>[...r[7]||=[_(`Удалить последний ход`,-1)]]),_:1})]),_:1})])):v(``,!0)])],512),o(M,{active:`games`})],64)}}}),[[`__scopeId`,`data-v-b43b2553`]]),pe=e({__name:`TeamStoryView`,setup(e){return(e,t)=>(c(),f(fe))}});export{pe as default}; |