import{At as e,Bn as t,Cn as n,Ct as r,Gt as i,Jt as a,Kt as o,St as s,Tt as c,Vn as l,Xt as u,gt as d,in as f,vn as p,wt as m,xt as h,zn as g}from"./client-DrrW410h.js";import{t as _}from"./_plugin-vue_export-helper-2ZWAS1ss.js";import{t as v}from"./QrCode-BtvoRbPn.js";import{r as y}from"./application-Dx7AOLHI.js";var b=[{value:`SCREEN_TIMER_TYPE_BREAK`,label:`Перерыв`},{value:`SCREEN_TIMER_TYPE_BEFORE_GAME`,label:`До начала игры`},{value:`SCREEN_TIMER_TYPE_UNTIL_END`,label:`До конца игры`}];function x(e,t,n){let r=b.find(e=>e.value===(t??`SCREEN_TIMER_TYPE_BREAK`)).label;return!e?.trim()||e===r?b.find(e=>e.value===n).label:e}function S(e=``,t=``){try{let n=new URL(e);return/^https?:\/\/[^/\\\s?#]/.test(e)&&[`http:`,`https:`].includes(n.protocol)&&!!n.hostname&&!n.username&&!n.password&&e===e.trim()&&new TextEncoder().encode(e).length<=2048&&new TextEncoder().encode(t).length<=1e4}catch{return!1}}var C={key:0,class:`timer-preview`},w={key:1,class:`preview-message`},T=[`src`,`autoplay`,`loop`],E={key:3,class:`preview-message`},D={key:4,class:`preview-message`},O={key:5,class:`preview-qr`},k={key:1},A={key:2},j={key:6,class:`preview-team-list`},M={key:0,class:`preview-message`},N={key:2,class:`preview-message`},P={key:7,class:`preview-results`},F=[`src`],I={key:9,class:`preview-message`},L=_(e({__name:`ScreenPreview`,props:{state:{},questions:{},teams:{},teamNames:{},isThumbnail:{type:Boolean}},setup(e){let _=e,b=h(()=>Math.max(1,_.teamNames?.length??0)),x=p(Date.now()),L=p(0),R=p(Date.now()),z=p(),B=null,V=h(()=>{let e=_.state.backgroundImage||_.state.coverImage;return e?{backgroundImage:`linear-gradient(rgb(0 0 0 / 55%), rgb(0 0 0 / 55%)), url("${e}")`}:{}}),H=h(()=>_.state.timerState===`SCREEN_TIMER_STATE_RUNNING`?Math.max(0,L.value-(x.value-R.value)/1e3):L.value),U=h(()=>{let e=Math.floor(H.value/60),t=Math.floor(H.value%60);return`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`}),W=h(()=>y(_.state.introAudio)),G=h(()=>y(_.state.conclusionVideo));return f(()=>[_.state.timerRemainingSeconds,_.state.timerState,_.state.stateVersion],()=>{let e=Math.max(0,Number(_.state.timerRemainingSeconds||0));if(_.state.timerState===`SCREEN_TIMER_STATE_RUNNING`&&z.value===_.state.timerState){let t=Math.max(0,L.value-(Date.now()-R.value)/1e3);if(Math.abs(e-t)<=.5)return}L.value=e,R.value=Date.now(),z.value=_.state.timerState},{immediate:!0}),i(()=>{_.isThumbnail||(B=window.setInterval(()=>{x.value=Date.now()},250))}),o(()=>{B!=null&&window.clearInterval(B)}),(i,o)=>(a(),c(`div`,{class:g([`screen-preview`,{"screen-thumbnail":e.isThumbnail}]),style:t(V.value)},[e.state.mode===`SCREEN_MODE_TIMER`?(a(),c(`div`,C,[s(`h2`,null,l(e.state.timerLabel||`Перерыв`),1),s(`strong`,null,l(U.value),1)])):e.state.mode===`SCREEN_MODE_INTRO`?(a(),c(`div`,w,l(W.value?`Аудиозапись введения`:`Введение не задано`),1)):e.state.mode===`SCREEN_MODE_CONCLUSION`&&G.value?(a(),c(`video`,{key:2,src:G.value,autoplay:!e.isThumbnail,preload:`metadata`,class:`preview-video`,loop:!e.isThumbnail,muted:``,playsinline:``},null,8,T)):e.state.mode===`SCREEN_MODE_CONCLUSION`?(a(),c(`div`,E,` Видео закрывашки не задано `)):e.state.mode===`SCREEN_MODE_TEXT`?(a(),c(`div`,D,l(e.state.text),1)):e.state.mode===`SCREEN_MODE_QR`?(a(),c(`div`,O,[n(S)(e.state.qrUrl)?(a(),r(n(v),{key:0,value:e.state.qrUrl,size:512,padding:24},null,8,[`value`])):(a(),c(`span`,k,`Укажите ссылку для QR-кода`)),e.state.text?(a(),c(`p`,A,l(e.state.text),1)):m(``,!0)])):e.state.mode===`SCREEN_MODE_TEAMS`?(a(),c(`div`,j,[e.teamNames?e.teamNames.length?(a(),c(`div`,{key:1,class:`team-names`,style:t({gridTemplateRows:`repeat(${b.value}, minmax(0, 1fr))`,fontSize:`min(${22.5/b.value}cqw, 5cqw)`})},[(a(!0),c(d,null,u(e.teamNames,(e,t)=>(a(),c(`p`,{key:t},l(e),1))),128))],4)):(a(),c(`p`,N,`Команды пока не зарегистрированы`)):(a(),c(`p`,M,`Список команд ещё не загружен`))])):e.state.mode===`SCREEN_MODE_RESULTS`?(a(),c(`div`,P,[o[4]||=s(`h2`,null,`Результаты`,-1),s(`table`,null,[s(`thead`,null,[s(`tr`,null,[o[0]||=s(`th`,null,`Место`,-1),o[1]||=s(`th`,null,`Команда`,-1),(a(!0),c(d,null,u(e.questions,e=>(a(),c(`th`,{key:e.code},l(e.code),1))),128)),o[2]||=s(`th`,null,`Сумма`,-1),o[3]||=s(`th`,null,`Ходы`,-1)])]),s(`tbody`,null,[(a(!0),c(d,null,u(e.teams,t=>(a(),c(`tr`,{key:t.team?.ID},[s(`td`,null,l(t.place),1),s(`td`,null,l(t.team?.name),1),(a(!0),c(d,null,u(e.questions,e=>(a(),c(`td`,{key:e.code},l(t.answers?.find(t=>t.questionCode===e.code)?.score??0),1))),128)),s(`td`,null,l(t.totalScore),1),s(`td`,null,l(t.actionsCount),1)]))),128))])])])):e.state.coverImage?(a(),c(`img`,{key:8,src:e.state.coverImage,alt:`Обложка дела`,class:`preview-cover`},null,8,F)):(a(),c(`div`,I,l(e.state.gameName||`Обложка не задана`),1))],6))}}),[[`__scopeId`,`data-v-aa93ec4e`]]);export{S as i,x as n,b as r,L as t};