Files
prod/frontend/dist/assets/GameResultsView-BY_7KeUf.js
T
2026-10-11 02:25:16 +07:00

1 line
5.1 KiB
JavaScript

import{Ct as e,Dt as t,Fn as ee,Jt as n,Kt as r,Ln as i,Ot as a,St as te,bt as o,hn as s,ht as c,in as l,kt as u,l as d,u as f,wt as p,xt as m,yn as h}from"./client-Cr-cm5gA.js";import{n as g,t as _}from"./es-BgZM4SOf.js";import{t as v}from"./Button-htLGEUWP.js";import{t as y}from"./_plugin-vue_export-helper-D-vCjaLb.js";import{t as b}from"./Flex-69ypf5Me.js";import{n as x,t as S}from"./index-BDx9g-XU.js";import{t as C}from"./HeaderMenu-B9QH_cmH.js";var w={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,viewBox:`0 0 32 32`},ne=u({name:`TrophyFilled`,render:function(e,t){return r(),p(`svg`,w,t[0]||=[m(`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)])}}),re={class:`center-block-custom`},ie={class:`width1200`},ae={class:`page-header`},oe={key:0,class:`game-name`},T={key:0,class:`winner-block`},E={class:`winner-cup`,"aria-hidden":`true`},D={class:`winner-label`},O={class:`winner-names`},k={class:`winner-stats`},A={key:1,class:`info-block`},j={key:2,class:`info-block`},M={class:`info-title`},N={key:3,class:`info-block`},P={key:4,class:`table-scroll`},F={class:`results-table`},I=[`title`],L={class:`question-text`},R={class:`place-col`},z={key:1,class:`place-plain`},se={class:`team-col`},B={class:`number-col`},V={class:`number-col`},H=y(u({__name:`GameResultsPage`,setup(te){let u=x(),y=S(),w=g(),H=d(),U=f(),W=H.params.id,G=s(!1),K=s(!1),q=s(``),J=s(!1),Y=s(!1),X=s([]),Z=s([]),Q=s(``);async function ce(){G.value=!1,K.value=!1,Y.value=!1,J.value=!1;try{let e=await u.GetGameResults({gameID:Number(W)});X.value=e.questions||[],Z.value=e.teams||[],G.value=!0}catch{y.isAuthenticated?(q.value=`Не удалось загрузить результаты`,w.error(q.value),J.value=!0,K.value=!0):Y.value=!0}}ce();async function le(){try{let e=await u.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 $=o(()=>{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=o(()=>$.value.length>1?`Победители`:`Победитель`),fe=o(()=>{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(te,o)=>(r(),p(c,null,[m(`div`,re,[m(`div`,ie,[m(`div`,ae,[a(h(b),{justify:`space-between`,align:`center`},{default:l(()=>[m(`div`,null,[o[0]||=m(`div`,{class:`page-title`},`Итоги игры`,-1),Q.value?(r(),p(`div`,oe,i(Q.value),1)):e(``,!0)]),a(h(v),{quaternary:``,onClick:he},{default:l(()=>[...o[1]||=[t(`Назад`,-1)]]),_:1})]),_:1})]),G.value&&$.value.length>0?(r(),p(`div`,T,[m(`span`,E,[a(h(_),{size:`56`},{default:l(()=>[a(h(ne))]),_:1})]),m(`div`,D,i(de.value),1),m(`div`,O,i(fe.value),1),m(`div`,k,` Баллы: `+i($.value[0]?.totalScore??0)+` · Поездки: `+i($.value[0]?.actionsCount??0),1),o[2]||=m(`div`,{class:`winner-congrats`},`Поздравляем!`,-1)])):e(``,!0),Y.value?(r(),p(`div`,A,[o[4]||=m(`p`,{class:`info-title`},`Для просмотра итогов игры нужно войти в систему`,-1),a(h(b),{justify:`end`},{default:l(()=>[a(h(v),{onClick:pe},{default:l(()=>[...o[3]||=[t(`Войти`,-1)]]),_:1})]),_:1})])):K.value?(r(),p(`div`,j,[m(`p`,M,i(q.value),1),J.value?(r(),p(c,{key:0},[o[6]||=m(`p`,{class:`info-subtitle`},`Сессия могла истечь — попробуйте войти заново`,-1),a(h(b),{justify:`end`},{default:l(()=>[a(h(v),{onClick:me},{default:l(()=>[...o[5]||=[t(`Войти заново`,-1)]]),_:1})]),_:1})],64)):e(``,!0)])):G.value&&Z.value.length==0?(r(),p(`div`,N,[...o[7]||=[m(`p`,{class:`info-title`},`Результаты пока не готовы`,-1)]])):G.value?(r(),p(`div`,P,[m(`table`,F,[m(`thead`,null,[m(`tr`,null,[o[8]||=m(`th`,{class:`place-col`},`Место`,-1),o[9]||=m(`th`,{class:`team-col`},`Команда`,-1),(r(!0),p(c,null,n(X.value,e=>(r(),p(`th`,{key:e.code,class:`question-col`,title:e.text},[m(`div`,L,i(e.text),1)],8,I))),128)),o[10]||=m(`th`,{class:`number-col`},`Сумма`,-1),o[11]||=m(`th`,{class:`number-col`},`Поездки`,-1)])]),m(`tbody`,null,[(r(!0),p(c,null,n(Z.value,e=>(r(),p(`tr`,{key:e.team?.ID},[m(`td`,R,[e.place!=null&&e.place>=1&&e.place<=3?(r(),p(`span`,{key:0,class:ee([`place-badge`,`place-`+e.place])},i(e.place),3)):(r(),p(`span`,z,i(e.place),1))]),m(`td`,se,i(e.team?.name),1),(r(!0),p(c,null,n(X.value,t=>(r(),p(`td`,{key:t.code,class:`number-col`},i(ue(e,t.code)),1))),128)),m(`td`,B,i(e.totalScore),1),m(`td`,V,i(e.actionsCount),1)]))),128))])])])):e(``,!0)])]),a(C,{active:`games`})],64))}}),[[`__scopeId`,`data-v-ed9aeaf7`]]),U=u({__name:`GameResultsView`,setup(e){return(e,t)=>(r(),te(H))}});export{U as default};