7 lines
57 KiB
JavaScript
7 lines
57 KiB
JavaScript
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-kKdWZY0W.js";import{t as O}from"./Modal-BhLTioba.js";import{t as ue}from"./use-merged-state-ByR-vZB2.js";import{n as de,t as k}from"./Button-WPexDTO1.js";import{t as fe}from"./Select-AJi7DRhz.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-B3nCeZnX.js";import{t as ge}from"./Add-2BconUTZ.js";import{t as M}from"./Input-Cfvxoe3L.js";import{t as N}from"./Remove-DahbCeLn.js";import{t as _e}from"./Tag-Cyj7OLg0.js";import{t as ve}from"./Alert-dDWZrYMw.js";import{n as ye,r as be,t as P}from"./es-C6VONkOl.js";import{t as F}from"./Space-BqLwuNa2.js";import{t as I}from"./Flex-DVfMf1kX.js";import{t as xe}from"./Rate-CP5wSCbE.js";import{t as Se}from"./QrCode-C77qvj1J.js";import{t as L}from"./text-C6aEsAtL.js";import{S as Ce,U as R,X as z,rt as we,tt as Te,w as Ee}from"./index-VgViCwpY.js";import{t as De}from"./HeaderMenu-BFaI3yw3.js";import{t as Oe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ke}from"./Settings-Buf1j0KY.js";import{t as Ae}from"./binary_client-DaOUTUH8.js";import{n as je,r as Me}from"./application-DXNAO2qx.js";import{t as Ne}from"./useSimplePolling-CNLkEswH.js";import{n as Pe,t as Fe}from"./datetime-BJNH0M1T.js";function Ie(e){let{textColorDisabled:t}=e;return{iconColorDisabled:t}}var Le=E({name:`InputNumber`,common:ce,peers:{Button:Ce,Input:Ee},self:Ie}),B=T([C(`input-number-suffix`,`
|
||
display: inline-block;
|
||
margin-right: 10px;
|
||
`),C(`input-number-prefix`,`
|
||
display: inline-block;
|
||
margin-left: 10px;
|
||
`)]);function Re(e){return e==null||typeof e==`string`&&e.trim()===``?null:Number(e)}function ze(e){return e.includes(`.`)&&(/^(-)?\d+.*(\.|0)$/.test(e)||/^-?\d*$/.test(e))||e===`-`||e===`-0`}function Be(e){return e==null?!0:!Number.isNaN(e)}function V(e,t){return typeof e==`number`?t===void 0?String(e):e.toFixed(t):``}function H(e){if(e===null)return null;if(typeof e==`number`)return e;{let t=Number(e);return Number.isNaN(t)?null:t}}var U=800,W=100,G=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`,B,Le,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=z(()=>{let{placeholder:t}=e;return t===void 0?o.value.placeholder:t}),y=z(()=>{let t=H(e.step);return t===null||t===0?1:Math.abs(t)}),b=z(()=>{let t=H(e.min);return t===null?null:t}),S=z(()=>{let t=H(e.max);return t===null?null:t}),C=()=>{let{value:t}=h;if(Be(t)){let{format:n,precision:r}=e;n?g.value=n(t):t===null||r===void 0||_(t)>r?g.value=V(t,void 0):g.value=V(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&&ze(a))return!1;let o=(e.parse||Re)(a);if(o===null)return n&&T(null),null;if(Be(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(Be(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=z(()=>E({offset:0,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})===!1),D=z(()=>{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=z(()=>{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()},W)},U),le(`mouseup`,document,F,{once:!0})}function L(){xe(),I=window.setTimeout(()=>{be=window.setInterval(()=>{me()},W)},U),le(`mouseup`,document,xe,{once:!0})}let Ce=()=>{be||me()},R=()=>{ye||j()};function we(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 Te(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 Ee={focus:()=>u.value?.focus(),blur:()=>u.value?.blur(),select:()=>u.value?.select()},De=oe(`InputNumber`,r,n);return Object.assign(Object.assign({},Ee),{rtlEnabled:De,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:Ce,handleMinusClick:R,handleAddMousedown:L,handleMinusMousedown:Se,handleKeyDown:we,handleUpdateDisplayedValue:Te,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(R,{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(R,{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)}))}}),Ve={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},He=o({name:`Flag`,render:function(e,t){return u(),s(`svg`,Ve,t[0]||=[l(`path`,{d:`M6 30H4V2h24l-5.8 9l5.8 9H6zm0-12h18.33l-4.53-7l4.53-7H6z`,fill:`currentColor`},null,-1)])}}),Ue={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},We=o({name:`Pause`,render:function(e,t){return u(),s(`svg`,Ue,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)])}}),Ge={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Ke=o({name:`Play`,render:function(e,t){return u(),s(`svg`,Ge,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)])}}),qe={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Je=o({name:`Reset`,render:function(e,t){return u(),s(`svg`,qe,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)])}}),Ye={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},Xe=o({name:`Trophy`,render:function(e,t){return u(),s(`svg`,Ye,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)])}}),Ze={key:0,class:`timer-preview`},Qe=[`src`],$e=[`src`],et={key:3,class:`preview-message`},tt={key:4,class:`preview-message`},K={key:5,class:`preview-message`},nt={key:6,class:`preview-message`},rt={key:7,class:`preview-results`},it=[`src`],at=Oe(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(()=>Me(n.state.introAudio)),ne=v(()=>Me(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`,Ze,[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,Qe)):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,$e)):t.state.mode===`SCREEN_MODE_CONCLUSION`?(u(),s(`div`,et,` Видео закрывашки не задано `)):t.state.mode===`SCREEN_MODE_INTRO_DONE`?(u(),s(`div`,tt,`Успехов`)):t.state.mode===`SCREEN_MODE_CONCLUSION_DONE`?(u(),s(`div`,K,` Спасибо за игру! `)):t.state.mode===`SCREEN_MODE_TEXT`?(u(),s(`div`,nt,S(t.state.text),1)):t.state.mode===`SCREEN_MODE_RESULTS`?(u(),s(`div`,rt,[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,it)):e(``,!0)],4))}}),[[`__scopeId`,`data-v-d5134fb8`]]),ot={class:`center-block-custom`},st={class:`width1200`},ct={class:`settings-block`},lt={class:`screens-block`},ut={key:1,class:`screen-empty`},dt={class:`screen-status`},ft={key:0,class:`screen-error`},pt={class:`screen-plan`},mt={class:`map-preview-layout`},ht={class:`map-block`},gt=[`onPointerdown`],_t=[`onPointerdown`],vt={key:2},yt=[`onClick`],bt={class:`screen-preview-panel`},xt={key:1,class:`screen-preview-placeholder`},St={class:`team-content-block`},Ct={class:`title-block`},wt={class:`team-name-block`},Tt={key:0},Et={key:1},Dt={key:0},Ot={key:0},kt={key:1},At={key:2},jt={key:3},Mt={key:4},Nt={key:0,class:`give-application-image-block`},Pt=[`src`],Ft=[`src`],It=[`href`],Lt=[`href`],Rt={class:`qr-block`},zt={key:0,class:`answers-empty`},Bt={class:`answers-question-title`},Vt={class:`answers-question-answer`},Ht={class:`correct-answer`},Ut={class:`answers-team-name`},Wt={class:`answers-team-answer`},Gt={key:0,class:`answers-empty`},Kt=Oe(o({__name:`GamePage`,setup(n){let r=ye(),o=Ae(),_=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),Ce=p(!1),R=p(``),z=p(),Ee=p(!1),Oe=p(!1),Ie,Le=0,B=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}),Re=[{label:`Ожидает ответа`,value:`pending`},{label:`Подтверждено`,value:`confirmed`},{label:`Отменено`,value:`cancelled`}],ze=v(()=>(B.value.teams||[]).filter(e=>e.participationStatus!==`cancelled`).length),Be=v(()=>new Map((B.value.teams||[]).filter(e=>e.applications?.length).map(e=>[e.ID,e]))),V=p([]),H=p(),U=p([]),W=p(!1),Ve=p(!1),Ue=p([]),Ge=p([]),qe=p([]),Ye=p(!1),Ze=p(100),Qe=p(0),$e=p(10),et=p(`Перерыв`),tt=p(!1),K=v(()=>{let e=V.value.map(e=>e.mode).filter(Boolean);if(!(!e.length||e.some(t=>t!==e[0])))return e[0]}),nt=v(()=>V.value[0]),rt=v(()=>V.value.find(e=>e.status===`connected`)||V.value[0]),it=v(()=>V.value.some(e=>e.status===`disconnected`)),Kt=[{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`}],qt=v(()=>{switch(nt.value?.timerState){case`SCREEN_TIMER_STATE_RUNNING`:return`Идёт`;case`SCREEN_TIMER_STATE_PAUSED`:return`Пауза`;case`SCREEN_TIMER_STATE_FINISHED`:return`Завершён`;default:return`Остановлен`}}),Jt=v(()=>{let e=Math.max(0,nt.value?.timerRemainingSeconds||0);return`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`}),Yt=p(1),Xt=p({x:0,y:0}),q,Zt;async function J(e){let t=await r.GetGame({ID:e});B.value=t.game,B.value.teams=B.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})}J(Number(x));async function Y(){let e=await r.GetGameScreens({gameID:Number(x)});if(V.value=e.screens||[],!tt.value&&V.value[0]&&($e.value=Math.max(1,(V.value[0].timerDurationSeconds||600)/60),et.value=V.value[0].timerLabel||`Перерыв`,tt.value=!0),rt.value?.mode===`SCREEN_MODE_RESULTS`){let e=await r.GetGameResults({gameID:Number(x)});Ue.value=e.questions||[],Ge.value=e.teams||[]}else Ue.value=[],Ge.value=[]}Y();async function Qt(){if(W.value)return;let e=await r.GetScreenPlan({gameID:Number(x)});W.value||(H.value=e.plan,U.value=e.plan?.steps?.map(e=>({...e}))||[])}Qt();function $t(){U.value.push({mode:`SCREEN_MODE_TEXT`,text:`Новый экран`,timerLabel:`Перерыв`,timerDurationSeconds:600}),W.value=!0}function en(e){U.value.splice(e,1),W.value=!0}function tn(e,t){let n=e+t;if(n<0||n>=U.value.length)return;let[r]=U.value.splice(e,1);U.value.splice(n,0,r),W.value=!0}function nn(){W.value=!0}async function rn(){if(!Ve.value){Ve.value=!0;try{let e=Math.min(H.value?.currentStep||0,Math.max(0,U.value.length-1)),t=await r.SaveScreenPlan({gameID:Number(x),steps:U.value,currentStep:e});H.value=t.plan,U.value=t.plan?.steps?.map(e=>({...e}))||[],W.value=!1,await Y(),C.success(t.plan?`План экранов сохранён`:`План экранов удалён`)}catch(e){C.error(e instanceof Error?e.message:`Не удалось сохранить план экранов`)}finally{Ve.value=!1}}}async function an(e){if(!(W.value||!H.value))try{let t=await r.SetScreenPlanStep({gameID:Number(x),currentStep:e});H.value=t.plan,await Y()}catch(e){C.error(e instanceof Error?e.message:`Не удалось перейти на шаг плана`)}}async function X(e,t){if(!(W.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(Qe.value*1e3)),volume:Math.max(0,Math.min(100,Math.round(Ze.value)))}),await Y()}catch(e){C.error(e instanceof Error?e.message:`Не удалось управлять экраном`)}}function on(){cancelAnimationFrame(Le),Ie?.getTracks().forEach(e=>e.stop()),Ie=void 0,Oe.value=!1}function sn(){on(),Ce.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(!Ee.value){Ee.value=!0;try{await r.BindScreen({screenID:e,accessToken:t,gameID:Number(x)}),C.success(`Экран привязан к игре`),await Y(),sn()}catch(e){C.error(e instanceof Error?e.message:`Не удалось привязать экран`)}finally{Ee.value=!1}}}async function un(){let e=window.BarcodeDetector;if(!e||!navigator.mediaDevices?.getUserMedia){R.value=`Сканирование камерой не поддерживается в этом браузере.`,Ce.value=!0;return}Ce.value=!0,R.value=``;try{if(Ie=await navigator.mediaDevices.getUserMedia({video:{facingMode:`environment`}}),Oe.value=!0,await ee(),!z.value)return;z.value.srcObject=Ie,await z.value.play();let t=new e,n=async()=>{if(!(!z.value||!Ie))try{let e=(await t.detect(z.value))[0]?.rawValue;if(e){let t=cn(e);if(t){on(),await ln(t.screenID,t.accessToken);return}R.value=`Это не QR-код экрана.`}Le=requestAnimationFrame(n)}catch{R.value=`Не удалось распознать QR-код.`,on()}};Le=requestAnimationFrame(n)}catch{R.value=`Не удалось открыть камеру.`,on()}}async function dn(){if(q||Ye.value)return;let e=await r.GetGameMap({gameID:Number(x)});qe.value=e.items||[]}dn();async function fn(e,t=e.hidden){Ye.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{Ye.value=!1}}function pn(e,t){q={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(!q)return;let t=q.item.kind===`team`?20:1;q.item.x=Math.round((q.itemX+(e.clientX-q.startX)/Yt.value)/t)*t,q.item.y=Math.round((q.itemY+(e.clientY-q.startY)/Yt.value)/t)*t}async function hn(){if(!q)return;let e=q.item;q=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){Yt.value=Math.min(2,Math.max(.5,Number((Yt.value+e).toFixed(2))))}function vn(){Yt.value=1,Xt.value={x:0,y:0}}function yn(e){e.button===0&&(Zt={startX:e.clientX,startY:e.clientY,offsetX:Xt.value.x,offsetY:Xt.value.y},window.addEventListener(`pointermove`,bn),window.addEventListener(`pointerup`,xn,{once:!0}))}function bn(e){Zt&&(Xt.value={x:Zt.offsetX+e.clientX-Zt.startX,y:Zt.offsetY+e.clientY-Zt.startY})}function xn(){Zt=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 Y()}async function wn(e){await r.UnbindScreen({screenID:e.ID}),await Y()}async function Z(e){await r.SetScreenMode({gameID:Number(x),mode:e})}async function Tn(){let e=$e.value,t=et.value.trim();if(!e||e<=0||!t){C.error(`Укажите длительность и надпись таймера`);return}await r.SetScreenTimer({gameID:Number(x),durationSeconds:Math.round(e*60),label:t}),await Y()}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(Qe.value*1e3)),volume:Math.max(0,Math.min(100,Math.round(Ze.value)))})}async function En(e,t,n=!1){let r=`/team-story/`+e+`?password=`+t;if(n){window.open(r,`_blank`);return}re.push(r)}async function Dn(){if(!(_.value||!B.value.teams?.length)){_.value=!0;try{let{blob:e,filename:t}=await o.downloadTeamQR(B.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 On(){re.push(`/games/`+x+`/results`)}function kn(){w.value={name:B.value.name||``,description:B.value.description||``,format:B.value.format||`online`,location:B.value.location||``},ae.value=!0}function An(){ae.value=!1}async function jn(){await r.UpdateGame({ID:B.value.ID,name:w.value.name,description:w.value.description,format:w.value.format,location:w.value.location.trim(),startAt:B.value.startAt,scenarioID:B.value.scenario?.ID}),await J(B.value.ID),ae.value=!1}let Mn=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}),Nn=p(``),Pn=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:``}),Fn=window.location.href;function In(e,t){Mn.value=e,$.value=t,T.value=!0}async function Ln(){if(ue.value<1||ue.value>8){C.error(`Укажите от 1 до 8 игроков`);return}await r.AddTeam({gameID:B.value.ID,name:ce.value,captainEmail:le.value.trim(),participantsCount:ue.value}),await J(B.value.ID),E.value=!1,le.value=``,ue.value=1}async function Rn(){await r.GiveTeamApplications({ID:Mn.value.ID,name:$.value.name}),await J(B.value.ID),T.value=!1}async function zn(e){Pn.value=e,oe.value=!0}async function Bn(){await r.DeleteTeam({ID:Pn.value.ID}),await J(B.value.ID),oe.value=!1}async function Vn(){await r.DeleteGame({ID:B.value.ID}),C.success(`Игра удалена`),re.push(`/games`)}function Hn(e,t){return ne()+`/team-story/`+e+`?password=`+t}async function Un(e,t){A.value=e,me.value=t,pe.value=!0}function Wn(){he.value=1,ge.value=[],j.value=!0}async function Gn(){if(!(N.value||!B.value.ID)){N.value=!0;try{let e=await r.IssueGameTickets({gameID:B.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}}}Ne(()=>{J(Number(x)),Y(),Qt(),dn()},2e3),te(on);async function Kn(){await r.ResetGame({ID:B.value.ID}),await J(B.value.ID)}async function qn(){await r.StartGame({ID:B.value.ID}),await J(B.value.ID)}async function Jn(){await r.PauseGame({ID:B.value.ID}),await J(B.value.ID)}async function Yn(){await r.PlayGame({ID:B.value.ID}),await J(B.value.ID)}async function Xn(){await r.FinishGame({ID:B.value.ID}),await J(B.value.ID)}let Zn=p(!1),Qn=p(!1),$n=p([]),er=p(0),tr=p(0),nr=p([]),rr=p([]),ir=p({});function ar(e,t){return(e??``)+`:`+(t??``)}function or(e,t){return(e.answers||[]).find(e=>e.questionCode==t)?.answer||``}function sr(e,t){ir.value[e]=t===null?void 0:t}async function cr(){let e=await r.GetGameAnswers({gameID:Number(x)});nr.value=e.questions||[],rr.value=e.teams||[];let t={};for(let e of rr.value)for(let n of e.answers||[])t[ar(e.team?.ID,n.questionCode)]=n.score;ir.value=t}async function lr(){Zn.value=!0,await cr()}async function ur(){Qn.value=!0;let e=await r.GetGameReviewsForModeration({gameID:Number(x)});$n.value=e.reviews||[],er.value=e.averageRating||0,tr.value=e.reviewsCount||0}async function dr(e,t){await r.ModerateGameReview({ID:e.ID,status:t}),await ur()}async function fr(){for(let e of nr.value)for(let t of rr.value){let n=ir.value[ar(t.team?.ID,e.code)];await r.SetTeamAnswerScore({ID:t.team?.ID,questionCode:e.code,score:n??void 0})}C.success(`Баллы сохранены`),await cr()}function pr(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4)}function mr(e,t){if(e==``)return`Игра ещё не началась`;let n=Pe(e),r=pr();t!=``&&(r=Pe(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 hr=p(``);return Ne(()=>{hr.value=mr(B.value.startedAt||``,B.value.endedAt||``)},1e3),(n,r)=>(u(),s(b,null,[l(`div`,ot,[l(`div`,st,[l(`div`,ct,[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(ze.value),1)]),_:1}),a(y(_e),{type:`info`},{default:f(()=>[m(S(hr.value),1)]),_:1}),y(Fe)(B.value.startAt)?(u(),t(y(_e),{key:0,type:`info`},{default:f(()=>[m(` Начало: `+S(y(Fe)(B.value.startAt)),1)]),_:1})):e(``,!0)]),_:1}),a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{quaternary:``,onClick:r[0]||=e=>Un(y(Fn),`Админка`)},{default:f(()=>[...r[77]||=[m(` QR `,-1)]]),_:1}),a(y(k),{quaternary:``,onClick:r[1]||=e=>Wn()},{default:f(()=>[...r[78]||=[m(` Выпустить билеты `,-1)]]),_:1}),a(y(k),{quaternary:``,onClick:r[2]||=e=>lr()},{default:f(()=>[...r[79]||=[m(` Ответы команд `,-1)]]),_:1}),B.value.status==`finish`?(u(),t(y(k),{key:0,quaternary:``,onClick:r[3]||=e=>On()},{default:f(()=>[a(y(P),{class:`settings-icon`},{default:f(()=>[a(y(Xe))]),_:1}),r[80]||=m(` Итоги `,-1)]),_:1})):e(``,!0),ze.value?(u(),t(y(k),{key:1,quaternary:``,loading:_.value,disabled:_.value,onClick:r[4]||=e=>Dn()},{default:f(()=>[...r[81]||=[m(` QR команд `,-1)]]),_:1},8,[`loading`,`disabled`])):e(``,!0),a(y(k),{quaternary:``,onClick:r[5]||=e=>kn()},{default:f(()=>[a(y(P),{class:`settings-icon`},{default:f(()=>[a(y(ke))]),_:1}),r[82]||=m(` Настройки `,-1)]),_:1}),(B.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(()=>[B.value.status==`draft`?e(``,!0):(u(),t(y(k),{key:0,type:`info`,dashed:``,onClick:r[7]||=e=>Kn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Je))]),_:1})]),_:1})),B.value.status==`draft`?(u(),t(y(k),{key:1,type:`info`,dashed:``,onClick:r[8]||=e=>qn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Ke))]),_:1})]),_:1})):e(``,!0),B.value.status==`pause`?(u(),t(y(k),{key:2,type:`info`,dashed:``,onClick:r[9]||=e=>Yn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(Ke))]),_:1})]),_:1})):e(``,!0),B.value.status==`run`?(u(),t(y(k),{key:3,type:`info`,dashed:``,onClick:r[10]||=e=>Jn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(We))]),_:1})]),_:1})):e(``,!0),B.value.status==`finish`?e(``,!0):(u(),t(y(k),{key:4,type:`info`,dashed:``,onClick:r[11]||=e=>Xn()},{default:f(()=>[a(y(P),null,{default:f(()=>[a(y(He))]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),l(`div`,lt,[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}),it.value?(u(),t(y(ve),{key:0,type:`warning`,title:`Проверьте подключение экрана`},{default:f(()=>[...r[86]||=[m(` Один или несколько экранов не выходят на связь более минуты. `,-1)]]),_:1})):e(``,!0),V.value.length===0?(u(),s(`p`,ut,`К игре пока не привязаны экраны.`)):(u(),s(b,{key:2},[(u(!0),s(b,null,d(V.value,n=>(u(),s(`div`,{key:n.ID,class:`screen-row`},[l(`div`,null,[l(`div`,null,`Экран `+S(n.ID),1),l(`div`,dt,S(n.status===`connected`?`Онлайн`:`Оффлайн`),1),n.error?(u(),s(`div`,ft,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)),!H.value&&!W.value?(u(),s(b,{key:0},[a(y(F),{class:`screen-mode-controls`},{default:f(()=>[a(y(k),{size:`small`,type:K.value===`SCREEN_MODE_COVER`?`primary`:`default`,onClick:r[12]||=e=>Z(`SCREEN_MODE_COVER`)},{default:f(()=>[...r[90]||=[m(`Обложка`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:K.value===`SCREEN_MODE_INTRO`?`primary`:`default`,onClick:r[13]||=e=>Z(`SCREEN_MODE_INTRO`)},{default:f(()=>[...r[91]||=[m(`Введение`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:K.value===`SCREEN_MODE_INTRO_DONE`?`primary`:`default`,onClick:r[14]||=e=>Z(`SCREEN_MODE_INTRO_DONE`)},{default:f(()=>[...r[92]||=[m(`Успехов`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:K.value===`SCREEN_MODE_CONCLUSION`?`primary`:`default`,onClick:r[15]||=e=>Z(`SCREEN_MODE_CONCLUSION`)},{default:f(()=>[...r[93]||=[m(`Закрывашка`,-1)]]),_:1},8,[`type`]),a(y(k),{size:`small`,type:K.value===`SCREEN_MODE_CONCLUSION_DONE`?`primary`:`default`,onClick:r[16]||=e=>Z(`SCREEN_MODE_CONCLUSION_DONE`)},{default:f(()=>[...r[94]||=[m(`Спасибо за игру!`,-1)]]),_:1},8,[`type`]),B.value.status===`finish`?(u(),t(y(k),{key:0,size:`small`,type:K.value===`SCREEN_MODE_RESULTS`?`primary`:`default`,onClick:r[17]||=e=>Z(`SCREEN_MODE_RESULTS`)},{default:f(()=>[...r[95]||=[m(`Результаты`,-1)]]),_:1},8,[`type`])):e(``,!0),a(y(k),{type:K.value===`SCREEN_MODE_TIMER`?`primary`:`default`,onClick:r[18]||=e=>Z(`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(G),{value:$e.value,"onUpdate:value":r[19]||=e=>$e.value=e,min:1,max:1440,step:1,size:`small`,placeholder:`Минуты`},null,8,[`value`]),a(y(M),{value:et.value,"onUpdate:value":r[20]||=e=>et.value=e,size:`small`,placeholder:`Надпись таймера`},null,8,[`value`]),a(y(k),{size:`small`,onClick:Tn},{default:f(()=>[...r[97]||=[m(`Настроить таймер`,-1)]]),_:1}),a(y(_e),{type:`info`},{default:f(()=>[m(S(qt.value)+` · `+S(Jt.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(G),{value:Ze.value,"onUpdate:value":r[30]||=e=>Ze.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(G),{value:Qe.value,"onUpdate:value":r[32]||=e=>Qe.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`,pt,[a(y(I),{align:`center`,justify:`space-between`},{default:f(()=>[r[113]||=l(`p`,{class:`screens-title`},`План экранов`,-1),a(y(F),null,{default:f(()=>[!H.value&&!W.value?(u(),t(y(k),{key:0,size:`small`,onClick:$t},{default:f(()=>[...r[111]||=[m(` Создать план `,-1)]]),_:1})):e(``,!0),H.value||W.value?(u(),t(y(k),{key:1,size:`small`,type:`primary`,loading:Ve.value,onClick:rn},{default:f(()=>[...r[112]||=[m(` Сохранить план `,-1)]]),_:1},8,[`loading`])):e(``,!0)]),_:1})]),_:1}),H.value||W.value?(u(),s(b,{key:0},[(u(!0),s(b,null,d(U.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,nn],options:Kt,size:`small`,style:{width:`180px`}},null,8,[`value`,`onUpdate:value`]),n.mode===`SCREEN_MODE_TEXT`?(u(),t(y(M),{key:0,value:n.text,"onUpdate:value":[e=>n.text=e,nn],size:`small`,placeholder:`Текст экрана`,style:{"min-width":`240px`}},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,nn],size:`small`,placeholder:`Надпись таймера`},null,8,[`value`,`onUpdate:value`]),a(y(G),{value:n.timerDurationSeconds,"onUpdate:value":[e=>n.timerDurationSeconds=e,nn],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=>tn(i,-1)},{default:f(()=>[...r[114]||=[m(`↑`,-1)]]),_:1},8,[`disabled`,`onClick`]),a(y(k),{size:`small`,disabled:i===U.value.length-1,onClick:e=>tn(i,1)},{default:f(()=>[...r[115]||=[m(` ↓ `,-1)]]),_:1},8,[`disabled`,`onClick`]),a(y(k),{size:`small`,type:`error`,ghost:``,onClick:e=>en(i)},{default:f(()=>[...r[116]||=[m(` Удалить `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,type:H.value?.currentStep===i?`primary`:`default`,disabled:W.value||H.value?.currentStep===i,onClick:e=>an(i)},{default:f(()=>[...r[117]||=[m(` Показать `,-1)]]),_:1},8,[`type`,`disabled`,`onClick`]),H.value?.currentStep===i&&!W.value?(u(),s(b,{key:2},[n.mode===`SCREEN_MODE_TIMER`?(u(),s(b,{key:0},[a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_TIMER_START`)},{default:f(()=>[...r[118]||=[m(` Старт `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_TIMER_PAUSE`)},{default:f(()=>[...r[119]||=[m(` Пауза `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_TIMER_RESUME`)},{default:f(()=>[...r[120]||=[m(` Продолжить `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(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=>X(n.mode,`SCREEN_COMMAND_PLAY`)},{default:f(()=>[...r[122]||=[m(` Запуск `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_PAUSE`)},{default:f(()=>[...r[123]||=[m(` Пауза `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_RESUME`)},{default:f(()=>[...r[124]||=[m(` Продолжить `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_STOP`)},{default:f(()=>[...r[125]||=[m(` Стоп `,-1)]]),_:1},8,[`onClick`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_REPLAY`)},{default:f(()=>[...r[126]||=[m(` Повтор `,-1)]]),_:1},8,[`onClick`]),a(y(G),{value:Ze.value,"onUpdate:value":r[34]||=e=>Ze.value=e,min:0,max:100,step:5,size:`small`},null,8,[`value`]),a(y(k),{size:`small`,onClick:e=>X(n.mode,`SCREEN_COMMAND_VOLUME`)},{default:f(()=>[...r[127]||=[m(` Громкость `,-1)]]),_:1},8,[`onClick`]),a(y(G),{value:Qe.value,"onUpdate:value":r[35]||=e=>Qe.value=e,min:0,step:5,size:`small`},null,8,[`value`]),a(y(k),{size:`small`,onClick:e=>X(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:$t},{default:f(()=>[...r[129]||=[m(`Добавить шаг`,-1)]]),_:1}),U.value.length?(u(),t(y(k),{key:0,size:`small`,onClick:r[36]||=e=>{U.value=[],nn()}},{default:f(()=>[...r[130]||=[m(` Удалить план `,-1)]]),_:1})):e(``,!0)]),_:1})],64)):e(``,!0)])],64))]),l(`div`,mt,[l(`div`,ht,[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(Yt.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(${Xt.value.x}px, ${Xt.value.y}px) scale(${Yt.value})`})},[(u(!0),s(b,null,d(qe.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`&&Be.value.has(n.itemID)}]]),style:c({left:`${n.x||0}px`,top:`${n.y||0}px`}),onPointerdown:we(e=>n.kind!==`team`&&pn(n,e),[`stop`])},[n.kind===`team`?(u(),s(`div`,{key:0,class:`map-team-handle`,onPointerdown:we(e=>pn(n,e),[`stop`])},null,40,_t)):e(``,!0),l(`span`,null,S(n.label),1),n.kind===`team`&&Be.value.has(n.itemID)?(u(),t(y(F),{key:1,class:`map-team-applications`,vertical:``},{default:f(()=>[(u(!0),s(b,null,d(Be.value.get(n.itemID)?.applications,e=>(u(),t(y(k),{key:e.name,size:`small`,onClick:t=>In(Be.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`,vt,S(n.status)+S(n.soundEnabled?` · звук`:``),1)):e(``,!0),l(`button`,{class:`map-item-hide`,type:`button`,onPointerdown:r[39]||=we(()=>{},[`stop`]),onClick:we(e=>gn(n),[`stop`])},` × `,40,yt)],46,gt)),[[Te,!n.hidden]])),128))],4)],32),qe.value.some(e=>e.hidden)?(u(),t(y(F),{key:0,class:`map-hidden-items`},{default:f(()=>[(u(!0),s(b,null,d(qe.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`,bt,[r[135]||=l(`p`,{class:`screens-title`},`Превью экрана`,-1),rt.value?.status===`connected`?(u(),t(at,{key:0,state:rt.value,questions:Ue.value,teams:Ge.value},null,8,[`state`,`questions`,`teams`])):(u(),s(`div`,xt,`Экран не подключён`))])]),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(B.value.teams,n=>(u(),s(`div`,{key:n.ID,class:`team-block`},[l(`div`,St,[a(y(I),{justify:`space-between`},{default:f(()=>[l(`div`,Ct,[l(`span`,wt,[m(S(n.name)+` `,1),n.captainEmail?(u(),s(`small`,Tt,` — `+S(n.captainEmail),1)):e(``,!0),n.participantsCount?(u(),s(`small`,Et,` · Участников: `+S(n.participantsCount),1)):e(``,!0)]),n.captainEmail||n.participationStatus!==`pending`?(u(),s(`div`,Dt,[m(S(Re.find(e=>e.value===n.participationStatus)?.label),1),n.participationSource===`automatic`?(u(),s(`span`,Ot,` · автоматически`)):e(``,!0)])):e(``,!0),n.captainEmail?n.participationEmailError?(u(),s(`div`,At,` Ошибка отправки: `+S(n.participationEmailError),1)):n.participationEmailSent?(u(),s(`div`,jt,`Письмо отправлено`)):e(``,!0):(u(),s(`div`,kt,`Почта капитана не указана`)),n.participationStatus===`cancelled`?e(``,!0):(u(),s(`div`,Mt,` Поездки: `+S(n.actionsCount),1))]),a(y(I),{justify:`end`},{default:f(()=>[n.participationStatus===`cancelled`?e(``,!0):(u(),t(y(k),{key:0,onClick:e=>Un(Hn(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=>En(n.ID,n.password,!0)},{default:f(()=>[...r[138]||=[m(` Подсмотреть игру `,-1)]]),_:1},8,[`onClick`])),a(y(k),{type:`error`,ghost:``,onClick:e=>zn(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=>In(n,e)},{default:f(()=>[m(` Выдать: `+S(e.name),1)]),_:2},1032,[`onClick`]))),128))])]))),128))])]),a(y(O),{show:Ce.value,"onUpdate:show":r[41]||=e=>Ce.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:z,class:`screen-scanner-video`,muted:``,playsinline:``},null,512),R.value?(u(),t(y(ve),{key:0,type:`error`},{default:f(()=>[m(S(R.value),1)]),_:1})):e(``,!0),!Oe.value&&!Ee.value?(u(),t(y(k),{key:1,type:`primary`,onClick:un},{default:f(()=>[...r[141]||=[m(` Сканировать QR-код `,-1)]]),_:1})):e(``,!0),Oe.value?(u(),t(y(k),{key:2,onClick:on},{default:f(()=>[...r[142]||=[m(`Остановить камеру`,-1)]]),_:1})):e(``,!0),Ee.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=>An()},{default:f(()=>[...r[144]||=[m(` x `,-1)]]),_:1})]),footer:f(()=>[a(y(I),{justify:`end`},{default:f(()=>[a(y(k),{onClick:r[47]||=e=>jn(),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=>Rn(),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(Mn.value.name),1),r[152]||=l(`p`,null,`Улика`,-1),l(`h3`,null,S($.value.name),1),y(je)($.value)==`image`&&$.value.image?(u(),s(`div`,Nt,[l(`img`,{src:y(Me)($.value.image),class:`give-application-image`},null,8,Pt)])):y(je)($.value)==`audio`&&$.value.image?(u(),s(`audio`,{key:1,src:y(Me)($.value.image),controls:``,preload:`none`,class:`give-application-audio`},null,8,Ft)):y(je)($.value)==`pdf`&&$.value.image?(u(),s(`a`,{key:2,href:y(Me)($.value.image),target:`_blank`,rel:`noopener`,class:`give-application-pdf-link`},` PDF `,8,It)):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=>Ln(),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(G),{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=>Bn(),disabled:Nn.value!=Pn.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(Pn.value.name),1)]),_:1}),r[158]||=m(` чтобы удалить его `,-1)]),a(y(M),{value:Nn.value,"onUpdate:value":r[59]||=e=>Nn.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=>Vn(),disabled:de.value!=B.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(B.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(G),{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=>Gn()},{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,Lt),a(y(k),{size:`small`,onClick:t=>Un(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`,Rt,[a(y(Se),{value:A.value,size:300,padding:0},null,8,[`value`])])]),_:1})]),_:1},8,[`title`])]),_:1},8,[`show`]),a(y(O),{show:Zn.value,"onUpdate:show":r[74]||=e=>Zn.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=>Zn.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=>fr(),disabled:nr.value.length==0},{default:f(()=>[...r[172]||=[m(` Сохранить баллы `,-1)]]),_:1},8,[`disabled`])]),_:1})]),default:f(()=>[nr.value.length==0?(u(),s(`div`,zt,` Вопросы дела не заданы или команды ещё не отвечали. `)):e(``,!0),(u(!0),s(b,null,d(nr.value,e=>(u(),s(`div`,{key:e.code,class:`answers-question-block`},[l(`p`,Bt,S(e.code)+`: `+S(e.text),1),l(`p`,Vt,[r[170]||=m(` Правильный ответ:`,-1),r[171]||=l(`br`,null,null,-1),l(`span`,Ht,S(e.answer||`—`),1)]),(u(!0),s(b,null,d(rr.value,t=>(u(),s(`div`,{key:t.team?.ID,class:`answers-team-row`},[l(`div`,Ut,S(t.team?.name),1),l(`div`,Wt,S(or(t,e.code)||`—`),1),a(y(G),{value:ir.value[ar(t.team?.ID,e.code)],"onUpdate:value":n=>sr(ar(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:Qn.value,"onUpdate:show":r[76]||=e=>Qn.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=>Qn.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:er.value,readonly:``,"allow-half":``},null,8,[`value`]),l(`span`,null,S(tr.value?`${er.value.toFixed(1)} · ${tr.value}`:`Пока нет отзывов`),1)]),_:1}),$n.value.length==0?(u(),s(`div`,Gt,`Отзывов пока нет.`)):e(``,!0),(u(!0),s(b,null,d($n.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=>dr(n,`approved`)},{default:f(()=>[...r[174]||=[m(`Одобрить`,-1)]]),_:1},8,[`onClick`]),a(y(k),{type:`error`,ghost:``,onClick:e=>dr(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=>dr(n,`hidden`)},{default:f(()=>[...r[176]||=[m(`Скрыть`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)):e(``,!0)]))),128))]),_:1})]),_:1},8,[`show`]),a(De,{active:`games`})],64))}}),[[`__scopeId`,`data-v-1c9200d9`]]),qt=o({__name:`GameView`,setup(e){return(e,n)=>(u(),t(Kt))}});export{qt as default}; |