mirror of
https://github.com/PhaseII-eAmusement-Network/PhaseWeb3-Vue.git
synced 2026-10-27 09:30:48 -05:00
6 lines
11 KiB
JavaScript
6 lines
11 KiB
JavaScript
import{u as re,r as q,o as H,a as l,i as y,j as L,c,w as _,g as r,b as d,Y as G,k as i,t as p,_ as B,F as g,av as ne,s as ie,N as oe,l as ue,e as n,m as ce,f as E,aE as de,X as F,ay as me,az as _e,at as pe,aa as b,z as fe,V as k,aF as be,aG as ye,aH as ve,n as ge,p as he,q as ke}from"./index.26ff47d4.js";import{_ as we,g as z,a as J}from"./ProfileCard.5d6ea02b.js";import{_ as xe}from"./FormControl.e7078065.js";import{a as Se}from"./profile.01850f6f.js";import{A as Ve}from"./arcade.ae9af55b.js";import{g as M}from"./danClass.233b0381.js";import"./userData.bcc92478.js";const $e={class:"flex space-x-2 mb-2"},De={class:"flex justify-between items-center"},Pe={class:"grid"},je={class:"text-lg font-bold"},Ne={class:"text-md"},Ae={class:"text-lg"},Ce={class:"text-lg"},U={__name:"JubilityTable",props:{jubilityData:{type:Array,required:!0},version:{type:Number,required:!0}},setup(R){const $=R,A=re(),w=q(null),v={0:{label:"Basic",color:"info"},1:{label:"Advanced",color:"warning"},2:{label:"Extreme",color:"danger"}};return H(async()=>{try{w.value=null;const u=$.jubilityData.map(s=>s.song_id),D=await A.getMusicData("jubeat",$.version,u),m=$.jubilityData.map(s=>{const a=D.find(P=>P.id===s.song_id&&P.chart===s.chart);return{...s,...a?{songData:a}:{}}});m.sort((s,a)=>a.rate-s.rate),w.value=m}catch(u){console.error("Failed to fetch music data:",u)}}),(u,D)=>w.value?(l(!0),y(g,{key:0},L(w.value,m=>(l(),c(B,{key:m.id,"color-prop":"bg-slate-800 dark:bg-slate-800",class:"my-3 p-5","has-table":""},{default:_(()=>[r("div",$e,[d(G,{label:v[m.chart].label,color:v[m.chart].color},null,8,["label","color"]),m.hard?(l(),c(G,{key:0,label:"Hard Mode",color:"danger"})):i("",!0)]),r("div",De,[r("div",Pe,[r("h1",je,p(m.songData.name),1),r("h2",Ne,p(m.songData.artist),1)]),r("div",null,[r("h2",Ae,"Jubility: "+p(m.value/10),1),r("h2",Ce,"Rate: "+p(m.rate/10),1)])])]),_:2},1024))),128)):i("",!0)}},Ie={class:"md:flex pb-6 md:justify-between md:items-center"},Te={key:0,class:"mt-2 md:mt-0 md:w-1/3 md:text-right"},Fe=r("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1),Je=["src"],Le={class:"bg-white dark:bg-slate-900/90 rounded-2xl pt-6 p-3 card-content"},Be={class:"w-full"},Ge={class:"md:w-1/3 grid grid-cols-1 md:grid-cols-2 gap-3"},Oe={class:"my-6 grid grid-cols-1 md:grid-cols-4 gap-6"},Ee={class:"my-6 grid grid-cols-2 md:grid-cols-5 xl:grid-cols-6 gap-6"},Me={class:"my-6 grid grid-cols-1 md:grid-cols-2 gap-6"},Re={class:"my-6"},ze={class:"border-s border-neutral-300 md:flex md:justify-start md:gap-10 md:border-s-0 md:border-t md:overflow-x-auto overflow-y-visible md:whitespace-nowrap scrollbar"},Ue={class:"flex-start flex items-center pt-2 md:block md:pt-4"},qe=r("div",{class:"-ms-[6px] me-3 h-[12px] w-[12px] md:w-0.5 md:h-4 rounded-full md:rounded-none bg-gray-300 md:-mt-6 md:me-0 md:ms-0"},null,-1),He={class:"mt-2 text-sm font-light"},Xe={class:"ms-4 pb-6 md:ms-0"},Ye={class:"text-lg font-semibold"},la={__name:"PlayerView",setup(R){const $="https://cdn.phaseii.network/file/PhaseII/web-assets",A=he(),w=ke();var v=null,u=null,D=null,m=!0;v=A.params.game,D=A.params.userId,u=ne(v),u||w.push({name:"ErrorPage",params:{catchAll:"404"}});const s=ie({currentVersion:null});oe(()=>s.currentVersion,()=>{m?m=!1:P()});const a=q(null);H(async()=>{P()}),u.versions||(s.currentVersion=1);async function P(){try{a.value=null;var t=await Se(v,s.currentVersion,D);t.timeline=await se(t),a.value=te(t),t&&!s.currentVersion&&(s.currentVersion=t.versions[t.versions.length-1])}catch(e){console.error("Failed to fetch user profile data:",e)}}async function X(t){try{const e=await Ve(t);return console.log(e),e}catch(e){console.error("Failed to fetch arcade data:",e)}}var Y=[{label:"Register Date",type:String,span:"md:col-span-2",key:"first_play_timestamp"},{label:"Last Play",type:String,span:"md:col-span-2",key:"last_play_timestamp"},{label:"First Arcade",type:String,span:"md:col-span-2",key:"first_play_arcade"},{label:"Last Arcade",type:String,span:"md:col-span-2",key:"last_play_arcade"},{label:"Total Plays",type:Number,key:"total_plays"},{label:"EXP",type:Number,key:"exp"},{label:"SP Plays",type:Number,key:"single_plays"},{label:"DP Plays",type:Number,key:"double_plays"},{label:"SP DJPOINT",type:Number,key:"single_dj_points"},{label:"DP DJPOINT",type:Number,key:"double_dj_points"}];function K(){return s.currentVersion?`${$}/games/${u.id}/card/${s.currentVersion}.webp`:u.cardBG}function Q(){var t;return s.currentVersion&&((t=u.videoTable)==null?void 0:t.includes(s.currentVersion))?`https://web3.phaseii.network/gameassets/video/${u.id}/${s.currentVersion}.mp4`:null}function W(){var t;return(t=u.videoTable)!=null&&t.includes(s.currentVersion)?null:`
|
|
background-image: url('${K()}');
|
|
background-size: cover;
|
|
background-repeat: no-repeat;
|
|
`}function Z(t,e){if(e){if(t.isSkill&&e.jubility)return z(e.jubility);if(t.isJubility&&e.records.skill)return J(e.records.skill)}return""}function ee(t){var e=[];for(const f of u.versions)t.includes(f.id)&&e.push(f);return e}function ae(t,e){return t.isSkill?e.stats[t.key]/100:t.isJubility?e.stats[t.key]/10:e.stats[t.key]}function te(t){if(t.stats){if(t.stats.first_play_timestamp){const e=new Date(t.stats.first_play_timestamp*1e3);t.stats.first_play_timestamp=e.toLocaleString()}if(t.stats.last_play_timestamp){const e=new Date(t.stats.last_play_timestamp*1e3);t.stats.last_play_timestamp=e.toLocaleString()}t.dp&&t.dp.dan!==void 0&&(t.dp.dan=M(t.dp.dan).short)}return t}function le(t){var f;const e=(f=t.stats)==null?void 0:f.count;return e?[e.mfc!=null?{label:"MFCs",value:e.mfc}:0,e.pfc!=null?{label:"PFCs",value:e.pfc}:0,e.fc!=null?{label:"GFCs",value:e.fc}:0,e.gfc!=null?{label:"FCs",value:e.gfc}:0,e.life4!=null?{label:"Life-4 Clears",value:e.life4}:0]:[]}async function se(t){const e=t==null?void 0:t.stats,f=e==null?void 0:e.first_play_timestamp,x=e==null?void 0:e.last_play_timestamp,j=e==null?void 0:e.arcade_history,h=[];if(f&&h.push({timestamp:new Date(f*1e3).toLocaleString(),arcade:e==null?void 0:e.first_play_arcade,first_play:!0}),j)for(const[S,V]of Object.entries(j)){const C=await X(S);for(const[I,T]of Object.entries(V))for(const N of T){const o=new Date(N*1e3);[f,x].includes(N)||h.push({timestamp:o.toLocaleString(),arcade:C.name,machineId:I,first_play:!1})}}return x&&h.push({timestamp:new Date(x*1e3).toLocaleString(),arcade:e==null?void 0:e.last_play_arcade,first_play:!1}),h.sort((S,V)=>S.timestamp-V.timestamp)}return(t,e)=>(l(),c(ge,null,{default:_(()=>[a.value?(l(),c(ue,{key:0},{default:_(()=>{var f,x,j,h,S,V,C,I,T,N;return[r("div",Ie,[d(E,{icon:n(ce),href:`/#/games/${n(v)}`,class:"w-full md:w-auto",color:"info",label:`${n(u).shortName?n(u).shortName:n(u).name} Home`},null,8,["icon","href","label"]),n(u).versions&&a.value?(l(),y("div",Te,[Fe,d(xe,{modelValue:s.currentVersion,"onUpdate:modelValue":e[0]||(e[0]=o=>s.currentVersion=o),options:ee(a.value.versions)},null,8,["modelValue","options"])])):i("",!0)]),d(F,{icon:n(de),title:"View Profile",main:""},null,8,["icon"]),s.currentVersion&&a.value?(l(),y("div",{key:0,style:pe(W()),class:"rounded-2xl mb-6 card-container"},[r("video",{autoplay:"",muted:"",loop:"",playsinline:"",src:Q(),class:"background-video"},null,8,Je),r("div",Le,[r("div",Be,[d(we,{"use-small":"",game:n(v),version:s.currentVersion,profile:a.value},{default:_(()=>[r("div",Ge,[d(E,{href:`/#/games/${n(v)}/scores/${a.value.userId}`,icon:n(me),class:"w-full md:w-auto",color:"info",label:"View Scores"},null,8,["href","icon"]),d(E,{href:`/#/games/${n(v)}/records/${a.value.userId}`,icon:n(_e),class:"w-full md:w-auto",color:"info",label:"View Records"},null,8,["href","icon"])])]),_:1},8,["game","version","profile"])])])],4)):i("",!0),r("div",Oe,[(l(!0),y(g,null,L(n(Y),o=>(l(),y(g,{key:o},[a.value.stats[o.key]?(l(),c(b,{key:0,class:fe(o.span),label:o.label,number:o.type==Number?ae(o,a.value):null,"num-color":Z(o)},{default:_(()=>[k(p(o.type==String?a.value.stats[o.key]:null)+" ",1)]),_:2},1032,["class","label","number","num-color"])):i("",!0)],64))),128)),(x=(f=a.value.stats)==null?void 0:f.count)!=null&&x.records?(l(),c(b,{key:0,label:"Records",number:(h=(j=a.value.stats)==null?void 0:j.count)==null?void 0:h.records},null,8,["number"])):i("",!0),(V=(S=a.value.stats)==null?void 0:S.count)!=null&&V.attempts?(l(),c(b,{key:1,label:"Attempts",number:(I=(C=a.value.stats)==null?void 0:C.count)==null?void 0:I.attempts},null,8,["number"])):i("",!0),a.value.skill?(l(),c(b,{key:2,label:"Skill Points",number:a.value.skill/100,"num-color":n(z)(a.value.skill)},null,8,["number","num-color"])):i("",!0),a.value.profile_skill?(l(),c(b,{key:3,label:"Skill Level"},{default:_(()=>[k(p(a.value.profile_skill/100),1)]),_:1})):i("",!0),a.value.jubility?(l(),c(b,{key:4,label:"Jubility","num-color":n(J)(a.value.jubility)},{default:_(()=>[k(p(a.value.jubility/10),1)]),_:1},8,["num-color"])):i("",!0),a.value.pick_up_jubility?(l(),c(b,{key:5,label:"Pick-Up Jubility","num-color":n(J)(a.value.pick_up_jubility)},{default:_(()=>[k(p(a.value.pick_up_jubility/10),1)]),_:1},8,["num-color"])):i("",!0),a.value.common_jubility?(l(),c(b,{key:6,label:"Common Jubility","num-color":n(J)(a.value.common_jubility)},{default:_(()=>[k(p(a.value.common_jubility/10),1)]),_:1},8,["num-color"])):i("",!0),a.value.deller?(l(),c(b,{key:7,label:"Deller",number:a.value.deller},null,8,["number"])):i("",!0),a.value.sgrade?(l(),c(b,{key:8,label:"SP DAN"},{default:_(()=>[k(p(n(M)(a.value.sgrade).label),1)]),_:1})):i("",!0),a.value.dgrade?(l(),c(b,{key:9,label:"DP DAN"},{default:_(()=>[k(p(n(M)(a.value.dgrade).label),1)]),_:1})):i("",!0)]),(T=a.value.stats)!=null&&T.count?(l(),y(g,{key:1},[d(F,{icon:n(be),title:"Stats",main:""},null,8,["icon"]),r("div",Ee,[(l(!0),y(g,null,L(le(a.value),o=>(l(),y(g,{key:o},[o.value?(l(),c(b,{key:0,label:o.label,number:o.value},null,8,["label","number"])):i("",!0)],64))),128))])],64)):i("",!0),a.value.jubility?(l(),y(g,{key:2},[d(F,{icon:n(ye),title:"Jubility Breakdown",main:""},null,8,["icon"]),r("div",Me,[a.value.pick_up_breakdown?(l(),c(B,{key:0},{default:_(()=>[d(G,{label:"Pick-Up",color:"info"}),d(U,{"jubility-data":a.value.pick_up_breakdown,",":"",version:s.currentVersion},null,8,["jubility-data","version"])]),_:1})):i("",!0),a.value.other_breakdown?(l(),c(B,{key:1},{default:_(()=>[d(G,{label:"Common",color:"info"}),d(U,{"jubility-data":a.value.other_breakdown,",":"",version:s.currentVersion},null,8,["jubility-data","version"])]),_:1})):i("",!0)])],64)):i("",!0),(N=a.value)!=null&&N.timeline?(l(),y(g,{key:3},[d(F,{icon:n(ve),title:"Timeline",main:""},null,8,["icon"]),r("div",Re,[d(B,null,{default:_(()=>{var o;return[r("ol",ze,[(l(!0),y(g,null,L(JSON.parse(JSON.stringify((o=a.value)==null?void 0:o.timeline)).reverse(),O=>(l(),y("li",{key:O.timestamp,class:"md:inline-block flex-shrink-0"},[r("div",Ue,[qe,r("p",He,p(O.timestamp),1)]),r("div",Xe,[r("h4",Ye,p(O.arcade),1)])]))),128))])]}),_:1})])],64)):i("",!0)]}),_:1})):i("",!0)]),_:1}))}};export{la as default};
|