UNPKG

@andreabiagini5/applicazioni-e-servizi-web-project

Version:
2 lines (1 loc) 4.54 kB
import{_ as j,n as F}from"./NavBar.vue_vue_type_script_setup_true_lang-DHn6_8b3.js";import{u as B}from"./userStore-B6qoS3VK.js";import{d as N,v as x,x as S,s as U,z as _,c as v,o as i,a as l,b as o,w as s,u as t,i as A,_ as I,F as k,j as b,y as c,m as d,A as p,q as O,e as r,C as y,B as $,V as q,D as M,O as z,E as V,G}from"./index-DBK_HSPz.js";import{g as H}from"./match-history-B-T-oEQ3.js";const J={class:"fs-1 fw-bold"},L={key:0,class:"fs-2"},R={class:"text-uppercase fs-3"},T={class:"text-uppercase fs-3"},Y={key:0,class:"fw-bold text-success"},K={key:1,class:"fw-bold text-danger"},Q={class:"fw-bold"},W={class:"fw-bold"},X={class:"fw-bold"},Z=N({__name:"ProfileView",setup(h){const n=B(),f=x({visible:!1,text:""}),m=x(""),g=x(!1),w=x([]);function E(){g.value=!0}function C(){_.emit("change email",m.value,u=>{if(!u.success){console.error("Failed to change email:",u.message),f.value.text=u.message||"Failed to change email. Please try again.",f.value.visible=!0,m.value=n.email;return}g.value=!1,n.setEmail(m.value)})}function P(){g.value=!1,m.value=n.email}return S(()=>{U.get("/account/me").then(async u=>{n.setUsername(u.data.username),n.setEmail(u.data.email),w.value=(await H(n.username)).reverse(),_.emit("getAccountInfo",e=>{try{const a=JSON.parse(e);n.rank=a.position,n.eloPoints=a.rating}catch(a){console.error("Error parsing account info:",a)}})}).catch(u=>{console.error("Failed to fetch user data:",u),f.value.text="Failed to fetch user data. Refresh the page.",f.value.visible=!0}),m.value=n.email}),(u,e)=>(i(),v(k,null,[l(j),e[16]||(e[16]=o("div",{class:"flex-grow-1 d-flex flex-column align-items-center justify-content-center text-center px-3 mt-md-5"},[o("div",{class:"d-flex flex-column flex-md-row align-items-center mt-4 mt-md-0"},[o("h1",{class:"display-1 fw-bold text-uppercase mt-2 mt-md-0 ms-md-3"},"profile")])],-1)),l(t(A),{class:"mt-4"},{default:s(()=>[l(t(b),{class:"justify-content-center text-center text-md-start align-items-center"},{default:s(()=>[l(t(c),{cols:"12",md:"auto",class:"d-flex justify-content-center justify-content-md-end mb-3 mb-md-0"},{default:s(()=>[...e[3]||(e[3]=[o("figure",{class:"profile-image figure mb-0"},[o("img",{src:F,class:"figure-img img-fluid rounded shadow-3 darker-bg",alt:"Profile"})],-1)])]),_:1}),l(t(c),{cols:"12",md:"auto",class:"mb-3 mb-md-0 ms-md-5"},{default:s(()=>[o("p",J,d(t(n).username),1),l(t(b),null,{default:s(()=>[l(t(c),null,{default:s(()=>[g.value?(i(),p(t(O),{key:1,modelValue:m.value,"onUpdate:modelValue":e[0]||(e[0]=a=>m.value=a),label:"Email",type:"email",class:"fs-4",white:""},null,8,["modelValue"])):(i(),v("p",L,d(t(n).email),1))]),_:1}),l(t(c),{class:"d-flex flex-column justify-content-center mb-3"},{default:s(()=>[g.value?(i(),p(t(b),{key:1},{default:s(()=>[l(t(c),null,{default:s(()=>[l(t(y),{color:"secondary",onClick:C},{default:s(()=>[...e[5]||(e[5]=[r("Save",-1)])]),_:1})]),_:1}),l(t(c),null,{default:s(()=>[l(t(y),{color:"danger",onClick:P},{default:s(()=>[...e[6]||(e[6]=[r("Exit",-1)])]),_:1})]),_:1})]),_:1})):(i(),p(t(y),{key:0,color:"secondary",onClick:E},{default:s(()=>[...e[4]||(e[4]=[r("Edit",-1)])]),_:1}))]),_:1})]),_:1}),o("p",R,"current ranking: "+d(t(n).rank),1),o("p",T,"current elo: "+d(t(n).eloPoints),1)]),_:1}),e[14]||(e[14]=o("div",{class:"divider mt-4"},null,-1)),e[15]||(e[15]=o("h2",{class:"fw-bold text-uppercase mt-md-3"},"match history",-1)),(i(!0),v(k,null,$(w.value,(a,D)=>(i(),p(t(q),{key:D,class:"mt-4 mb-4"},{default:s(()=>[l(t(M),null,{default:s(()=>[l(t(b),null,{default:s(()=>[l(t(c),null,{default:s(()=>[l(t(z),null,{default:s(()=>[r("Date: "+d(a.creationDate),1)]),_:2},1024),a.winner!=null?(i(),p(t(V),{key:0},{default:s(()=>[r(d(a.creationDate)+" - You ",1),a.winner==t(n).username?(i(),v("span",Y," won")):(i(),v("span",K," lost")),e[7]||(e[7]=r(" against ",-1)),o("span",Q,d(a.opponent),1),e[8]||(e[8]=r(" (",-1)),o("span",W,d(a.ratingDelta*(a.winner!=t(n).username?-1:1)),1),e[9]||(e[9]=r(") ",-1))]),_:2},1024)):(i(),p(t(V),{key:1},{default:s(()=>[e[10]||(e[10]=r(" A match against ",-1)),o("span",X,d(a.opponent),1),e[11]||(e[11]=r(" is ",-1)),e[12]||(e[12]=o("span",{class:"fw-bold text-warning"},"in progress",-1)),e[13]||(e[13]=r(". ",-1))]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),l(I,{modelValue:f.value.visible,"onUpdate:modelValue":e[1]||(e[1]=a=>f.value.visible=a),text:f.value.text,onClose:e[2]||(e[2]=a=>f.value.visible=!1)},null,8,["modelValue","text"])],64))}}),le=G(Z,[["__scopeId","data-v-a730a8f2"]]);export{le as default};