1 line
5.1 KiB
JavaScript
1 line
5.1 KiB
JavaScript
import{Ct as e,D as t,E as ee,M as n,N as r,O as i,Q as a,T as o,Vt as s,X as c,j as l,l as u,st as d,u as te,vt as f,w as p,y as m,zt as ne}from"./client-CmW03vy2.js";import{t as h}from"./Button-DuLGZXNV.js";import{n as g,r as re,t as _}from"./es-BkmQwXAV.js";import{t as v}from"./Flex-BPsxaSAU.js";import{t as ie}from"./index-DVruj17R.js";import{t as ae}from"./HeaderMenu-CYpYLGGt.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";var b={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},oe=r({name:`TrophyFilled`,render:function(e,t){return c(),i(`svg`,b,t[0]||=[o(`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-2V9h2zm18-2a2.002 2.002 0 0 1-2 2V9h2z`,fill:`currentColor`},null,-1)])}}),x={class:`center-block-custom`},S={class:`width1200`},C={class:`page-header`},se={key:0,class:`game-name`},w={key:0,class:`winner-block`},T={class:`winner-cup`,"aria-hidden":`true`},E={class:`winner-label`},D={class:`winner-names`},O={class:`winner-stats`},k={key:1,class:`info-block`},A={key:2,class:`info-block`},j={class:`info-title`},M={key:3,class:`info-block`},N={key:4,class:`table-scroll`},P={class:`results-table`},F=[`title`],I={class:`question-text`},L={class:`place-col`},R={key:1,class:`place-plain`},z={class:`team-col`},B={class:`number-col`},V={class:`number-col`},H=y(r({__name:`GameResultsPage`,setup(ee){let r=g(),y=ie(),b=re(),H=u(),U=te(),W=H.params.id,G=f(!1),K=f(!1),q=f(``),J=f(!1),Y=f(!1),X=f([]),Z=f([]),Q=f(``);async function ce(){G.value=!1,K.value=!1,Y.value=!1,J.value=!1;try{let e=await r.GetGameResults({gameID:Number(W)});X.value=e.questions||[],Z.value=e.teams||[],G.value=!0}catch{y.isAuthenticated?(q.value=`Не удалось загрузить результаты`,b.error(q.value),J.value=!0,K.value=!0):Y.value=!0}}ce();async function le(){try{let e=await r.GetGame({ID:Number(W)});Q.value=e.game?.name||``}catch{}}le();function ue(e,t){return(e.answers||[]).find(e=>e.questionCode==t)?.score??`—`}let $=p(()=>{let e=Z.value.map(e=>e.place).filter(e=>e!=null);if(e.length==0)return[];let t=Math.min(...e);return Z.value.filter(e=>e.place===t)}),de=p(()=>$.value.length>1?`Победители`:`Победитель`),fe=p(()=>{let e=$.value.map(e=>e.team?.name||``).filter(e=>e!=``);return e.length<=1?e[0]||``:e.length==2?e[0]+` и `+e[1]:e.slice(0,-1).join(`, `)+` и `+e[e.length-1]});function pe(){U.push(`/login`)}function me(){y.logout(),U.push(`/login`)}function he(){if(window.history.state?.back){U.back();return}U.push(`/games`)}return(ee,r)=>(c(),i(m,null,[o(`div`,x,[o(`div`,S,[o(`div`,C,[n(e(v),{justify:`space-between`,align:`center`},{default:d(()=>[o(`div`,null,[r[0]||=o(`div`,{class:`page-title`},`Итоги игры`,-1),Q.value?(c(),i(`div`,se,s(Q.value),1)):t(``,!0)]),n(e(h),{quaternary:``,onClick:he},{default:d(()=>[...r[1]||=[l(`Назад`,-1)]]),_:1})]),_:1})]),G.value&&$.value.length>0?(c(),i(`div`,w,[o(`span`,T,[n(e(_),{size:`56`},{default:d(()=>[n(e(oe))]),_:1})]),o(`div`,E,s(de.value),1),o(`div`,D,s(fe.value),1),o(`div`,O,` Баллы: `+s($.value[0]?.totalScore??0)+` · Поездки: `+s($.value[0]?.actionsCount??0),1),r[2]||=o(`div`,{class:`winner-congrats`},`Поздравляем!`,-1)])):t(``,!0),Y.value?(c(),i(`div`,k,[r[4]||=o(`p`,{class:`info-title`},`Для просмотра итогов игры нужно войти в систему`,-1),n(e(v),{justify:`end`},{default:d(()=>[n(e(h),{onClick:pe},{default:d(()=>[...r[3]||=[l(`Войти`,-1)]]),_:1})]),_:1})])):K.value?(c(),i(`div`,A,[o(`p`,j,s(q.value),1),J.value?(c(),i(m,{key:0},[r[6]||=o(`p`,{class:`info-subtitle`},`Сессия могла истечь — попробуйте войти заново`,-1),n(e(v),{justify:`end`},{default:d(()=>[n(e(h),{onClick:me},{default:d(()=>[...r[5]||=[l(`Войти заново`,-1)]]),_:1})]),_:1})],64)):t(``,!0)])):G.value&&Z.value.length==0?(c(),i(`div`,M,[...r[7]||=[o(`p`,{class:`info-title`},`Результаты пока не готовы`,-1)]])):G.value?(c(),i(`div`,N,[o(`table`,P,[o(`thead`,null,[o(`tr`,null,[r[8]||=o(`th`,{class:`place-col`},`Место`,-1),r[9]||=o(`th`,{class:`team-col`},`Команда`,-1),(c(!0),i(m,null,a(X.value,e=>(c(),i(`th`,{key:e.code,class:`question-col`,title:e.text},[o(`div`,I,s(e.text),1)],8,F))),128)),r[10]||=o(`th`,{class:`number-col`},`Сумма`,-1),r[11]||=o(`th`,{class:`number-col`},`Поездки`,-1)])]),o(`tbody`,null,[(c(!0),i(m,null,a(Z.value,e=>(c(),i(`tr`,{key:e.team?.ID},[o(`td`,L,[e.place!=null&&e.place>=1&&e.place<=3?(c(),i(`span`,{key:0,class:ne([`place-badge`,`place-`+e.place])},s(e.place),3)):(c(),i(`span`,R,s(e.place),1))]),o(`td`,z,s(e.team?.name),1),(c(!0),i(m,null,a(X.value,t=>(c(),i(`td`,{key:t.code,class:`number-col`},s(ue(e,t.code)),1))),128)),o(`td`,B,s(e.totalScore),1),o(`td`,V,s(e.actionsCount),1)]))),128))])])])):t(``,!0)])]),n(ae,{active:`games`})],64))}}),[[`__scopeId`,`data-v-ed9aeaf7`]]),U=r({__name:`GameResultsView`,setup(e){return(e,t)=>(c(),ee(H))}});export{U as default}; |