Files
evening_detective_frontend/dist/assets/ParticipationView-Cux7XS4O.js
T
2026-09-16 02:57:09 +07:00

1 line
3.5 KiB
JavaScript

import{A as e,C as t,E as n,K as r,T as i,U as a,_ as o,ct as s,j as c,jt as l,k as u,n as d,nt as f,pt as p,t as m,u as h,w as g}from"./auth-CwtlbtVe.js";import{t as _}from"./Card-C01GZMG8.js";import{t as v}from"./Button-CDe4_wuf.js";import{t as y}from"./use-message-DxDzbK1R.js";import{t as b}from"./Space-BmP8Pu4Y.js";import{t as x}from"./HeaderMenu-DA_N0lwe.js";import{t as S}from"./datetime-BJNH0M1T.js";var C={class:`center-block-custom`},w={class:`width700`},T={key:0,role:`alert`},E={key:0,role:`status`},D={key:1,role:`status`},O={key:2},k=c({__name:`ParticipationPage`,setup(c){let k=h(),A=new URLSearchParams(k.hash.slice(1)),j=A.get(`token`)||``,M=s(A.get(`answer`)===`cancelled`?`cancelled`:`confirmed`),N=d(),P=m(),F=y(),I=s(),L=s(!1),R=s(``);async function z(){L.value=!0,R.value=``;try{let e=await N.GetParticipation({token:j});if(e.error){R.value=e.error,F.error(e.error);return}I.value=e}catch{R.value=`Не удалось загрузить данные. Попробуйте ещё раз.`}finally{L.value=!1}}async function B(){if(!L.value){L.value=!0,R.value=``;try{let e=await N.AnswerParticipation({token:j,answer:M.value});e.status&&(I.value=e),e.error&&(R.value=e.error,F.error(e.error))}catch{R.value=`Не удалось сохранить ответ. Попробуйте ещё раз.`}finally{L.value=!1}}}return a(z),(a,s)=>(r(),n(o,null,[p(P).isAuthenticated?(r(),g(x,{key:0})):i(``,!0),t(`div`,C,[t(`div`,w,[e(p(_),{title:`Участие в игре`},{default:f(()=>[R.value?(r(),n(`p`,T,l(R.value),1)):i(``,!0),I.value?(r(),n(o,{key:1},[t(`h2`,null,l(I.value.gameName),1),t(`p`,null,`Команда: `+l(I.value.teamName),1),t(`p`,null,`Начало: `+l(p(S)(I.value.startAt)),1),t(`p`,null,`Участников: `+l(I.value.participantsCount),1),I.value.status===`confirmed`?(r(),n(`p`,E,` Участие подтверждено. Ждём вас на игре! Решение окончательное. `)):I.value.status===`cancelled`?(r(),n(`p`,D,` Запись отменена. Решение окончательное. `)):I.value.closed?(r(),n(`p`,O,` Приём ответов закрыт. Ваша запись сохранена со статусом «Ожидает ответа». `)):(r(),n(o,{key:3},[s[4]||=t(`p`,null,[t(`strong`,null,`Решение окончательное: изменить его нельзя.`)],-1),s[5]||=t(`p`,null,`Без ответа запись сохраняется со статусом «Ожидает ответа».`,-1),e(p(b),{vertical:``},{default:f(()=>[e(p(b),null,{default:f(()=>[e(p(v),{disabled:L.value,type:M.value===`confirmed`?`primary`:`default`,"aria-pressed":M.value===`confirmed`,onClick:s[0]||=e=>M.value=`confirmed`},{default:f(()=>[...s[2]||=[u(`Мы участвуем`,-1)]]),_:1},8,[`disabled`,`type`,`aria-pressed`]),e(p(v),{disabled:L.value,type:M.value===`cancelled`?`error`:`default`,"aria-pressed":M.value===`cancelled`,onClick:s[1]||=e=>M.value=`cancelled`},{default:f(()=>[...s[3]||=[u(`Мы не участвуем`,-1)]]),_:1},8,[`disabled`,`type`,`aria-pressed`])]),_:1}),e(p(v),{loading:L.value,disabled:L.value,type:M.value===`cancelled`?`error`:`primary`,onClick:B},{default:f(()=>[u(l(M.value===`confirmed`?`Подтверждаю участие`:`Подтверждаю отмену`),1)]),_:1},8,[`loading`,`disabled`,`type`])]),_:1})],64))],64)):(r(),g(p(v),{key:2,loading:L.value,onClick:z},{default:f(()=>[u(l(L.value?`Загрузка`:`Повторить`),1)]),_:1},8,[`loading`]))]),_:1})])])],64))}}),A=c({__name:`ParticipationView`,setup(e){return(e,t)=>(r(),g(k))}});export{A as default};