@andreabiagini5/applicazioni-e-servizi-web-project
Version:
Project for Applicazioni e Servizi Web.
2 lines (1 loc) • 3.26 kB
JavaScript
import{d as y,H as _,v,x as k,z as f,f as b,s as V,c as p,o as m,a as l,b as r,I as B,w as i,u as t,C as g,m as u,J as C,F as E,e as c,A as N,K as D,D as I,O as M,E as S,V as F,h as P,G as j}from"./index-DBK_HSPz.js";import{_ as O}from"./NavBar.vue_vue_type_script_setup_true_lang-DHn6_8b3.js";import{u as $}from"./userStore-B6qoS3VK.js";import{g as q}from"./match-history-B-T-oEQ3.js";const z={class:"flex-grow-1 d-flex flex-column align-items-center justify-content-center text-center px-3"},A={class:"d-grid d-md-flex justify-content-center align-items-center gap-2 mt-4"},H={class:"text-uppercase mt-5 fs-3"},J={class:"text-uppercase fs-3"},L={key:0,class:"fw-bold text-success"},R={key:1,class:"fw-bold text-danger"},T={class:"fw-bold"},U={class:"fw-bold"},W=y({__name:"PlayView",setup(G){const x=b(),h=_(),a=$(),s=v([]),n=v(0);function w(){console.log("match with bot requested"),f.emit("requestMatchWithBot")}return k(async()=>{f.on("matchFound",o=>{h.id=o,x.push({path:"/match"})}),V.get("/account/me").then(async o=>{for(a.setUsername(o.data.username),a.setEmail(o.data.email),s.value=(await q(a.username)).reverse();s.value.length>n.value&&s.value[n.value].winner==null;)n.value+=1;f.emit("getAccountInfo",e=>{try{const d=JSON.parse(e);a.rank=d.position,a.eloPoints=d.rating}catch(d){console.error("Error parsing account info:",d)}})}).catch(o=>{console.error("Failed to fetch user data:",o)})}),(o,e)=>(m(),p(E,null,[l(O),r("div",z,[e[4]||(e[4]=B('<div class="d-flex flex-column flex-md-row align-items-center mt-4 mt-md-0" data-v-74fe0f8e><img class="landing-icon" src="'+P+'" alt="Landing Icon" loading="lazy" data-v-74fe0f8e><h1 class="display-1 fw-bold text-uppercase mt-2 mt-md-0 ms-md-3" data-v-74fe0f8e>sandpiles</h1></div><h2 class="subtitle display-6 text-nowrap mt-2 mb-8" data-v-74fe0f8e>The sand stacking multiplayer game</h2><h3 class="fw-bold text-uppercase spaced-title" data-v-74fe0f8e>start a match!</h3>',3)),r("div",A,[l(t(g),{class:"text-uppercase",color:"primary",onClick:e[0]||(e[0]=d=>o.$router.push("/matchmaking"))},{default:i(()=>[...e[1]||(e[1]=[c("Ranked",-1)])]),_:1}),e[3]||(e[3]=r("div",{class:"divider d-none d-md-block"},null,-1)),l(t(g),{class:"text-uppercase",color:"primary",onClick:w},{default:i(()=>[...e[2]||(e[2]=[c("Bot",-1)])]),_:1})]),r("p",H,"current ranking: "+u(t(a).rank),1),r("p",J,"current elo: "+u(t(a).eloPoints),1)]),l(t(C),{class:"fixed-bottom align-items-center d-flex justify-content-center",style:{"background-color":"rgba(0, 0, 0, 0) !important"}},{default:i(()=>[s.value.length>n.value?(m(),N(t(F),{key:0,class:"w-100 mx-3 mb-3",style:{"max-width":"600px"}},{default:i(()=>[l(t(I),null,{default:i(()=>[l(t(M),{class:"text-uppercase"},{default:i(()=>[...e[5]||(e[5]=[c("Last match",-1)])]),_:1}),l(t(S),null,{default:i(()=>[c(u(s.value[n.value].creationDate)+" - You ",1),s.value[n.value].winner==t(a).username?(m(),p("span",L," won")):(m(),p("span",R," lost")),e[6]||(e[6]=c(" against ",-1)),r("span",T,u(s.value[n.value].opponent),1),e[7]||(e[7]=c(" (",-1)),r("span",U,u(s.value[n.value].ratingDelta*(s.value[n.value].winner!=t(a).username?-1:1)),1),e[8]||(e[8]=c(") ",-1))]),_:1})]),_:1})]),_:1})):D("",!0)]),_:1})],64))}}),Z=j(W,[["__scopeId","data-v-74fe0f8e"]]);export{Z as default};