Files
evening_detective_frontend/dist/assets/GameResultsView-CTZhQITD.js
T
2026-09-18 03:36:13 +07:00

1 line
5.2 KiB
JavaScript

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