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