Files
prod/frontend/dist/assets/GameView-5Sek44-O.js
T
2026-10-04 14:25:32 +07:00

7 lines
57 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{D as e,E as t,I as n,K as r,Lt as i,M as a,N as o,O as s,Rt as c,T as l,V as ee,W as te,Y as u,Z as d,at as f,gt as p,j as m,l as h,ot as g,q as _,r as ne,rt as re,u as ie,w as v,xt as y,y as b,yt as x,zt as S}from"./client-Dr2LhGo3.js";import{H as C,N as ae,R as w,V as T,n as E,o as oe,r as se,t as ce}from"./light-DXa4IKh6.js";import{d as le,t as D}from"./Card-C30QQ1L4.js";import{t as O}from"./Modal-803EdS-A.js";import{t as ue}from"./use-merged-state-ByR-vZB2.js";import{n as de,t as k}from"./Button-CnjsaYfJ.js";import{t as fe}from"./Select-CiByb_ap.js";import{n as pe,r as A}from"./use-form-item-CC5qNKr7.js";import{a as me,r as j}from"./resolve-slot-DAynYbhJ.js";import{r as he}from"./Suffix-Dpjhrbg3.js";import{t as ge}from"./Add-2BconUTZ.js";import{t as M}from"./Input-DTIZ9rz4.js";import{t as N}from"./Remove-DahbCeLn.js";import{t as _e}from"./Tag-Clu2bPlS.js";import{t as ve}from"./Alert--hABSHJL.js";import{n as ye,r as be,t as P}from"./es-DJ1c4P06.js";import{t as F}from"./Space-D4xzR_P1.js";import{t as I}from"./Flex-D8hl89Lu.js";import{t as xe}from"./Rate-DqdbhX4h.js";import{t as Se}from"./QrCode-C77qvj1J.js";import{t as L}from"./text-DOSf6v6x.js";import{S as R,U as z,X as B,rt as Ce,tt as we,w as Te}from"./index-oZuSbaof.js";import{t as Ee}from"./HeaderMenu-45tXwFJZ.js";import{t as De}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Oe}from"./Settings-Buf1j0KY.js";import{t as ke}from"./binary_client-DF-ksuZm.js";import{n as Ae,r as je}from"./application-DXNAO2qx.js";import{t as Me}from"./useSimplePolling-CNLkEswH.js";import{n as Ne,t as Pe}from"./datetime-BJNH0M1T.js";function Fe(e){let{textColorDisabled:t}=e;return{iconColorDisabled:t}}var Ie=E({name:`InputNumber`,common:ce,peers:{Button:R,Input:Te},self:Fe}),V=T([C(`input-number-suffix`,`
display: inline-block;
margin-right: 10px;
`),C(`input-number-prefix`,`
display: inline-block;
margin-left: 10px;
`)]);function Le(e){return e==null||typeof e==`string`&&e.trim()===``?null:Number(e)}function Re(e){return e.includes(`.`)&&(/^(-)?\d+.*(\.|0)$/.test(e)||/^-?\d*$/.test(e))||e===`-`||e===`-0`}function ze(e){return e==null?!0:!Number.isNaN(e)}function H(e,t){return typeof e==`number`?t===void 0?String(e):e.toFixed(t):``}function U(e){if(e===null)return null;if(typeof e==`number`)return e;{let t=Number(e);return Number.isNaN(t)?null:t}}var W=800,G=100,K=o({name:`InputNumber`,props:Object.assign(Object.assign({},se.props),{autofocus:Boolean,loading:{type:Boolean,default:void 0},placeholder:String,defaultValue:{type:Number,default:null},value:Number,step:{type:[Number,String],default:1},min:[Number,String],max:[Number,String],size:String,disabled:{type:Boolean,default:void 0},validator:Function,bordered:{type:Boolean,default:void 0},showButton:{type:Boolean,default:!0},buttonPlacement:{type:String,default:`right`},inputProps:Object,readonly:Boolean,clearable:Boolean,keyboard:{type:Object,default:{}},updateValueOnInput:{type:Boolean,default:!0},round:{type:Boolean,default:void 0},parse:Function,format:Function,precision:Number,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onFocus:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onChange:[Function,Array]}),slots:Object,setup(e){let{mergedBorderedRef:t,mergedClsPrefixRef:n,mergedRtlRef:r,mergedComponentPropsRef:i}=ae(e),a=se(`InputNumber`,`-input-number`,V,Ie,e,n),{localeRef:o}=he(`InputNumber`),s=pe(e,{mergedSize:t=>{let{size:n}=e;if(n)return n;let{mergedSize:r}=t||{};return r?.value?r.value:i?.value?.InputNumber?.size||`medium`}}),{mergedSizeRef:c,mergedDisabledRef:l,mergedStatusRef:te}=s,u=p(null),d=p(null),f=p(null),m=p(e.defaultValue),h=ue(x(e,`value`),m),g=p(``),_=e=>{let t=String(e).split(`.`)[1];return t?t.length:0},ne=t=>{let n=[e.min,e.max,e.step,t].map(e=>e===void 0?0:_(e));return Math.max(...n)},ie=B(()=>{let{placeholder:t}=e;return t===void 0?o.value.placeholder:t}),y=B(()=>{let t=U(e.step);return t===null||t===0?1:Math.abs(t)}),b=B(()=>{let t=U(e.min);return t===null?null:t}),S=B(()=>{let t=U(e.max);return t===null?null:t}),C=()=>{let{value:t}=h;if(ze(t)){let{format:n,precision:r}=e;n?g.value=n(t):t===null||r===void 0||_(t)>r?g.value=H(t,void 0):g.value=H(t,r)}else g.value=String(t)};C();let T=t=>{let{value:n}=h;if(t===n){C();return}let{"onUpdate:value":r,onUpdateValue:i,onChange:a}=e,{nTriggerFormInput:o,nTriggerFormChange:c}=s;a&&A(a,t),i&&A(i,t),r&&A(r,t),m.value=t,o(),c()},E=({offset:t,doUpdateIfValid:n,fixPrecision:r,isInputing:i})=>{let{value:a}=g;if(i&&Re(a))return!1;let o=(e.parse||Le)(a);if(o===null)return n&&T(null),null;if(ze(o)){let a=_(o),{precision:s}=e;if(s!==void 0&&s<a&&!r)return!1;let c=Number.parseFloat((o+t).toFixed(s??ne(o)));if(ze(c)){let{value:t}=S,{value:r}=b;if(t!==null&&c>t){if(!n||i)return!1;c=t}if(r!==null&&c<r){if(!n||i)return!1;c=r}return e.validator&&!e.validator(c)?!1:(n&&T(c),c)}}return!1},ce=B(()=>E({offset:0,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})===!1),D=B(()=>{let{value:t}=h;if(e.validator&&t===null)return!1;let{value:n}=y;return E({offset:-n,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1}),O=B(()=>{let{value:t}=h;if(e.validator&&t===null)return!1;let{value:n}=y;return E({offset:+n,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1});function de(t){let{onFocus:n}=e,{nTriggerFormFocus:r}=s;n&&A(n,t),r()}function k(t){if(t.target===u.value?.wrapperElRef)return;let n=E({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0});if(n!==!1){let e=u.value?.inputElRef;e&&(e.value=String(n||``)),h.value===n&&C()}else C();let{onBlur:r}=e,{nTriggerFormBlur:i}=s;r&&A(r,t),i(),ee(()=>{C()})}function fe(t){let{onClear:n}=e;n&&A(n,t)}function me(){let{value:t}=O;if(!t){xe();return}let{value:n}=h;if(n===null)e.validator||T(N());else{let{value:e}=y;E({offset:e,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}function j(){let{value:t}=D;if(!t){F();return}let{value:n}=h;if(n===null)e.validator||T(N());else{let{value:e}=y;E({offset:-e,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}let ge=de,M=k;function N(){if(e.validator)return null;let{value:t}=b,{value:n}=S;return t===null?n===null?0:Math.min(0,n):Math.max(0,t)}function _e(e){fe(e),T(null)}function ve(e){var t;f.value?.$el.contains(e.target)&&e.preventDefault(),d.value?.$el.contains(e.target)&&e.preventDefault(),(t=u.value)==null||t.activate()}let ye=null,be=null,P=null;function F(){P&&=(window.clearTimeout(P),null),ye&&=(window.clearInterval(ye),null)}let I=null;function xe(){I&&=(window.clearTimeout(I),null),be&&=(window.clearInterval(be),null)}function Se(){F(),P=window.setTimeout(()=>{ye=window.setInterval(()=>{j()},G)},W),le(`mouseup`,document,F,{once:!0})}function L(){xe(),I=window.setTimeout(()=>{be=window.setInterval(()=>{me()},G)},W),le(`mouseup`,document,xe,{once:!0})}let R=()=>{be||me()},z=()=>{ye||j()};function Ce(t){var n;if(t.key===`Enter`){if(t.target===u.value?.wrapperElRef)return;E({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&((n=u.value)==null||n.deactivate())}else if(t.key===`ArrowUp`){if(!O.value||e.keyboard.ArrowUp===!1)return;t.preventDefault(),E({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&me()}else if(t.key===`ArrowDown`){if(!D.value||e.keyboard.ArrowDown===!1)return;t.preventDefault(),E({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&j()}}function we(t){g.value=t,e.updateValueOnInput&&!e.format&&!e.parse&&e.precision===void 0&&E({offset:0,doUpdateIfValid:!0,isInputing:!0,fixPrecision:!1})}re(h,()=>{C()});let Te={focus:()=>u.value?.focus(),blur:()=>u.value?.blur(),select:()=>u.value?.select()},Ee=oe(`InputNumber`,r,n);return Object.assign(Object.assign({},Te),{rtlEnabled:Ee,inputInstRef:u,minusButtonInstRef:d,addButtonInstRef:f,mergedClsPrefix:n,mergedBordered:t,uncontrolledValue:m,mergedValue:h,mergedPlaceholder:ie,displayedValueInvalid:ce,mergedSize:c,mergedDisabled:l,displayedValue:g,addable:O,minusable:D,mergedStatus:te,handleFocus:ge,handleBlur:M,handleClear:_e,handleMouseDown:ve,handleAddClick:R,handleMinusClick:z,handleAddMousedown:L,handleMinusMousedown:Se,handleKeyDown:Ce,handleUpdateDisplayedValue:we,mergedTheme:a,inputThemeOverrides:{paddingSmall:`0 8px 0 10px`,paddingMedium:`0 8px 0 12px`,paddingLarge:`0 8px 0 14px`},buttonThemeOverrides:v(()=>{let{self:{iconColorDisabled:e}}=a.value,[t,n,r,i]=w(e);return{textColorTextDisabled:`rgb(${t}, ${n}, ${r})`,opacityDisabled:`${i}`}})})},render(){let{mergedClsPrefix:e,$slots:t}=this,r=()=>n(de,{text:!0,disabled:!this.minusable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleMinusClick,onMousedown:this.handleMinusMousedown,ref:`minusButtonInstRef`},{icon:()=>j(t[`minus-icon`],()=>[n(z,{clsPrefix:e},{default:()=>n(N,null)})])}),i=()=>n(de,{text:!0,disabled:!this.addable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleAddClick,onMousedown:this.handleAddMousedown,ref:`addButtonInstRef`},{icon:()=>j(t[`add-icon`],()=>[n(z,{clsPrefix:e},{default:()=>n(ge,null)})])});return n(`div`,{class:[`${e}-input-number`,this.rtlEnabled&&`${e}-input-number--rtl`]},n(M,{ref:`inputInstRef`,autofocus:this.autofocus,status:this.mergedStatus,bordered:this.mergedBordered,loading:this.loading,value:this.displayedValue,onUpdateValue:this.handleUpdateDisplayedValue,theme:this.mergedTheme.peers.Input,themeOverrides:this.mergedTheme.peerOverrides.Input,builtinThemeOverrides:this.inputThemeOverrides,size:this.mergedSize,placeholder:this.mergedPlaceholder,disabled:this.mergedDisabled,readonly:this.readonly,round:this.round,textDecoration:this.displayedValueInvalid?`line-through`:void 0,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onClear:this.handleClear,clearable:this.clearable,inputProps:this.inputProps,internalLoadingBeforeSuffix:!0},{prefix:()=>this.showButton&&this.buttonPlacement===`both`?[r(),me(t.prefix,t=>t?n(`span`,{class:`${e}-input-number-prefix`},t):null)]:t.prefix?.call(t),suffix:()=>this.showButton?[me(t.suffix,t=>t?n(`span`,{class:`${e}-input-number-suffix`},t):null),this.buttonPlacement===`right`?r():null,i()]:t.suffix?.call(t)}))}}),Be={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Ve=o({name:`Flag`,render:function(e,t){return u(),s(`svg`,Be,t[0]||=[l(`path`,{d:`M6 30H4V2h24l-5.8 9l5.8 9H6zm0-12h18.33l-4.53-7l4.53-7H6z`,fill:`currentColor`},null,-1)])}}),He={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Ue=o({name:`Pause`,render:function(e,t){return u(),s(`svg`,He,t[0]||=[l(`path`,{d:`M12 8v16H8V8h4m0-2H8a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2z`,fill:`currentColor`},null,-1),l(`path`,{d:`M24 8v16h-4V8h4m0-2h-4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2z`,fill:`currentColor`},null,-1)])}}),We={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Ge=o({name:`Play`,render:function(e,t){return u(),s(`svg`,We,t[0]||=[l(`path`,{d:`M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28zM8 6.69V25.31L24.925 16z`,fill:`currentColor`},null,-1)])}}),Ke={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},qe=o({name:`Reset`,render:function(e,t){return u(),s(`svg`,Ke,t[0]||=[l(`path`,{d:`M18 28A12 12 0 1 0 6 16v6.2l-3.6-3.6L1 20l6 6l6-6l-1.4-1.4L8 22.2V16a10 10 0 1 1 10 10z`,fill:`currentColor`},null,-1)])}}),Je={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Ye=o({name:`Trophy`,render:function(e,t){return u(),s(`svg`,Je,t[0]||=[l(`path`,{d:`M26 7h-2V6a2.002 2.002 0 0 0-2-2H10a2.002 2.002 0 0 0-2 2v1H6a2.002 2.002 0 0 0-2 2v3a4.005 4.005 0 0 0 4 4h.322A8.169 8.169 0 0 0 15 21.934V26h-5v2h12v-2h-5v-4.069A7.966 7.966 0 0 0 23.74 16H24a4.005 4.005 0 0 0 4-4V9a2.002 2.002 0 0 0-2-2zM8 14a2.002 2.002 0 0 1-2-2V9h2zm14 0a6 6 0 0 1-6.186 5.997A6.2 6.2 0 0 1 10 13.707V6h12zm4-2a2.002 2.002 0 0 1-2 2V9h2z`,fill:`currentColor`},null,-1)])}}),Xe={key:0,class:`timer-preview`},Ze=[`src`],Qe=[`src`],$e={key:3,class:`preview-message`},et={key:4,class:`preview-message`},q={key:5,class:`preview-message`},tt={key:6,class:`preview-message`},nt={key:7,class:`preview-results`},rt=[`src`],it=De(o({__name:`ScreenPreview`,props:{state:{},questions:{},teams:{}},setup(t){let n=t,i=p(Date.now()),a=p(0),o=p(Date.now()),ee=p(),te=null,f=v(()=>{let e=n.state.backgroundImage||n.state.coverImage;return e?{backgroundImage:`linear-gradient(rgb(0 0 0 / 55%), rgb(0 0 0 / 55%)), url("${e}")`}:{}}),m=v(()=>n.state.timerState===`SCREEN_TIMER_STATE_RUNNING`?Math.max(0,a.value-(i.value-o.value)/1e3):a.value),h=v(()=>{let e=Math.floor(m.value/60),t=Math.floor(m.value%60);return`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`}),g=v(()=>je(n.state.introAudio)),ne=v(()=>je(n.state.conclusionVideo));return re(()=>[n.state.timerRemainingSeconds,n.state.timerState,n.state.stateVersion],()=>{let e=Math.max(0,Number(n.state.timerRemainingSeconds||0));if(n.state.timerState===`SCREEN_TIMER_STATE_RUNNING`&&ee.value===n.state.timerState){let t=Math.max(0,a.value-(Date.now()-o.value)/1e3);if(Math.abs(e-t)<=.5)return}a.value=e,o.value=Date.now(),ee.value=n.state.timerState},{immediate:!0}),r(()=>{te=window.setInterval(()=>{i.value=Date.now()},250)}),_(()=>{te!=null&&window.clearInterval(te)}),(n,r)=>(u(),s(`div`,{class:`screen-preview`,style:c(f.value)},[t.state.mode===`SCREEN_MODE_TIMER`?(u(),s(`div`,Xe,[l(`h2`,null,S(t.state.timerLabel||`Перерыв`),1),l(`strong`,null,S(h.value),1)])):t.state.mode===`SCREEN_MODE_INTRO`&&g.value?(u(),s(`audio`,{key:1,src:g.value,controls:``},null,8,Ze)):t.state.mode===`SCREEN_MODE_CONCLUSION`&&ne.value?(u(),s(`video`,{key:2,src:ne.value,autoplay:``,class:`preview-video`,loop:``,muted:``,playsinline:``},null,8,Qe)):t.state.mode===`SCREEN_MODE_CONCLUSION`?(u(),s(`div`,$e,` Видео закрывашки не задано `)):t.state.mode===`SCREEN_MODE_INTRO_DONE`?(u(),s(`div`,et,`Успехов`)):t.state.mode===`SCREEN_MODE_CONCLUSION_DONE`?(u(),s(`div`,q,` Спасибо за игру! `)):t.state.mode===`SCREEN_MODE_TEXT`?(u(),s(`div`,tt,S(t.state.text),1)):t.state.mode===`SCREEN_MODE_RESULTS`?(u(),s(`div`,nt,[r[4]||=l(`h2`,null,`Результаты`,-1),l(`table`,null,[l(`thead`,null,[l(`tr`,null,[r[0]||=l(`th`,null,`Место`,-1),r[1]||=l(`th`,null,`Команда`,-1),(u(!0),s(b,null,d(t.questions,e=>(u(),s(`th`,{key:e.code},S(e.code),1))),128)),r[2]||=l(`th`,null,`Сумма`,-1),r[3]||=l(`th`,null,`Ходы`,-1)])]),l(`tbody`,null,[(u(!0),s(b,null,d(t.teams,e=>(u(),s(`tr`,{key:e.team?.ID},[l(`td`,null,S(e.place),1),l(`td`,null,S(e.team?.name),1),(u(!0),s(b,null,d(t.questions,t=>(u(),s(`td`,{key:t.code},S(e.answers?.find(e=>e.questionCode===t.code)?.score??0),1))),128)),l(`td`,null,S(e.totalScore),1),l(`td`,null,S(e.actionsCount),1)]))),128))])])])):t.state.coverImage?(u(),s(`img`,{key:8,src:t.state.coverImage,alt:`Обложка дела`,class:`preview-cover`},null,8,rt)):e(``,!0)],4))}}),[[`__scopeId`,`data-v-d5134fb8`]]),at={class:`center-block-custom`},ot={class:`width1200`},st={class:`settings-block`},ct={class:`screens-block`},lt={key:1,class:`screen-empty`},ut={class:`screen-status`},dt={key:0,class:`screen-error`},ft={class:`screen-plan`},pt={class:`map-preview-layout`},mt={class:`map-block`},ht=[`onPointerdown`],gt=[`onPointerdown`],_t={key:2},vt=[`onClick`],yt={class:`screen-preview-panel`},bt={key:1,class:`screen-preview-placeholder`},xt={class:`team-content-block`},St={class:`title-block`},Ct={class:`team-name-block`},wt={key:0},Tt={key:1},Et={key:0},Dt={key:0},Ot={key:1},kt={key:2},At={key:3},jt={key:4},Mt={key:0,class:`give-application-image-block`},Nt=[`src`],Pt=[`src`],Ft=[`href`],It=[`href`],Lt={class:`qr-block`},Rt={key:0,class:`answers-empty`},zt={class:`answers-question-title`},Bt={class:`answers-question-answer`},Vt={class:`correct-answer`},Ht={class:`answers-team-name`},Ut={class:`answers-team-answer`},Wt={key:0,class:`answers-empty`},Gt=De(o({__name:`GamePage`,setup(n){let r=ye(),o=ke(),_=p(!1),re=ie(),x=h().params.id,C=be(),ae=p(!1),w=p({name:``,description:``,format:`online`,location:``}),T=p(!1),E=p(!1),oe=p(!1),se=p(!1),ce=p(``),le=p(``),ue=p(1),de=p(``),pe=p(!1),A=p(``),me=p(``),j=p(!1),he=p(1),ge=p([]),N=p(!1),R=p(!1),z=p(``),B=p(),Te=p(!1),De=p(!1),Fe,Ie=0,V=p({ID:void 0,name:void 0,description:void 0,startAt:void 0,status:void 0,format:void 0,location:void 0,scenario:void 0,teams:void 0}),Le=[{label:`Ожидает ответа`,value:`pending`},{label:`Подтверждено`,value:`confirmed`},{label:`Отменено`,value:`cancelled`}],Re=v(()=>(V.value.teams||[]).filter(e=>e.participationStatus!==`cancelled`).length),ze=v(()=>new Map((V.value.teams||[]).filter(e=>e.applications?.length).map(e=>[e.ID,e]))),H=p([]),U=p(),W=p([]),G=p(!1),Be=p(!1),He=p([]),We=p([]),Ke=p([]),Je=p(!1),Xe=p(100),Ze=p(0),Qe=p(10),$e=p(`Перерыв`),et=p(!1),q=v(()=>{let e=H.value.map(e=>e.mode).filter(Boolean);if(!(!e.length||e.some(t=>t!==e[0])))return e[0]}),tt=v(()=>H.value[0]),nt=v(()=>H.value.find(e=>e.status===`connected`)||H.value[0]),rt=v(()=>H.value.some(e=>e.status===`disconnected`)),Gt=[{label:`Обложка`,value:`SCREEN_MODE_COVER`},{label:`Введение`,value:`SCREEN_MODE_INTRO`},{label:`Успехов`,value:`SCREEN_MODE_INTRO_DONE`},{label:`Закрывашка`,value:`SCREEN_MODE_CONCLUSION`},{label:`Спасибо за игру`,value:`SCREEN_MODE_CONCLUSION_DONE`},{label:`Результаты`,value:`SCREEN_MODE_RESULTS`},{label:`Таймер`,value:`SCREEN_MODE_TIMER`},{label:`Текст`,value:`SCREEN_MODE_TEXT`}],Kt=v(()=>{switch(tt.value?.timerState){case`SCREEN_TIMER_STATE_RUNNING`:return`Идёт`;case`SCREEN_TIMER_STATE_PAUSED`:return`Пауза`;case`SCREEN_TIMER_STATE_FINISHED`:return`Завершён`;default:return`Остановлен`}}),qt=v(()=>{let e=Math.max(0,tt.value?.timerRemainingSeconds||0);return`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`}),Jt=p(1),Yt=p({x:0,y:0}),J,Xt;async function Y(e){let t=await r.GetGame({ID:e});V.value=t.game,V.value.teams=V.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(n<r)return 1;let i=e.name||``,a=t.name||``;return i>a?1:i<a?-1:0})}Y(Number(x));async function X(){let e=await r.GetGameScreens({gameID:Number(x)});if(H.value=e.screens||[],!et.value&&H.value[0]&&(Qe.value=Math.max(1,(H.value[0].timerDurationSeconds||600)/60),$e.value=H.value[0].timerLabel||`Перерыв`,et.value=!0),nt.value?.mode===`SCREEN_MODE_RESULTS`){let e=await r.GetGameResults({gameID:Number(x)});He.value=e.questions||[],We.value=e.teams||[]}else He.value=[],We.value=[]}X();async function Zt(){if(G.value)return;let e=await r.GetScreenPlan({gameID:Number(x)});G.value||(U.value=e.plan,W.value=e.plan?.steps?.map(e=>({...e}))||[])}Zt();function Qt(){W.value.push({mode:`SCREEN_MODE_TEXT`,text:`Новый экран`,timerLabel:`Перерыв`,timerDurationSeconds:600}),G.value=!0}function $t(e){W.value.splice(e,1),G.value=!0}function en(e,t){let n=e+t;if(n<0||n>=W.value.length)return;let[r]=W.value.splice(e,1);W.value.splice(n,0,r),G.value=!0}function tn(){G.value=!0}function nn(e,t){let n=W.value[e];n&&(n.text=t||``,G.value=!0)}async function rn(){if(!Be.value){Be.value=!0;try{let e=Math.min(U.value?.currentStep||0,Math.max(0,W.value.length-1)),t=await r.SaveScreenPlan({gameID:Number(x),steps:W.value,currentStep:e});U.value=t.plan,W.value=t.plan?.steps?.map(e=>({...e}))||[],G.value=!1,await X(),C.success(t.plan?`План экранов сохранён`:`План экранов удалён`)}catch(e){C.error(e instanceof Error?e.message:`Не удалось сохранить план экранов`)}finally{Be.value=!1}}}async function an(e){if(!(G.value||!U.value))try{let t=await r.SetScreenPlanStep({gameID:Number(x),currentStep:e});U.value=t.plan,await X()}catch(e){C.error(e instanceof Error?e.message:`Не удалось перейти на шаг плана`)}}async function Z(e,t){if(!(G.value||e!==`SCREEN_MODE_TIMER`&&e!==`SCREEN_MODE_INTRO`&&e!==`SCREEN_MODE_CONCLUSION`))try{await r.SendScreenCommand({gameID:Number(x),command:t,positionMs:Math.max(0,Math.round(Ze.value*1e3)),volume:Math.max(0,Math.min(100,Math.round(Xe.value)))}),await X()}catch(e){C.error(e instanceof Error?e.message:`Не удалось управлять экраном`)}}function on(){cancelAnimationFrame(Ie),Fe?.getTracks().forEach(e=>e.stop()),Fe=void 0,De.value=!1}function sn(){on(),R.value=!1}function cn(e){try{let t=new URL(e,window.location.origin),n=t.searchParams.get(`screenId`),r=t.searchParams.get(`accessToken`);return t.pathname!==`/screen`||!n||!r?void 0:{screenID:n,accessToken:r}}catch{return}}async function ln(e,t){if(!Te.value){Te.value=!0;try{await r.BindScreen({screenID:e,accessToken:t,gameID:Number(x)}),C.success(`Экран привязан к игре`),await X(),sn()}catch(e){C.error(e instanceof Error?e.message:`Не удалось привязать экран`)}finally{Te.value=!1}}}async function un(){let e=window.BarcodeDetector;if(!e||!navigator.mediaDevices?.getUserMedia){z.value=`Сканирование камерой не поддерживается в этом браузере.`,R.value=!0;return}R.value=!0,z.value=``;try{if(Fe=await navigator.mediaDevices.getUserMedia({video:{facingMode:`environment`}}),De.value=!0,await ee(),!B.value)return;B.value.srcObject=Fe,await B.value.play();let t=new e,n=async()=>{if(!(!B.value||!Fe))try{let e=(await t.detect(B.value))[0]?.rawValue;if(e){let t=cn(e);if(t){on(),await ln(t.screenID,t.accessToken);return}z.value=`Это не QR-код экрана.`}Ie=requestAnimationFrame(n)}catch{z.value=`Не удалось распознать QR-код.`,on()}};Ie=requestAnimationFrame(n)}catch{z.value=`Не удалось открыть камеру.`,on()}}async function dn(){if(J||Je.value)return;let e=await r.GetGameMap({gameID:Number(x)});Ke.value=e.items||[]}dn();async function fn(e,t=e.hidden){Je.value=!0;try{await r.UpdateGameMapItem({gameID:Number(x),kind:e.kind,itemID:e.itemID,x:Math.round(e.x||0),y:Math.round(e.y||0),hidden:t})}finally{Je.value=!1}}function pn(e,t){J={item:e,startX:t.clientX,startY:t.clientY,itemX:e.x||0,itemY:e.y||0},window.addEventListener(`pointermove`,mn),window.addEventListener(`pointerup`,hn,{once:!0})}function mn(e){if(!J)return;let t=J.item.kind===`team`?20:1;J.item.x=Math.round((J.itemX+(e.clientX-J.startX)/Jt.value)/t)*t,J.item.y=Math.round((J.itemY+(e.clientY-J.startY)/Jt.value)/t)*t}async function hn(){if(!J)return;let e=J.item;J=void 0,window.removeEventListener(`pointermove`,mn),await fn(e),await dn()}async function gn(e){e.hidden=!e.hidden,await fn(e)}function _n(e){Jt.value=Math.min(2,Math.max(.5,Number((Jt.value+e).toFixed(2))))}function vn(){Jt.value=1,Yt.value={x:0,y:0}}function yn(e){e.button===0&&(Xt={startX:e.clientX,startY:e.clientY,offsetX:Yt.value.x,offsetY:Yt.value.y},window.addEventListener(`pointermove`,bn),window.addEventListener(`pointerup`,xn,{once:!0}))}function bn(e){Xt&&(Yt.value={x:Xt.offsetX+e.clientX-Xt.startX,y:Xt.offsetY+e.clientY-Xt.startY})}function xn(){Xt=void 0,window.removeEventListener(`pointermove`,bn)}function Sn(e){e.preventDefault(),_n(e.deltaY<0?.1:-.1)}async function Cn(e){await r.SetScreenSound({screenID:e.ID,soundEnabled:!0}),await X()}async function wn(e){await r.UnbindScreen({screenID:e.ID}),await X()}async function Tn(e){await r.SetScreenMode({gameID:Number(x),mode:e})}async function En(){let e=Qe.value,t=$e.value.trim();if(!e||e<=0||!t){C.error(`Укажите длительность и надпись таймера`);return}await r.SetScreenTimer({gameID:Number(x),durationSeconds:Math.round(e*60),label:t}),await X()}async function Q(e){(e===`SCREEN_COMMAND_PLAY`||e===`SCREEN_COMMAND_REPLAY`)&&!window.confirm(`Запустить медиа на всех экранах?`)||await r.SendScreenCommand({gameID:Number(x),command:e,positionMs:Math.max(0,Math.round(Ze.value*1e3)),volume:Math.max(0,Math.min(100,Math.round(Xe.value)))})}async function Dn(e,t,n=!1){let r=`/team-story/`+e+`?password=`+t;if(n){window.open(r,`_blank`);return}re.push(r)}async function On(){if(!(_.value||!V.value.teams?.length)){_.value=!0;try{let{blob:e,filename:t}=await o.downloadTeamQR(V.value.ID),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}catch(e){C.error(e instanceof Error?e.message:`Не удалось скачать QR команд`)}finally{_.value=!1}}}function kn(){re.push(`/games/`+x+`/results`)}function An(){w.value={name:V.value.name||``,description:V.value.description||``,format:V.value.format||`online`,location:V.value.location||``},ae.value=!0}function jn(){ae.value=!1}async function Mn(){await r.UpdateGame({ID:V.value.ID,name:w.value.name,description:w.value.description,format:w.value.format,location:w.value.location.trim(),startAt:V.value.startAt,scenarioID:V.value.scenario?.ID}),await Y(V.value.ID),ae.value=!1}let Nn=p({ID:0,name:``,status:``,password:``,actionsCount:0,applications:[],captainEmail:void 0,participantsCount:void 0,participationStatus:void 0,participationSource:void 0,participationEmailError:void 0,participationEmailSent:void 0}),Pn=p(``),Fn=p({ID:0,name:``,status:``,password:``,actionsCount:0,applications:[],captainEmail:void 0,participantsCount:void 0,participationStatus:void 0,participationSource:void 0,participationEmailError:void 0,participationEmailSent:void 0}),$=p({name:``,image:``,file_type:``}),In=window.location.href;function Ln(e,t){Nn.value=e,$.value=t,T.value=!0}async function Rn(){if(ue.value<1||ue.value>8){C.error(`Укажите от 1 до 8 игроков`);return}await r.AddTeam({gameID:V.value.ID,name:ce.value,captainEmail:le.value.trim(),participantsCount:ue.value}),await Y(V.value.ID),E.value=!1,le.value=``,ue.value=1}async function zn(){await r.GiveTeamApplications({ID:Nn.value.ID,name:$.value.name}),await Y(V.value.ID),T.value=!1}async function Bn(e){Fn.value=e,oe.value=!0}async function Vn(){await r.DeleteTeam({ID:Fn.value.ID}),await Y(V.value.ID),oe.value=!1}async function Hn(){await r.DeleteGame({ID:V.value.ID}),C.success(`Игра удалена`),re.push(`/games`)}function Un(e,t){return ne()+`/team-story/`+e+`?password=`+t}async function Wn(e,t){A.value=e,me.value=t,pe.value=!0}function Gn(){he.value=1,ge.value=[],j.value=!0}async function Kn(){if(!(N.value||!V.value.ID)){N.value=!0;try{let e=await r.IssueGameTickets({gameID:V.value.ID,count:he.value});ge.value=e.tickets||[],C.success(`Выпущено билетов: ${ge.value.length}`)}catch(e){C.error(e instanceof Error?e.message:`Не удалось выпустить билеты`)}finally{N.value=!1}}}Me(()=>{Y(Number(x)),X(),Zt(),dn()},2e3),te(on);async function qn(){await r.ResetGame({ID:V.value.ID}),await Y(V.value.ID)}async function Jn(){await r.StartGame({ID:V.value.ID}),await Y(V.value.ID)}async function Yn(){await r.PauseGame({ID:V.value.ID}),await Y(V.value.ID)}async function Xn(){await r.PlayGame({ID:V.value.ID}),await Y(V.value.ID)}async function Zn(){await r.FinishGame({ID:V.value.ID}),await Y(V.value.ID)}let Qn=p(!1),$n=p(!1),er=p([]),tr=p(0),nr=p(0),rr=p([]),ir=p([]),ar=p({});function or(e,t){return(e??``)+`:`+(t??``)}function sr(e,t){return(e.answers||[]).find(e=>e.questionCode==t)?.answer||``}function cr(e,t){ar.value[e]=t===null?void 0:t}async function lr(){let e=await r.GetGameAnswers({gameID:Number(x)});rr.value=e.questions||[],ir.value=e.teams||[];let t={};for(let e of ir.value)for(let n of e.answers||[])t[or(e.team?.ID,n.questionCode)]=n.score;ar.value=t}async function ur(){Qn.value=!0,await lr()}async function dr(){$n.value=!0;let e=await r.GetGameReviewsForModeration({gameID:Number(x)});er.value=e.reviews||[],tr.value=e.averageRating||0,nr.value=e.reviewsCount||0}async function fr(e,t){await r.ModerateGameReview({ID:e.ID,status:t}),await dr()}async function pr(){for(let e of rr.value)for(let t of ir.value){let n=ar.value[or(t.team?.ID,e.code)];await r.SetTeamAnswerScore({ID:t.team?.ID,questionCode:e.code,score:n??void 0})}C.success(`Баллы сохранены`),await lr()}function mr(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4)}function hr(e,t){if(e==``)return`Игра ещё не началась`;let n=Ne(e),r=mr();t!=``&&(r=Ne(t));let i=r.getTime()-n.getTime();if(i<0)return`Игра ещё не началась`;let a=Math.floor(i/1e3),o=Math.floor(a/60),s=Math.floor(o/60),c=Math.floor(s/24),l=Math.floor(c/30),ee=Math.floor(c/365);return ee>0?`${ee}г ${c%365}д`:l>0?`${l}мес ${c%30}д`:c>0?`${c}д ${s%24}ч`:s>0?`${s}ч ${o%60}м`:o>0?`${o}м ${a%60}с`:`${a}с`}let gr=p(``);return Me(()=>{gr.value=hr(V.value.startedAt||``,V.value.endedAt||``)},1e3),(n,r)=>(u(),s(b,null,[l(`div`,at,[l(`div`,ot,[l(`div`,st,[a(y(I),{justify:`space-between`},{default:f(()=>[a(y(F),null,{default:f(()=>[a(y(_e),{bordered:!1,type:`info`},{default:f(()=>[m(` Участвуют команд: `+S(Re.value),1)]),_:1}),a(y(_e),{type:`info`},{default:f(()=>[m(S(gr.value),1)]),_:1}),y(Pe)(V.value.startAt)?(u(),t(y(_e),{key:0,type:`info`},{default:f(()=>[m(` Начало: `+S(y(Pe)(V.value.startAt)),1)]),_:1})):e(``,!0)]),_:1}),a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{quaternary:``,onClick:r[0]||=e=>Wn(y(In),`Админка`)},{default:f(()=>[...r[77]||=[m(` QR `,-1)]]),_:1}),a(y(k),{quaternary:``,onClick:r[1]||=e=>Gn()},{default:f(()=>[...r[78]||=[m(` Выпустить билеты `,-1)]]),_:1}),a(y(k),{quaternary:``,onClick:r[2]||=e=>ur()},{default:f(()=>[...r[79]||=[m(` Ответы команд `,-1)]]),_:1}),V.value.status==`finish`?(u(),t(y(k),{key:0,quaternary:``,onClick:r[3]||=e=>kn()},{default:f(()=>[a(y(P),{class:`settings-icon`},{default:f(()=>[a(y(Ye))]),_:1}),r[80]||=m(` Итоги `,-1)]),_:1})):e(``,!0),Re.value?(u(),t(y(k),{key:1,quaternary:``,loading:_.value,disabled:_.value,onClick:r[4]||=e=>On()},{default:f(()=>[...r[81]||=[m(` QR команд `,-1)]]),_:1},8,[`loading`,`disabled`])):e(``,!0),a(y(k),{quaternary:``,onClick:r[5]||=e=>An()},{default:f(()=>[a(y(P),{class:`settings-icon`},{default:f(()=>[a(y(Oe))]),_:1}),r[82]||=m(` Настройки `,-1)]),_:1}),(V.value.teams?.length||0)==0?(u(),t(y(k),{key:2,type:`error`,quaternary:``,onClick:r[6]||=e=>se.value=!0},{default:f(()=>[...r[83]||=[m(` Удалить игру `,-1)]]),_:1})):e(``,!0),a(y(F),null,{default:f(()=>[V.value.status==`draft`?e(``,!0):(u(),t(y(k),{key:0,type:`info`,dashed:``,onClick:r[7]||=e=>qn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(qe))]),_:1})]),_:1})),V.value.status==`draft`?(u(),t(y(k),{key:1,type:`info`,dashed:``,onClick:r[8]||=e=>Jn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Ge))]),_:1})]),_:1})):e(``,!0),V.value.status==`pause`?(u(),t(y(k),{key:2,type:`info`,dashed:``,onClick:r[9]||=e=>Xn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Ge))]),_:1})]),_:1})):e(``,!0),V.value.status==`run`?(u(),t(y(k),{key:3,type:`info`,dashed:``,onClick:r[10]||=e=>Yn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Ue))]),_:1})]),_:1})):e(``,!0),V.value.status==`finish`?e(``,!0):(u(),t(y(k),{key:4,type:`info`,dashed:``,onClick:r[11]||=e=>Zn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Ve))]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),l(`div`,ct,[a(y(I),{align:`center`,justify:`space-between`},{default:f(()=>[r[85]||=l(`p`,{class:`screens-title`},`Экраны`,-1),a(y(k),{size:`small`,type:`primary`,onClick:un},{default:f(()=>[...r[84]||=[m(`Привязать экран`,-1)]]),_:1})]),_:1}),rt.value?(u(),t(y(ve),{key:0,type:`warning`,title:`Проверьте подключение экрана`},{default:f(()=>[...r[86]||=[m(` Один или несколько экранов не выходят на связь более минуты. `,-1)]]),_:1})):e(``,!0),H.value.length===0?(u(),s(`p`,lt,`К игре пока не привязаны экраны.`)):(u(),s(b,{key:2},[(u(!0),s(b,null,d(H.value,n=>(u(),s(`div`,{key:n.ID,class:`screen-row`},[l(`div`,null,[l(`div`,null,`Экран `+S(n.ID),1),l(`div`,ut,S(n.status===`connected`?`Онлайн`:`Оффлайн`),1),n.error?(u(),s(`div`,dt,S(n.error),1)):e(``,!0)]),a(y(I),{justify:`end`},{default:f(()=>[n.soundEnabled?(u(),t(y(_e),{key:0,type:`success`},{default:f(()=>[...r[87]||=[m(`Со звуком`,-1)]]),_:1})):(u(),t(y(k),{key:1,size:`small`,onClick:e=>Cn(n)},{default:f(()=>[...r[88]||=[m(`Назначить звук`,-1)]]),_:1},8,[`onClick`])),a(y(k),{size:`small`,type:`error`,ghost:``,onClick:e=>wn(n)},{default:f(()=>[...r[89]||=[m(` Отвязать `,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]))),128)),!U.value&&!G.value?(u(),s(b,{key:0},[a(y(F),{class:`screen-mode-controls`},{default:f(()=>[a(y(k),{size:`small`,type:q.value===`SCREEN_MODE_COVER`?`primary`:`default`,onClick:r[12]||=e=>Tn(`SCREEN_MODE_COVER`)},{default:f(()=>[...r[90]||=[m(`Обложка`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:q.value===`SCREEN_MODE_INTRO`?`primary`:`default`,onClick:r[13]||=e=>Tn(`SCREEN_MODE_INTRO`)},{default:f(()=>[...r[91]||=[m(`Введение`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:q.value===`SCREEN_MODE_INTRO_DONE`?`primary`:`default`,onClick:r[14]||=e=>Tn(`SCREEN_MODE_INTRO_DONE`)},{default:f(()=>[...r[92]||=[m(`Успехов`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:q.value===`SCREEN_MODE_CONCLUSION`?`primary`:`default`,onClick:r[15]||=e=>Tn(`SCREEN_MODE_CONCLUSION`)},{default:f(()=>[...r[93]||=[m(`Закрывашка`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:q.value===`SCREEN_MODE_CONCLUSION_DONE`?`primary`:`default`,onClick:r[16]||=e=>Tn(`SCREEN_MODE_CONCLUSION_DONE`)},{default:f(()=>[...r[94]||=[m(`Спасибо за игру!`,-1)]]),_:1},8,[`type`]),V.value.status===`finish`?(u(),t(y(k),{key:0,size:`small`,type:q.value===`SCREEN_MODE_RESULTS`?`primary`:`default`,onClick:r[17]||=e=>Tn(`SCREEN_MODE_RESULTS`)},{default:f(()=>[...r[95]||=[m(`Результаты`,-1)]]),_:1},8,[`type`])):e(``,!0),a(y(k),{type:q.value===`SCREEN_MODE_TIMER`?`primary`:`default`,onClick:r[18]||=e=>Tn(`SCREEN_MODE_TIMER`)},{default:f(()=>[...r[96]||=[m(`Таймер`,-1)]]),_:1},8,[`type`])]),_:1}),a(y(F),{class:`screen-mode-controls`,align:`center`},{default:f(()=>[a(y(K),{value:Qe.value,"onUpdate:value":r[19]||=e=>Qe.value=e,min:1,max:1440,step:1,size:`small`,placeholder:`Минуты`},null,8,[`value`]),a(y(M),{value:$e.value,"onUpdate:value":r[20]||=e=>$e.value=e,size:`small`,placeholder:`Надпись таймера`},null,8,[`value`]),a(y(k),{size:`small`,onClick:En},{default:f(()=>[...r[97]||=[m(`Настроить таймер`,-1)]]),_:1}),a(y(_e),{type:`info`},{default:f(()=>[m(S(Kt.value)+` · `+S(qt.value),1)]),_:1})]),_:1}),a(y(F),{class:`screen-mode-controls`},{default:f(()=>[a(y(k),{size:`small`,onClick:r[21]||=e=>Q(`SCREEN_COMMAND_TIMER_START`)},{default:f(()=>[...r[98]||=[m(`Старт таймера`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[22]||=e=>Q(`SCREEN_COMMAND_TIMER_PAUSE`)},{default:f(()=>[...r[99]||=[m(`Пауза таймера`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[23]||=e=>Q(`SCREEN_COMMAND_TIMER_RESUME`)},{default:f(()=>[...r[100]||=[m(`Продолжить таймер`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[24]||=e=>Q(`SCREEN_COMMAND_TIMER_RESET`)},{default:f(()=>[...r[101]||=[m(`Сбросить таймер`,-1)]]),_:1})]),_:1}),a(y(F),{class:`screen-mode-controls`},{default:f(()=>[a(y(k),{size:`small`,onClick:r[25]||=e=>Q(`SCREEN_COMMAND_PLAY`)},{default:f(()=>[...r[102]||=[m(`Запуск`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[26]||=e=>Q(`SCREEN_COMMAND_PAUSE`)},{default:f(()=>[...r[103]||=[m(`Пауза`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[27]||=e=>Q(`SCREEN_COMMAND_RESUME`)},{default:f(()=>[...r[104]||=[m(`Продолжить`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[28]||=e=>Q(`SCREEN_COMMAND_STOP`)},{default:f(()=>[...r[105]||=[m(`Стоп`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:r[29]||=e=>Q(`SCREEN_COMMAND_REPLAY`)},{default:f(()=>[...r[106]||=[m(`Повтор`,-1)]]),_:1})]),_:1}),a(y(F),{class:`screen-mode-controls`,align:`center`},{default:f(()=>[a(y(L),null,{default:f(()=>[...r[107]||=[m(`Громкость`,-1)]]),_:1}),a(y(K),{value:Xe.value,"onUpdate:value":r[30]||=e=>Xe.value=e,min:0,max:100,step:5,size:`small`},null,8,[`value`]),a(y(k),{size:`small`,onClick:r[31]||=e=>Q(`SCREEN_COMMAND_VOLUME`)},{default:f(()=>[...r[108]||=[m(`Применить`,-1)]]),_:1}),a(y(L),null,{default:f(()=>[...r[109]||=[m(`Позиция, сек.`,-1)]]),_:1}),a(y(K),{value:Ze.value,"onUpdate:value":r[32]||=e=>Ze.value=e,min:0,step:5,size:`small`},null,8,[`value`]),a(y(k),{size:`small`,onClick:r[33]||=e=>Q(`SCREEN_COMMAND_SEEK`)},{default:f(()=>[...r[110]||=[m(`Перемотать`,-1)]]),_:1})]),_:1})],64)):e(``,!0),l(`div`,ft,[a(y(I),{align:`center`,justify:`space-between`},{default:f(()=>[r[113]||=l(`p`,{class:`screens-title`},`План экранов`,-1),a(y(F),null,{default:f(()=>[!U.value&&!G.value?(u(),t(y(k),{key:0,size:`small`,onClick:Qt},{default:f(()=>[...r[111]||=[m(` Создать план `,-1)]]),_:1})):e(``,!0),U.value||G.value?(u(),t(y(k),{key:1,size:`small`,type:`primary`,loading:Be.value,onClick:rn},{default:f(()=>[...r[112]||=[m(` Сохранить план `,-1)]]),_:1},8,[`loading`])):e(``,!0)]),_:1})]),_:1}),U.value||G.value?(u(),s(b,{key:0},[(u(!0),s(b,null,d(W.value,(n,i)=>(u(),t(y(F),{key:i,align:`center`,wrap:``},{default:f(()=>[a(y(L),null,{default:f(()=>[m(S(i+1),1)]),_:2},1024),a(y(fe),{value:n.mode,"onUpdate:value":[e=>n.mode=e,tn],options:Gt,size:`small`,style:{width:`180px`}},null,8,[`value`,`onUpdate:value`]),n.mode===`SCREEN_MODE_TEXT`?(u(),t(y(M),{key:0,value:n.text,size:`small`,placeholder:`Текст экрана`,style:{"min-width":`240px`},"onUpdate:value":e=>nn(i,e)},null,8,[`value`,`onUpdate:value`])):e(``,!0),n.mode===`SCREEN_MODE_TIMER`?(u(),s(b,{key:1},[a(y(M),{value:n.timerLabel,"onUpdate:value":[e=>n.timerLabel=e,tn],size:`small`,placeholder:`Надпись таймера`},null,8,[`value`,`onUpdate:value`]),a(y(K),{value:n.timerDurationSeconds,"onUpdate:value":[e=>n.timerDurationSeconds=e,tn],min:1,max:86400,size:`small`,placeholder:`Секунды`},null,8,[`value`,`onUpdate:value`])],64)):e(``,!0),a(y(k),{size:`small`,disabled:i===0,onClick:e=>en(i,-1)},{default:f(()=>[...r[114]||=[m(`↑`,-1)]]),_:1},8,[`disabled`,`onClick`]),a(y(k),{size:`small`,disabled:i===W.value.length-1,onClick:e=>en(i,1)},{default:f(()=>[...r[115]||=[m(` ↓ `,-1)]]),_:1},8,[`disabled`,`onClick`]),a(y(k),{size:`small`,type:`error`,ghost:``,onClick:e=>$t(i)},{default:f(()=>[...r[116]||=[m(` Удалить `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,type:U.value?.currentStep===i?`primary`:`default`,disabled:G.value||U.value?.currentStep===i,onClick:e=>an(i)},{default:f(()=>[...r[117]||=[m(` Показать `,-1)]]),_:1},8,[`type`,`disabled`,`onClick`]),U.value?.currentStep===i&&!G.value?(u(),s(b,{key:2},[n.mode===`SCREEN_MODE_TIMER`?(u(),s(b,{key:0},[a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_TIMER_START`)},{default:f(()=>[...r[118]||=[m(` Старт `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_TIMER_PAUSE`)},{default:f(()=>[...r[119]||=[m(` Пауза `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_TIMER_RESUME`)},{default:f(()=>[...r[120]||=[m(` Продолжить `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_TIMER_RESET`)},{default:f(()=>[...r[121]||=[m(` Сбросить `,-1)]]),_:1},8,[`onClick`])],64)):n.mode===`SCREEN_MODE_INTRO`||n.mode===`SCREEN_MODE_CONCLUSION`?(u(),s(b,{key:1},[a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_PLAY`)},{default:f(()=>[...r[122]||=[m(` Запуск `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_PAUSE`)},{default:f(()=>[...r[123]||=[m(` Пауза `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_RESUME`)},{default:f(()=>[...r[124]||=[m(` Продолжить `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_STOP`)},{default:f(()=>[...r[125]||=[m(` Стоп `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_REPLAY`)},{default:f(()=>[...r[126]||=[m(` Повтор `,-1)]]),_:1},8,[`onClick`]),a(y(K),{value:Xe.value,"onUpdate:value":r[34]||=e=>Xe.value=e,min:0,max:100,step:5,size:`small`},null,8,[`value`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_VOLUME`)},{default:f(()=>[...r[127]||=[m(` Громкость `,-1)]]),_:1},8,[`onClick`]),a(y(K),{value:Ze.value,"onUpdate:value":r[35]||=e=>Ze.value=e,min:0,step:5,size:`small`},null,8,[`value`]),a(y(k),{size:`small`,onClick:e=>Z(n.mode,`SCREEN_COMMAND_SEEK`)},{default:f(()=>[...r[128]||=[m(` Перемотать `,-1)]]),_:1},8,[`onClick`])],64)):e(``,!0)],64)):e(``,!0)]),_:2},1024))),128)),a(y(F),null,{default:f(()=>[a(y(k),{size:`small`,onClick:Qt},{default:f(()=>[...r[129]||=[m(`Добавить шаг`,-1)]]),_:1}),W.value.length?(u(),t(y(k),{key:0,size:`small`,onClick:r[36]||=e=>{W.value=[],tn()}},{default:f(()=>[...r[130]||=[m(` Удалить план `,-1)]]),_:1})):e(``,!0)]),_:1})],64)):e(``,!0)])],64))]),l(`div`,pt,[l(`div`,mt,[a(y(I),{align:`center`,justify:`space-between`},{default:f(()=>[r[134]||=l(`p`,{class:`screens-title`},`Карта помещения`,-1),a(y(F),null,{default:f(()=>[a(y(k),{size:`small`,onClick:r[37]||=e=>_n(-.1)},{default:f(()=>[...r[131]||=[m(`−`,-1)]]),_:1}),a(y(L),null,{default:f(()=>[m(S(Math.round(Jt.value*100))+`%`,1)]),_:1}),a(y(k),{size:`small`,onClick:r[38]||=e=>_n(.1)},{default:f(()=>[...r[132]||=[m(`+`,-1)]]),_:1}),a(y(k),{size:`small`,onClick:vn},{default:f(()=>[...r[133]||=[m(`Сбросить`,-1)]]),_:1})]),_:1})]),_:1}),l(`div`,{class:`map-field`,onPointerdown:yn,onWheel:Sn},[l(`div`,{class:`map-canvas`,style:c({transform:`translate(${Yt.value.x}px, ${Yt.value.y}px) scale(${Jt.value})`})},[(u(!0),s(b,null,d(Ke.value,n=>g((u(),s(`div`,{key:`${n.kind}-${n.itemID}`,class:i([`map-item`,[n.kind===`screen`?`map-screen`:n.kind===`organizer_desk`?`map-organizer-desk`:`map-team`,{"map-team-needs-applications":n.kind===`team`&&ze.value.has(n.itemID)}]]),style:c({left:`${n.x||0}px`,top:`${n.y||0}px`}),onPointerdown:Ce(e=>n.kind!==`team`&&pn(n,e),[`stop`])},[n.kind===`team`?(u(),s(`div`,{key:0,class:`map-team-handle`,onPointerdown:Ce(e=>pn(n,e),[`stop`])},null,40,gt)):e(``,!0),l(`span`,null,S(n.label),1),n.kind===`team`&&ze.value.has(n.itemID)?(u(),t(y(F),{key:1,class:`map-team-applications`,vertical:``},{default:f(()=>[(u(!0),s(b,null,d(ze.value.get(n.itemID)?.applications,e=>(u(),t(y(k),{key:e.name,size:`small`,onClick:t=>Ln(ze.value.get(n.itemID),e)},{default:f(()=>[m(` Выдать: `+S(e.name),1)]),_:2},1032,[`onClick`]))),128))]),_:2},1024)):e(``,!0),n.kind===`screen`?(u(),s(`small`,_t,S(n.status)+S(n.soundEnabled?` · звук`:``),1)):e(``,!0),l(`button`,{class:`map-item-hide`,type:`button`,onPointerdown:r[39]||=Ce(()=>{},[`stop`]),onClick:Ce(e=>gn(n),[`stop`])},` × `,40,vt)],46,ht)),[[we,!n.hidden]])),128))],4)],32),Ke.value.some(e=>e.hidden)?(u(),t(y(F),{key:0,class:`map-hidden-items`},{default:f(()=>[(u(!0),s(b,null,d(Ke.value.filter(e=>e.hidden),e=>(u(),t(y(k),{key:`hidden-${e.kind}-${e.itemID}`,size:`small`,onClick:t=>gn(e)},{default:f(()=>[m(` Добавить `+S(e.label),1)]),_:2},1032,[`onClick`]))),128))]),_:1})):e(``,!0)]),l(`aside`,yt,[r[135]||=l(`p`,{class:`screens-title`},`Превью экрана`,-1),nt.value?.status===`connected`?(u(),t(it,{key:0,state:nt.value,questions:He.value,teams:We.value},null,8,[`state`,`questions`,`teams`])):(u(),s(`div`,bt,`Экран не подключён`))])]),l(`div`,{class:`team-block team-block-hover`,onClick:r[40]||=e=>E.value=!0},[...r[136]||=[l(`p`,{class:`place-image-plus`},`+`,-1)]]),(u(!0),s(b,null,d(V.value.teams,n=>(u(),s(`div`,{key:n.ID,class:`team-block`},[l(`div`,xt,[a(y(I),{justify:`space-between`},{default:f(()=>[l(`div`,St,[l(`span`,Ct,[m(S(n.name)+` `,1),n.captainEmail?(u(),s(`small`,wt,` — `+S(n.captainEmail),1)):e(``,!0),n.participantsCount?(u(),s(`small`,Tt,` · Участников: `+S(n.participantsCount),1)):e(``,!0)]),n.captainEmail||n.participationStatus!==`pending`?(u(),s(`div`,Et,[m(S(Le.find(e=>e.value===n.participationStatus)?.label),1),n.participationSource===`automatic`?(u(),s(`span`,Dt,` · автоматически`)):e(``,!0)])):e(``,!0),n.captainEmail?n.participationEmailError?(u(),s(`div`,kt,` Ошибка отправки: `+S(n.participationEmailError),1)):n.participationEmailSent?(u(),s(`div`,At,`Письмо отправлено`)):e(``,!0):(u(),s(`div`,Ot,`Почта капитана не указана`)),n.participationStatus===`cancelled`?e(``,!0):(u(),s(`div`,jt,` Поездки: `+S(n.actionsCount),1))]),a(y(I),{justify:`end`},{default:f(()=>[n.participationStatus===`cancelled`?e(``,!0):(u(),t(y(k),{key:0,onClick:e=>Wn(Un(n.ID,n.password),`Подсмотреть игру`)},{default:f(()=>[...r[137]||=[m(` QR `,-1)]]),_:1},8,[`onClick`])),n.participationStatus===`cancelled`?e(``,!0):(u(),t(y(k),{key:1,onClick:e=>Dn(n.ID,n.password,!0)},{default:f(()=>[...r[138]||=[m(` Подсмотреть игру `,-1)]]),_:1},8,[`onClick`])),a(y(k),{type:`error`,ghost:``,onClick:e=>Bn(n)},{default:f(()=>[...r[139]||=[m(` Удалить `,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024),(u(!0),s(b,null,d(n.applications,e=>(u(),t(y(k),{key:e.name,class:`link-button`,onClick:t=>Ln(n,e)},{default:f(()=>[m(` Выдать: `+S(e.name),1)]),_:2},1032,[`onClick`]))),128))])]))),128))])]),a(y(O),{show:R.value,"onUpdate:show":r[41]||=e=>R.value=e,onAfterLeave:on},{default:f(()=>[a(y(D),{style:{width:`min(600px, 94vw)`},title:`Привязать экран`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:sn},{default:f(()=>[...r[140]||=[m(` x `,-1)]]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[l(`video`,{ref_key:`screenScannerVideo`,ref:B,class:`screen-scanner-video`,muted:``,playsinline:``},null,512),z.value?(u(),t(y(ve),{key:0,type:`error`},{default:f(()=>[m(S(z.value),1)]),_:1})):e(``,!0),!De.value&&!Te.value?(u(),t(y(k),{key:1,type:`primary`,onClick:un},{default:f(()=>[...r[141]||=[m(` Сканировать QR-код `,-1)]]),_:1})):e(``,!0),De.value?(u(),t(y(k),{key:2,onClick:on},{default:f(()=>[...r[142]||=[m(`Остановить камеру`,-1)]]),_:1})):e(``,!0),Te.value?(u(),t(y(k),{key:3,type:`primary`,loading:``},{default:f(()=>[...r[143]||=[m(`Привязка…`,-1)]]),_:1})):e(``,!0)]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:ae.value,"onUpdate:show":r[48]||=e=>ae.value=e},{default:f(()=>[a(y(D),{style:{width:`600px`},title:`Настройки игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[42]||=e=>jn()},{default:f(()=>[...r[144]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[47]||=e=>Mn(),ghost:``},{default:f(()=>[...r[149]||=[m(` Сохранить изменения `,-1)]]),_:1})]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[r[145]||=l(`p`,null,`Название`,-1),a(y(M),{value:w.value.name,"onUpdate:value":r[43]||=e=>w.value.name=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`]),r[146]||=l(`p`,{class:`settings-header`},`Формат игры`,-1),a(y(fe),{value:w.value.format,"onUpdate:value":r[44]||=e=>w.value.format=e,options:[{label:`Online`,value:`online`},{label:`Offline`,value:`offline`}],"aria-label":`Формат игры`},null,8,[`value`]),r[147]||=l(`p`,{class:`settings-header`},`Описание`,-1),a(y(M),{value:w.value.description,"onUpdate:value":r[45]||=e=>w.value.description=e,type:`textarea`,placeholder:`Убийство пастуха...`},null,8,[`value`]),r[148]||=l(`p`,{class:`settings-header`},`Место проведения`,-1),a(y(M),{value:w.value.location,"onUpdate:value":r[46]||=e=>w.value.location=e,type:`text`,placeholder:`Оставьте пустым для онлайн-игры`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:T.value,"onUpdate:show":r[51]||=e=>T.value=e},{default:f(()=>[a(y(D),{style:{width:`600px`},title:`Настройки игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[49]||=e=>T.value=!1},{default:f(()=>[...r[150]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[50]||=e=>zn(),ghost:``},{default:f(()=>[...r[153]||=[m(` Выдать `,-1)]]),_:1})]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[r[151]||=l(`p`,null,`Команда`,-1),l(`h3`,null,S(Nn.value.name),1),r[152]||=l(`p`,null,`Улика`,-1),l(`h3`,null,S($.value.name),1),y(Ae)($.value)==`image`&&$.value.image?(u(),s(`div`,Mt,[l(`img`,{src:y(je)($.value.image),class:`give-application-image`},null,8,Nt)])):y(Ae)($.value)==`audio`&&$.value.image?(u(),s(`audio`,{key:1,src:y(je)($.value.image),controls:``,preload:`none`,class:`give-application-audio`},null,8,Pt)):y(Ae)($.value)==`pdf`&&$.value.image?(u(),s(`a`,{key:2,href:y(je)($.value.image),target:`_blank`,rel:`noopener`,class:`give-application-pdf-link`},` PDF `,8,Ft)):e(``,!0)]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:E.value,"onUpdate:show":r[57]||=e=>E.value=e},{default:f(()=>[a(y(D),{style:{width:`600px`},title:`Создание команды`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[52]||=e=>E.value=!1},{default:f(()=>[...r[154]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[56]||=e=>Rn(),disabled:ce.value.length==0},{default:f(()=>[...r[155]||=[m(` Создать `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[a(y(M),{value:ce.value,"onUpdate:value":r[53]||=e=>ce.value=e,type:`text`,placeholder:`Три дебила`},null,8,[`value`]),a(y(M),{value:le.value,"onUpdate:value":r[54]||=e=>le.value=e,"input-props":{type:`email`,autocomplete:`email`},placeholder:`Почта капитана (необязательно)`,"aria-label":`Почта капитана (необязательно)`},null,8,[`value`]),a(y(K),{value:ue.value,"onUpdate:value":r[55]||=e=>ue.value=e,min:1,max:8,precision:0,placeholder:`Количество игроков`,"aria-label":`Количество игроков`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:oe.value,"onUpdate:show":r[61]||=e=>oe.value=e},{default:f(()=>[a(y(D),{style:{width:`600px`},title:`Удаление команды`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[58]||=e=>oe.value=!1},{default:f(()=>[...r[156]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[60]||=e=>Vn(),disabled:Pn.value!=Fn.value.name},{default:f(()=>[...r[159]||=[m(` Удалить `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[l(`p`,null,[r[157]||=m(` Введите название команды `,-1),a(y(L),{class:`name-text`,strong:``},{default:f(()=>[m(S(Fn.value.name),1)]),_:1}),r[158]||=m(` чтобы удалить его `,-1)]),a(y(M),{value:Pn.value,"onUpdate:value":r[59]||=e=>Pn.value=e,type:`text`,placeholder:`Три дебила`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:se.value,"onUpdate:show":r[65]||=e=>se.value=e},{default:f(()=>[a(y(D),{style:{width:`600px`},title:`Удаление игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[62]||=e=>se.value=!1},{default:f(()=>[...r[160]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[64]||=e=>Hn(),disabled:de.value!=V.value.name},{default:f(()=>[...r[163]||=[m(` Удалить `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[l(`p`,null,[r[161]||=m(` Введите название игры `,-1),a(y(L),{class:`name-text`,strong:``},{default:f(()=>[m(S(V.value.name),1)]),_:1}),r[162]||=m(` чтобы удалить её `,-1)]),a(y(M),{value:de.value,"onUpdate:value":r[63]||=e=>de.value=e,type:`text`,placeholder:`Дело №0 "Следствие ведут овечки"`},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:j.value,"onUpdate:show":r[69]||=e=>j.value=e},{default:f(()=>[a(y(D),{style:{width:`min(94vw, 700px)`},title:`Выпуск билетов`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[66]||=e=>j.value=!1},{default:f(()=>[...r[164]||=[m(` x `,-1)]]),_:1})]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[a(y(K),{value:he.value,"onUpdate:value":r[67]||=e=>he.value=e,min:1,max:100},null,8,[`value`]),a(y(k),{type:`primary`,loading:N.value,disabled:N.value,onClick:r[68]||=e=>Kn()},{default:f(()=>[...r[165]||=[m(` Выпустить `,-1)]]),_:1},8,[`loading`,`disabled`]),(u(!0),s(b,null,d(ge.value,e=>(u(),s(`div`,{key:e.ID,class:`issued-ticket`},[l(`div`,null,`Билет №`+S(e.ID),1),l(`a`,{href:e.URL,target:`_blank`,rel:`noreferrer`},`Открыть страницу билета`,8,It),a(y(k),{size:`small`,onClick:t=>Wn(e.URL,`Билет №${e.ID}`)},{default:f(()=>[...r[166]||=[m(` Показать QR `,-1)]]),_:1},8,[`onClick`])]))),128))]),_:1})]),_:1})]),_:1},8,[`show`]),a(y(O),{show:pe.value,"onUpdate:show":r[71]||=e=>pe.value=e},{default:f(()=>[a(y(D),{style:{width:`600px`},title:me.value,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`},{"header-extra":f(()=>[a(y(k),{onClick:r[70]||=e=>pe.value=!1},{default:f(()=>[...r[167]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[...r[168]||=[]]),default:f(()=>[a(y(F),{vertical:``},{default:f(()=>[l(`div`,Lt,[a(y(Se),{value:A.value,size:300,padding:0},null,8,[`value`])])]),_:1})]),_:1},8,[`title`])]),_:1},8,[`show`]),a(y(O),{show:Qn.value,"onUpdate:show":r[74]||=e=>Qn.value=e},{default:f(()=>[a(y(D),{style:{width:`min(94vw, 900px)`},title:`Ответы команд`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`,"content-style":{maxHeight:`70vh`,overflow:`auto`}},{"header-extra":f(()=>[a(y(k),{onClick:r[72]||=e=>Qn.value=!1},{default:f(()=>[...r[169]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[73]||=e=>pr(),disabled:rr.value.length==0},{default:f(()=>[...r[172]||=[m(` Сохранить баллы `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:f(()=>[rr.value.length==0?(u(),s(`div`,Rt,` Вопросы дела не заданы или команды ещё не отвечали. `)):e(``,!0),(u(!0),s(b,null,d(rr.value,e=>(u(),s(`div`,{key:e.code,class:`answers-question-block`},[l(`p`,zt,S(e.code)+`: `+S(e.text),1),l(`p`,Bt,[r[170]||=m(` Правильный ответ:`,-1),r[171]||=l(`br`,null,null,-1),l(`span`,Vt,S(e.answer||`—`),1)]),(u(!0),s(b,null,d(ir.value,t=>(u(),s(`div`,{key:t.team?.ID,class:`answers-team-row`},[l(`div`,Ht,S(t.team?.name),1),l(`div`,Ut,S(sr(t,e.code)||`—`),1),a(y(K),{value:ar.value[or(t.team?.ID,e.code)],"onUpdate:value":n=>cr(or(t.team?.ID,e.code),n),placeholder:`Балл`,class:`answers-score-input`},null,8,[`value`,`onUpdate:value`])]))),128))]))),128))]),_:1})]),_:1},8,[`show`]),a(y(O),{show:$n.value,"onUpdate:show":r[76]||=e=>$n.value=e},{default:f(()=>[a(y(D),{style:{width:`min(94vw, 800px)`},title:`Отзывы игры`,bordered:!1,size:`huge`,role:`dialog`,"aria-modal":`true`,"content-style":{maxHeight:`70vh`,overflow:`auto`}},{"header-extra":f(()=>[a(y(k),{onClick:r[75]||=e=>$n.value=!1},{default:f(()=>[...r[173]||=[m(` x `,-1)]]),_:1})]),default:f(()=>[a(y(I),{align:`center`,class:`reviews-summary`},{default:f(()=>[a(y(xe),{value:tr.value,readonly:``,"allow-half":``},null,8,[`value`]),l(`span`,null,S(nr.value?`${tr.value.toFixed(1)} · ${nr.value}`:`Пока нет отзывов`),1)]),_:1}),er.value.length==0?(u(),s(`div`,Wt,`Отзывов пока нет.`)):e(``,!0),(u(!0),s(b,null,d(er.value,n=>(u(),s(`div`,{key:n.ID,class:`review-row`},[a(y(I),{justify:`space-between`,align:`center`},{default:f(()=>[l(`strong`,null,S(n.teamName),1),a(y(_e),null,{default:f(()=>[m(S(n.status),1)]),_:2},1024)]),_:2},1024),a(y(xe),{value:n.rating,readonly:``,size:`small`},null,8,[`value`]),l(`div`,null,`Сложность: `+S([``,`лёгкая`,`средняя`,`тяжёлая`][n.difficulty||0]),1),l(`p`,null,S(n.text),1),n.status==`pending`?(u(),t(y(I),{key:0,justify:`end`},{default:f(()=>[a(y(k),{type:`success`,onClick:e=>fr(n,`approved`)},{default:f(()=>[...r[174]||=[m(`Одобрить`,-1)]]),_:1},8,[`onClick`]),a(y(k),{type:`error`,ghost:``,onClick:e=>fr(n,`rejected`)},{default:f(()=>[...r[175]||=[m(`Отклонить`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)):n.status==`approved`?(u(),t(y(I),{key:1,justify:`end`},{default:f(()=>[a(y(k),{type:`error`,ghost:``,onClick:e=>fr(n,`hidden`)},{default:f(()=>[...r[176]||=[m(`Скрыть`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)):e(``,!0)]))),128))]),_:1})]),_:1},8,[`show`]),a(Ee,{active:`games`})],64))}}),[[`__scopeId`,`data-v-7b98cffb`]]),Kt=o({__name:`GameView`,setup(e){return(e,n)=>(u(),t(Gt))}});export{Kt as default};