This commit is contained in:
trmazi 2025-07-13 18:13:57 +00:00
parent 0733867fa7
commit 2bc79c4e10
62 changed files with 70 additions and 69 deletions

View File

@ -1 +1 @@
import{r as w,p as C,o as b,c as x,d as v,w as s,e as t,_ as y,h as r,i as o,P as m,g as d,aG as h,aH as g,v as A,l as $,n as k}from"./index-CHivKhhP.js";import{_ as P}from"./GeneralTable-Dm8yzA2j.js";import{_ as N}from"./FormField-vtioLqMT.js";import{_ as V}from"./FormControl-BLuW9GWW.js";import{f as B,g as D}from"./admin-YL_-tKB5.js";const I={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},F={class:"w-full"},j={__name:"APIView",setup(M){const n=w([]),u=[{text:"Create Timestamp",value:"timestamp",width:120},{text:"Name",value:"name",width:120}],i=C({...{name:null}});b(async()=>{c()});async function c(){try{const l=await B();var a=[];for(var e of l){if(e.timestamp){const _=new Date(e.timestamp*1e3);e.timestamp=_.toLocaleString()}a.push(e)}n.value=a}catch(l){console.error("Failed to fetch client data:",l)}}async function f(){try{const a=await D(i);n.value=a}catch(a){console.error("Failed to post client:",a)}c()}const p=a=>{navigator.clipboard.writeText(a.token).then(()=>{alert("Copied to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})};return(a,e)=>(v(),x(k,null,{default:s(()=>[t(y,null,{default:s(()=>[t(r,{class:"mb-6 p-1"},{default:s(()=>e[2]||(e[2]=[o("h1",{class:"text-3xl"},"Data API",-1),o("p",{class:"text-sm text-gray-400"},"Used for RestfulSleep and BEMAPI",-1)])),_:1}),t(m,{icon:d(h),title:"All Active Clients",color:"text-blue-400",main:""},null,8,["icon"]),t(r,{"has-table":"",class:"mb-6"},{default:s(()=>[o("div",I,[o("div",F,[t(P,{headers:u,items:n.value,onRowClicked:p},null,8,["items"]),e[3]||(e[3]=o("h1",{class:"mx-4 mt-1 mb-2 text-md lg:text-lg"}," Click row to copy token ",-1))])])]),_:1}),t(m,{icon:d(g),title:"Create New Client",color:"text-emerald-600",main:""},null,8,["icon"]),t(r,{"is-form":"",class:"row-span-1",onSubmit:e[1]||(e[1]=A(l=>f(),["prevent"]))},{default:s(()=>[t(N,{label:"Name",help:"Name of the client you'd like to onboard."},{default:s(()=>[t(V,{modelValue:i.name,"onUpdate:modelValue":e[0]||(e[0]=l=>i.name=l),required:""},null,8,["modelValue"])]),_:1}),o("div",null,[t($,{type:"submit",color:"success",label:"Create",small:!1})])]),_:1})]),_:1})]),_:1}))}};export{j as default};
import{r as w,p as C,o as b,c as x,d as v,w as s,e as t,_ as y,h as r,i as o,P as m,g as d,aH as h,aI as g,v as A,l as $,n as k}from"./index-Cn7Qxkym.js";import{_ as P}from"./GeneralTable-BeEFNO3P.js";import{_ as N}from"./FormField-pnf59gPm.js";import{_ as V}from"./FormControl-DUODGQBr.js";import{f as I,g as B}from"./admin-BCHp0qne.js";const D={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},F={class:"w-full"},j={__name:"APIView",setup(M){const n=w([]),u=[{text:"Create Timestamp",value:"timestamp",width:120},{text:"Name",value:"name",width:120}],i=C({...{name:null}});b(async()=>{c()});async function c(){try{const l=await I();var a=[];for(var e of l){if(e.timestamp){const _=new Date(e.timestamp*1e3);e.timestamp=_.toLocaleString()}a.push(e)}n.value=a}catch(l){console.error("Failed to fetch client data:",l)}}async function f(){try{const a=await B(i);n.value=a}catch(a){console.error("Failed to post client:",a)}c()}const p=a=>{navigator.clipboard.writeText(a.token).then(()=>{alert("Copied to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})};return(a,e)=>(v(),x(k,null,{default:s(()=>[t(y,null,{default:s(()=>[t(r,{class:"mb-6 p-1"},{default:s(()=>e[2]||(e[2]=[o("h1",{class:"text-3xl"},"Data API",-1),o("p",{class:"text-sm text-gray-400"},"Used for RestfulSleep and BEMAPI",-1)])),_:1}),t(m,{icon:d(h),title:"All Active Clients",color:"text-blue-400",main:""},null,8,["icon"]),t(r,{"has-table":"",class:"mb-6"},{default:s(()=>[o("div",D,[o("div",F,[t(P,{headers:u,items:n.value,onRowClicked:p},null,8,["items"]),e[3]||(e[3]=o("h1",{class:"mx-4 mt-1 mb-2 text-md lg:text-lg"}," Click row to copy token ",-1))])])]),_:1}),t(m,{icon:d(g),title:"Create New Client",color:"text-emerald-600",main:""},null,8,["icon"]),t(r,{"is-form":"",class:"row-span-1",onSubmit:e[1]||(e[1]=A(l=>f(),["prevent"]))},{default:s(()=>[t(N,{label:"Name",help:"Name of the client you'd like to onboard."},{default:s(()=>[t(V,{modelValue:i.name,"onUpdate:modelValue":e[0]||(e[0]=l=>i.name=l),required:""},null,8,["modelValue"])]),_:1}),o("div",null,[t($,{type:"submit",color:"success",label:"Create",small:!1})])]),_:1})]),_:1})]),_:1}))}};export{j as default};

View File

@ -1,4 +1,4 @@
import{r as w,j as t,d as s,e as d,w as x,i as l,f as b,t as n,c as p,g as r,Q as g,a$ as v,b0 as $,I as c,F as i,k as S,l as f,b1 as A,aU as B,ao as C,a_ as E,b2 as N,b3 as T}from"./index-CHivKhhP.js";const V={class:"space-y-3 text-center w-full"},j={class:"text-2xl lg:text-3xl font-bold"},H={class:"flex gap-2 justify-center items-center"},I={class:"text-xl md:text-2xl font-bold"},P={class:"flex flex-wrap gap-4 place-content-center"},L={key:0,class:"text-lg"},M={class:"md:w-full grid grid-cols-1 md:grid-cols-4 gap-3"},D={__name:"ArcadeCard",props:{useSmall:{type:Boolean,required:!1,default:!1},arcade:{type:Object,required:!0}},setup(e){const h="https://cdn.phaseii.network/file/PhaseII/web-assets";var y=w(e.arcade.data);function k(m){if(m!==null)return`
import{r as w,j as t,d as s,e as d,w as x,i as l,f as b,t as n,c as p,g as r,Q as g,b2 as v,b3 as $,I as c,F as i,k as S,l as f,b4 as A,aX as B,ao as C,b1 as E,b5 as N,b6 as T}from"./index-Cn7Qxkym.js";const V={class:"space-y-3 text-center w-full"},j={class:"text-2xl lg:text-3xl font-bold"},H={class:"flex gap-2 justify-center items-center"},I={class:"text-xl md:text-2xl font-bold"},P={class:"flex flex-wrap gap-4 place-content-center"},L={key:0,class:"text-lg"},M={class:"md:w-full grid grid-cols-1 md:grid-cols-4 gap-3"},D={__name:"ArcadeCard",props:{useSmall:{type:Boolean,required:!1,default:!1},arcade:{type:Object,required:!0}},setup(e){const h="https://cdn.phaseii.network/file/PhaseII/web-assets";var y=w(e.arcade.data);function k(m){if(m!==null)return`
background-image: url('${m}');
background-size: cover;
background-repeat: no-repeat;

View File

@ -0,0 +1,2 @@
import{u as Y,r as m,a as Z,b as ee,M as ae,o as le,c as _,d as i,w as r,e as a,_ as ne,j as g,f as A,F as k,i as o,g as d,P as N,aT as te,h as y,v as x,Q as V,az as R,l as u,C as L,aA as se,aB as oe,R as ie,k as D,aU as re,t as de,aV as ue,aC as ce,aW as me,an as fe,n as pe}from"./index-Cn7Qxkym.js";import{_ as ve}from"./ArcadeCard-BdfoLNlq.js";import{_ as w}from"./FormField-pnf59gPm.js";import{_ as F}from"./FormCheckRadio-Cj2oiu3q.js";import{_ as O}from"./FormControl-DUODGQBr.js";import{s as P,g as j}from"./values-CmNcmtTU.js";import{A as be,a as _e,b as ge}from"./arcade-B1UQGAAy.js";import{j as Ae,p as he,c as ye,q as we,r as ke,s as Ve}from"./admin-BCHp0qne.js";const $e={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},Se={class:"mb-4 flex gap-2 items-stretch"},Ce={key:0,class:"space-x-2 mt-6 mb-4"},Ne={class:"mb-4"},xe={class:"mb-4"},Oe={class:"grid gap-4"},Pe={class:"flex justify-between items-center"},Ue={class:"m-[-5px] md:flex items-center gap-2"},Ie={class:"w-8 md:w-12"},Me={class:"text-lg lg:text-xl font-bold"},Be={class:"grid grid-cols-1 w-full gap-2 md:gap-6 md:flex md:place-content-stretch"},Ee={key:0,class:"space-x-2 mt-6"},Re={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 mb-6"},He={__name:"ArcadeView",setup(Le){const $=Y(),b=m(null),S=m(null),c=m(null),U=m(!0),C=m(null),s=m(null),h=m(null),I=m(null),J=Z(),q=ee(),f=parseInt(J.params.id);var M=[{id:"paseli_enabled",name:"PASELI Services",help:"Enable PASELI for this arcade.",type:"Boolean"},{id:"paseli_infinite",name:"Infinite PASELI",help:"Enable infinite PASELI for this arcade.",type:"Boolean"},{id:"maint",name:"Maintenance Mode",help:"Place this arcade under maintenance.",type:"Boolean"},{id:"hide_network",name:"Incognito Mode",help:"Hide the network and all ranking data.",type:"Boolean"}];async function p(){try{c.value={},b.value={},S.value={};const n=await be(f);c.value=n,s.value=JSON.parse(JSON.stringify(n));for(const e of M){const t=j(c.value.data,e.id);P(b.value,e.id,t),P(S.value,e.id,t)}U.value=!1}catch(n){console.error("Failed to fetch arcade data:",n)}}async function B(){if($.userAdmin)try{const n=await Ae(!0),e=[];for(const t of n)t.username!=null&&e.push({id:t.id,label:t.username});e.sort((t,v)=>t.label.localeCompare(v.label)),I.value=e}catch(n){console.error("Failed to fetch admin user data:",n)}}ae(()=>$.userAdmin,()=>{B()});async function z(){(await _e(f,b.value)).status!="error"&&await p()}le(()=>{p(),B()});function G(n,e="NA_"){var t=[...n].map(v=>v.charCodeAt(0)<128?v:e).join("");return t=t.replace(/[!"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~]/g,""),t=t.replace(/\s+/g,"_"),t}async function T(){try{const n=await ge(f),e=new Blob([n],{type:"application/ovpn"}),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=`gradius-${G(c.value.name)}-phaseii-config.ovpn`,document.body.appendChild(t),t.click(),URL.revokeObjectURL(t.href),document.body.removeChild(t)}catch(n){console.log("Failed to fetch arcade data:",n)}}async function H(){if(s.value.name){const n=await ye(s.value.name);n.unused!=null&&(C.value=n.unused)}}async function Q(){(await he(f,{name:s.value.name,description:s.value.description,beta:s.value.data.is_beta})).status!="error"&&await p()}async function W(){if(h.value==null)return;(await ke(f,h.value)).status!="error"&&(h.value=null,p())}async function K(n){if(!n)return;(await Ve(f,n)).status!="error"&&p()}async function X(){window.confirm(`Are you really?
This will remove all owners, machines, and arcade data.`)&&(await we(f)).status!="error"&&await q.push({name:"admin_arcades"})}return(n,e)=>(i(),_(pe,null,{default:r(()=>[a(ne,null,{default:r(()=>{var t,v;return[U.value?A("",!0):(i(),g(k,{key:0},[a(ve,{class:"mb-6",arcade:c.value},null,8,["arcade"]),d($).userAdmin?(i(),g(k,{key:0},[a(N,{icon:d(te),title:"Arcade Administration",main:""},null,8,["icon"]),o("div",$e,[a(y,{"is-form":"",class:"lg:mb-6",onSubmit:x(Q,["prevent"])},{default:r(()=>[a(V,{color:"info",label:"General Information",icon:d(R),class:"mb-2"},null,8,["icon"]),a(w,{label:"Arcade Name"},{default:r(()=>[a(O,{modelValue:s.value.name,"onUpdate:modelValue":e[0]||(e[0]=l=>s.value.name=l),"input-value":s.value.name,name:"arcadeName",required:""},null,8,["modelValue","input-value"])]),_:1}),o("div",Se,[a(u,{color:"info",label:"Check Name",onClick:e[1]||(e[1]=l=>H())}),C.value==!0?(i(),_(L,{key:0,path:d(se),color:"text-green-400",size:"25"},null,8,["path"])):C.value==!1?(i(),_(L,{key:1,path:d(oe),color:"text-red-400",size:"25"},null,8,["path"])):A("",!0)]),a(w,{label:"Description"},{default:r(()=>[a(O,{modelValue:s.value.description,"onUpdate:modelValue":e[2]||(e[2]=l=>s.value.description=l),name:"description",required:""},null,8,["modelValue"])]),_:1}),a(w,{label:"Beta Enabled"},{default:r(()=>[a(F,{modelValue:s.value.data.is_beta,"onUpdate:modelValue":e[3]||(e[3]=l=>s.value.data.is_beta=l),name:"beta","model-value":s.value.data.is_beta,"input-value":s.value.data.is_beta,type:"switch"},null,8,["modelValue","model-value","input-value"])]),_:1}),JSON.stringify(c.value)!==JSON.stringify(s.value)?(i(),g("div",Ce,[a(u,{color:"success",label:"Save",type:"submit"}),a(u,{color:"warning",label:"Revert",onClick:e[4]||(e[4]=l=>p())})])):A("",!0),o("div",null,[a(u,{color:"danger",label:"Delete Arcade",onClick:e[5]||(e[5]=l=>X())})])]),_:1}),a(y,{class:"mb-6"},{default:r(()=>[o("div",Ne,[a(V,{color:"info",label:"Add Manager",icon:d(R),class:"mb-2"},null,8,["icon"]),o("form",{class:"h-full",onSubmit:x(W,["prevent"])},[a(w,{label:"Username"},{default:r(()=>[a(O,{modelValue:h.value,"onUpdate:modelValue":e[6]||(e[6]=l=>h.value=l),name:"username",options:I.value,required:""},null,8,["modelValue","options"])]),_:1}),a(u,{color:"success",type:"submit",label:"Add Manager"})],32)]),a(ie),o("div",xe,[a(V,{color:"warning",label:"Managers",class:"mb-4"}),o("div",Oe,[(i(!0),g(k,null,D(c.value.owners,l=>(i(),_(y,{key:l,"color-prop":"bg-slate-800 dark:bg-slate-800"},{default:r(()=>[o("div",Pe,[o("div",Ue,[o("div",Ie,[a(re,{username:l.username,avatar:l.avatar},null,8,["username","avatar"])]),o("h1",Me,de(l.username),1)]),a(u,{color:"danger",label:"Remove",onClick:E=>K(l.id)},null,8,["onClick"])])]),_:2},1024))),128))])])]),_:1})])],64)):A("",!0),a(N,{icon:d(ue),title:"Arcade Management",main:""},null,8,["icon"]),a(y,{"is-form":"",class:"mb-6",onSubmit:x(z,["prevent"])},{default:r(()=>[a(V,{color:"info",label:"Settings",icon:d(ce),class:"mb-2"},null,8,["icon"]),o("div",Be,[(i(!0),g(k,null,D(d(M),l=>(i(),_(w,{key:l.id,label:l.name,help:l.help},{default:r(()=>[l.type=="Boolean"?(i(),_(F,{key:0,name:l.id,"model-value":!!(d(j)(b.value,l.id)??!1),"input-value":!0,type:"switch","onUpdate:modelValue":E=>d(P)(b.value,l.id,E??!1)},null,8,["name","model-value","onUpdate:modelValue"])):A("",!0)]),_:2},1032,["label","help"]))),128))]),JSON.stringify(b.value)!==JSON.stringify(S.value)?(i(),g("div",Ee,[a(u,{color:"success",label:"Save",type:"submit"}),a(u,{color:"danger",label:"Revert",onClick:e[7]||(e[7]=l=>p())})])):A("",!0)]),_:1}),a(y,{class:"w-full md:w-1/2 mb-6"},{default:r(()=>[e[9]||(e[9]=o("h1",{class:"text-lg md:text-xl"},"OpenVPN Configuration",-1)),e[10]||(e[10]=o("p",{class:"pb-1 dark:text-white/50"}," Use this to download your VPN config. ",-1)),a(u,{small:!1,color:"success",class:"my-2",label:"Export",onClick:e[8]||(e[8]=l=>T())})]),_:1}),a(N,{icon:d(me),title:"Arcade Overview",main:""},null,8,["icon"]),o("div",Re,[a(fe,{number:(v=(t=c.value)==null?void 0:t.machines)==null?void 0:v.length,label:"Active Machines"},null,8,["number"])])],64))]}),_:1})]),_:1}))}};export{He as default};

View File

@ -1,2 +0,0 @@
import{u as Y,r as m,a as Z,b as ee,M as ae,o as le,c as _,d as i,w as r,e as a,_ as ne,j as g,f as A,F as k,i as o,g as d,P as x,aQ as te,h,v as C,Q as S,ay as E,l as u,C as L,az as se,aA as oe,R as ie,k as D,aR as re,t as de,aS as ue,aB as ce,aT as me,an as fe,n as pe}from"./index-CHivKhhP.js";import{_ as ve}from"./ArcadeCard-B-wORdMu.js";import{_ as w}from"./FormField-vtioLqMT.js";import{_ as F}from"./FormCheckRadio-DdZBsrII.js";import{_ as O}from"./FormControl-BLuW9GWW.js";import{s as P,g as J}from"./values-CmNcmtTU.js";import{A as be,a as _e,b as ge}from"./arcade-C_iviJ_9.js";import{i as Ae,l as ye,c as he,m as we,n as ke,o as Se}from"./admin-YL_-tKB5.js";const Ve={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},$e={class:"mb-4 flex gap-2 items-stretch"},Ne={key:0,class:"space-x-2 mt-6 mb-4"},xe={class:"mb-4"},Ce={class:"mb-4"},Oe={class:"grid gap-4"},Pe={class:"flex justify-between items-center"},Ie={class:"m-[-5px] md:flex items-center gap-2"},Ue={class:"w-8 md:w-12"},Me={class:"text-lg lg:text-xl font-bold"},Be={class:"grid grid-cols-1 w-full gap-2 md:gap-6 md:flex md:place-content-stretch"},Re={key:0,class:"space-x-2 mt-6"},Ee={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 mb-6"},Te={__name:"ArcadeView",setup(Le){const V=Y(),b=m(null),$=m(null),c=m(null),I=m(!0),N=m(null),s=m(null),y=m(null),U=m(null),j=Z(),q=ee(),f=parseInt(j.params.id);var M=[{id:"paseli_enabled",name:"PASELI Services",help:"Enable PASELI for this arcade.",type:"Boolean"},{id:"paseli_infinite",name:"Infinite PASELI",help:"Enable infinite PASELI for this arcade.",type:"Boolean"},{id:"maint",name:"Maintenance Mode",help:"Place this arcade under maintenance.",type:"Boolean"},{id:"hide_network",name:"Incognito Mode",help:"Hide the network and all ranking data.",type:"Boolean"}];async function p(){try{c.value={},b.value={},$.value={};const n=await be(f);c.value=n,s.value=JSON.parse(JSON.stringify(n));for(const e of M){const t=J(c.value.data,e.id);P(b.value,e.id,t),P($.value,e.id,t)}I.value=!1}catch(n){console.error("Failed to fetch arcade data:",n)}}async function B(){if(V.userAdmin)try{const n=await Ae(!0),e=[];for(const t of n)t.username!=null&&e.push({id:t.id,label:t.username});e.sort((t,v)=>t.label.localeCompare(v.label)),U.value=e}catch(n){console.error("Failed to fetch admin user data:",n)}}ae(()=>V.userAdmin,()=>{B()});async function z(){(await _e(f,b.value)).status!="error"&&await p()}le(()=>{p(),B()});function G(n,e="NA_"){var t=[...n].map(v=>v.charCodeAt(0)<128?v:e).join("");return t=t.replace(/[!"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~]/g,""),t=t.replace(/\s+/g,"_"),t}async function Q(){try{const n=await ge(f),e=new Blob([n],{type:"application/ovpn"}),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=`gradius-${G(c.value.name)}-phaseii-config.ovpn`,document.body.appendChild(t),t.click(),URL.revokeObjectURL(t.href),document.body.removeChild(t)}catch(n){console.log("Failed to fetch arcade data:",n)}}async function T(){if(s.value.name){const n=await he(s.value.name);n.unused!=null&&(N.value=n.unused)}}async function H(){(await ye(f,{name:s.value.name,description:s.value.description,beta:s.value.data.is_beta})).status!="error"&&await p()}async function K(){if(y.value==null)return;(await ke(f,y.value)).status!="error"&&(y.value=null,p())}async function W(n){if(!n)return;(await Se(f,n)).status!="error"&&p()}async function X(){window.confirm(`Are you really?
This will remove all owners, machines, and arcade data.`)&&(await we(f)).status!="error"&&await q.push({name:"admin_arcades"})}return(n,e)=>(i(),_(pe,null,{default:r(()=>[a(ne,null,{default:r(()=>{var t,v;return[I.value?A("",!0):(i(),g(k,{key:0},[a(ve,{class:"mb-6",arcade:c.value},null,8,["arcade"]),d(V).userAdmin?(i(),g(k,{key:0},[a(x,{icon:d(te),title:"Arcade Administration",main:""},null,8,["icon"]),o("div",Ve,[a(h,{"is-form":"",class:"lg:mb-6",onSubmit:C(H,["prevent"])},{default:r(()=>[a(S,{color:"info",label:"General Information",icon:d(E),class:"mb-2"},null,8,["icon"]),a(w,{label:"Arcade Name"},{default:r(()=>[a(O,{modelValue:s.value.name,"onUpdate:modelValue":e[0]||(e[0]=l=>s.value.name=l),"input-value":s.value.name,name:"arcadeName",required:""},null,8,["modelValue","input-value"])]),_:1}),o("div",$e,[a(u,{color:"info",label:"Check Name",onClick:e[1]||(e[1]=l=>T())}),N.value==!0?(i(),_(L,{key:0,path:d(se),color:"text-green-400",size:"25"},null,8,["path"])):N.value==!1?(i(),_(L,{key:1,path:d(oe),color:"text-red-400",size:"25"},null,8,["path"])):A("",!0)]),a(w,{label:"Description"},{default:r(()=>[a(O,{modelValue:s.value.description,"onUpdate:modelValue":e[2]||(e[2]=l=>s.value.description=l),name:"description",required:""},null,8,["modelValue"])]),_:1}),a(w,{label:"Beta Enabled"},{default:r(()=>[a(F,{modelValue:s.value.data.is_beta,"onUpdate:modelValue":e[3]||(e[3]=l=>s.value.data.is_beta=l),name:"beta","model-value":s.value.data.is_beta,"input-value":s.value.data.is_beta,type:"switch"},null,8,["modelValue","model-value","input-value"])]),_:1}),JSON.stringify(c.value)!==JSON.stringify(s.value)?(i(),g("div",Ne,[a(u,{color:"success",label:"Save",type:"submit"}),a(u,{color:"warning",label:"Revert",onClick:e[4]||(e[4]=l=>p())})])):A("",!0),o("div",null,[a(u,{color:"danger",label:"Delete Arcade",onClick:e[5]||(e[5]=l=>X())})])]),_:1}),a(h,{class:"mb-6"},{default:r(()=>[o("div",xe,[a(S,{color:"info",label:"Add Manager",icon:d(E),class:"mb-2"},null,8,["icon"]),o("form",{class:"h-full",onSubmit:C(K,["prevent"])},[a(w,{label:"Username"},{default:r(()=>[a(O,{modelValue:y.value,"onUpdate:modelValue":e[6]||(e[6]=l=>y.value=l),name:"username",options:U.value,required:""},null,8,["modelValue","options"])]),_:1}),a(u,{color:"success",type:"submit",label:"Add Manager"})],32)]),a(ie),o("div",Ce,[a(S,{color:"warning",label:"Managers",class:"mb-4"}),o("div",Oe,[(i(!0),g(k,null,D(c.value.owners,l=>(i(),_(h,{key:l,"color-prop":"bg-slate-800 dark:bg-slate-800"},{default:r(()=>[o("div",Pe,[o("div",Ie,[o("div",Ue,[a(re,{username:l.username,avatar:l.avatar},null,8,["username","avatar"])]),o("h1",Me,de(l.username),1)]),a(u,{color:"danger",label:"Remove",onClick:R=>W(l.id)},null,8,["onClick"])])]),_:2},1024))),128))])])]),_:1})])],64)):A("",!0),a(x,{icon:d(ue),title:"Arcade Management",main:""},null,8,["icon"]),a(h,{"is-form":"",class:"mb-6",onSubmit:C(z,["prevent"])},{default:r(()=>[a(S,{color:"info",label:"Settings",icon:d(ce),class:"mb-2"},null,8,["icon"]),o("div",Be,[(i(!0),g(k,null,D(d(M),l=>(i(),_(w,{key:l.id,label:l.name,help:l.help},{default:r(()=>[l.type=="Boolean"?(i(),_(F,{key:0,name:l.id,"model-value":!!(d(J)(b.value,l.id)??!1),"input-value":!0,type:"switch","onUpdate:modelValue":R=>d(P)(b.value,l.id,R??!1)},null,8,["name","model-value","onUpdate:modelValue"])):A("",!0)]),_:2},1032,["label","help"]))),128))]),JSON.stringify(b.value)!==JSON.stringify($.value)?(i(),g("div",Re,[a(u,{color:"success",label:"Save",type:"submit"}),a(u,{color:"danger",label:"Revert",onClick:e[7]||(e[7]=l=>p())})])):A("",!0)]),_:1}),a(h,{class:"w-full md:w-1/2 mb-6"},{default:r(()=>[e[9]||(e[9]=o("h1",{class:"text-lg md:text-xl"},"OpenVPN Configuration",-1)),e[10]||(e[10]=o("p",{class:"pb-1 dark:text-white/50"}," Use this to download your VPN config. ",-1)),a(u,{small:!1,color:"success",class:"my-2",label:"Export",onClick:e[8]||(e[8]=l=>Q())})]),_:1}),a(x,{icon:d(me),title:"Arcade Overview",main:""},null,8,["icon"]),o("div",Ee,[a(fe,{number:(v=(t=c.value)==null?void 0:t.machines)==null?void 0:v.length,label:"Active Machines"},null,8,["number"])])],64))]}),_:1})]),_:1}))}};export{Te as default};

View File

@ -0,0 +1 @@
import{b as D,r as b,o as k,p as y,c as P,d as u,w as o,e as t,_ as B,i as s,h as i,P as f,g as _,aJ as V,Q as h,j as x,F as E,k as F,t as d,l as p,v,aK as O,aL as M,n as j}from"./index-Cn7Qxkym.js";import{_ as N}from"./GeneralTable-BeEFNO3P.js";import{_ as g}from"./FormField-pnf59gPm.js";import{_ as C}from"./FormControl-DUODGQBr.js";import{h as R,i as U}from"./admin-BCHp0qne.js";const q={class:"grid md:grid-cols-2 gap-6"},J={class:"grid gap-4"},K={class:"md:flex w-full place-content-between"},Q={class:"text-lg md:text-xl"},z={class:"text-md md:text-lg"},G={class:"text-md"},H={class:"bg-slate-900 p-2 rounded-md mt-2 w-12 max-w-14 text-center"},T={class:"text-lg font-mono text-pink-700"},W={class:"flex align-middle mt-2 md:mt-0 max-h-12"},X={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},Y={class:"w-full"},oe={__name:"ArcadesView",setup(Z){const A=D(),c=b([]),S=[{text:"Name",value:"name",width:150,sortable:!0},{text:"Description",value:"description",width:150},{text:"Owners",value:"owners",width:150,sortable:!0},{text:"PASELI Enabled",value:"data.paseli_enabled",width:50,sortable:!0},{text:"Infinite PASELI",value:"data.paseli_infinite",width:50,sortable:!0},{text:"Beta Enabled",value:"data.is_beta",width:50,sortable:!0}];k(async()=>{I()});async function I(){try{const l=await R();var a=[];for(var e of l){if(e.timestamp){const w=new Date(e.timestamp*1e3);e.timestamp=w.toLocaleString()}e.owners&&(e.owners=e.owners.join(", ")),a.push(e)}c.value=a}catch(l){console.error("Failed to fetch client data:",l)}}const m=a=>{const e=a.id;A.push(`/arcade/${e}`)},n=y({filter:null});function L(){if(n.filter)return c.value.filter(a=>a.id.toString().toLowerCase().includes(n.filter.toLowerCase())||a.name.toLowerCase().includes(n.filter.toLowerCase())||a.description.toLowerCase().includes(n.filter.toLowerCase())||a.owners.toLowerCase().includes(n.filter.toLowerCase()))}const r=b(null);async function $(){const a=await U(r.value);if(a)m({id:a==null?void 0:a.arcadeId});else{window.alert("Couldn't find machine.");return}}return(a,e)=>(u(),P(j,null,{default:o(()=>[t(B,null,{default:o(()=>[t(i,{class:"mb-6 p-1"},{default:o(()=>e[3]||(e[3]=[s("h1",{class:"text-3xl"},"Arcade Management",-1),s("p",{class:"text-sm text-gray-400"},"Enter an arcade to manage it",-1)])),_:1}),t(f,{icon:_(V),title:"Search Arcades",color:"text-amber-600",main:""},null,8,["icon"]),s("div",q,[t(i,{class:"mb-6"},{default:o(()=>[t(h,{color:"info",label:"Search",class:"mb-2"}),t(g,{label:"Search",help:"Search by ID, name, description, or owner.",class:"w-full"},{default:o(()=>[t(C,{modelValue:n.filter,"onUpdate:modelValue":e[0]||(e[0]=l=>n.filter=l),"model-value":n.filter},null,8,["modelValue","model-value"])]),_:1}),s("div",J,[(u(!0),x(E,null,F(L(),l=>(u(),x("div",{key:l.id,class:"bg-slate-800 p-4 rounded-xl"},[s("div",K,[s("div",null,[s("h1",Q,d(l.name),1),s("h2",z,d(l.description),1),s("h2",G,"Managed by "+d(l.owners),1),s("div",H,[s("h2",T,d(l.id),1)])]),s("div",W,[t(p,{label:"Open Arcade",color:"info",onClick:w=>m(l)},null,8,["onClick"])])])]))),128))])]),_:1}),t(i,{class:"mb-6","is-form":"",onSubmit:v($,["prevent"])},{default:o(()=>[t(h,{color:"warning",label:"From PCBID",class:"mb-2"}),t(g,{label:"PCBID",help:"20 character ID for a machine.",class:"w-full"},{default:o(()=>[t(C,{modelValue:r.value,"onUpdate:modelValue":e[1]||(e[1]=l=>r.value=l),name:"PCBID",required:"","model-value":r.value,minlength:20,maxlength:20},null,8,["modelValue","model-value"])]),_:1}),t(p,{color:"success",type:"submit",label:"Open Arcade"})]),_:1})]),t(f,{icon:_(O),title:"All Arcades",color:"text-blue-400",main:""},null,8,["icon"]),t(i,{"has-table":"",class:"mb-6"},{default:o(()=>[s("div",X,[s("div",Y,[t(N,{headers:S,items:c.value,onRowClicked:m},null,8,["items"]),e[4]||(e[4]=s("h1",{class:"mx-4 mt-1 mb-2 text-md lg:text-lg"}," Click row to open arcade ",-1))])])]),_:1}),t(f,{icon:_(M),title:"Create Arcade",color:"text-emerald-600",main:""},null,8,["icon"]),t(i,{"is-form":"",class:"row-span-1",onSubmit:e[2]||(e[2]=v(l=>a.createClient(),["prevent"]))},{default:o(()=>[t(p,{color:"info",small:!1,label:"Arcade Onboarding",to:"/admin/onboarding"})]),_:1})]),_:1})]),_:1}))}};export{oe as default};

View File

@ -1 +0,0 @@
import{b as g,r as A,o as C,p as L,c as S,d as c,w as n,e as s,_ as $,h as i,i as t,P as m,g as u,aI as k,j as w,F as y,k as E,t as r,l as p,aJ as D,aK as I,v as O,n as V}from"./index-CHivKhhP.js";import{_ as B}from"./GeneralTable-Dm8yzA2j.js";import{_ as P}from"./FormField-vtioLqMT.js";import{_ as F}from"./FormControl-BLuW9GWW.js";import{h as M}from"./admin-YL_-tKB5.js";const j={class:"grid gap-4"},N={class:"md:flex w-full place-content-between"},R={class:"text-lg md:text-xl"},J={class:"text-md md:text-lg"},K={class:"text-md"},U={class:"bg-slate-900 p-2 rounded-md mt-2 w-12 max-w-14 text-center"},q={class:"text-lg font-mono text-pink-700"},z={class:"flex align-middle mt-2 md:mt-0 max-h-12"},G={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},H={class:"w-full"},ee={__name:"ArcadesView",setup(Q){const x=g(),d=A([]),h=[{text:"Name",value:"name",width:150,sortable:!0},{text:"Description",value:"description",width:150},{text:"Owners",value:"owners",width:150,sortable:!0},{text:"PASELI Enabled",value:"data.paseli_enabled",width:50,sortable:!0},{text:"Infinite PASELI",value:"data.paseli_infinite",width:50,sortable:!0},{text:"Beta Enabled",value:"data.is_beta",width:50,sortable:!0}];C(async()=>{b()});async function b(){try{const a=await M();var l=[];for(var e of a){if(e.timestamp){const _=new Date(e.timestamp*1e3);e.timestamp=_.toLocaleString()}e.owners&&(e.owners=e.owners.join(", ")),l.push(e)}d.value=l}catch(a){console.error("Failed to fetch client data:",a)}}const f=l=>{const e=l.id;x.push(`/arcade/${e}`)},o=L({filter:null});function v(){if(o.filter)return d.value.filter(l=>l.id.toString().toLowerCase().includes(o.filter.toLowerCase())||l.name.toLowerCase().includes(o.filter.toLowerCase())||l.description.toLowerCase().includes(o.filter.toLowerCase())||l.owners.toLowerCase().includes(o.filter.toLowerCase()))}return(l,e)=>(c(),S(V,null,{default:n(()=>[s($,null,{default:n(()=>[s(i,{class:"mb-6 p-1"},{default:n(()=>e[2]||(e[2]=[t("h1",{class:"text-3xl"},"Arcade Management",-1),t("p",{class:"text-sm text-gray-400"},"Enter an arcade to manage it",-1)])),_:1}),s(m,{icon:u(k),title:"Search Arcades",color:"text-amber-600",main:""},null,8,["icon"]),s(i,{class:"mb-6"},{default:n(()=>[s(P,{label:"Search",help:"Search by ID, name, description, or owner.",class:"w-full md:w-1/3"},{default:n(()=>[s(F,{modelValue:o.filter,"onUpdate:modelValue":e[0]||(e[0]=a=>o.filter=a),"model-value":o.filter},null,8,["modelValue","model-value"])]),_:1}),t("div",j,[(c(!0),w(y,null,E(v(),a=>(c(),w("div",{key:a.id,class:"bg-slate-800 p-4 rounded-xl"},[t("div",N,[t("div",null,[t("h1",R,r(a.name),1),t("h2",J,r(a.description),1),t("h2",K,"Managed by "+r(a.owners),1),t("div",U,[t("h2",q,r(a.id),1)])]),t("div",z,[s(p,{label:"Open Arcade",color:"info",onClick:_=>f(a)},null,8,["onClick"])])])]))),128))])]),_:1}),s(m,{icon:u(D),title:"All Arcades",color:"text-blue-400",main:""},null,8,["icon"]),s(i,{"has-table":"",class:"mb-6"},{default:n(()=>[t("div",G,[t("div",H,[s(B,{headers:h,items:d.value,onRowClicked:f},null,8,["items"]),e[3]||(e[3]=t("h1",{class:"mx-4 mt-1 mb-2 text-md lg:text-lg"}," Click row to open arcade ",-1))])])]),_:1}),s(m,{icon:u(I),title:"Create Arcade",color:"text-emerald-600",main:""},null,8,["icon"]),s(i,{"is-form":"",class:"row-span-1",onSubmit:e[1]||(e[1]=O(a=>l.createClient(),["prevent"]))},{default:n(()=>[s(p,{color:"info",small:!1,label:"Arcade Onboarding",to:"/admin/onboarding"})]),_:1})]),_:1})]),_:1}))}};export{ee as default};

View File

@ -1 +1 @@
import{aX as o,aY as t}from"./index-CHivKhhP.js";const l=o({name:"BaseButtons",props:{noWrap:Boolean,type:{type:String,default:"justify-start"},classAddon:{type:String,default:"mr-3 last:mr-0 mb-3"},mb:{type:String,default:"-mb-3"}},render(){const r=this.$slots&&this.$slots.default,a=["flex","items-center",this.type,this.noWrap?"flex-nowrap":"flex-wrap"];return this.mb&&a.push(this.mb),t("div",{class:a},r?this.$slots.default().map(s=>s&&s.children&&typeof s.children=="object"?t(s,{},s.children.map(n=>t(n,{class:[this.classAddon]}))):t(s,{class:[this.classAddon]})):null)}});export{l as _};
import{a_ as o,a$ as t}from"./index-Cn7Qxkym.js";const l=o({name:"BaseButtons",props:{noWrap:Boolean,type:{type:String,default:"justify-start"},classAddon:{type:String,default:"mr-3 last:mr-0 mb-3"},mb:{type:String,default:"-mb-3"}},render(){const r=this.$slots&&this.$slots.default,a=["flex","items-center",this.type,this.noWrap?"flex-nowrap":"flex-wrap"];return this.mb&&a.push(this.mb),t("div",{class:a},r?this.$slots.default().map(s=>s&&s.children&&typeof s.children=="object"?t(s,{},s.children.map(n=>t(n,{class:[this.classAddon]}))):t(s,{class:[this.classAddon]})):null)}});export{l as _};

View File

@ -1 +1 @@
import{r as _,p as $,o as k,c as g,d as r,w as i,e as s,_ as I,i as t,j as p,f as h,O as A,P as w,g as n,a2 as D,h as P,v as S,a3 as V,l as c,C as E,B as F,I as N,F as O,k as T,t as B,n as L,a4 as j,a5 as M,a6 as U}from"./index-CHivKhhP.js";import{d as v}from"./userData-DZYdegtD.js";import{_ as q}from"./FormField-vtioLqMT.js";import{_ as z}from"./FormControl-BLuW9GWW.js";const G={class:"grid md:grid-cols-2 mb-2"},H={key:0,class:"grid grid-cols-1 md:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 3xl:grid-cols-6 4xl:grid-cols-7 gap-6"},W={class:"flex justify-between md:grid md:gap-2 mb-4 items-center"},Z=["src"],J={class:"text-xl text-center font-mono"},K={class:"grid grid-cols-3 md:grid-cols-2 gap-2"},se={__name:"CardsView",setup(Q){const b="https://cdn.phaseii.network/file/PhaseII/web-assets";var d=_([]);const u=_(!1),o=$({newCard:null});async function m(){d.value=null;try{const a=await j();d.value=a}catch(a){console.error("Failed to fetch card data:",a)}}k(async()=>{await m()});function x(a){var e=a.target.value;e=e.replace(/[^A-Za-z0-9]/g,""),e=e.toUpperCase().replace(/(.{4})/g,"$1-").replace(/-$/,""),o.newCard=e}async function y(){u.value=!0,(await M(o.newCard)).status=="success"&&(o.newCard=null,u.value=!1,await m())}async function X(a){(await U(v(a))).status=="success"&&await m()}const C=a=>{navigator.clipboard.writeText(a).then(()=>{alert("Copied to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})};return(a,e)=>(r(),g(L,null,{default:i(()=>[s(I,null,{default:i(()=>[s(A,{class:"mb-6","use-small":"","even-smaller":""}),s(w,{icon:n(D),title:"Add a Card",main:""},null,8,["icon"]),s(P,{"is-form":"",class:"row-span-2 mb-6",onSubmit:e[1]||(e[1]=S(l=>y(),["prevent"]))},{footer:i(()=>[s(c,{type:"submit",color:"success",label:"Add"}),u.value?(r(),g(E,{key:0,path:a.mdiLoading,color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):h("",!0)]),default:i(()=>[s(q,{label:"Card ID",help:"The 16 character ACCESS CODE. If your card is dated after 2016, you'll need to get the ACCESS CODE from a game."},{default:i(()=>[s(z,{modelValue:o.newCard,"onUpdate:modelValue":e[0]||(e[0]=l=>o.newCard=l),icon:n(V),name:"cardId",type:"card",placeholder:"XXXX-XXXX-XXXX-XXXX",minlength:19,maxlength:19,required:"",onInput:x},null,8,["modelValue","icon"])]),_:1})]),_:1}),t("div",G,[s(w,{icon:n(F),title:"Login Cards",main:""},null,8,["icon"]),e[2]||(e[2]=t("div",{class:"text-xl md:text-right"},[t("h4",null,"AC = Web Access Code"),t("h4",null,[N("NFC-ID = Internal ID for "),t("samp",null,"card0.txt")])],-1))]),n(d)?(r(),p("div",H,[(r(!0),p(O,null,T(n(d),l=>(r(),p("div",{key:l.id,class:"grid dark:bg-slate-900/70 rounded-2xl p-5"},[t("div",W,[t("img",{src:`${n(b)}/passes/generic.webp`,class:"w-24 md:w-auto"},null,8,Z),t("h1",J,B(n(v)(l.encoded)),1)]),t("div",K,[s(c,{color:"info",label:"Copy AC",onClick:f=>C(l.encoded)},null,8,["onClick"]),s(c,{color:"info",label:"Copy NFC-ID",onClick:f=>C(l.id)},null,8,["onClick"]),s(c,{color:"danger",label:"Delete",onClick:f=>X(l.encoded)},null,8,["onClick"])])]))),128))])):h("",!0)]),_:1})]),_:1}))}};export{se as default};
import{r as _,p as $,o as k,c as g,d as r,w as i,e as s,_ as I,i as t,j as p,f as h,O as A,P as w,g as n,a2 as D,h as P,v as S,a3 as V,l as c,C as E,B as F,I as N,F as O,k as T,t as B,n as L,a4 as j,a5 as M,a6 as U}from"./index-Cn7Qxkym.js";import{d as v}from"./userData-DZYdegtD.js";import{_ as q}from"./FormField-pnf59gPm.js";import{_ as z}from"./FormControl-DUODGQBr.js";const G={class:"grid md:grid-cols-2 mb-2"},H={key:0,class:"grid grid-cols-1 md:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 3xl:grid-cols-6 4xl:grid-cols-7 gap-6"},W={class:"flex justify-between md:grid md:gap-2 mb-4 items-center"},Z=["src"],J={class:"text-xl text-center font-mono"},K={class:"grid grid-cols-3 md:grid-cols-2 gap-2"},se={__name:"CardsView",setup(Q){const b="https://cdn.phaseii.network/file/PhaseII/web-assets";var d=_([]);const u=_(!1),o=$({newCard:null});async function m(){d.value=null;try{const a=await j();d.value=a}catch(a){console.error("Failed to fetch card data:",a)}}k(async()=>{await m()});function x(a){var e=a.target.value;e=e.replace(/[^A-Za-z0-9]/g,""),e=e.toUpperCase().replace(/(.{4})/g,"$1-").replace(/-$/,""),o.newCard=e}async function y(){u.value=!0,(await M(o.newCard)).status=="success"&&(o.newCard=null,u.value=!1,await m())}async function X(a){(await U(v(a))).status=="success"&&await m()}const C=a=>{navigator.clipboard.writeText(a).then(()=>{alert("Copied to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})};return(a,e)=>(r(),g(L,null,{default:i(()=>[s(I,null,{default:i(()=>[s(A,{class:"mb-6","use-small":"","even-smaller":""}),s(w,{icon:n(D),title:"Add a Card",main:""},null,8,["icon"]),s(P,{"is-form":"",class:"row-span-2 mb-6",onSubmit:e[1]||(e[1]=S(l=>y(),["prevent"]))},{footer:i(()=>[s(c,{type:"submit",color:"success",label:"Add"}),u.value?(r(),g(E,{key:0,path:a.mdiLoading,color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):h("",!0)]),default:i(()=>[s(q,{label:"Card ID",help:"The 16 character ACCESS CODE. If your card is dated after 2016, you'll need to get the ACCESS CODE from a game."},{default:i(()=>[s(z,{modelValue:o.newCard,"onUpdate:modelValue":e[0]||(e[0]=l=>o.newCard=l),icon:n(V),name:"cardId",type:"card",placeholder:"XXXX-XXXX-XXXX-XXXX",minlength:19,maxlength:19,required:"",onInput:x},null,8,["modelValue","icon"])]),_:1})]),_:1}),t("div",G,[s(w,{icon:n(F),title:"Login Cards",main:""},null,8,["icon"]),e[2]||(e[2]=t("div",{class:"text-xl md:text-right"},[t("h4",null,"AC = Web Access Code"),t("h4",null,[N("NFC-ID = Internal ID for "),t("samp",null,"card0.txt")])],-1))]),n(d)?(r(),p("div",H,[(r(!0),p(O,null,T(n(d),l=>(r(),p("div",{key:l.id,class:"grid dark:bg-slate-900/70 rounded-2xl p-5"},[t("div",W,[t("img",{src:`${n(b)}/passes/generic.webp`,class:"w-24 md:w-auto"},null,8,Z),t("h1",J,B(n(v)(l.encoded)),1)]),t("div",K,[s(c,{color:"info",label:"Copy AC",onClick:f=>C(l.encoded)},null,8,["onClick"]),s(c,{color:"info",label:"Copy NFC-ID",onClick:f=>C(l.id)},null,8,["onClick"]),s(c,{color:"danger",label:"Delete",onClick:f=>X(l.encoded)},null,8,["onClick"])])]))),128))])):h("",!0)]),_:1})]),_:1}))}};export{se as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{u as D,r as x,p as $,c as w,d as o,w as n,e,_ as V,j as _,f as m,O as T,F as A,P as f,g as i,b4 as P,h as v,v as F,i as a,I as B,b5 as M,l as h,C as N,D as R,t as p,ad as I,n as L}from"./index-CHivKhhP.js";import{_ as O}from"./FormField-vtioLqMT.js";import{_ as U}from"./FormControl-BLuW9GWW.js";import{f as Y,g as j}from"./arcade-C_iviJ_9.js";const q={key:1},E={class:"text-2xl font-bold"},G={class:"text-xl mb-6"},K={class:"text-xl mb-6"},z={class:"mt-4"},H={key:2},J={class:"text-xl mb-6"},Q={class:"mt-4"},W={key:3},Z={class:"mt-4"},ne={__name:"ClaimView",setup(ee){const g=D(),b=x(!1),t=x(null),d=$({PCBID:null}),c=x(null);async function S(){b.value=!0,t.value=await Y(d.PCBID),b.value=!1}async function X(){const C=await j(d.PCBID);C||window.alert("Failed to takeover!"),C.status==="success"?c.value=!0:c.value=!1,g.userLoaded=!1,g.loadUser()}return(C,s)=>(o(),w(L,null,{default:n(()=>[e(V,null,{default:n(()=>[e(T,{class:"mb-6","use-small":"","even-smaller":""}),t.value?m("",!0):(o(),_(A,{key:0},[e(f,{icon:i(P),title:"Claim an Arcade",main:""},null,8,["icon"]),e(v,{"is-form":"",class:"row-span-2 mb-6",onSubmit:s[1]||(s[1]=F(l=>S(),["prevent"]))},{footer:n(()=>[e(h,{type:"submit",color:"success",label:"Start Claim"}),b.value?(o(),w(N,{key:0,path:i(R),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):m("",!0)]),default:n(()=>[s[2]||(s[2]=a("h2",{class:"text-xl mb-6 lg:w-1/2"},[B(" Claim an arcade using a PCBID."),a("br"),B(" You cannot claim the arcade if it has an owner. ")],-1)),e(O,{label:"PCBID",help:"A PCBID from the arcade you're wanting to claim."},{default:n(()=>[e(U,{modelValue:d.PCBID,"onUpdate:modelValue":s[0]||(s[0]=l=>d.PCBID=l),icon:i(M),name:"cardId",type:"pcbid",placeholder:"XXXXXXXXXXXXXXXXX",minlength:20,maxlength:20,required:""},null,8,["modelValue","icon"])]),_:1})]),_:1})],64)),t.value&&c.value==null?(o(),_("div",q,[e(f,{icon:i(P),title:"Confirm Merge",main:""},null,8,["icon"]),e(v,null,{default:n(()=>{var l,r,u,k,y;return[a("h2",E,p((r=(l=t.value)==null?void 0:l.arcade)==null?void 0:r.name),1),a("h3",G,p((k=(u=t.value)==null?void 0:u.arcade)==null?void 0:k.description),1),a("h2",K," This arcade has "+p((y=t.value)==null?void 0:y.count)+" machine(s). ",1),a("div",z,[e(h,{color:"success",label:"Start Takeover",onClick:X})])]}),_:1})])):m("",!0),c.value==!0?(o(),_("div",H,[e(f,{icon:i(I),title:"Takeover Results",main:""},null,8,["icon"]),e(v,null,{default:n(()=>{var l,r,u;return[a("h2",J," ✅ Successfully merged "+p((l=t.value)==null?void 0:l.count)+" machines. Yippie! ",1),a("div",Q,[e(h,{color:"success",label:"Go to Arcade",href:`#/arcade/${(u=(r=t.value)==null?void 0:r.arcade)==null?void 0:u.id}`},null,8,["href"])])]}),_:1})])):m("",!0),c.value==!1?(o(),_("div",W,[e(f,{icon:i(I),title:"Merge Results",main:""},null,8,["icon"]),e(v,null,{default:n(()=>[s[3]||(s[3]=a("h2",{class:"text-xl mb-6"},"❌ Failed to merge. Please try again.",-1)),a("div",Z,[e(h,{color:"warning",label:"Retry",onClick:X})])]),_:1})])):m("",!0)]),_:1})]),_:1}))}};export{ne as default};
import{u as D,r as x,p as $,c as w,d as o,w as n,e,_ as V,j as _,f as m,O as T,F as A,P as f,g as i,b7 as P,h as v,v as F,i as a,I as B,b8 as M,l as h,C as N,D as R,t as p,ad as I,n as L}from"./index-Cn7Qxkym.js";import{_ as O}from"./FormField-pnf59gPm.js";import{_ as U}from"./FormControl-DUODGQBr.js";import{f as Y,g as j}from"./arcade-B1UQGAAy.js";const q={key:1},E={class:"text-2xl font-bold"},G={class:"text-xl mb-6"},K={class:"text-xl mb-6"},z={class:"mt-4"},H={key:2},J={class:"text-xl mb-6"},Q={class:"mt-4"},W={key:3},Z={class:"mt-4"},ne={__name:"ClaimView",setup(ee){const g=D(),b=x(!1),t=x(null),d=$({PCBID:null}),c=x(null);async function S(){b.value=!0,t.value=await Y(d.PCBID),b.value=!1}async function X(){const C=await j(d.PCBID);C||window.alert("Failed to takeover!"),C.status==="success"?c.value=!0:c.value=!1,g.userLoaded=!1,g.loadUser()}return(C,s)=>(o(),w(L,null,{default:n(()=>[e(V,null,{default:n(()=>[e(T,{class:"mb-6","use-small":"","even-smaller":""}),t.value?m("",!0):(o(),_(A,{key:0},[e(f,{icon:i(P),title:"Claim an Arcade",main:""},null,8,["icon"]),e(v,{"is-form":"",class:"row-span-2 mb-6",onSubmit:s[1]||(s[1]=F(l=>S(),["prevent"]))},{footer:n(()=>[e(h,{type:"submit",color:"success",label:"Start Claim"}),b.value?(o(),w(N,{key:0,path:i(R),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):m("",!0)]),default:n(()=>[s[2]||(s[2]=a("h2",{class:"text-xl mb-6 lg:w-1/2"},[B(" Claim an arcade using a PCBID."),a("br"),B(" You cannot claim the arcade if it has an owner. ")],-1)),e(O,{label:"PCBID",help:"A PCBID from the arcade you're wanting to claim."},{default:n(()=>[e(U,{modelValue:d.PCBID,"onUpdate:modelValue":s[0]||(s[0]=l=>d.PCBID=l),icon:i(M),name:"cardId",type:"pcbid",placeholder:"XXXXXXXXXXXXXXXXX",minlength:20,maxlength:20,required:""},null,8,["modelValue","icon"])]),_:1})]),_:1})],64)),t.value&&c.value==null?(o(),_("div",q,[e(f,{icon:i(P),title:"Confirm Merge",main:""},null,8,["icon"]),e(v,null,{default:n(()=>{var l,r,u,k,y;return[a("h2",E,p((r=(l=t.value)==null?void 0:l.arcade)==null?void 0:r.name),1),a("h3",G,p((k=(u=t.value)==null?void 0:u.arcade)==null?void 0:k.description),1),a("h2",K," This arcade has "+p((y=t.value)==null?void 0:y.count)+" machine(s). ",1),a("div",z,[e(h,{color:"success",label:"Start Takeover",onClick:X})])]}),_:1})])):m("",!0),c.value==!0?(o(),_("div",H,[e(f,{icon:i(I),title:"Takeover Results",main:""},null,8,["icon"]),e(v,null,{default:n(()=>{var l,r,u;return[a("h2",J," ✅ Successfully merged "+p((l=t.value)==null?void 0:l.count)+" machines. Yippie! ",1),a("div",Q,[e(h,{color:"success",label:"Go to Arcade",href:`#/arcade/${(u=(r=t.value)==null?void 0:r.arcade)==null?void 0:u.id}`},null,8,["href"])])]}),_:1})])):m("",!0),c.value==!1?(o(),_("div",W,[e(f,{icon:i(I),title:"Merge Results",main:""},null,8,["icon"]),e(v,null,{default:n(()=>[s[3]||(s[3]=a("h2",{class:"text-xl mb-6"},"❌ Failed to merge. Please try again.",-1)),a("div",Z,[e(h,{color:"warning",label:"Retry",onClick:X})])]),_:1})])):m("",!0)]),_:1})]),_:1}))}};export{ne as default};

View File

@ -1 +1 @@
import{r as h,o as y,c as x,d as l,w as m,e as c,_ as b,j as n,f as $,O as I,g as i,F as _,P as C,aj as P,k as g,h as V,i as s,a8 as B,a7 as u,t as f,n as F,ak as U}from"./index-CHivKhhP.js";const D={class:"md:flex gap-4 items-center pb-6"},N={class:"text-3xl"},j={class:"text-2xl font-light"},G={key:0,class:"w-full grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 2xl:grid-cols-6 3xl:grid-cols-7 4xl:grid-cols-8 gap-6 place-items-center"},L=["href"],O=["src"],S={key:1},Y={class:"space-y-1 text-center"},A={class:"text-xl xl:text-xl"},q={__name:"ContentView",setup(E){var r=h([]);const v=h(!1);async function k(){r.value=null;try{const a=await U("lpac_upload");r.value=w(a)}catch(a){console.error("Failed to fetch content:",a)}v.value=!1}y(async()=>{await k()});function w(a){a.sort(function(t,e){return e.timestamp-t.timestamp});for(const t of a){const e=u(t.game);if(t.game=e.name,t.version=e.versions.find(o=>o.id==t.version).label??0,t.timestamp){const o=new Date(t.timestamp*1e3);t.timestamp=o.toLocaleString()}}return a}return(a,t)=>(l(),x(F,null,{default:m(()=>[c(b,null,{default:m(()=>[c(I,{class:"mb-6","use-small":"","even-smaller":""}),i(r)?(l(),n(_,{key:0},[c(C,{icon:i(P),title:"Your Uploads",main:""},null,8,["icon"]),(l(!0),n(_,null,g(i(r),e=>(l(),x(V,{key:e.timestamp,class:"mb-6"},{default:m(()=>{var o,p;return[s("div",D,[c(B,{path:i(u)(e.game).icon},null,8,["path"]),s("h1",N,f(i(u)(e.game).name),1),s("h1",j,f(e.timestamp),1)]),((o=e.data)==null?void 0:o.status)=="uploaded"?(l(),n("div",G,[(l(!0),n(_,null,g((p=e.data)==null?void 0:p.filelist,d=>(l(),n("div",{key:d.filename,class:"md:hover:scale-[1.1] transition ease-in-out"},[s("a",{href:`https://cdn.phaseii.network/file/PhaseII/${d.b2_path}`,target:"_blank"},[s("img",{class:"w-[200px]",src:`https://cdn.phaseii.network/file/PhaseII/${d.b2_path}`},null,8,O)],8,L)]))),128))])):(l(),n("div",S,[s("div",Y,[t[0]||(t[0]=s("h1",{class:"text-2xl xl:text-4xl font-bold"}," Your content is still uploading! ",-1)),t[1]||(t[1]=s("h2",{class:"text-xl xl:text-2xl font-light"}," Please wait for the upload to complete. ",-1)),s("h2",A," Upload started at "+f(i(r)[0].timestamp),1)])]))]}),_:2},1024))),128))],64)):$("",!0)]),_:1})]),_:1}))}};export{q as default};
import{r as h,o as y,c as x,d as l,w as m,e as c,_ as b,j as n,f as $,O as I,g as i,F as _,P as C,aj as P,k as g,h as V,i as s,a8 as B,a7 as u,t as f,n as F,ak as U}from"./index-Cn7Qxkym.js";const D={class:"md:flex gap-4 items-center pb-6"},N={class:"text-3xl"},j={class:"text-2xl font-light"},G={key:0,class:"w-full grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 2xl:grid-cols-6 3xl:grid-cols-7 4xl:grid-cols-8 gap-6 place-items-center"},L=["href"],O=["src"],S={key:1},Y={class:"space-y-1 text-center"},A={class:"text-xl xl:text-xl"},q={__name:"ContentView",setup(E){var r=h([]);const v=h(!1);async function k(){r.value=null;try{const a=await U("lpac_upload");r.value=w(a)}catch(a){console.error("Failed to fetch content:",a)}v.value=!1}y(async()=>{await k()});function w(a){a.sort(function(t,e){return e.timestamp-t.timestamp});for(const t of a){const e=u(t.game);if(t.game=e.name,t.version=e.versions.find(o=>o.id==t.version).label??0,t.timestamp){const o=new Date(t.timestamp*1e3);t.timestamp=o.toLocaleString()}}return a}return(a,t)=>(l(),x(F,null,{default:m(()=>[c(b,null,{default:m(()=>[c(I,{class:"mb-6","use-small":"","even-smaller":""}),i(r)?(l(),n(_,{key:0},[c(C,{icon:i(P),title:"Your Uploads",main:""},null,8,["icon"]),(l(!0),n(_,null,g(i(r),e=>(l(),x(V,{key:e.timestamp,class:"mb-6"},{default:m(()=>{var o,p;return[s("div",D,[c(B,{path:i(u)(e.game).icon},null,8,["path"]),s("h1",N,f(i(u)(e.game).name),1),s("h1",j,f(e.timestamp),1)]),((o=e.data)==null?void 0:o.status)=="uploaded"?(l(),n("div",G,[(l(!0),n(_,null,g((p=e.data)==null?void 0:p.filelist,d=>(l(),n("div",{key:d.filename,class:"md:hover:scale-[1.1] transition ease-in-out"},[s("a",{href:`https://cdn.phaseii.network/file/PhaseII/${d.b2_path}`,target:"_blank"},[s("img",{class:"w-[200px]",src:`https://cdn.phaseii.network/file/PhaseII/${d.b2_path}`},null,8,O)],8,L)]))),128))])):(l(),n("div",S,[s("div",Y,[t[0]||(t[0]=s("h1",{class:"text-2xl xl:text-4xl font-bold"}," Your content is still uploading! ",-1)),t[1]||(t[1]=s("h2",{class:"text-xl xl:text-2xl font-light"}," Please wait for the upload to complete. ",-1)),s("h2",A," Upload started at "+f(i(r)[0].timestamp),1)])]))]}),_:2},1024))),128))],64)):$("",!0)]),_:1})]),_:1}))}};export{q as default};

View File

@ -1 +1 @@
var P=Object.defineProperty;var k=(u,s,a)=>s in u?P(u,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):u[s]=a;var m=(u,s,a)=>k(u,typeof s!="symbol"?s+"":s,a);import{V as N,b as S,u as U,r as w,M as $,c as v,d as _,w as n,e as l,_ as h,i as p,O as F,P as z,g as b,W as B,h as O,v as G,f as J,l as g,n as x,X as D}from"./index-CHivKhhP.js";import{_ as o}from"./FormField-vtioLqMT.js";import{_ as V}from"./FormControl-BLuW9GWW.js";import{_ as c}from"./FormCheckRadio-DdZBsrII.js";class d{static get cardList(){const s=N.filter(a=>!a.skip).map(a=>({id:a.assetId?a.assetId:a.id,label:a.name}));return[...this.baseCardList,...s]}}m(d,"baseCardList",[{id:"time",label:"Default"},{id:"carpet",label:"Arcade Carpet"},{id:"gradient",label:"Pink/Purple Gradient"},{id:"pride",label:"Pride Flag"},{id:"trans",label:"Trans Flag"},{id:"nonbinary",label:"Non-Binary Flag"},{id:"lesbian",label:"Lesbian Flag"},{id:"loveplus",label:"LovePlus"},{id:"paint",label:"i eat paint"}]),m(d,"borderList",[{id:"",label:"None"},{id:"test",label:"Basic"},{id:"swirl",label:"Swirl"},{id:"pride",label:"Pride Flag"},{id:"trans",label:"Trans Flag"},{id:"nonbinary",label:"Non-Binary Flag"},{id:"lesbian",label:"Lesbian Flag"},{id:"leaves",label:"Leaves"}]);const A={class:"space-x-2"},H={__name:"CustomizeView",setup(u){const s=S(),a=U(),e=w(a.userCustomize);var f=JSON.parse(JSON.stringify(a.userCustomize));$(()=>a.userCustomize,r=>{e.value=r,f=JSON.parse(JSON.stringify(r))});async function y(){var r=null;try{r=await D(e.value)}catch(i){console.error("Failed to update customize:",i)}(r==null?void 0:r.status)==="success"&&(a.userLoaded=!1,s.go())}function L(){return JSON.stringify(f)!==JSON.stringify(e.value)}async function C(){a.userLoaded=!1,s.go()}return(r,i)=>(_(),v(x,null,{default:n(()=>[l(h,null,{default:n(()=>[l(F,{class:"mb-6"}),l(z,{icon:b(B),title:"Profile Customizations",main:""},null,8,["icon"]),p("div",null,[l(O,null,{default:n(()=>[p("form",{onSubmit:G(y,["prevent"])},[l(o,{label:"Profile Background"},{default:n(()=>[l(V,{modelValue:e.value.card,"onUpdate:modelValue":i[0]||(i[0]=t=>e.value.card=t),options:b(d).cardList,"model-value":e.value.card??"time",name:"card"},null,8,["modelValue","options","model-value"])]),_:1}),l(o,{label:"Profile Border"},{default:n(()=>[l(V,{modelValue:e.value.border,"onUpdate:modelValue":i[1]||(i[1]=t=>e.value.border=t),options:b(d).borderList,"model-value":e.value.border??"",name:"border"},null,8,["modelValue","options","model-value"])]),_:1}),l(o,{label:"Disable Greeting"},{default:n(()=>[l(c,{modelValue:e.value.disableGreeting,"onUpdate:modelValue":i[2]||(i[2]=t=>e.value.disableGreeting=t),type:"switch","input-value":e.value.disableGreeting??!1,name:"disableGreeting"},null,8,["modelValue","input-value"])]),_:1}),l(o,{label:"Disable WebUI Update Popup"},{default:n(()=>[l(c,{modelValue:e.value.disableUpdatePopup,"onUpdate:modelValue":i[3]||(i[3]=t=>e.value.disableUpdatePopup=t),type:"switch","input-value":e.value.disableUpdatePopup??!1,name:"disableUpdatePopup"},null,8,["modelValue","input-value"])]),_:1}),l(o,{label:"Shrimp Links",help:"Allow my mind to be probed by shrimps",class:"text-pink-300"},{default:n(()=>[l(c,{modelValue:e.value.shrimpLinks,"onUpdate:modelValue":i[4]||(i[4]=t=>e.value.shrimpLinks=t),type:"switch","input-value":e.value.shrimpLinks??!1,name:"shrimpLinks"},null,8,["modelValue","input-value"])]),_:1}),p("div",A,[l(g,{type:"submit",color:"success",label:"Save"}),L()?(_(),v(g,{key:0,color:"danger",label:"Revert",onClick:C})):J("",!0)])],32)]),_:1})])]),_:1})]),_:1}))}};export{H as default};
var P=Object.defineProperty;var k=(u,s,a)=>s in u?P(u,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):u[s]=a;var m=(u,s,a)=>k(u,typeof s!="symbol"?s+"":s,a);import{V as N,b as S,u as U,r as w,M as $,c as v,d as _,w as n,e as l,_ as h,i as p,O as F,P as z,g as b,W as B,h as O,v as G,f as J,l as g,n as x,X as D}from"./index-Cn7Qxkym.js";import{_ as o}from"./FormField-pnf59gPm.js";import{_ as V}from"./FormControl-DUODGQBr.js";import{_ as c}from"./FormCheckRadio-Cj2oiu3q.js";class d{static get cardList(){const s=N.filter(a=>!a.skip).map(a=>({id:a.assetId?a.assetId:a.id,label:a.name}));return[...this.baseCardList,...s]}}m(d,"baseCardList",[{id:"time",label:"Default"},{id:"carpet",label:"Arcade Carpet"},{id:"gradient",label:"Pink/Purple Gradient"},{id:"pride",label:"Pride Flag"},{id:"trans",label:"Trans Flag"},{id:"nonbinary",label:"Non-Binary Flag"},{id:"lesbian",label:"Lesbian Flag"},{id:"loveplus",label:"LovePlus"},{id:"paint",label:"i eat paint"}]),m(d,"borderList",[{id:"",label:"None"},{id:"test",label:"Basic"},{id:"swirl",label:"Swirl"},{id:"pride",label:"Pride Flag"},{id:"trans",label:"Trans Flag"},{id:"nonbinary",label:"Non-Binary Flag"},{id:"lesbian",label:"Lesbian Flag"},{id:"leaves",label:"Leaves"}]);const A={class:"space-x-2"},H={__name:"CustomizeView",setup(u){const s=S(),a=U(),e=w(a.userCustomize);var f=JSON.parse(JSON.stringify(a.userCustomize));$(()=>a.userCustomize,r=>{e.value=r,f=JSON.parse(JSON.stringify(r))});async function y(){var r=null;try{r=await D(e.value)}catch(i){console.error("Failed to update customize:",i)}(r==null?void 0:r.status)==="success"&&(a.userLoaded=!1,s.go())}function L(){return JSON.stringify(f)!==JSON.stringify(e.value)}async function C(){a.userLoaded=!1,s.go()}return(r,i)=>(_(),v(x,null,{default:n(()=>[l(h,null,{default:n(()=>[l(F,{class:"mb-6"}),l(z,{icon:b(B),title:"Profile Customizations",main:""},null,8,["icon"]),p("div",null,[l(O,null,{default:n(()=>[p("form",{onSubmit:G(y,["prevent"])},[l(o,{label:"Profile Background"},{default:n(()=>[l(V,{modelValue:e.value.card,"onUpdate:modelValue":i[0]||(i[0]=t=>e.value.card=t),options:b(d).cardList,"model-value":e.value.card??"time",name:"card"},null,8,["modelValue","options","model-value"])]),_:1}),l(o,{label:"Profile Border"},{default:n(()=>[l(V,{modelValue:e.value.border,"onUpdate:modelValue":i[1]||(i[1]=t=>e.value.border=t),options:b(d).borderList,"model-value":e.value.border??"",name:"border"},null,8,["modelValue","options","model-value"])]),_:1}),l(o,{label:"Disable Greeting"},{default:n(()=>[l(c,{modelValue:e.value.disableGreeting,"onUpdate:modelValue":i[2]||(i[2]=t=>e.value.disableGreeting=t),type:"switch","input-value":e.value.disableGreeting??!1,name:"disableGreeting"},null,8,["modelValue","input-value"])]),_:1}),l(o,{label:"Disable WebUI Update Popup"},{default:n(()=>[l(c,{modelValue:e.value.disableUpdatePopup,"onUpdate:modelValue":i[3]||(i[3]=t=>e.value.disableUpdatePopup=t),type:"switch","input-value":e.value.disableUpdatePopup??!1,name:"disableUpdatePopup"},null,8,["modelValue","input-value"])]),_:1}),l(o,{label:"Shrimp Links",help:"Allow my mind to be probed by shrimps",class:"text-pink-300"},{default:n(()=>[l(c,{modelValue:e.value.shrimpLinks,"onUpdate:modelValue":i[4]||(i[4]=t=>e.value.shrimpLinks=t),type:"switch","input-value":e.value.shrimpLinks??!1,name:"shrimpLinks"},null,8,["modelValue","input-value"])]),_:1}),p("div",A,[l(g,{type:"submit",color:"success",label:"Save"}),L()?(_(),v(g,{key:0,color:"danger",label:"Revert",onClick:C})):J("",!0)])],32)]),_:1})])]),_:1})]),_:1}))}};export{H as default};

View File

@ -1 +1 @@
import{r as C,o as T,c as j,d as S,w as o,e,_ as G,j as H,f as M,F as U,i,h as u,P as c,g as m,av as W,an as s,aw as $,n as q}from"./index-CHivKhhP.js";import{_ as E}from"./GeneralTable-Dm8yzA2j.js";import{A as z}from"./admin-YL_-tKB5.js";const J={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 mb-6"},K={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},O={class:"w-full"},Q={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},X={class:"w-full"},te={__name:"DashboardView",setup(Y){const t=C({}),b=C(!0);T(async()=>{try{const l=await z();t.value=l,b.value=!1}catch(l){console.log("Failed to fetch admin data:",l)}});const N=[{text:"Timestamp",value:"date",width:120},{text:"IP Address",value:"data.ip",width:120},{text:"Game",value:"data.model",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Name",value:"data.name",width:120},{text:"Value",value:"data.value",width:120}],V=[{text:"Timestamp",value:"date",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Delta",value:"data.delta",width:120},{text:"Remaining Balance",value:"data.balance",width:120},{text:"Reason",value:"data.reason",width:120}];function F(l){var n=[];for(var a of l)if(a.type=="paseli_transaction"){if(a.timestamp){const r=new Date(a.timestamp*1e3);a.date=r.toLocaleString()}n.push(a)}return n}function L(l){var n=[];for(var a of l)if(a.type=="pcbevent"){if(a.timestamp){const r=new Date(a.timestamp*1e3);a.date=r.toLocaleString()}n.push(a)}return n}return(l,n)=>(S(),j(q,null,{default:o(()=>[e(G,null,{default:o(()=>{var a,r,v,f,h,_,p,g,w,x,A,k,y,P,D,I,B,R;return[b.value?M("",!0):(S(),H(U,{key:0},[e(u,{class:"mb-6 p-1"},{default:o(()=>n[0]||(n[0]=[i("h1",{class:"text-3xl"},"PhaseII eAmusement Network",-1),i("p",{class:"text-sm text-gray-400"},"Welcome to the backend ;)",-1)])),_:1}),e(c,{icon:m(W),title:"Admin Dashboard",color:"text-red-600",main:""},null,8,["icon"]),i("div",J,[e(s,{number:(r=(a=t.value)==null?void 0:a.statistics)==null?void 0:r.user,label:"User Account(s)"},null,8,["number"]),e(s,{number:(f=(v=t.value)==null?void 0:v.statistics)==null?void 0:f.card,label:"Registered Cards"},null,8,["number"]),e(s,{number:(_=(h=t.value)==null?void 0:h.statistics)==null?void 0:_.profile,label:"Game Profiles"},null,8,["number"]),e(s,{number:(g=(p=t.value)==null?void 0:p.statistics)==null?void 0:g.link,label:"Rivals"},null,8,["number"]),e(s,{number:(x=(w=t.value)==null?void 0:w.statistics)==null?void 0:x.arcade,label:"Registered Arcades"},null,8,["number"]),e(s,{number:(k=(A=t.value)==null?void 0:A.statistics)==null?void 0:k.score,label:"Published Scores"},null,8,["number"]),e(s,{number:(P=(y=t.value)==null?void 0:y.statistics)==null?void 0:P.score_history,label:"Score Attempts"},null,8,["number"]),e(s,{number:(I=(D=t.value)==null?void 0:D.statistics)==null?void 0:I.achievement,label:"Achievements"},null,8,["number"]),e(s,{number:(R=(B=t.value)==null?void 0:B.statistics)==null?void 0:R.audit,label:"Recent Event Logs"},null,8,["number"])]),e(c,{icon:m($),title:"Recent PCB Events"},null,8,["icon"]),e(u,{"has-table":""},{default:o(()=>{var d;return[i("div",K,[i("div",O,[e(E,{headers:N,items:L((d=t.value)==null?void 0:d.audit)},null,8,["items"])])])]}),_:1}),e(c,{icon:m($),title:"Recent PASELI Transactions"},null,8,["icon"]),e(u,{"has-table":""},{default:o(()=>{var d;return[i("div",Q,[i("div",X,[e(E,{headers:V,items:F((d=t.value)==null?void 0:d.audit)},null,8,["items"])])])]}),_:1})],64))]}),_:1})]),_:1}))}};export{te as default};
import{r as C,o as T,c as j,d as S,w as o,e,_ as G,j as H,f as M,F as U,i,h as u,P as c,g as m,aw as W,an as s,ax as $,n as q}from"./index-Cn7Qxkym.js";import{_ as E}from"./GeneralTable-BeEFNO3P.js";import{A as z}from"./admin-BCHp0qne.js";const J={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 mb-6"},K={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},O={class:"w-full"},Q={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},X={class:"w-full"},te={__name:"DashboardView",setup(Y){const t=C({}),b=C(!0);T(async()=>{try{const l=await z();t.value=l,b.value=!1}catch(l){console.log("Failed to fetch admin data:",l)}});const N=[{text:"Timestamp",value:"date",width:120},{text:"IP Address",value:"data.ip",width:120},{text:"Game",value:"data.model",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Name",value:"data.name",width:120},{text:"Value",value:"data.value",width:120}],V=[{text:"Timestamp",value:"date",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Delta",value:"data.delta",width:120},{text:"Remaining Balance",value:"data.balance",width:120},{text:"Reason",value:"data.reason",width:120}];function F(l){var n=[];for(var a of l)if(a.type=="paseli_transaction"){if(a.timestamp){const r=new Date(a.timestamp*1e3);a.date=r.toLocaleString()}n.push(a)}return n}function L(l){var n=[];for(var a of l)if(a.type=="pcbevent"){if(a.timestamp){const r=new Date(a.timestamp*1e3);a.date=r.toLocaleString()}n.push(a)}return n}return(l,n)=>(S(),j(q,null,{default:o(()=>[e(G,null,{default:o(()=>{var a,r,f,v,h,_,p,g,x,w,A,k,y,P,D,I,B,R;return[b.value?M("",!0):(S(),H(U,{key:0},[e(u,{class:"mb-6 p-1"},{default:o(()=>n[0]||(n[0]=[i("h1",{class:"text-3xl"},"PhaseII eAmusement Network",-1),i("p",{class:"text-sm text-gray-400"},"Welcome to the backend ;)",-1)])),_:1}),e(c,{icon:m(W),title:"Admin Dashboard",color:"text-red-600",main:""},null,8,["icon"]),i("div",J,[e(s,{number:(r=(a=t.value)==null?void 0:a.statistics)==null?void 0:r.user,label:"User Account(s)"},null,8,["number"]),e(s,{number:(v=(f=t.value)==null?void 0:f.statistics)==null?void 0:v.card,label:"Registered Cards"},null,8,["number"]),e(s,{number:(_=(h=t.value)==null?void 0:h.statistics)==null?void 0:_.profile,label:"Game Profiles"},null,8,["number"]),e(s,{number:(g=(p=t.value)==null?void 0:p.statistics)==null?void 0:g.link,label:"Rivals"},null,8,["number"]),e(s,{number:(w=(x=t.value)==null?void 0:x.statistics)==null?void 0:w.arcade,label:"Registered Arcades"},null,8,["number"]),e(s,{number:(k=(A=t.value)==null?void 0:A.statistics)==null?void 0:k.score,label:"Published Scores"},null,8,["number"]),e(s,{number:(P=(y=t.value)==null?void 0:y.statistics)==null?void 0:P.score_history,label:"Score Attempts"},null,8,["number"]),e(s,{number:(I=(D=t.value)==null?void 0:D.statistics)==null?void 0:I.achievement,label:"Achievements"},null,8,["number"]),e(s,{number:(R=(B=t.value)==null?void 0:B.statistics)==null?void 0:R.audit,label:"Recent Event Logs"},null,8,["number"])]),e(c,{icon:m($),title:"Recent PCB Events"},null,8,["icon"]),e(u,{"has-table":""},{default:o(()=>{var d;return[i("div",K,[i("div",O,[e(E,{headers:N,items:L((d=t.value)==null?void 0:d.audit)},null,8,["items"])])])]}),_:1}),e(c,{icon:m($),title:"Recent PASELI Transactions"},null,8,["icon"]),e(u,{"has-table":""},{default:o(()=>{var d;return[i("div",Q,[i("div",X,[e(E,{headers:V,items:F((d=t.value)==null?void 0:d.audit)},null,8,["items"])])])]}),_:1})],64))]}),_:1})]),_:1}))}};export{te as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{c as a,d as o,w as t,i as e,e as l,h as r,s as n,l as c}from"./index-CHivKhhP.js";import{_ as d}from"./LayoutGuest-BkkpHMD9.js";const i={class:"flex md:min-h-screen md:items-center md:justify-center"},m={class:"p-4 flex flex-col w-full space-y-2"},p={__name:"ErrorView",setup(f){return(u,s)=>(o(),a(d,null,{default:t(()=>[e("div",i,[l(r,{class:"w-full md:w-auto rounded-none md:rounded-xl","has-table":"","is-auth":""},{default:t(()=>[e("div",m,[s[1]||(s[1]=e("div",{class:"flex flex-col items-center text-wrap h-full"},[e("img",{src:n,class:"rounded-full shadow-lg mb-2"}),e("h1",{class:"text-xl"},[e("samp",null,"PhaseII")]),e("p",{class:"text-sm text-gray-700 dark:text-white/75"}," Broken since 2021 "),e("hr",{class:"border-t border-1 my-1 w-full"}),e("p",{class:"text-lg relative bottom-0"},"404 - File not found")],-1)),e("div",null,[s[0]||(s[0]=e("h2",{class:"mb-2"}," The server was unable to locate the page you're trying to go to. ",-1)),l(c,{label:"Home",color:"info",href:"/"})])])]),_:1})])]),_:1}))}};export{p as default};
import{c as a,d as o,w as t,i as e,e as l,h as r,s as n,l as c}from"./index-Cn7Qxkym.js";import{_ as d}from"./LayoutGuest-BQ8TWvd6.js";const i={class:"flex md:min-h-screen md:items-center md:justify-center"},m={class:"p-4 flex flex-col w-full space-y-2"},p={__name:"ErrorView",setup(f){return(u,s)=>(o(),a(d,null,{default:t(()=>[e("div",i,[l(r,{class:"w-full md:w-auto rounded-none md:rounded-xl","has-table":"","is-auth":""},{default:t(()=>[e("div",m,[s[1]||(s[1]=e("div",{class:"flex flex-col items-center text-wrap h-full"},[e("img",{src:n,class:"rounded-full shadow-lg mb-2"}),e("h1",{class:"text-xl"},[e("samp",null,"PhaseII")]),e("p",{class:"text-sm text-gray-700 dark:text-white/75"}," Broken since 2021 "),e("hr",{class:"border-t border-1 my-1 w-full"}),e("p",{class:"text-lg relative bottom-0"},"404 - File not found")],-1)),e("div",null,[s[0]||(s[0]=e("h2",{class:"mb-2"}," The server was unable to locate the page you're trying to go to. ",-1)),l(c,{label:"Home",color:"info",href:"/"})])])]),_:1})])]),_:1}))}};export{p as default};

View File

@ -1 +1 @@
import{r as V,p as $,a as D,o as E,V as M,M as O,c as d,d as s,w as c,e as i,_ as R,j as p,f as m,F as G,P as T,g as r,aU as W,h as q,i as u,I as z,t as H,k as K,l as U,n as Q,a7 as h}from"./index-CHivKhhP.js";import{_ as X}from"./ArcadeCard-B-wORdMu.js";import{_ as x}from"./FormField-vtioLqMT.js";import{_ as v}from"./FormControl-BLuW9GWW.js";import{_ as Y}from"./FormCheckRadio-DdZBsrII.js";import{s as y,g as f}from"./values-CmNcmtTU.js";import{A as Z,c as ee,d as ae}from"./arcade-C_iviJ_9.js";const le={class:"mb-4"},oe={class:"grid md:grid-cols-2 gap-4"},te={key:0},ne={key:0},se={class:"text-xl"},re={key:0,class:"space-x-2 mt-6"},ge={__name:"EventView",setup(ie){const t=V(null),o=$({game:null,version:null}),g=$([]),_=V(null),b=V(null),N=V(!0),w=D(),S=parseInt(w.params.id);async function A(){try{b.value=null,t.value={},_.value={};const l=await Z(S);b.value=l,N.value=!1}catch(l){console.error("Failed to fetch arcade data:",l)}}async function k(){try{t.value={},_.value={};const l=await ae(S,o.game,o.version);t.value=JSON.parse(JSON.stringify(l)),_.value=l}catch(l){console.error("Failed to fetch arcade setting data:",l)}}E(()=>{A(),I()});function I(){for(const l of M){const e=l.gameOptions;e&&g.push({game:l.id,gameOptions:e})}}function F(){var l=[];for(const e of g)e.gameOptions&&l.push({id:e.game,label:h(e.game).name});return l}function B(){const l=g.find(n=>n.game==o.game),e=h(o.game);var a=[];for(const n of Object.entries(l.gameOptions))if(e.versions==null)a.push({id:n[0],label:e.name}),o.version=1;else{const L=e.versions.find(j=>j.id==n[0]);a.push({id:n[0],label:L.label})}return a}function C(){const l=h(o.game);var e=null;return l.versions&&(e=l.versions.find(a=>a.id==o.version)),`${l.name} ${(e==null?void 0:e.label)??""}`}function P(){return g.find(e=>e.game==o.game).gameOptions[o.version]}async function J(){(await ee(S,o.game,o.version,t.value)).status!="error"&&await k()}return O(()=>o.game,()=>{o.version=null,t.value={}}),O(()=>o.version,()=>{o.version&&k()}),(l,e)=>(s(),d(Q,null,{default:c(()=>[i(R,null,{default:c(()=>[N.value?m("",!0):(s(),p(G,{key:0},[i(X,{class:"mb-6",arcade:b.value,"use-small":!0},null,8,["arcade"]),i(T,{icon:r(W),title:"Game Event Settings",main:""},null,8,["icon"]),i(q,{class:"mb-6"},{default:c(()=>[u("div",le,[i(x,{label:"Select Game",help:"Pick a game and version to get started."},{default:c(()=>[u("div",oe,[u("div",null,[e[4]||(e[4]=u("p",{class:"pb-2 text-lg"},"Game",-1)),i(v,{modelValue:o.game,"onUpdate:modelValue":e[0]||(e[0]=a=>o.game=a),name:"game",options:F()},null,8,["modelValue","options"])]),o.game?(s(),p("div",te,[e[5]||(e[5]=u("p",{class:"pb-2 text-lg"},"Version",-1)),i(v,{modelValue:o.version,"onUpdate:modelValue":e[1]||(e[1]=a=>o.version=a),name:"version",options:B()},null,8,["modelValue","options"])])):m("",!0)])]),_:1})]),o.game&&o.version?(s(),p("div",ne,[u("h2",se,[e[6]||(e[6]=z(" Settings for ")),u("b",null,H(C()),1)]),e[7]||(e[7]=u("hr",{class:"pb-1 my-2"},null,-1)),(s(!0),p(G,null,K(P(),a=>(s(),d(x,{key:a.id,label:a.name,help:a.help},{default:c(()=>[a.type=="String"?(s(),d(v,{key:0,"model-value":r(f)(t.value,a.id)??"",name:a.name,placeholder:"Not Set","onUpdate:modelValue":n=>r(y)(t.value,a.id,n)},null,8,["model-value","name","onUpdate:modelValue"])):m("",!0),a.type=="LargeText"?(s(),d(v,{key:1,"model-value":r(f)(t.value,a.id)??"",name:a.name,placeholder:"Not Set",type:"textarea","onUpdate:modelValue":n=>r(y)(t.value,a.id,n)},null,8,["model-value","name","onUpdate:modelValue"])):m("",!0),a.type=="Boolean"?(s(),d(Y,{key:2,name:a.id,"model-value":!!(r(f)(t.value,a.id)??0),"input-value":!0,type:"switch","onUpdate:modelValue":n=>r(y)(t.value,a.id,n??0)},null,8,["name","model-value","onUpdate:modelValue"])):m("",!0),a.type=="Array"?(s(),d(v,{key:3,"model-value":r(f)(t.value,a.id)??0,options:a.options,name:a.id,selected:r(f)(t.value,a.id)??0,placeholder:"Select...","onUpdate:modelValue":n=>r(y)(t.value,a.id,Number(n))},null,8,["model-value","options","name","selected","onUpdate:modelValue"])):m("",!0)]),_:2},1032,["label","help"]))),128)),JSON.stringify(t.value)!=JSON.stringify(_.value)?(s(),p("div",re,[i(U,{color:"success",label:"Save",onClick:e[2]||(e[2]=a=>J())}),i(U,{color:"danger",label:"Revert",onClick:e[3]||(e[3]=a=>k())})])):m("",!0)])):m("",!0)]),_:1})],64))]),_:1})]),_:1}))}};export{ge as default};
import{r as V,p as $,a as D,o as E,V as M,M as O,c as d,d as s,w as c,e as i,_ as R,j as p,f as m,F as G,P as T,g as r,aX as W,h as X,i as u,I as q,t as z,k as H,l as x,n as K,a7 as h}from"./index-Cn7Qxkym.js";import{_ as Q}from"./ArcadeCard-BdfoLNlq.js";import{_ as U}from"./FormField-pnf59gPm.js";import{_ as v}from"./FormControl-DUODGQBr.js";import{_ as Y}from"./FormCheckRadio-Cj2oiu3q.js";import{s as y,g as f}from"./values-CmNcmtTU.js";import{A as Z,c as ee,d as ae}from"./arcade-B1UQGAAy.js";const le={class:"mb-4"},oe={class:"grid md:grid-cols-2 gap-4"},te={key:0},ne={key:0},se={class:"text-xl"},re={key:0,class:"space-x-2 mt-6"},ge={__name:"EventView",setup(ie){const t=V(null),o=$({game:null,version:null}),g=$([]),_=V(null),b=V(null),N=V(!0),w=D(),S=parseInt(w.params.id);async function A(){try{b.value=null,t.value={},_.value={};const l=await Z(S);b.value=l,N.value=!1}catch(l){console.error("Failed to fetch arcade data:",l)}}async function k(){try{t.value={},_.value={};const l=await ae(S,o.game,o.version);t.value=JSON.parse(JSON.stringify(l)),_.value=l}catch(l){console.error("Failed to fetch arcade setting data:",l)}}E(()=>{A(),I()});function I(){for(const l of M){const e=l.gameOptions;e&&g.push({game:l.id,gameOptions:e})}}function F(){var l=[];for(const e of g)e.gameOptions&&l.push({id:e.game,label:h(e.game).name});return l}function B(){const l=g.find(n=>n.game==o.game),e=h(o.game);var a=[];for(const n of Object.entries(l.gameOptions))if(e.versions==null)a.push({id:n[0],label:e.name}),o.version=1;else{const L=e.versions.find(j=>j.id==n[0]);a.push({id:n[0],label:L.label})}return a}function C(){const l=h(o.game);var e=null;return l.versions&&(e=l.versions.find(a=>a.id==o.version)),`${l.name} ${(e==null?void 0:e.label)??""}`}function P(){return g.find(e=>e.game==o.game).gameOptions[o.version]}async function J(){(await ee(S,o.game,o.version,t.value)).status!="error"&&await k()}return O(()=>o.game,()=>{o.version=null,t.value={}}),O(()=>o.version,()=>{o.version&&k()}),(l,e)=>(s(),d(K,null,{default:c(()=>[i(R,null,{default:c(()=>[N.value?m("",!0):(s(),p(G,{key:0},[i(Q,{class:"mb-6",arcade:b.value,"use-small":!0},null,8,["arcade"]),i(T,{icon:r(W),title:"Game Event Settings",main:""},null,8,["icon"]),i(X,{class:"mb-6"},{default:c(()=>[u("div",le,[i(U,{label:"Select Game",help:"Pick a game and version to get started."},{default:c(()=>[u("div",oe,[u("div",null,[e[4]||(e[4]=u("p",{class:"pb-2 text-lg"},"Game",-1)),i(v,{modelValue:o.game,"onUpdate:modelValue":e[0]||(e[0]=a=>o.game=a),name:"game",options:F()},null,8,["modelValue","options"])]),o.game?(s(),p("div",te,[e[5]||(e[5]=u("p",{class:"pb-2 text-lg"},"Version",-1)),i(v,{modelValue:o.version,"onUpdate:modelValue":e[1]||(e[1]=a=>o.version=a),name:"version",options:B()},null,8,["modelValue","options"])])):m("",!0)])]),_:1})]),o.game&&o.version?(s(),p("div",ne,[u("h2",se,[e[6]||(e[6]=q(" Settings for ")),u("b",null,z(C()),1)]),e[7]||(e[7]=u("hr",{class:"pb-1 my-2"},null,-1)),(s(!0),p(G,null,H(P(),a=>(s(),d(U,{key:a.id,label:a.name,help:a.help},{default:c(()=>[a.type=="String"?(s(),d(v,{key:0,"model-value":r(f)(t.value,a.id)??"",name:a.name,placeholder:"Not Set","onUpdate:modelValue":n=>r(y)(t.value,a.id,n)},null,8,["model-value","name","onUpdate:modelValue"])):m("",!0),a.type=="LargeText"?(s(),d(v,{key:1,"model-value":r(f)(t.value,a.id)??"",name:a.name,placeholder:"Not Set",type:"textarea","onUpdate:modelValue":n=>r(y)(t.value,a.id,n)},null,8,["model-value","name","onUpdate:modelValue"])):m("",!0),a.type=="Boolean"?(s(),d(Y,{key:2,name:a.id,"model-value":!!(r(f)(t.value,a.id)??0),"input-value":!0,type:"switch","onUpdate:modelValue":n=>r(y)(t.value,a.id,n??0)},null,8,["name","model-value","onUpdate:modelValue"])):m("",!0),a.type=="Array"?(s(),d(v,{key:3,"model-value":r(f)(t.value,a.id)??0,options:a.options,name:a.id,selected:r(f)(t.value,a.id)??0,placeholder:"Select...","onUpdate:modelValue":n=>r(y)(t.value,a.id,Number(n))},null,8,["model-value","options","name","selected","onUpdate:modelValue"])):m("",!0)]),_:2},1032,["label","help"]))),128)),JSON.stringify(t.value)!=JSON.stringify(_.value)?(s(),p("div",re,[i(x,{color:"success",label:"Save",onClick:e[2]||(e[2]=a=>J())}),i(x,{color:"danger",label:"Revert",onClick:e[3]||(e[3]=a=>k())})])):m("",!0)])):m("",!0)]),_:1})],64))]),_:1})]),_:1}))}};export{ge as default};

View File

@ -1 +1 @@
import{r as c,o as x,c as b,d as u,w as l,e as s,_ as g,j as B,f as k,F as y,h as i,i as n,P as m,g as f,aw as C,aF as D,n as I}from"./index-CHivKhhP.js";import{_}from"./GeneralTable-Dm8yzA2j.js";import{A as P}from"./admin-YL_-tKB5.js";const E={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},A={class:"w-full"},F={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},V={class:"w-full"},S={__name:"EventsView",setup($){const d=c({}),r=c(!0);x(async()=>{try{const t=await P();d.value=t,r.value=!1}catch(t){console.log("Failed to fetch admin data:",t)}});const h=[{text:"Timestamp",value:"date",width:120},{text:"IP Address",value:"data.ip",width:120},{text:"Game",value:"data.model",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Name",value:"data.name",width:120},{text:"Value",value:"data.value",width:120}],v=[{text:"Timestamp",value:"date",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Delta",value:"data.delta",width:120},{text:"Remaining Balance",value:"data.balance",width:120},{text:"Reason",value:"data.reason",width:120}];function p(t){var e=[];for(var a of t)if(a.type=="paseli_transaction"){if(a.timestamp){const o=new Date(a.timestamp*1e3);a.date=o.toLocaleString()}e.push(a)}return e}function w(t){var e=[];for(var a of t)if(a.type=="pcbevent"){if(a.timestamp){const o=new Date(a.timestamp*1e3);a.date=o.toLocaleString()}e.push(a)}return e}return(t,e)=>(u(),b(I,null,{default:l(()=>[s(g,null,{default:l(()=>[r.value?k("",!0):(u(),B(y,{key:0},[s(i,{class:"mb-6 p-1"},{default:l(()=>e[0]||(e[0]=[n("h1",{class:"text-3xl"},"Service Logs",-1)])),_:1}),s(m,{icon:f(C),title:"Recent PCB Events",color:"text-amber-400",main:""},null,8,["icon"]),s(i,{"has-table":"",class:"mb-4"},{default:l(()=>{var a;return[n("div",E,[n("div",A,[s(_,{headers:h,items:w((a=d.value)==null?void 0:a.audit)},null,8,["items"])])])]}),_:1}),s(m,{icon:f(D),title:"Recent PASELI Transactions",color:"text-emerald-400",main:""},null,8,["icon"]),s(i,{"has-table":""},{default:l(()=>{var a;return[n("div",F,[n("div",V,[s(_,{headers:v,items:p((a=d.value)==null?void 0:a.audit)},null,8,["items"])])])]}),_:1})],64))]),_:1})]),_:1}))}};export{S as default};
import{r as c,o as x,c as b,d as u,w as l,e as s,_ as g,j as B,f as k,F as y,h as i,i as n,P as m,g as f,ax as C,aG as D,n as I}from"./index-Cn7Qxkym.js";import{_}from"./GeneralTable-BeEFNO3P.js";import{A as P}from"./admin-BCHp0qne.js";const E={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},A={class:"w-full"},V={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},$={class:"w-full"},S={__name:"EventsView",setup(F){const d=c({}),r=c(!0);x(async()=>{try{const t=await P();d.value=t,r.value=!1}catch(t){console.log("Failed to fetch admin data:",t)}});const h=[{text:"Timestamp",value:"date",width:120},{text:"IP Address",value:"data.ip",width:120},{text:"Game",value:"data.model",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Name",value:"data.name",width:120},{text:"Value",value:"data.value",width:120}],v=[{text:"Timestamp",value:"date",width:120},{text:"PCBID",value:"data.pcbid",width:120},{text:"Delta",value:"data.delta",width:120},{text:"Remaining Balance",value:"data.balance",width:120},{text:"Reason",value:"data.reason",width:120}];function p(t){var e=[];for(var a of t)if(a.type=="paseli_transaction"){if(a.timestamp){const o=new Date(a.timestamp*1e3);a.date=o.toLocaleString()}e.push(a)}return e}function w(t){var e=[];for(var a of t)if(a.type=="pcbevent"){if(a.timestamp){const o=new Date(a.timestamp*1e3);a.date=o.toLocaleString()}e.push(a)}return e}return(t,e)=>(u(),b(I,null,{default:l(()=>[s(g,null,{default:l(()=>[r.value?k("",!0):(u(),B(y,{key:0},[s(i,{class:"mb-6 p-1"},{default:l(()=>e[0]||(e[0]=[n("h1",{class:"text-3xl"},"Service Logs",-1)])),_:1}),s(m,{icon:f(C),title:"Recent PCB Events",color:"text-amber-400",main:""},null,8,["icon"]),s(i,{"has-table":"",class:"mb-4"},{default:l(()=>{var a;return[n("div",E,[n("div",A,[s(_,{headers:h,items:w((a=d.value)==null?void 0:a.audit)},null,8,["items"])])])]}),_:1}),s(m,{icon:f(D),title:"Recent PASELI Transactions",color:"text-emerald-400",main:""},null,8,["icon"]),s(i,{"has-table":""},{default:l(()=>{var a;return[n("div",V,[n("div",$,[s(_,{headers:v,items:p((a=d.value)==null?void 0:a.audit)},null,8,["items"])])])]}),_:1})],64))]),_:1})]),_:1}))}};export{S as default};

View File

@ -1 +1 @@
import{al as u,j as c,d as m,bv as p,i as a,bz as y,t as b,q as v}from"./index-CHivKhhP.js";const V=["type","name","value"],g={class:"pl-2"},h={__name:"FormCheckRadio",props:{name:{type:String,required:!0},type:{type:String,default:"checkbox",validator:e=>["checkbox","radio","switch"].includes(e)},label:{type:String,default:null},modelValue:{type:[Array,String,Number,Boolean],default:null},inputValue:{type:[String,Number,Boolean],required:!0}},emits:["update:modelValue"],setup(e,{emit:s}){const l=e,i=s,n=u({get:()=>l.modelValue,set:o=>{i("update:modelValue",o)}}),r=u(()=>l.type==="radio"?"radio":"checkbox");return(o,t)=>(m(),c("label",{class:v(e.type)},[p(a("input",{"onUpdate:modelValue":t[0]||(t[0]=d=>n.value=d),type:r.value,name:e.name,value:e.inputValue},null,8,V),[[y,n.value]]),t[1]||(t[1]=a("span",{class:"check"},null,-1)),a("span",g,b(e.label),1)],2))}};export{h as _};
import{al as u,j as c,d as m,by as p,i as a,bC as y,t as b,q as V}from"./index-Cn7Qxkym.js";const v=["type","name","value"],g={class:"pl-2"},h={__name:"FormCheckRadio",props:{name:{type:String,required:!0},type:{type:String,default:"checkbox",validator:e=>["checkbox","radio","switch"].includes(e)},label:{type:String,default:null},modelValue:{type:[Array,String,Number,Boolean],default:null},inputValue:{type:[String,Number,Boolean],required:!0}},emits:["update:modelValue"],setup(e,{emit:s}){const l=e,i=s,n=u({get:()=>l.modelValue,set:o=>{i("update:modelValue",o)}}),r=u(()=>l.type==="radio"?"radio":"checkbox");return(o,t)=>(m(),c("label",{class:V(e.type)},[p(a("input",{"onUpdate:modelValue":t[0]||(t[0]=d=>n.value=d),type:r.value,name:e.name,value:e.inputValue},null,8,v),[[y,n.value]]),t[1]||(t[1]=a("span",{class:"check"},null,-1)),a("span",g,b(e.label),1)],2))}};export{h as _};

View File

@ -1 +1 @@
import{c as k,d as u,C as w,al as m,u as F,r as y,o as b,bJ as B,j as i,bv as g,f as E,bK as V,q as h,F as q,k as R,t as C,bw as M,bz as D}from"./index-CHivKhhP.js";const K={__name:"FormControlIcon",props:{icon:{type:String,default:null},h:{type:String,default:null}},setup(e){return(v,n)=>(u(),k(w,{path:e.icon,w:"w-10",h:e.h,class:"absolute top-0 left-0 z-10 pointer-events-none text-gray-500 dark:text-slate-400"},null,8,["path","h"]))}},N={class:"relative"},U=["id","name"],z=["value"],L=["id","name","maxlength","minlength","min","max","placeholder","required"],j=["id","name","maxlength","minlength","min","max","inputmode","autocomplete","required","placeholder","type","pattern"],H={__name:"FormControl",props:{name:{type:String,default:null},id:{type:String,default:null},autocomplete:{type:String,default:null},maxlength:{type:Number,default:null},minlength:{type:Number,default:null},max:{type:String,default:null},min:{type:String,default:null},placeholder:{type:String,default:null},inputmode:{type:String,default:null},icon:{type:String,default:null},options:{type:Array,default:null},type:{type:String,default:"text"},pattern:{type:String,default:null},modelValue:{type:[String,Number,Boolean,Array,Object],default:""},required:Boolean,borderless:Boolean,transparent:Boolean,ctrlKFocus:Boolean},emits:["update:modelValue","setRef"],setup(e,{emit:v}){const n=e,r=v,o=m({get:()=>n.modelValue,set:a=>{r("update:modelValue",a)}}),c=m(()=>{const a=["px-3 py-2 max-w-full focus:ring focus:outline-none border-blue-700 dark:border-blue-900 rounded w-full","dark:placeholder-gray-400",d.value==="textarea"?"h-24":"h-12",n.borderless?"border-0":"border",n.transparent?"bg-transparent":"bg-white dark:bg-slate-800"];return n.icon&&a.push("pl-10"),a}),d=m(()=>n.options?"select":n.type),S=m(()=>n.type==="textarea"?"h-full":"h-12"),f=F(),p=y(null),x=y(null),s=y(null);if(b(()=>{p.value?r("setRef",p.value):x.value?r("setRef",x.value):r("setRef",s.value)}),n.ctrlKFocus){const a=l=>{l.ctrlKey&&l.key==="k"?(l.preventDefault(),s.value.focus()):l.key==="Escape"&&s.value.blur()};b(()=>{f.isFieldFocusRegistered||(window.addEventListener("keydown",a),f.isFieldFocusRegistered=!0)}),B(()=>{window.removeEventListener("keydown",a),f.isFieldFocusRegistered=!1})}return(a,l)=>(u(),i("div",N,[d.value==="select"?g((u(),i("select",{key:0,id:e.id,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value=t),name:e.name,class:h(c.value)},[(u(!0),i(q,null,R(e.options,t=>(u(),i("option",{key:t.id??t,value:t.id??t},C(t.label??t),9,z))),128))],10,U)),[[V,o.value]]):d.value==="textarea"?g((u(),i("textarea",{key:1,id:e.id,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value=t),class:h(c.value),name:e.name,maxlength:e.maxlength,minlength:e.minlength,min:e.min,max:e.max,placeholder:e.placeholder,required:e.required},null,10,L)),[[M,o.value]]):g((u(),i("input",{key:2,id:e.id,ref_key:"inputEl",ref:s,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value=t),name:e.name,maxlength:e.maxlength,minlength:e.minlength,min:e.min,max:e.max,inputmode:e.inputmode,autocomplete:e.autocomplete,required:e.required,placeholder:e.placeholder,type:d.value,class:h(c.value),pattern:e.pattern},null,10,j)),[[D,o.value]]),e.icon?(u(),k(K,{key:3,icon:e.icon,h:S.value},null,8,["icon","h"])):E("",!0)]))}};export{H as _};
import{c as k,d as u,C as F,al as m,u as w,r as y,o as b,bM as B,j as i,by as g,f as E,bN as V,q as h,F as q,k as C,t as R,bz as M,bC as N}from"./index-Cn7Qxkym.js";const D={__name:"FormControlIcon",props:{icon:{type:String,default:null},h:{type:String,default:null}},setup(e){return(v,n)=>(u(),k(F,{path:e.icon,w:"w-10",h:e.h,class:"absolute top-0 left-0 z-10 pointer-events-none text-gray-500 dark:text-slate-400"},null,8,["path","h"]))}},U={class:"relative"},z=["id","name"],K=["value"],L=["id","name","maxlength","minlength","min","max","placeholder","required"],j=["id","name","maxlength","minlength","min","max","inputmode","autocomplete","required","placeholder","type","pattern"],H={__name:"FormControl",props:{name:{type:String,default:null},id:{type:String,default:null},autocomplete:{type:String,default:null},maxlength:{type:Number,default:null},minlength:{type:Number,default:null},max:{type:String,default:null},min:{type:String,default:null},placeholder:{type:String,default:null},inputmode:{type:String,default:null},icon:{type:String,default:null},options:{type:Array,default:null},type:{type:String,default:"text"},pattern:{type:String,default:null},modelValue:{type:[String,Number,Boolean,Array,Object],default:""},required:Boolean,borderless:Boolean,transparent:Boolean,ctrlKFocus:Boolean},emits:["update:modelValue","setRef"],setup(e,{emit:v}){const n=e,r=v,o=m({get:()=>n.modelValue,set:a=>{r("update:modelValue",a)}}),c=m(()=>{const a=["px-3 py-2 max-w-full focus:ring focus:outline-none border-blue-700 dark:border-blue-900 rounded w-full","dark:placeholder-gray-400",d.value==="textarea"?"h-24":"h-12",n.borderless?"border-0":"border",n.transparent?"bg-transparent":"bg-white dark:bg-slate-800"];return n.icon&&a.push("pl-10"),a}),d=m(()=>n.options?"select":n.type),S=m(()=>n.type==="textarea"?"h-full":"h-12"),f=w(),p=y(null),x=y(null),s=y(null);if(b(()=>{p.value?r("setRef",p.value):x.value?r("setRef",x.value):r("setRef",s.value)}),n.ctrlKFocus){const a=l=>{l.ctrlKey&&l.key==="k"?(l.preventDefault(),s.value.focus()):l.key==="Escape"&&s.value.blur()};b(()=>{f.isFieldFocusRegistered||(window.addEventListener("keydown",a),f.isFieldFocusRegistered=!0)}),B(()=>{window.removeEventListener("keydown",a),f.isFieldFocusRegistered=!1})}return(a,l)=>(u(),i("div",U,[d.value==="select"?g((u(),i("select",{key:0,id:e.id,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value=t),name:e.name,class:h(c.value)},[(u(!0),i(q,null,C(e.options,t=>(u(),i("option",{key:t.id??t,value:t.id??t},R(t.label??t),9,K))),128))],10,z)),[[V,o.value]]):d.value==="textarea"?g((u(),i("textarea",{key:1,id:e.id,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value=t),class:h(c.value),name:e.name,maxlength:e.maxlength,minlength:e.minlength,min:e.min,max:e.max,placeholder:e.placeholder,required:e.required},null,10,L)),[[M,o.value]]):g((u(),i("input",{key:2,id:e.id,ref_key:"inputEl",ref:s,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value=t),name:e.name,maxlength:e.maxlength,minlength:e.minlength,min:e.min,max:e.max,inputmode:e.inputmode,autocomplete:e.autocomplete,required:e.required,placeholder:e.placeholder,type:d.value,class:h(c.value),pattern:e.pattern},null,10,j)),[[N,o.value]]),e.icon?(u(),k(D,{key:3,icon:e.icon,h:S.value},null,8,["icon","h"])):E("",!0)]))}};export{H as _};

View File

@ -1 +1 @@
import{bC as d,al as i,j as s,d as a,f as o,i as u,t as r,bD as m,q as b}from"./index-CHivKhhP.js";const f={class:"mb-6 last:mb-0"},g=["for"],h={key:1,class:"text-xs text-gray-500 dark:text-slate-400 mt-1"},y={__name:"FormField",props:{label:{type:String,default:null},labelFor:{type:String,default:null},help:{type:String,default:null}},setup(e){const n=d(),c=i(()=>{const t=[],l=n.default().length;return l>1&&t.push("grid grid-cols-1 gap-3"),l===2&&t.push("md:grid-cols-2"),t});return(t,l)=>(a(),s("div",f,[e.label?(a(),s("label",{key:0,for:e.labelFor,class:"block font-bold mb-2"},r(e.label),9,g)):o("",!0),u("div",{class:b(c.value)},[m(t.$slots,"default")],2),e.help?(a(),s("div",h,r(e.help),1)):o("",!0)]))}};export{y as _};
import{bF as d,al as i,j as s,d as a,f as o,i as u,t as r,bG as m,q as b}from"./index-Cn7Qxkym.js";const f={class:"mb-6 last:mb-0"},g=["for"],h={key:1,class:"text-xs text-gray-500 dark:text-slate-400 mt-1"},y={__name:"FormField",props:{label:{type:String,default:null},labelFor:{type:String,default:null},help:{type:String,default:null}},setup(e){const n=d(),c=i(()=>{const t=[],l=n.default().length;return l>1&&t.push("grid grid-cols-1 gap-3"),l===2&&t.push("md:grid-cols-2"),t});return(t,l)=>(a(),s("div",f,[e.label?(a(),s("label",{key:0,for:e.labelFor,class:"block font-bold mb-2"},r(e.label),9,g)):o("",!0),u("div",{class:b(c.value)},[m(t.$slots,"default")],2),e.help?(a(),s("div",h,r(e.help),1)):o("",!0)]))}};export{y as _};

View File

@ -1 +1 @@
import{u as p,a as v,r as $,M as _,j as i,f as m,d as t,i as l,g as c,e as y,w as k,bD as w,F as u,k as S,c as N,l as x,b3 as M,b1 as P,bF as R,bG as B,bB as C,b7 as g,b8 as f}from"./index-CHivKhhP.js";import{a as F,_ as V,g as D}from"./sources-0lyug9Pk.js";const H=["src"],I={class:"bg-white dark:bg-slate-900/90 rounded-2xl card-content"},j={class:"w-full"},E={class:"w-full"},G={class:"w-full grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:flex gap-3"},q={__name:"GameHeader",props:{game:{type:Object,required:!0},version:{type:Number,default:null}},setup(s){const r=p(),h=v(),n=$(r.userProfiles);_(()=>r.userProfiles,a=>{n.value=a});const e=s;function b(){const a=[{label:`${e.game.shortName?e.game.shortName:e.game.name} Home`,icon:P,path:`/#/games/${e.game.id}/`,route:"game_page",color:"success"}];return n.value.some(d=>d.game===e.game.id)&&(a.push({label:"My Profile",icon:R,path:`/#/games/${e.game.id}/profiles/${r.userId}`,route:"game_profile",color:"info"}),a.push({label:"Edit Profile",icon:B,path:`/#/games/${e.game.id}/edit`,route:"edit_profile",color:"warning"}),e.game.noRivals||a.push({label:"Rivals",icon:C,path:`/#/games/${e.game.id}/rivals`,route:"game_rivals",color:"danger"}),e.game.noScores||a.push({label:"My Scores",icon:g,path:`/#/games/${e.game.id}/scores/${r.userId}`,color:"info"}),a.push({label:"My Records",icon:f,path:`/#/games/${e.game.id}/records/${r.userId}`,route:"personal_records",color:"success"})),e.game.noScores||a.push({label:"Network Scores",icon:g,path:`/#/games/${e.game.id}/scores`,route:"all_scores",color:"info"},{label:"Network Records",icon:f,path:`/#/games/${e.game.id}/records`,route:"all_records",color:"success"}),a}return(a,d)=>s.game?(t(),i("div",{key:0,style:M(c(D)(s.game,s.version)),class:"rounded-2xl mb-6 card-container"},[l("video",{autoplay:"",muted:"",loop:"",playsinline:"",src:c(F)(s.game,s.version),class:"background-video"},null,8,H),l("div",I,[y(V,{path:s.game.icon,title:s.game.name},{default:k(()=>[l("div",j,[l("div",E,[w(a.$slots,"default")]),l("div",G,[(t(!0),i(u,null,S(b(),o=>(t(),i(u,{key:o.path},[o.route!=c(h).name?(t(),N(x,{key:0,href:o.path,icon:o.icon,label:o.label,color:o.color},null,8,["href","icon","label","color"])):m("",!0)],64))),128))])])]),_:3},8,["path","title"])])],4)):m("",!0)}};export{q as _};
import{u as p,a as v,r as $,M as _,j as i,f as m,d as t,i as l,g as c,e as y,w as k,bG as w,F as u,k as S,c as N,l as x,b6 as M,b4 as P,bI as R,bJ as C,bE as B,ba as g,bb as f}from"./index-Cn7Qxkym.js";import{a as I,_ as V,g as E}from"./sources-B0gtp6pI.js";const F=["src"],H={class:"bg-white dark:bg-slate-900/90 rounded-2xl card-content"},j={class:"w-full"},D={class:"w-full"},G={class:"w-full grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:flex gap-3"},q={__name:"GameHeader",props:{game:{type:Object,required:!0},version:{type:Number,default:null}},setup(s){const r=p(),h=v(),n=$(r.userProfiles);_(()=>r.userProfiles,a=>{n.value=a});const e=s;function b(){const a=[{label:`${e.game.shortName?e.game.shortName:e.game.name} Home`,icon:P,path:`/#/games/${e.game.id}/`,route:"game_page",color:"success"}];return n.value.some(d=>d.game===e.game.id)&&(a.push({label:"My Profile",icon:R,path:`/#/games/${e.game.id}/profiles/${r.userId}`,route:"game_profile",color:"info"}),a.push({label:"Edit Profile",icon:C,path:`/#/games/${e.game.id}/edit`,route:"edit_profile",color:"warning"}),e.game.noRivals||a.push({label:"Rivals",icon:B,path:`/#/games/${e.game.id}/rivals`,route:"game_rivals",color:"danger"}),e.game.noScores||a.push({label:"My Scores",icon:g,path:`/#/games/${e.game.id}/scores/${r.userId}`,color:"info"}),a.push({label:"My Records",icon:f,path:`/#/games/${e.game.id}/records/${r.userId}`,route:"personal_records",color:"success"})),e.game.noScores||a.push({label:"Network Scores",icon:g,path:`/#/games/${e.game.id}/scores`,route:"all_scores",color:"info"},{label:"Network Records",icon:f,path:`/#/games/${e.game.id}/records`,route:"all_records",color:"success"}),a}return(a,d)=>s.game?(t(),i("div",{key:0,style:M(c(E)(s.game,s.version)),class:"rounded-2xl mb-6 card-container"},[l("video",{autoplay:"",muted:"",loop:"",playsinline:"",src:c(I)(s.game,s.version),class:"background-video"},null,8,F),l("div",H,[y(V,{path:s.game.icon,title:s.game.name},{default:k(()=>[l("div",j,[l("div",D,[w(a.$slots,"default")]),l("div",G,[(t(!0),i(u,null,S(b(),o=>(t(),i(u,{key:o.path},[o.route!=c(h).name?(t(),N(x,{key:0,href:o.path,icon:o.icon,label:o.label,color:o.color},null,8,["href","icon","label","color"])):m("",!0)],64))),128))])])]),_:3},8,["path","title"])])],4)):m("",!0)}};export{q as _};

View File

@ -1 +1 @@
import{a as k,b as B,p as D,M as G,a7 as R,r as g,o as C,c as F,d as m,w as c,e as o,_ as L,g as d,j as y,f as x,i as f,P as M,b6 as N,h as j,n as E}from"./index-CHivKhhP.js";import{_ as H}from"./GameHeader-CbS6z4E_.js";import{_ as S}from"./FormControl-BLuW9GWW.js";import{_ as T}from"./ProfileCard-D5atgNuu.js";import{_ as U}from"./GeneralTable-Dm8yzA2j.js";import{a as X,A as q}from"./profile-LMvWxmH8.js";import{d as z}from"./userData-DZYdegtD.js";import{g as w}from"./danClass-NuRM5DAU.js";import"./sources-0lyug9Pk.js";const J={key:0,class:"w-full md:flex md:-mt-[75px] mb-4 place-content-end"},K={class:"md:w-1/3 md:text-right"},O={key:1,class:"w-full"},Q={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},W={class:"w-full"},ue={__name:"GameView",setup(Y){const V=k(),p=B();var l=null,a=null;const r=D({currentVersion:null});G(()=>r.currentVersion,()=>{v()}),l=V.params.id,a=R(l),a==null&&p.push({name:"ErrorPage",params:{catchAll:"404"}});const n=g(null),_=g([]);C(async()=>{try{const s=await X(l);_.value=$(s)}catch(s){console.error("Failed to fetch profile data:",s)}v()}),a.versions||(r.currentVersion=1);async function v(){try{n.value=null;const s=await q(l,r.currentVersion);n.value=s,s&&!r.currentVersion&&(r.currentVersion=s.versions[s.versions.length-1])}catch(s){console.error("Failed to fetch user profile data:",s)}}const i=[];if(i.push({text:"Player",value:"username",sortable:!0,width:120}),a.noRivals||i.push({text:"Rival ID",value:"extid",width:100}),i.push({text:"Last Play",value:"stats.last_play_timestamp",width:150},{text:"Last Arcade",value:"stats.last_play_arcade",width:150},{text:"Plays",value:"stats.total_plays",sortable:!0,width:50}),a.playerHeaders)for(var P of a.playerHeaders)i.push(P);function $(s){var t=[];for(var e of s){if(e.extid&&(e.extid=z(e.extid)),e.stats){if(e.stats.last_play_timestamp){const u=new Date(e.stats.last_play_timestamp*1e3);e.stats.last_play_timestamp=u.toLocaleString()}e.sgrade&&(e.sgrade=w(e.sgrade).short),e.dgrade&&(e.dgrade=w(e.dgrade).short)}t.push(e)}return t.sort((u,h)=>{const A=u.stats&&u.stats.total_plays||0;return(h.stats&&h.stats.total_plays||0)-A}),t}function I(s){var t=[];for(const e of a.versions)s.includes(e.id)&&t.push(e);return t}const b=s=>{const t=s.userId;p.push(`/games/${l}/profiles/${t}`)};return(s,t)=>(m(),F(E,null,{default:c(()=>[o(L,null,{default:c(()=>[o(H,{game:d(a),version:r.currentVersion},{default:c(()=>[d(a).versions&&n.value?(m(),y("div",J,[f("div",K,[t[1]||(t[1]=f("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),o(S,{modelValue:r.currentVersion,"onUpdate:modelValue":t[0]||(t[0]=e=>r.currentVersion=e),options:I(n.value.versions)},null,8,["modelValue","options"])])])):x("",!0),n.value?(m(),y("div",O,[o(T,{game:d(l),version:r.currentVersion,profile:n.value,"use-small":""},null,8,["game","version","profile"])])):x("",!0)]),_:1},8,["game","version"]),o(M,{icon:d(N),title:"All Players",main:""},null,8,["icon"]),o(j,{"has-table":""},{default:c(()=>[f("div",Q,[f("div",W,[o(U,{headers:i,items:_.value,onRowClicked:b},null,8,["items"])])])]),_:1})]),_:1})]),_:1}))}};export{ue as default};
import{a as k,b as B,p as D,M as G,a7 as R,r as g,o as C,c as F,d as m,w as c,e as o,_ as L,g as d,j as y,f as x,i as f,P as M,b9 as N,h as j,n as E}from"./index-Cn7Qxkym.js";import{_ as H}from"./GameHeader-D10aFrN5.js";import{_ as S}from"./FormControl-DUODGQBr.js";import{_ as T}from"./ProfileCard-fVsa0R2y.js";import{_ as U}from"./GeneralTable-BeEFNO3P.js";import{a as X,A as q}from"./profile-BxRJ0HNo.js";import{d as z}from"./userData-DZYdegtD.js";import{g as w}from"./danClass-NuRM5DAU.js";import"./sources-B0gtp6pI.js";const J={key:0,class:"w-full md:flex md:-mt-[75px] mb-4 place-content-end"},K={class:"md:w-1/3 md:text-right"},O={key:1,class:"w-full"},Q={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},W={class:"w-full"},ue={__name:"GameView",setup(Y){const V=k(),p=B();var l=null,a=null;const r=D({currentVersion:null});G(()=>r.currentVersion,()=>{v()}),l=V.params.id,a=R(l),a==null&&p.push({name:"ErrorPage",params:{catchAll:"404"}});const n=g(null),_=g([]);C(async()=>{try{const s=await X(l);_.value=$(s)}catch(s){console.error("Failed to fetch profile data:",s)}v()}),a.versions||(r.currentVersion=1);async function v(){try{n.value=null;const s=await q(l,r.currentVersion);n.value=s,s&&!r.currentVersion&&(r.currentVersion=s.versions[s.versions.length-1])}catch(s){console.error("Failed to fetch user profile data:",s)}}const i=[];if(i.push({text:"Player",value:"username",sortable:!0,width:120}),a.noRivals||i.push({text:"Rival ID",value:"extid",width:100}),i.push({text:"Last Play",value:"stats.last_play_timestamp",width:150},{text:"Last Arcade",value:"stats.last_play_arcade",width:150},{text:"Plays",value:"stats.total_plays",sortable:!0,width:50}),a.playerHeaders)for(var P of a.playerHeaders)i.push(P);function $(s){var t=[];for(var e of s){if(e.extid&&(e.extid=z(e.extid)),e.stats){if(e.stats.last_play_timestamp){const u=new Date(e.stats.last_play_timestamp*1e3);e.stats.last_play_timestamp=u.toLocaleString()}e.sgrade&&(e.sgrade=w(e.sgrade).short),e.dgrade&&(e.dgrade=w(e.dgrade).short)}t.push(e)}return t.sort((u,h)=>{const A=u.stats&&u.stats.total_plays||0;return(h.stats&&h.stats.total_plays||0)-A}),t}function I(s){var t=[];for(const e of a.versions)s.includes(e.id)&&t.push(e);return t}const b=s=>{const t=s.userId;p.push(`/games/${l}/profiles/${t}`)};return(s,t)=>(m(),F(E,null,{default:c(()=>[o(L,null,{default:c(()=>[o(H,{game:d(a),version:r.currentVersion},{default:c(()=>[d(a).versions&&n.value?(m(),y("div",J,[f("div",K,[t[1]||(t[1]=f("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),o(S,{modelValue:r.currentVersion,"onUpdate:modelValue":t[0]||(t[0]=e=>r.currentVersion=e),options:I(n.value.versions)},null,8,["modelValue","options"])])])):x("",!0),n.value?(m(),y("div",O,[o(T,{game:d(l),version:r.currentVersion,profile:n.value,"use-small":""},null,8,["game","version","profile"])])):x("",!0)]),_:1},8,["game","version"]),o(M,{icon:d(N),title:"All Players",main:""},null,8,["icon"]),o(j,{"has-table":""},{default:c(()=>[f("div",Q,[f("div",W,[o(U,{headers:i,items:_.value,onRowClicked:b},null,8,["items"])])])]),_:1})]),_:1})]),_:1}))}};export{ue as default};

View File

@ -0,0 +1,3 @@
import{bQ as q,a as F,aD as G,j as J,d as z,e as y,i,bR as H,w as x,aU as I,t as N,bG as M,l as D,g as T,bS as K,bT as P,bU as Q,bV as W,F as X}from"./index-Cn7Qxkym.js";var R={exports:{}},Y=R.exports,O;function Z(){return O||(O=1,function(p,U){(function(C,f){p.exports=f()})(Y,function(){return function C(f,_,k){var s=window,l="application/octet-stream",a=k||l,t=f,r=!_&&!k&&t,e=document.createElement("a"),d=function(o){return String(o)},n=s.Blob||s.MozBlob||s.WebKitBlob||d,u=_||"download",c,S;if(n=n.call?n.bind(s):Blob,String(this)==="true"&&(t=[t,a],a=t[0],t=t[1]),r&&r.length<2048&&(u=r.split("/").pop().split("?")[0],e.href=r,e.href.indexOf(r)!==-1)){var b=new XMLHttpRequest;return b.open("GET",r,!0),b.responseType="blob",b.onload=function(o){C(o.target.response,u,l)},setTimeout(function(){b.send()},0),b}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(t))if(t.length>1024*1024*1.999&&n!==d)t=L(t),a=t.type||l;else return navigator.msSaveBlob?navigator.msSaveBlob(L(t),u):w(t);else if(/([\x80-\xff])/.test(t)){var h=0,B=new Uint8Array(t.length),V=B.length;for(h;h<V;++h)B[h]=t.charCodeAt(h);t=new n([B],{type:a})}c=t instanceof n?t:new n([t],{type:a});function L(o){var m=o.split(/[:;,]/),v=m[1],j=m[2]=="base64"?atob:decodeURIComponent,A=j(m.pop()),E=A.length,g=0,$=new Uint8Array(E);for(g;g<E;++g)$[g]=A.charCodeAt(g);return new n([$],{type:v})}function w(o,m){if("download"in e)return e.href=o,e.setAttribute("download",u),e.className="download-js-link",e.innerHTML="downloading...",e.style.display="none",document.body.appendChild(e),setTimeout(function(){e.click(),document.body.removeChild(e),m===!0&&setTimeout(function(){s.URL.revokeObjectURL(e.href)},250)},66),!0;if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))return/^data:/.test(o)&&(o="data:"+o.replace(/^data:([\w\/\-\+]+)/,l)),window.open(o)||confirm(`Displaying New Document
Use Save As... to download, then click back to return to this page.`)&&(location.href=o),!0;var v=document.createElement("iframe");document.body.appendChild(v),!m&&/^data:/.test(o)&&(o="data:"+o.replace(/^data:([\w\/\-\+]+)/,l)),v.src=o,setTimeout(function(){document.body.removeChild(v)},333)}if(navigator.msSaveBlob)return navigator.msSaveBlob(c,u);if(s.URL)w(s.URL.createObjectURL(c),!0);else{if(typeof c=="string"||c.constructor===d)try{return w("data:"+a+";base64,"+s.btoa(c))}catch{return w("data:"+a+","+encodeURIComponent(c))}S=new FileReader,S.onload=function(o){w(this.result)},S.readAsDataURL(c)}return!0}})}(R)),R.exports}var ee=Z();const te=q(ee),oe={class:"flex items-center"},ne={class:"m-1 p-1 bg-slate-800 rounded-md"},ae={class:"username-wrapper flex items-center gap-2"},se={class:"w-6"},re={class:"p-2 w-full flex md:justify-end"},le={__name:"GeneralTable",props:["headers","items","hasAvatar"],emits:["row-clicked"],setup(p,{emit:U}){const C=F(),f=p,_=U,k=l=>{_("row-clicked",l)};function s(){te(JSON.stringify({headers:f.headers,data:f.items}),`export${C.fullPath}_data.json`,"text/plain")}return(l,a)=>{const t=G("EasyDataTable");return z(),J(X,null,[y(t,{headers:p.headers,items:p.items,"theme-color":"#c0c7d2","table-class-name":"customize-table","header-text-direction":"left","body-text-direction":"left","prevent-context-menu-row":!1,onClickRow:k},H({loading:x(()=>[a[0]||(a[0]=i("div",{class:"text-center align-center grid"},[i("img",{class:"rounded-full place-self-center",src:Q,width:"60"}),i("h1",{class:"text-lg text-gray-100"},"Loading")],-1))]),"empty-message":x(()=>[a[1]||(a[1]=i("h1",{class:"text-xl text-gray-100"},"No data to show... 😔",-1))]),pagination:x(({prevPage:r,nextPage:e,isFirstPage:d,isLastPage:n,currentPaginationNumber:u})=>[i("div",oe,[y(D,{icon:T(K),color:"info","very-small":"",disabled:d,onClick:r},null,8,["icon","disabled","onClick"]),i("span",ne,N(u),1),y(D,{icon:T(P),color:"info","very-small":"",small:"",disabled:n,onClick:e},null,8,["icon","disabled","onClick"])])]),default:x(()=>[M(l.$slots,"default")]),_:2},[f.hasAvatar?{name:"item-username",fn:x(({username:r,data:e})=>{var d,n;return[i("div",ae,[i("div",se,[y(I,{avatar:e!=null&&e.discord?`https://cdn.discordapp.com/avatars/${(d=e==null?void 0:e.discord)==null?void 0:d.id}/${(n=e==null?void 0:e.discord)==null?void 0:n.avatar}`:null,username:""},null,8,["avatar"])]),i("span",null,N(r),1)])]}),key:"0"}:void 0]),1032,["headers","items"]),i("div",re,[y(D,{label:"Export Table",icon:T(W),color:"info",onClick:s},null,8,["icon"])])],64)}}};export{le as _};

View File

@ -1,3 +0,0 @@
import{bN as F,a as J,aC as V,j as z,d as G,e as y,i,bO as H,w as x,aR as I,t as $,bD as M,l as D,g as T,bP as P,bQ as K,bR as Q,bS as W,F as X}from"./index-CHivKhhP.js";var R={exports:{}},Y=R.exports,O;function Z(){return O||(O=1,function(p,L){(function(C,f){p.exports=f()})(Y,function(){return function C(f,_,k){var s=window,l="application/octet-stream",a=k||l,t=f,r=!_&&!k&&t,e=document.createElement("a"),d=function(o){return String(o)},n=s.Blob||s.MozBlob||s.WebKitBlob||d,u=_||"download",c,S;if(n=n.call?n.bind(s):Blob,String(this)==="true"&&(t=[t,a],a=t[0],t=t[1]),r&&r.length<2048&&(u=r.split("/").pop().split("?")[0],e.href=r,e.href.indexOf(r)!==-1)){var b=new XMLHttpRequest;return b.open("GET",r,!0),b.responseType="blob",b.onload=function(o){C(o.target.response,u,l)},setTimeout(function(){b.send()},0),b}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(t))if(t.length>1024*1024*1.999&&n!==d)t=U(t),a=t.type||l;else return navigator.msSaveBlob?navigator.msSaveBlob(U(t),u):w(t);else if(/([\x80-\xff])/.test(t)){var h=0,B=new Uint8Array(t.length),j=B.length;for(h;h<j;++h)B[h]=t.charCodeAt(h);t=new n([B],{type:a})}c=t instanceof n?t:new n([t],{type:a});function U(o){var m=o.split(/[:;,]/),v=m[1],q=m[2]=="base64"?atob:decodeURIComponent,A=q(m.pop()),E=A.length,g=0,N=new Uint8Array(E);for(g;g<E;++g)N[g]=A.charCodeAt(g);return new n([N],{type:v})}function w(o,m){if("download"in e)return e.href=o,e.setAttribute("download",u),e.className="download-js-link",e.innerHTML="downloading...",e.style.display="none",document.body.appendChild(e),setTimeout(function(){e.click(),document.body.removeChild(e),m===!0&&setTimeout(function(){s.URL.revokeObjectURL(e.href)},250)},66),!0;if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))return/^data:/.test(o)&&(o="data:"+o.replace(/^data:([\w\/\-\+]+)/,l)),window.open(o)||confirm(`Displaying New Document
Use Save As... to download, then click back to return to this page.`)&&(location.href=o),!0;var v=document.createElement("iframe");document.body.appendChild(v),!m&&/^data:/.test(o)&&(o="data:"+o.replace(/^data:([\w\/\-\+]+)/,l)),v.src=o,setTimeout(function(){document.body.removeChild(v)},333)}if(navigator.msSaveBlob)return navigator.msSaveBlob(c,u);if(s.URL)w(s.URL.createObjectURL(c),!0);else{if(typeof c=="string"||c.constructor===d)try{return w("data:"+a+";base64,"+s.btoa(c))}catch{return w("data:"+a+","+encodeURIComponent(c))}S=new FileReader,S.onload=function(o){w(this.result)},S.readAsDataURL(c)}return!0}})}(R)),R.exports}var ee=Z();const te=F(ee),oe={class:"flex items-center"},ne={class:"m-1 p-1 bg-slate-800 rounded-md"},ae={class:"username-wrapper flex items-center gap-2"},se={class:"w-6"},re={class:"p-2 w-full flex md:justify-end"},le={__name:"GeneralTable",props:["headers","items","hasAvatar"],emits:["row-clicked"],setup(p,{emit:L}){const C=J(),f=p,_=L,k=l=>{_("row-clicked",l)};function s(){te(JSON.stringify({headers:f.headers,data:f.items}),`export${C.fullPath}_data.json`,"text/plain")}return(l,a)=>{const t=V("EasyDataTable");return G(),z(X,null,[y(t,{headers:p.headers,items:p.items,"theme-color":"#c0c7d2","table-class-name":"customize-table","header-text-direction":"left","body-text-direction":"left",onClickRow:k},H({loading:x(()=>[a[0]||(a[0]=i("div",{class:"text-center align-center grid"},[i("img",{class:"rounded-full place-self-center",src:Q,width:"60"}),i("h1",{class:"text-lg text-gray-100"},"Loading")],-1))]),"empty-message":x(()=>[a[1]||(a[1]=i("h1",{class:"text-xl text-gray-100"},"No data to show... 😔",-1))]),pagination:x(({prevPage:r,nextPage:e,isFirstPage:d,isLastPage:n,currentPaginationNumber:u})=>[i("div",oe,[y(D,{icon:T(P),color:"info","very-small":"",disabled:d,onClick:r},null,8,["icon","disabled","onClick"]),i("span",ne,$(u),1),y(D,{icon:T(K),color:"info","very-small":"",small:"",disabled:n,onClick:e},null,8,["icon","disabled","onClick"])])]),default:x(()=>[M(l.$slots,"default")]),_:2},[f.hasAvatar?{name:"item-username",fn:x(({username:r,data:e})=>{var d,n;return[i("div",ae,[i("div",se,[y(I,{avatar:e!=null&&e.discord?`https://cdn.discordapp.com/avatars/${(d=e==null?void 0:e.discord)==null?void 0:d.id}/${(n=e==null?void 0:e.discord)==null?void 0:n.avatar}`:null},null,8,["avatar"])]),i("span",null,$(r),1)])]}),key:"0"}:void 0]),1032,["headers","items"]),i("div",re,[y(D,{label:"Export Table",icon:T(W),color:"info",onClick:s},null,8,["icon"])])],64)}}};export{le as _};

View File

@ -1,4 +1,4 @@
import{a as S,b as $,r as w,u as A,M as U,Y as L,c as u,d as i,w as m,e as c,_ as R,i as h,O as F,P as x,g as C,Z as N,j as f,F as K,k as V,$ as B,a0 as T,h as M,f as d,Q as O,t as _,I as H,l as p,n as W,a1 as j}from"./index-CHivKhhP.js";const z={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Q={class:"font-sans text-wrap mb-6"},X={key:0,class:"text-lg"},Y={key:1,class:"text-lg"},q={class:"space-x-2"},J={__name:"IntegrationView",setup(E){const I=S(),k=$(),y="https://discord.com/oauth2/authorize?client_id=947985989421395988&response_type=code&redirect_uri=https%3A%2F%2Fweb3.phaseii.network%2F%23%2Fprofile%2Fintegrate%2Fdiscord&scope=identify",b="https://kamai.tachi.ac/oauth/request-auth?clientID=CIce4260e1939ceed11c8e48ee857a3aef2a87ba56",g=w(I.params.service);if(g.value){const t=new URLSearchParams(window.location.search),l=t.get("code");t.delete("code"),l!==void 0&&P(g.value,l)}const r=A(),e=w(r.userData);U(()=>r.userData,t=>{e.value=t});const v=[{id:"discord",name:"Discord",icon:B,oAuth:y,description:`Linking your Discord account to PhaseII gives you an avatar, enables push notifications, and more via our Discord bot, BadManiac.
import{a as S,b as $,r as w,u as A,M as U,Y as L,c as u,d as i,w as m,e as c,_ as R,i as h,O as F,P as x,g as C,Z as N,j as f,F as K,k as V,$ as B,a0 as T,h as M,f as d,Q as O,t as _,I as H,l as p,n as W,a1 as j}from"./index-Cn7Qxkym.js";const z={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Q={class:"font-sans text-wrap mb-6"},X={key:0,class:"text-lg"},Y={key:1,class:"text-lg"},q={class:"space-x-2"},J={__name:"IntegrationView",setup(E){const I=S(),k=$(),y="https://discord.com/oauth2/authorize?client_id=947985989421395988&response_type=code&redirect_uri=https%3A%2F%2Fweb3.phaseii.network%2F%23%2Fprofile%2Fintegrate%2Fdiscord&scope=identify",b="https://kamai.tachi.ac/oauth/request-auth?clientID=CIce4260e1939ceed11c8e48ee857a3aef2a87ba56",g=w(I.params.service);if(g.value){const t=new URLSearchParams(window.location.search),l=t.get("code");t.delete("code"),l!==void 0&&P(g.value,l)}const r=A(),e=w(r.userData);U(()=>r.userData,t=>{e.value=t});const v=[{id:"discord",name:"Discord",icon:B,oAuth:y,description:`Linking your Discord account to PhaseII gives you an avatar, enables push notifications, and more via our Discord bot, BadManiac.
PhaseII *does not* use Discord's API aside from the initial linkage. All data PhaseII uses is sent via our bot.

View File

@ -1 +1 @@
import{u as d,r as t,bL as u,M as r,j as v,d as _,e as p,i as n,q as c,bM as m,bD as g,g as S}from"./index-CHivKhhP.js";const f={class:"bg-gray-950 dark:text-slate-100"},y={class:"animated animatedFadeInUp fadeInUp"},C={__name:"LayoutGuest",setup(k){const e=d(),o=t(e.isLoading),s=t(e.isSaving),i=t(e.errorCode),l=u();return r(()=>e.isLoading,a=>{o.value=a}),r(()=>e.isSaving,a=>{s.value=a}),r(()=>e.errorCode,a=>{i.value=a}),(a,b)=>(_(),v("div",{class:c({dark:S(l).darkMode})},[p(m,{active:o.value||s.value,"is-save":s.value,"error-code":i.value,class:c(["transition-opacity duration-300 ease-out",{"opacity-100":o.value||s.value,"opacity-0":!o.value&&!s.value}])},null,8,["active","is-save","error-code","class"]),n("div",f,[n("div",y,[g(a.$slots,"default")])])],2))}};export{C as _};
import{u as d,r as t,bO as u,M as r,j as v,d as _,e as p,i as n,q as c,bP as m,bG as g,g as S}from"./index-Cn7Qxkym.js";const f={class:"bg-gray-950 dark:text-slate-100"},y={class:"animated animatedFadeInUp fadeInUp"},C={__name:"LayoutGuest",setup(k){const e=d(),o=t(e.isLoading),s=t(e.isSaving),i=t(e.errorCode),l=u();return r(()=>e.isLoading,a=>{o.value=a}),r(()=>e.isSaving,a=>{s.value=a}),r(()=>e.errorCode,a=>{i.value=a}),(a,b)=>(_(),v("div",{class:c({dark:S(l).darkMode})},[p(m,{active:o.value||s.value,"is-save":s.value,"error-code":i.value,class:c(["transition-opacity duration-300 ease-out",{"opacity-100":o.value||s.value,"opacity-0":!o.value&&!s.value}])},null,8,["active","is-save","error-code","class"]),n("div",f,[n("div",y,[g(a.$slots,"default")])])],2))}};export{C as _};

View File

@ -1 +1 @@
import{b as x,u as b,p as g,c as w,d as c,w as r,i as s,e as o,h as _,q as v,s as V,v as y,g as a,x as $,y as k,l as n}from"./index-CHivKhhP.js";import{_ as P}from"./FormCheckRadio-DdZBsrII.js";import{_ as i}from"./FormField-vtioLqMT.js";import{_ as m}from"./FormControl-BLuW9GWW.js";import{_ as S}from"./LayoutGuest-BkkpHMD9.js";const U={class:"flex md:min-h-screen md:items-center md:justify-center"},R={class:"p-4 flex flex-col md:flex-row w-full space-y-2 md:space-y-0 md:space-x-4"},q={class:"flex flex-col items-center text-wrap h-full md:mt-5"},B={class:"flex flex-col gap-2 mt-4"},C={class:"flex flex-col gap-2 my-4"},j={__name:"LoginView",setup(I){const d=x(),u=b(),l=g({login:"",pass:"",remember:!0,spinin:!1}),p=async()=>{if(!l.login||!l.pass){alert("Please fill in all fields.");return}await u.createUserSession(l.login,l.pass,l.remember)&&d.push("/")};return(f,e)=>(c(),w(S,null,{default:r(()=>[s("div",U,[o(_,{class:v(["w-full md:w-auto rounded-none md:rounded-xl md:drop-shadow-xl",l.spinin?"animate-spin":"animate-none"]),"has-table":"","is-auth":""},{default:r(()=>[s("div",R,[s("div",q,[e[5]||(e[5]=s("img",{src:V,class:"rounded-full shadow-lg mb-2"},null,-1)),e[6]||(e[6]=s("h1",{class:"text-xl"},[s("samp",null,"PhaseII")],-1)),s("button",{class:"text-sm text-gray-700 dark:text-white/75",onClick:e[0]||(e[0]=t=>l.spinin=!l.spinin)}," Spinnin' since 2021 "),e[7]||(e[7]=s("hr",{class:"border-r-1 my-1 w-full"},null,-1)),e[8]||(e[8]=s("p",{class:"text-lg relative bottom-0"},"Please log in.",-1))]),e[12]||(e[12]=s("div",{class:"md:border-r"},null,-1)),s("form",{onSubmit:e[4]||(e[4]=y(t=>p(),["prevent"]))},[o(i,{label:"Username"},{default:r(()=>[o(m,{modelValue:l.login,"onUpdate:modelValue":e[1]||(e[1]=t=>l.login=t),icon:a($),name:"login",autocomplete:"username",required:""},null,8,["modelValue","icon"])]),_:1}),o(i,{label:"Password"},{default:r(()=>[o(m,{modelValue:l.pass,"onUpdate:modelValue":e[2]||(e[2]=t=>l.pass=t),icon:a(k),type:"password",name:"password",autocomplete:"current-password",required:""},null,8,["modelValue","icon"])]),_:1}),o(P,{modelValue:l.remember,"onUpdate:modelValue":e[3]||(e[3]=t=>l.remember=t),name:"remember",label:"Remember Me","input-value":!0},null,8,["modelValue"]),s("div",B,[o(n,{label:"Log In",color:"success",type:"submit"})]),e[11]||(e[11]=s("hr",{class:"border-t my-4 w-full"},null,-1)),s("div",C,[e[9]||(e[9]=s("h2",null,"Not Registered?",-1)),o(n,{label:"Register",color:"info",href:"/#/auth/register"}),e[10]||(e[10]=s("h2",null,"Forgot Password?",-1)),o(n,{label:"i forgor",color:"warning",href:"/#/auth/reset"})])],32)])]),_:1},8,["class"])])]),_:1}))}};export{j as default};
import{b as x,u as b,p as g,c as w,d as c,w as r,i as s,e as o,h as _,q as v,s as V,v as y,g as a,x as $,y as k,l as n}from"./index-Cn7Qxkym.js";import{_ as P}from"./FormCheckRadio-Cj2oiu3q.js";import{_ as i}from"./FormField-pnf59gPm.js";import{_ as m}from"./FormControl-DUODGQBr.js";import{_ as S}from"./LayoutGuest-BQ8TWvd6.js";const U={class:"flex md:min-h-screen md:items-center md:justify-center"},R={class:"p-4 flex flex-col md:flex-row w-full space-y-2 md:space-y-0 md:space-x-4"},q={class:"flex flex-col items-center text-wrap h-full md:mt-5"},B={class:"flex flex-col gap-2 mt-4"},C={class:"flex flex-col gap-2 my-4"},j={__name:"LoginView",setup(I){const d=x(),u=b(),l=g({login:"",pass:"",remember:!0,spinin:!1}),p=async()=>{if(!l.login||!l.pass){alert("Please fill in all fields.");return}await u.createUserSession(l.login,l.pass,l.remember)&&d.push("/")};return(f,e)=>(c(),w(S,null,{default:r(()=>[s("div",U,[o(_,{class:v(["w-full md:w-auto rounded-none md:rounded-xl md:drop-shadow-xl",l.spinin?"animate-spin":"animate-none"]),"has-table":"","is-auth":""},{default:r(()=>[s("div",R,[s("div",q,[e[5]||(e[5]=s("img",{src:V,class:"rounded-full shadow-lg mb-2"},null,-1)),e[6]||(e[6]=s("h1",{class:"text-xl"},[s("samp",null,"PhaseII")],-1)),s("button",{class:"text-sm text-gray-700 dark:text-white/75",onClick:e[0]||(e[0]=t=>l.spinin=!l.spinin)}," Spinnin' since 2021 "),e[7]||(e[7]=s("hr",{class:"border-r-1 my-1 w-full"},null,-1)),e[8]||(e[8]=s("p",{class:"text-lg relative bottom-0"},"Please log in.",-1))]),e[12]||(e[12]=s("div",{class:"md:border-r"},null,-1)),s("form",{onSubmit:e[4]||(e[4]=y(t=>p(),["prevent"]))},[o(i,{label:"Username"},{default:r(()=>[o(m,{modelValue:l.login,"onUpdate:modelValue":e[1]||(e[1]=t=>l.login=t),icon:a($),name:"login",autocomplete:"username",required:""},null,8,["modelValue","icon"])]),_:1}),o(i,{label:"Password"},{default:r(()=>[o(m,{modelValue:l.pass,"onUpdate:modelValue":e[2]||(e[2]=t=>l.pass=t),icon:a(k),type:"password",name:"password",autocomplete:"current-password",required:""},null,8,["modelValue","icon"])]),_:1}),o(P,{modelValue:l.remember,"onUpdate:modelValue":e[3]||(e[3]=t=>l.remember=t),name:"remember",label:"Remember Me","input-value":!0},null,8,["modelValue"]),s("div",B,[o(n,{label:"Log In",color:"success",type:"submit"})]),e[11]||(e[11]=s("hr",{class:"border-t my-4 w-full"},null,-1)),s("div",C,[e[9]||(e[9]=s("h2",null,"Not Registered?",-1)),o(n,{label:"Register",color:"info",href:"/#/auth/register"}),e[10]||(e[10]=s("h2",null,"Forgot Password?",-1)),o(n,{label:"i forgor",color:"warning",href:"/#/auth/reset"})])],32)])]),_:1},8,["class"])])]),_:1}))}};export{j as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as v,p as h,o as M,aC as b,c as g,d as x,w as n,e as a,_ as y,h as d,i as l,P as c,g as u,aD as T,aE as V,v as P,l as k,n as $}from"./index-CHivKhhP.js";import{_ as D}from"./GeneralTable-Dm8yzA2j.js";import{_ as f}from"./FormField-vtioLqMT.js";import{_ as C}from"./FormControl-BLuW9GWW.js";import{d as A,e as E}from"./admin-YL_-tKB5.js";const S={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},W={class:"w-full"},j={__name:"MaintView",setup(B){const r=v([]),p=[{text:"Start Timestamp",value:"timestamp",width:120},{text:"End Timestamp",value:"data.endTimestamp",width:120},{text:"Reason",value:"data.reason",width:120}],_={endTimestamp:Date.now()},o=h({..._});M(async()=>{m()});async function m(){try{const s=await A();var i=[];for(var e of s){if(e.timestamp){const t=new Date(e.timestamp*1e3);e.timestamp=t.toLocaleString()}if(e.data.endTimestamp){const t=new Date(e.data.endTimestamp*1e3);e.data.endTimestamp=t.toLocaleString()}i.push(e)}r.value=i}catch(s){console.error("Failed to fetch maint data:",s)}}async function w(){if(window.confirm("Are you really?"))try{const e=await E(o);r.value=e,m()}catch(e){console.error("Failed to post maint:",e)}}return(i,e)=>{const s=b("VueDatePicker");return x(),g($,null,{default:n(()=>[a(y,null,{default:n(()=>[a(d,{class:"mb-6 p-1"},{default:n(()=>e[4]||(e[4]=[l("h1",{class:"text-3xl"},"Network Maintenance",-1)])),_:1}),a(c,{icon:u(T),title:"Recent Maintenance Periods",color:"text-blue-400",main:""},null,8,["icon"]),a(d,{"has-table":"",class:"mb-6"},{default:n(()=>[l("div",S,[l("div",W,[a(D,{headers:p,items:r.value},null,8,["items"])])])]),_:1}),a(c,{icon:u(V),title:"Create Maintenance Period",color:"text-yellow-600",main:""},null,8,["icon"]),a(d,{"is-form":"",class:"row-span-1",onSubmit:e[3]||(e[3]=P(t=>w(),["prevent"]))},{default:n(()=>[a(f,{label:"Reason",help:"Why are we going under maintenance?"},{default:n(()=>[a(C,{modelValue:o.reason,"onUpdate:modelValue":e[0]||(e[0]=t=>o.reason=t),required:""},null,8,["modelValue"])]),_:1}),a(f,{label:"Period End",help:"When the network will release the maintenance window."},{default:n(()=>[a(s,{modelValue:o.endTimestamp,"onUpdate:modelValue":[e[1]||(e[1]=t=>o.endTimestamp=t),e[2]||(e[2]=t=>o.endTimestamp=new Date(t).getTime())],dark:""},null,8,["modelValue"])]),_:1}),l("div",null,[a(k,{type:"submit",color:"warning",label:"Enter Maintenance",small:!1})])]),_:1})]),_:1})]),_:1})}}};export{j as default};
import{r as v,p as h,o as M,aD as b,c as g,d as x,w as n,e as a,_ as y,h as d,i as l,P as c,g as u,aE as T,aF as V,v as P,l as k,n as $}from"./index-Cn7Qxkym.js";import{_ as D}from"./GeneralTable-BeEFNO3P.js";import{_ as f}from"./FormField-pnf59gPm.js";import{_ as C}from"./FormControl-DUODGQBr.js";import{d as A,e as E}from"./admin-BCHp0qne.js";const S={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},W={class:"w-full"},j={__name:"MaintView",setup(B){const r=v([]),p=[{text:"Start Timestamp",value:"timestamp",width:120},{text:"End Timestamp",value:"data.endTimestamp",width:120},{text:"Reason",value:"data.reason",width:120}],_={endTimestamp:Date.now()},o=h({..._});M(async()=>{m()});async function m(){try{const s=await A();var i=[];for(var e of s){if(e.timestamp){const t=new Date(e.timestamp*1e3);e.timestamp=t.toLocaleString()}if(e.data.endTimestamp){const t=new Date(e.data.endTimestamp*1e3);e.data.endTimestamp=t.toLocaleString()}i.push(e)}r.value=i}catch(s){console.error("Failed to fetch maint data:",s)}}async function w(){if(window.confirm("Are you really?"))try{const e=await E(o);r.value=e,m()}catch(e){console.error("Failed to post maint:",e)}}return(i,e)=>{const s=b("VueDatePicker");return x(),g($,null,{default:n(()=>[a(y,null,{default:n(()=>[a(d,{class:"mb-6 p-1"},{default:n(()=>e[4]||(e[4]=[l("h1",{class:"text-3xl"},"Network Maintenance",-1)])),_:1}),a(c,{icon:u(T),title:"Recent Maintenance Periods",color:"text-blue-400",main:""},null,8,["icon"]),a(d,{"has-table":"",class:"mb-6"},{default:n(()=>[l("div",S,[l("div",W,[a(D,{headers:p,items:r.value},null,8,["items"])])])]),_:1}),a(c,{icon:u(V),title:"Create Maintenance Period",color:"text-yellow-600",main:""},null,8,["icon"]),a(d,{"is-form":"",class:"row-span-1",onSubmit:e[3]||(e[3]=P(t=>w(),["prevent"]))},{default:n(()=>[a(f,{label:"Reason",help:"Why are we going under maintenance?"},{default:n(()=>[a(C,{modelValue:o.reason,"onUpdate:modelValue":e[0]||(e[0]=t=>o.reason=t),required:""},null,8,["modelValue"])]),_:1}),a(f,{label:"Period End",help:"When the network will release the maintenance window."},{default:n(()=>[a(s,{modelValue:o.endTimestamp,"onUpdate:modelValue":[e[1]||(e[1]=t=>o.endTimestamp=t),e[2]||(e[2]=t=>o.endTimestamp=new Date(t).getTime())],dark:""},null,8,["modelValue"])]),_:1}),l("div",null,[a(k,{type:"submit",color:"warning",label:"Enter Maintenance",small:!1})])]),_:1})]),_:1})]),_:1})}}};export{j as default};

View File

@ -1 +1 @@
import{a as F,b as I,a7 as R,r as B,p as D,o as G,al as $,c as p,d as s,w as u,f as v,g as l,_ as L,e as f,j as c,P,bU as T,i,F as g,k,h as U,t as m,l as j,I as A,n as C}from"./index-CHivKhhP.js";import{_ as E}from"./FormControl-BLuW9GWW.js";import{_ as M}from"./GameHeader-CbS6z4E_.js";import{b as W}from"./music-BegIU2Dv.js";import"./sources-0lyug9Pk.js";const q={key:0,class:"md:w-1/3 md:text-right"},z={class:"md:flex w-full md:place-content-between"},H={class:"mb-4 md:mb-0 space-y-1"},J={class:"text-lg md:text-xl"},K={class:"text-md md:text-lg"},O={class:"grid md:flex gap-2 md:justify-end md:place-content-end"},Q={key:0,class:"bg-gray-900 dark:bg-gray-700 p-4 rounded-lg"},X={class:"text-md md:text-lg"},ae={__name:"NetworkRecords",setup(Y){const w=F(),S=I();var _=w.params.game;const t=R(_);var d=B([]);const r=D({currentVersion:null});t||S.push({name:"ErrorPage",params:{catchAll:"404"}}),t.versions||(r.currentVersion=1),G(async()=>{var a;try{const e=await W(_);d.value=e,t.versions&&!r.currentVersion&&(r.currentVersion=((a=h.value.at(-1))==null?void 0:a.id)??null)}catch(e){console.error("Failed to fetch score data:",e)}});const h=$(()=>{if(!t.versions)return[];const a=new Set(d.value.map(e=>e.version));return t.versions.filter(e=>a.has(e.id))}),N=$(()=>r.currentVersion?d.value.filter(a=>a.version===r.currentVersion):d.value);return(a,e)=>(s(),p(C,null,{default:u(()=>[l(d)?(s(),p(L,{key:0},{default:u(()=>[f(M,{game:l(t)},null,8,["game"]),f(P,{icon:l(T),title:"Top Records",main:""},{default:u(()=>[l(t).versions?(s(),c("div",q,[e[1]||(e[1]=i("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),f(E,{modelValue:r.currentVersion,"onUpdate:modelValue":e[0]||(e[0]=o=>r.currentVersion=o),options:h.value.slice().reverse()},null,8,["modelValue","options"])])):v("",!0)]),_:1},8,["icon"]),(s(!0),c(g,null,k(N.value,o=>(s(),p(U,{key:o.id,class:"mb-6"},{default:u(()=>[i("div",z,[i("div",H,[i("h1",J,m(o.name),1),i("h2",K,m(o.artist),1),f(j,{label:"View Song",color:"info",href:`/#/games/${l(_)}/song/${o.id}`},null,8,["href"])]),i("div",O,[(s(!0),c(g,null,k(o.charts,n=>{var x,V,b,y;return s(),c(g,{key:n.db_id},[((x=n.data)==null?void 0:x.difficulty)!=0?(s(),c("div",Q,[i("h2",X,m(l(t).chartTable[n.chart])+" - "+m((V=n.data)==null?void 0:V.difficulty),1),A(" "+m(n.record?`${(b=n.record)==null?void 0:b.username} - ${(y=n.record.points)==null?void 0:y.toLocaleString()}`:"Unclaimed"),1)])):v("",!0)],64)}),128))])])]),_:2},1024))),128))]),_:1})):v("",!0)]),_:1}))}};export{ae as default};
import{a as F,b as I,a7 as R,r as B,p as D,o as G,al as $,c as p,d as s,w as u,f as v,g as l,_ as L,e as f,j as c,P,bX as T,i,F as g,k,h as j,t as m,l as A,I as C,n as E}from"./index-Cn7Qxkym.js";import{_ as U}from"./FormControl-DUODGQBr.js";import{_ as M}from"./GameHeader-D10aFrN5.js";import{b as W}from"./music-B4rkmxYb.js";import"./sources-B0gtp6pI.js";const X={key:0,class:"md:w-1/3 md:text-right"},q={class:"md:flex w-full md:place-content-between"},z={class:"mb-4 md:mb-0 space-y-1"},H={class:"text-lg md:text-xl"},J={class:"text-md md:text-lg"},K={class:"grid md:flex gap-2 md:justify-end md:place-content-end"},O={key:0,class:"bg-gray-900 dark:bg-gray-700 p-4 rounded-lg"},Q={class:"text-md md:text-lg"},ae={__name:"NetworkRecords",setup(Y){const w=F(),S=I();var _=w.params.game;const t=R(_);var d=B([]);const r=D({currentVersion:null});t||S.push({name:"ErrorPage",params:{catchAll:"404"}}),t.versions||(r.currentVersion=1),G(async()=>{var a;try{const e=await W(_);d.value=e,t.versions&&!r.currentVersion&&(r.currentVersion=((a=h.value.at(-1))==null?void 0:a.id)??null)}catch(e){console.error("Failed to fetch score data:",e)}});const h=$(()=>{if(!t.versions)return[];const a=new Set(d.value.map(e=>e.version));return t.versions.filter(e=>a.has(e.id))}),N=$(()=>r.currentVersion?d.value.filter(a=>a.version===r.currentVersion):d.value);return(a,e)=>(s(),p(E,null,{default:u(()=>[l(d)?(s(),p(L,{key:0},{default:u(()=>[f(M,{game:l(t)},null,8,["game"]),f(P,{icon:l(T),title:"Top Records",main:""},{default:u(()=>[l(t).versions?(s(),c("div",X,[e[1]||(e[1]=i("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),f(U,{modelValue:r.currentVersion,"onUpdate:modelValue":e[0]||(e[0]=o=>r.currentVersion=o),options:h.value.slice().reverse()},null,8,["modelValue","options"])])):v("",!0)]),_:1},8,["icon"]),(s(!0),c(g,null,k(N.value,o=>(s(),p(j,{key:o.id,class:"mb-6"},{default:u(()=>[i("div",q,[i("div",z,[i("h1",H,m(o.name),1),i("h2",J,m(o.artist),1),f(A,{label:"View Song",color:"info",href:`/#/games/${l(_)}/song/${o.id}`},null,8,["href"])]),i("div",K,[(s(!0),c(g,null,k(o.charts,n=>{var x,V,b,y;return s(),c(g,{key:n.db_id},[((x=n.data)==null?void 0:x.difficulty)!=0?(s(),c("div",O,[i("h2",Q,m(l(t).chartTable[n.chart])+" - "+m((V=n.data)==null?void 0:V.difficulty),1),C(" "+m(n.record?`${(b=n.record)==null?void 0:b.username} - ${(y=n.record.points)==null?void 0:y.toLocaleString()}`:"Unclaimed"),1)])):v("",!0)],64)}),128))])])]),_:2},1024))),128))]),_:1})):v("",!0)]),_:1}))}};export{ae as default};

View File

@ -1 +1 @@
import{a as O,b as Q,u as U,a7 as W,r as Y,o as Z,c as aa,d as ea,w as l,e as r,_ as sa,g as n,P as ta,as as ra,h as na,n as da}from"./index-CHivKhhP.js";import{_ as la}from"./GeneralTable-Dm8yzA2j.js";import{_ as oa}from"./GameHeader-CbS6z4E_.js";import"./sources-0lyug9Pk.js";const pa={__name:"NetworkScores",setup(ca){const X=O(),o=Q(),j=U();var d=null,e=null;d=X.params.game,e=W(d),e||o.push({name:"ErrorPage",params:{catchAll:"404"}});const c=Y([]),u=[{text:"Player",value:"username",width:120},{text:"New PB",value:"newRecord",width:100},{text:"Timestamp",value:"timestamp",width:140},{text:"Song",value:"song.name",width:180},{text:"Artist",value:"song.artist",width:150},{text:"Chart",value:"song.chart",width:100},{text:"Grade",value:"data.rank",width:80},{text:"Score",value:"points",width:120}];if(e.scoreHeaders)for(var q of e.scoreHeaders)u.push(q);Z(async()=>{try{const s=await j.getAttemptData(d);c.value=z(s)}catch(s){console.error("Failed to fetch score data:",s)}});function z(s){var f,_,i,p,h,g,k,w,b,v,T,x,$,S,R,C,m,A,B,D,E,I,N,F,P,y,G,L,H,M,V;var t=[];for(var a of s){if(a.newRecord?a.newRecord="✅":a.newRecord="",a.timestamp){const K=new Date(a.timestamp*1e3);a.timestamp=K.toLocaleString()}a.points!=null&&(a.points=a.points.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((_=(f=a.data)==null?void 0:f.stats)==null?void 0:_.score)!=null&&(a.exscore=a.points.toString(),a.points=(p=(i=a.data)==null?void 0:i.stats)==null?void 0:p.score.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((h=a.song)==null?void 0:h.chart)!=null&&e.chartTable&&(a.song.chart=e.chartTable[(g=a.song)==null?void 0:g.chart]),((k=a.data)==null?void 0:k.halo)!=null&&e.haloTable&&(a.data.halo=e.haloTable[(w=a.data)==null?void 0:w.halo]),((b=a.data)==null?void 0:b.medal)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(v=a.data)==null?void 0:v.medal]),((T=a.data)==null?void 0:T.clear_status)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(x=a.data)==null?void 0:x.clear_status]),(($=a.data)==null?void 0:$.rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(S=a.data)==null?void 0:S.rank]),((R=a.data)==null?void 0:R.result_rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(C=a.data)==null?void 0:C.result_rank]),((m=a.data)==null?void 0:m.grade)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(A=a.data)==null?void 0:A.grade]),((B=a.data)==null?void 0:B.skill_perc)>0?a.data.skill_perc=`${((D=a.data)==null?void 0:D.skill_perc)/100}%`:a.data.skill_perc="0%",(E=a.data)!=null&&E.skill_points&&(a.data.skill_points=((I=a.data)==null?void 0:I.skill_points)/10),((N=a.data)==null?void 0:N.perc)>0?a.data.perc=`${((F=a.data)==null?void 0:F.perc)/100}%`:a.data.perc="0%",(P=a.data)!=null&&P.new_skill&&(a.data.new_skill=((y=a.data)==null?void 0:y.new_skill)/10),(G=a.data)!=null&&G.music_rate&&(a.data.music_rate=((L=a.data)==null?void 0:L.music_rate)/10),(H=a.data)!=null&&H.excellent?a.medal="EX FC":(M=a.data)!=null&&M.fullcombo?a.medal="FC":(V=a.data)!=null&&V.clear?a.medal="CLEARED":a.medal="FAILED",t.push(a)}return t}const J=s=>{const t=s.song.id;o.push(`/games/${d}/song/${t}`)};return(s,t)=>(ea(),aa(da,null,{default:l(()=>[r(sa,null,{default:l(()=>[r(oa,{game:n(e)},null,8,["game"]),r(ta,{icon:n(ra),title:`All ${n(e).shortName?n(e).shortName:n(e).name} Scores`,main:""},null,8,["icon","title"]),r(na,{"has-table":""},{default:l(()=>[r(la,{headers:u,items:c.value,onRowClicked:J},null,8,["items"])]),_:1})]),_:1})]),_:1}))}};export{pa as default};
import{a as O,b as Q,u as U,a7 as W,r as Y,o as Z,c as aa,d as ea,w as l,e as r,_ as sa,g as n,P as ta,at as ra,h as na,n as da}from"./index-Cn7Qxkym.js";import{_ as la}from"./GeneralTable-BeEFNO3P.js";import{_ as oa}from"./GameHeader-D10aFrN5.js";import"./sources-B0gtp6pI.js";const pa={__name:"NetworkScores",setup(ca){const X=O(),o=Q(),j=U();var d=null,e=null;d=X.params.game,e=W(d),e||o.push({name:"ErrorPage",params:{catchAll:"404"}});const c=Y([]),u=[{text:"Player",value:"username",width:120},{text:"New PB",value:"newRecord",width:100},{text:"Timestamp",value:"timestamp",width:140},{text:"Song",value:"song.name",width:180},{text:"Artist",value:"song.artist",width:150},{text:"Chart",value:"song.chart",width:100},{text:"Grade",value:"data.rank",width:80},{text:"Score",value:"points",width:120}];if(e.scoreHeaders)for(var q of e.scoreHeaders)u.push(q);Z(async()=>{try{const s=await j.getAttemptData(d);c.value=z(s)}catch(s){console.error("Failed to fetch score data:",s)}});function z(s){var f,_,i,p,h,g,k,w,b,v,T,x,$,S,R,C,m,A,B,D,E,I,N,F,P,y,G,L,H,M,V;var t=[];for(var a of s){if(a.newRecord?a.newRecord="✅":a.newRecord="",a.timestamp){const K=new Date(a.timestamp*1e3);a.timestamp=K.toLocaleString()}a.points!=null&&(a.points=a.points.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((_=(f=a.data)==null?void 0:f.stats)==null?void 0:_.score)!=null&&(a.exscore=a.points.toString(),a.points=(p=(i=a.data)==null?void 0:i.stats)==null?void 0:p.score.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((h=a.song)==null?void 0:h.chart)!=null&&e.chartTable&&(a.song.chart=e.chartTable[(g=a.song)==null?void 0:g.chart]),((k=a.data)==null?void 0:k.halo)!=null&&e.haloTable&&(a.data.halo=e.haloTable[(w=a.data)==null?void 0:w.halo]),((b=a.data)==null?void 0:b.medal)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(v=a.data)==null?void 0:v.medal]),((T=a.data)==null?void 0:T.clear_status)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(x=a.data)==null?void 0:x.clear_status]),(($=a.data)==null?void 0:$.rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(S=a.data)==null?void 0:S.rank]),((R=a.data)==null?void 0:R.result_rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(C=a.data)==null?void 0:C.result_rank]),((m=a.data)==null?void 0:m.grade)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(A=a.data)==null?void 0:A.grade]),((B=a.data)==null?void 0:B.skill_perc)>0?a.data.skill_perc=`${((D=a.data)==null?void 0:D.skill_perc)/100}%`:a.data.skill_perc="0%",(E=a.data)!=null&&E.skill_points&&(a.data.skill_points=((I=a.data)==null?void 0:I.skill_points)/10),((N=a.data)==null?void 0:N.perc)>0?a.data.perc=`${((F=a.data)==null?void 0:F.perc)/100}%`:a.data.perc="0%",(P=a.data)!=null&&P.new_skill&&(a.data.new_skill=((y=a.data)==null?void 0:y.new_skill)/10),(G=a.data)!=null&&G.music_rate&&(a.data.music_rate=((L=a.data)==null?void 0:L.music_rate)/10),(H=a.data)!=null&&H.excellent?a.medal="EX FC":(M=a.data)!=null&&M.fullcombo?a.medal="FC":(V=a.data)!=null&&V.clear?a.medal="CLEARED":a.medal="FAILED",t.push(a)}return t}const J=s=>{const t=s.song.id;o.push(`/games/${d}/song/${t}`)};return(s,t)=>(ea(),aa(da,null,{default:l(()=>[r(sa,null,{default:l(()=>[r(oa,{game:n(e)},null,8,["game"]),r(ta,{icon:n(ra),title:`All ${n(e).shortName?n(e).shortName:n(e).name} Scores`,main:""},null,8,["icon","title"]),r(na,{"has-table":""},{default:l(()=>[r(la,{headers:u,items:c.value,onRowClicked:J},null,8,["items"])]),_:1})]),_:1})]),_:1}))}};export{pa as default};

View File

@ -1 +0,0 @@
import{b as N,r as y,o as v,p as h,c as V,d as $,w as o,e as a,_ as k,h as r,i as n,P as f,g as p,aM as C,v as U,l as A,aN as B,n as R}from"./index-CHivKhhP.js";import{_ as I}from"./GeneralTable-Dm8yzA2j.js";import{_ as d}from"./FormField-vtioLqMT.js";import{_ as u}from"./FormControl-BLuW9GWW.js";import{j as L,k as M}from"./admin-YL_-tKB5.js";const P={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},j={class:"w-full"},O={__name:"NewsView",setup(q){const w=N(),i=y([]),_=[{text:"Title",value:"title",width:150,sortable:!0},{text:"Body",value:"body",width:300},{text:"Image URL",value:"data.img",width:300}];v(async()=>{m()});async function m(){try{const t=await L();var l=[];for(var e of t){if(e.timestamp){const x=new Date(e.timestamp*1e3);e.timestamp=x.toLocaleString()}l.push(e)}i.value=l}catch(t){console.error("Failed to fetch news data:",t)}}const b=l=>{const e=l.id;w.push(`/news/${e}`)},c={title:null,body:null,data:{img:null}},s=h({...c});async function g(){try{const l=await M(s);i.value=l}catch(l){console.error("Failed to post news:",l)}Object.assign(s,c),m()}return(l,e)=>($(),V(R,null,{default:o(()=>[a(k,null,{default:o(()=>[a(r,{class:"mb-6 p-1"},{default:o(()=>e[4]||(e[4]=[n("h1",{class:"text-3xl"},"News Management",-1),n("p",{class:"text-sm text-gray-400"},"Enter an post to read it",-1)])),_:1}),a(f,{icon:p(C),title:"Create News",color:"text-emerald-600",main:""},null,8,["icon"]),a(r,{"is-form":"",class:"row-span-1 mb-6",onSubmit:e[3]||(e[3]=U(t=>g(),["prevent"]))},{default:o(()=>[a(d,{label:"Title",help:"News headline."},{default:o(()=>[a(u,{modelValue:s.title,"onUpdate:modelValue":e[0]||(e[0]=t=>s.title=t),required:""},null,8,["modelValue"])]),_:1}),a(d,{label:"Body",help:"News body."},{default:o(()=>[a(u,{modelValue:s.body,"onUpdate:modelValue":e[1]||(e[1]=t=>s.body=t),required:"",type:"textarea"},null,8,["modelValue"])]),_:1}),a(d,{label:"Image URL",help:"News image URL."},{default:o(()=>[a(u,{modelValue:s.data.img,"onUpdate:modelValue":e[2]||(e[2]=t=>s.data.img=t),required:""},null,8,["modelValue"])]),_:1}),n("div",null,[a(A,{type:"submit",color:"success",label:"Create",small:!1})])]),_:1}),a(f,{icon:p(B),title:"All News",color:"text-blue-400",main:""},null,8,["icon"]),a(r,{"has-table":"",class:"mb-6"},{default:o(()=>[n("div",P,[n("div",j,[a(I,{headers:_,items:i.value,onRowClicked:b},null,8,["items"]),e[5]||(e[5]=n("h1",{class:"mx-4 mt-1 mb-2 text-md lg:text-lg"}," Click row to open arcade ",-1))])])]),_:1})]),_:1})]),_:1}))}};export{O as default};

View File

@ -0,0 +1 @@
import{b as B,r as w,o as I,p as h,c as L,d as g,w as s,e as l,_ as M,i,h as p,P as N,g as f,aN as _,v as D,Q as V,aO as F,l as v,j as S,f as j,aP as y,R as E,F as O,aQ as T,n as Q}from"./index-Cn7Qxkym.js";import{_ as z}from"./GeneralTable-BeEFNO3P.js";import{_ as u}from"./FormField-pnf59gPm.js";import{_ as d}from"./FormControl-DUODGQBr.js";import{l as G,m as H,n as J,o as K}from"./admin-BCHp0qne.js";import{_ as W}from"./BaseButtons-qayW9Fyk.js";const X={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},Y={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},Z={class:"w-full"},ie={__name:"NewsView",setup(ee){const x=B(),r=w([]),m=w(null),o=w(null),$=[{text:"Title",value:"title",width:150,sortable:!0},{text:"Body",value:"body",width:300},{text:"Image URL",value:"data.img",width:300}];I(async()=>{c()});async function c(){try{const a=await G();var t=[];for(var e of a){if(e.timestamp){const q=new Date(e.timestamp*1e3);e.timestamp=q.toLocaleString()}t.push(e)}r.value=t}catch(a){console.error("Failed to fetch news data:",a)}}const U=t=>{const e=t.id;x.push(`/news/${e}`)},b={title:null,body:null,data:{img:null}},n=h({...b});async function P(){try{const t=await H(n);r.value=t}catch(t){console.error("Failed to post news:",t)}Object.assign(n,b),c()}async function k(){o.value&&(await J(m.value,o.value),o.value=null,m.value=null,c())}async function A(){o.value&&(await K(o.value.id),o.value=null,m.value=null,c())}function C(t){var e=[];for(const a of t)e.push({id:a.id,label:a.title});return e}function R(t){var e;return!t||!r.value?null:(o.value=(e=r.value)==null?void 0:e.find(a=>a.id===t),!0)}return(t,e)=>(g(),L(Q,null,{default:s(()=>[l(M,null,{default:s(()=>[l(p,{class:"mb-6 p-1"},{default:s(()=>e[10]||(e[10]=[i("h1",{class:"text-3xl"},"News Management",-1),i("p",{class:"text-sm text-gray-400"},"Enter an post to read it",-1)])),_:1}),l(N,{icon:f(_),title:"Post Management",color:"text-emerald-600",main:""},null,8,["icon"]),i("div",X,[l(p,{"is-form":"",class:"row-span-1 mb-6",onSubmit:e[3]||(e[3]=D(a=>P(),["prevent"]))},{default:s(()=>[l(V,{color:"success",label:"Create Post",icon:f(F),class:"mb-2"},null,8,["icon"]),l(u,{label:"Title",help:"News headline."},{default:s(()=>[l(d,{modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=a=>n.title=a),required:""},null,8,["modelValue"])]),_:1}),l(u,{label:"Body",help:"News body."},{default:s(()=>[l(d,{modelValue:n.body,"onUpdate:modelValue":e[1]||(e[1]=a=>n.body=a),required:"",type:"textarea"},null,8,["modelValue"])]),_:1}),l(u,{label:"Image URL",help:"News image URL."},{default:s(()=>[l(d,{modelValue:n.data.img,"onUpdate:modelValue":e[2]||(e[2]=a=>n.data.img=a),required:""},null,8,["modelValue"])]),_:1}),i("div",null,[l(v,{type:"submit",color:"success",label:"Create",small:!1})])]),_:1}),l(p,{"is-form":"",class:"row-span-1 mb-6"},{default:s(()=>[l(V,{color:"warning",label:"Edit Post",icon:f(y),class:"mb-2"},null,8,["icon"]),l(u,{label:"Post"},{default:s(()=>[l(d,{modelValue:m.value,"onUpdate:modelValue":e[4]||(e[4]=a=>m.value=a),name:"news",options:C(r.value),required:""},null,8,["modelValue","options"])]),_:1}),l(E),R(m.value)?(g(),S(O,{key:0},[l(u,{label:"Title",help:"News headline."},{default:s(()=>[l(d,{modelValue:o.value.title,"onUpdate:modelValue":e[5]||(e[5]=a=>o.value.title=a),required:""},null,8,["modelValue"])]),_:1}),l(u,{label:"Body",help:"News body."},{default:s(()=>[l(d,{modelValue:o.value.body,"onUpdate:modelValue":e[6]||(e[6]=a=>o.value.body=a),required:"",type:"textarea"},null,8,["modelValue"])]),_:1}),l(u,{label:"Image URL",help:"News image URL."},{default:s(()=>[l(d,{modelValue:o.value.data.img,"onUpdate:modelValue":e[7]||(e[7]=a=>o.value.data.img=a),required:""},null,8,["modelValue"])]),_:1}),l(W,null,{default:s(()=>[l(v,{color:"info",label:"Update",small:!1,icon:f(_),onClick:e[8]||(e[8]=a=>k())},null,8,["icon"]),l(v,{color:"danger",label:"Delete Post",small:!1,icon:f(y),onClick:e[9]||(e[9]=a=>A())},null,8,["icon"])]),_:1})],64)):j("",!0)]),_:1})]),l(N,{icon:f(T),title:"All News",color:"text-blue-400",main:""},null,8,["icon"]),l(p,{"has-table":"",class:"mb-6"},{default:s(()=>[i("div",Y,[i("div",Z,[l(z,{headers:$,items:r.value,onRowClicked:U},null,8,["items"]),e[11]||(e[11]=i("h1",{class:"mx-4 mt-1 mb-2 text-md lg:text-lg"}," Click row to open arcade ",-1))])])]),_:1})]),_:1})]),_:1}))}};export{ie as default};

View File

@ -1 +1 @@
import{p as s,c as p,d as r,w as n,e,_ as c,i,P as m,g as u,aO as f,an as _,aP as h,h as g,l as V,n as b}from"./index-CHivKhhP.js";import{_ as o}from"./FormField-vtioLqMT.js";import{_ as v}from"./FormCheckRadio-DdZBsrII.js";import{_ as d}from"./FormControl-BLuW9GWW.js";const D={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 mb-6"},A={__name:"OTAView",setup(U){const a=s({...{name:"",game:"",mCode:"",fromDatecode:"",toDatecode:"",fileType:"",betaOnly:!1}});return(w,t)=>(r(),p(b,null,{default:n(()=>[e(c,null,{default:n(()=>[e(m,{icon:u(f),title:"OTA Update Administration",color:"text-red-600",main:""},null,8,["icon"]),i("div",D,[e(_,{number:1,label:"Active Updates"})]),e(m,{icon:u(h),title:"Add an Update",main:""},null,8,["icon"]),e(g,{"is-form":"",class:"row-span-1"},{default:n(()=>[e(o,{label:"Update Name",help:"This is only for documentation and does not change the update filepath."},{default:n(()=>[e(d,{modelValue:a.name,"onUpdate:modelValue":t[0]||(t[0]=l=>a.name=l),"input-value":a.name,name:"updateName",required:""},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"MCODE",help:"The MCODE of the destination image. Leave blank for any MCODE (not recommended!). ex: JAB"},{default:n(()=>[e(d,{modelValue:a.mCode,"onUpdate:modelValue":t[1]||(t[1]=l=>a.mCode=l),"input-value":a.mCode,name:"updateMCode",maxlength:"3",minlength:"3"},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"Initial Datecode",help:"The starting datecode, what will download this update. ex: 2024122600"},{default:n(()=>[e(d,{modelValue:a.fromDatecode,"onUpdate:modelValue":t[2]||(t[2]=l=>a.fromDatecode=l),"input-value":a.fromDatecode,name:"fromDatecode",maxlength:"10",minlength:"10",required:""},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"Destination Datecode",help:"The resulting datecode, what this update will contain. ex: 2024122700"},{default:n(()=>[e(d,{modelValue:a.toDatecode,"onUpdate:modelValue":t[3]||(t[3]=l=>a.toDatecode=l),"input-value":a.toDatecode,name:"toDatecode",maxlength:"10",minlength:"10",required:""},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"Beta Restriction",help:"Limit this update to machines registered to a beta testing arcade."},{default:n(()=>[e(v,{modelValue:a.betaOnly,"onUpdate:modelValue":t[4]||(t[4]=l=>a.betaOnly=l),"input-value":a.betaOnly,name:"betaOnly",type:"switch"},null,8,["modelValue","input-value"])]),_:1}),i("div",null,[e(V,{type:"submit",color:"success",label:"Add Update",small:!1,onClick:l=>!1})])]),_:1})]),_:1})]),_:1}))}};export{A as default};
import{p as s,c as p,d as r,w as n,e,_ as c,i,P as m,g as u,aR as f,an as _,aS as h,h as g,l as V,n as b}from"./index-Cn7Qxkym.js";import{_ as o}from"./FormField-pnf59gPm.js";import{_ as v}from"./FormCheckRadio-Cj2oiu3q.js";import{_ as d}from"./FormControl-DUODGQBr.js";const D={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 mb-6"},A={__name:"OTAView",setup(U){const a=s({...{name:"",game:"",mCode:"",fromDatecode:"",toDatecode:"",fileType:"",betaOnly:!1}});return(C,t)=>(r(),p(b,null,{default:n(()=>[e(c,null,{default:n(()=>[e(m,{icon:u(f),title:"OTA Update Administration",color:"text-red-600",main:""},null,8,["icon"]),i("div",D,[e(_,{number:1,label:"Active Updates"})]),e(m,{icon:u(h),title:"Add an Update",main:""},null,8,["icon"]),e(g,{"is-form":"",class:"row-span-1"},{default:n(()=>[e(o,{label:"Update Name",help:"This is only for documentation and does not change the update filepath."},{default:n(()=>[e(d,{modelValue:a.name,"onUpdate:modelValue":t[0]||(t[0]=l=>a.name=l),"input-value":a.name,name:"updateName",required:""},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"MCODE",help:"The MCODE of the destination image. Leave blank for any MCODE (not recommended!). ex: JAB"},{default:n(()=>[e(d,{modelValue:a.mCode,"onUpdate:modelValue":t[1]||(t[1]=l=>a.mCode=l),"input-value":a.mCode,name:"updateMCode",maxlength:"3",minlength:"3"},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"Initial Datecode",help:"The starting datecode, what will download this update. ex: 2024122600"},{default:n(()=>[e(d,{modelValue:a.fromDatecode,"onUpdate:modelValue":t[2]||(t[2]=l=>a.fromDatecode=l),"input-value":a.fromDatecode,name:"fromDatecode",maxlength:"10",minlength:"10",required:""},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"Destination Datecode",help:"The resulting datecode, what this update will contain. ex: 2024122700"},{default:n(()=>[e(d,{modelValue:a.toDatecode,"onUpdate:modelValue":t[3]||(t[3]=l=>a.toDatecode=l),"input-value":a.toDatecode,name:"toDatecode",maxlength:"10",minlength:"10",required:""},null,8,["modelValue","input-value"])]),_:1}),e(o,{label:"Beta Restriction",help:"Limit this update to machines registered to a beta testing arcade."},{default:n(()=>[e(v,{modelValue:a.betaOnly,"onUpdate:modelValue":t[4]||(t[4]=l=>a.betaOnly=l),"input-value":a.betaOnly,name:"betaOnly",type:"switch"},null,8,["modelValue","input-value"])]),_:1}),i("div",null,[e(V,{type:"submit",color:"success",label:"Add Update",small:!1,onClick:l=>!1})])]),_:1})]),_:1})]),_:1}))}};export{A as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as i,a as y,o as P,c as I,d as u,w as n,e,_ as S,j as B,f as $,F as k,P as m,g as f,aZ as E,h as _,i as r,a_ as L,n as N}from"./index-CHivKhhP.js";import{_ as h}from"./GeneralTable-Dm8yzA2j.js";import{_ as C}from"./ArcadeCard-B-wORdMu.js";import{A as F,e as R}from"./arcade-C_iviJ_9.js";const T={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},V={class:"w-full"},j={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},D={class:"w-full"},Z={__name:"PaseliView",setup(H){const t=i({}),s=i({}),c=i(!0),v=y(),d=parseInt(v.params.id);async function p(){try{t.value=null;const a=await F(d);t.value=a}catch(a){console.error("Failed to fetch arcade data:",a)}}async function w(){try{s.value=null;const a=await R(d);s.value=a,c.value=!1}catch(a){console.error("Failed to fetch arcade PASELI:",a)}}P(()=>{c.value=!0,p(),w()});const g=[{text:"Timestamp",value:"timestamp",width:200},{text:"Amount",value:"data.delta",width:200},{text:"Remaining Balance",value:"data.balance",width:200},{text:"Reason",value:"data.reason",width:200}],b=[{text:"Player",value:"username"},{text:"Balance",value:"balance"}];function x(a){var o=[];for(var l of JSON.parse(JSON.stringify(a))){if(l.timestamp){const A=new Date(l.timestamp*1e3);l.timestamp=A.toLocaleString()}o.push(l)}return o}return(a,o)=>(u(),I(N,null,{default:n(()=>[e(S,null,{default:n(()=>[!c.value&&t.value?(u(),B(k,{key:0},[e(C,{class:"mb-6",arcade:t.value,"use-small":!0},null,8,["arcade"]),e(m,{icon:f(E),title:"Player PASELI Balances",main:""},null,8,["icon"]),e(_,{"has-table":""},{default:n(()=>[r("div",T,[r("div",V,[e(h,{headers:b,items:s.value.balances},null,8,["items"])])])]),_:1}),e(m,{icon:f(L),title:"PASELI Transaction History",main:"",class:"pt-6"},null,8,["icon"]),e(_,{"has-table":""},{default:n(()=>[r("div",j,[r("div",D,[e(h,{headers:g,items:x(s.value.transactions)},null,8,["items"])])])]),_:1})],64)):$("",!0)]),_:1})]),_:1}))}};export{Z as default};
import{r as i,a as y,o as P,c as I,d as u,w as n,e,_ as S,j as B,f as $,F as k,P as m,g as f,b0 as E,h as _,i as r,b1 as L,n as N}from"./index-Cn7Qxkym.js";import{_ as h}from"./GeneralTable-BeEFNO3P.js";import{_ as C}from"./ArcadeCard-BdfoLNlq.js";import{A as F,e as R}from"./arcade-B1UQGAAy.js";const T={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},V={class:"w-full"},j={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},D={class:"w-full"},q={__name:"PaseliView",setup(H){const t=i({}),s=i({}),c=i(!0),v=y(),d=parseInt(v.params.id);async function p(){try{t.value=null;const a=await F(d);t.value=a}catch(a){console.error("Failed to fetch arcade data:",a)}}async function w(){try{s.value=null;const a=await R(d);s.value=a,c.value=!1}catch(a){console.error("Failed to fetch arcade PASELI:",a)}}P(()=>{c.value=!0,p(),w()});const b=[{text:"Timestamp",value:"timestamp",width:200},{text:"Amount",value:"data.delta",width:200},{text:"Remaining Balance",value:"data.balance",width:200},{text:"Reason",value:"data.reason",width:200}],g=[{text:"Player",value:"username"},{text:"Balance",value:"balance"}];function x(a){var o=[];for(var l of JSON.parse(JSON.stringify(a))){if(l.timestamp){const A=new Date(l.timestamp*1e3);l.timestamp=A.toLocaleString()}o.push(l)}return o}return(a,o)=>(u(),I(N,null,{default:n(()=>[e(S,null,{default:n(()=>[!c.value&&t.value?(u(),B(k,{key:0},[e(C,{class:"mb-6",arcade:t.value,"use-small":!0},null,8,["arcade"]),e(m,{icon:f(E),title:"Player PASELI Balances",main:""},null,8,["icon"]),e(_,{"has-table":""},{default:n(()=>[r("div",T,[r("div",V,[e(h,{headers:g,items:s.value.balances},null,8,["items"])])])]),_:1}),e(m,{icon:f(L),title:"PASELI Transaction History",main:"",class:"pt-6"},null,8,["icon"]),e(_,{"has-table":""},{default:n(()=>[r("div",j,[r("div",D,[e(h,{headers:b,items:x(s.value.transactions)},null,8,["items"])])])]),_:1})],64)):$("",!0)]),_:1})]),_:1}))}};export{q as default};

View File

@ -1 +1 @@
import{a as R,b as B,a7 as G,r as S,p as U,o as E,al as A,c as $,d as o,w as g,f as p,g as a,_ as L,j as u,F as v,e as d,i as l,l as b,P as j,bU as C,k as N,h as T,t as f,I as M,n as W}from"./index-CHivKhhP.js";import{_ as q}from"./FormControl-BLuW9GWW.js";import{_ as z}from"./GameHeader-CbS6z4E_.js";import{b as H}from"./music-BegIU2Dv.js";import{A as J}from"./profile-LMvWxmH8.js";import"./sources-0lyug9Pk.js";const K={class:"flex gap-2 mb-2 md:mb-0"},O={key:0,class:"md:w-1/3 md:text-right"},Q={class:"lg:flex w-full lg:place-content-between"},X={class:"mb-4 lg:mb-0 space-y-1"},Y={class:"text-lg lg:text-xl"},Z={class:"text-md lg:text-lg"},ee={class:"grid md:grid-cols-2 lg:flex gap-2 lg:justify-end lg:place-content-end"},se={key:0,class:"bg-gray-900 dark:bg-gray-700 p-4 rounded-lg"},re={class:"text-md lg:text-lg"},ue={__name:"PersonalRecords",setup(ae){const y=R(),V=B();var _=y.params.game;const e=G(_);var h=y.params.userId??null,m=S([]);const t=S(null),n=U({currentVersion:null});e||V.push({name:"ErrorPage",params:{catchAll:"404"}}),h||V.push({name:"ErrorPage",params:{catchAll:"404"}}),e.versions||(n.currentVersion=1),E(async()=>{var s;try{const r=await H(_,h);m.value=r,F(),e.versions&&!n.currentVersion&&(n.currentVersion=((s=x.value.at(-1))==null?void 0:s.id)??null)}catch(r){console.error("Failed to fetch score data:",r)}});async function F(){try{t.value=null;const s=await J(_,null,h);t.value=s}catch(s){console.error("Failed to fetch user profile data:",s)}}const x=A(()=>{if(!e.versions)return[];const s=new Set(m.value.map(r=>r.version));return e.versions.filter(r=>s.has(r.id))}),D=A(()=>n.currentVersion?m.value.filter(s=>s.version===n.currentVersion):m.value);return(s,r)=>(o(),$(W,null,{default:g(()=>[a(m)?(o(),$(L,{key:0},{default:g(()=>[t.value?(o(),u(v,{key:0},[d(z,{game:a(e),profile:t.value},null,8,["game","profile"]),l("div",K,[d(b,{icon:s.mdiAccountDetails,href:`/#/games/${a(e).id}/profiles/${t.value.userId}`,outline:!1,color:"info",label:`${t.value.username}'s Profile`},null,8,["icon","href","label"]),d(b,{icon:s.mdiAccountDetails,href:`/#/games/${a(e).id}/scores/${t.value.userId}`,outline:!1,color:"info",label:`${t.value.username}'s Scores`},null,8,["icon","href","label"])]),d(j,{icon:a(C),title:`${t.value.username}'s ${a(e).shortName?a(e).shortName:a(e).name} Records`,main:""},{default:g(()=>[a(e).versions?(o(),u("div",O,[r[1]||(r[1]=l("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),d(q,{modelValue:n.currentVersion,"onUpdate:modelValue":r[0]||(r[0]=i=>n.currentVersion=i),options:x.value.slice().reverse()},null,8,["modelValue","options"])])):p("",!0)]),_:1},8,["icon","title"]),(o(!0),u(v,null,N(D.value,i=>(o(),$(T,{key:i.id,class:"mb-6"},{default:g(()=>[l("div",Q,[l("div",X,[l("h1",Y,f(i.name),1),l("h2",Z,f(i.artist),1),d(b,{label:"View Song",color:"info",href:`/#/games/${a(_)}/song/${i.id}`},null,8,["href"])]),l("div",ee,[(o(!0),u(v,null,N(i.charts,c=>{var k,I,P,w;return o(),u(v,{key:c.db_id},[((k=c.data)==null?void 0:k.difficulty)!=0?(o(),u("div",se,[l("h2",re,f(a(e).chartTable[c.chart])+" - "+f((I=c.data)==null?void 0:I.difficulty),1),M(" "+f(c.record?`${(P=c.record)==null?void 0:P.username} - ${(w=c.record.points)==null?void 0:w.toLocaleString()}`:"Unclaimed"),1)])):p("",!0)],64)}),128))])])]),_:2},1024))),128))],64)):p("",!0)]),_:1})):p("",!0)]),_:1}))}};export{ue as default};
import{a as R,b as B,a7 as G,r as S,p as E,o as L,al as A,c as $,d as o,w as g,f as p,g as a,_ as U,j as u,F as v,e as d,i as l,l as b,P as j,bX as C,k as N,h as T,t as f,I as M,n as W}from"./index-Cn7Qxkym.js";import{_ as X}from"./FormControl-DUODGQBr.js";import{_ as q}from"./GameHeader-D10aFrN5.js";import{b as z}from"./music-B4rkmxYb.js";import{A as H}from"./profile-BxRJ0HNo.js";import"./sources-B0gtp6pI.js";const J={class:"flex gap-2 mb-2 md:mb-0"},K={key:0,class:"md:w-1/3 md:text-right"},O={class:"lg:flex w-full lg:place-content-between"},Q={class:"mb-4 lg:mb-0 space-y-1"},Y={class:"text-lg lg:text-xl"},Z={class:"text-md lg:text-lg"},ee={class:"grid md:grid-cols-2 lg:flex gap-2 lg:justify-end lg:place-content-end"},se={key:0,class:"bg-gray-900 dark:bg-gray-700 p-4 rounded-lg"},re={class:"text-md lg:text-lg"},ue={__name:"PersonalRecords",setup(ae){const y=R(),V=B();var _=y.params.game;const e=G(_);var h=y.params.userId??null,m=S([]);const t=S(null),n=E({currentVersion:null});e||V.push({name:"ErrorPage",params:{catchAll:"404"}}),h||V.push({name:"ErrorPage",params:{catchAll:"404"}}),e.versions||(n.currentVersion=1),L(async()=>{var s;try{const r=await z(_,h);m.value=r,F(),e.versions&&!n.currentVersion&&(n.currentVersion=((s=x.value.at(-1))==null?void 0:s.id)??null)}catch(r){console.error("Failed to fetch score data:",r)}});async function F(){try{t.value=null;const s=await H(_,null,h);t.value=s}catch(s){console.error("Failed to fetch user profile data:",s)}}const x=A(()=>{if(!e.versions)return[];const s=new Set(m.value.map(r=>r.version));return e.versions.filter(r=>s.has(r.id))}),D=A(()=>n.currentVersion?m.value.filter(s=>s.version===n.currentVersion):m.value);return(s,r)=>(o(),$(W,null,{default:g(()=>[a(m)?(o(),$(U,{key:0},{default:g(()=>[t.value?(o(),u(v,{key:0},[d(q,{game:a(e),profile:t.value},null,8,["game","profile"]),l("div",J,[d(b,{icon:s.mdiAccountDetails,href:`/#/games/${a(e).id}/profiles/${t.value.userId}`,outline:!1,color:"info",label:`${t.value.username}'s Profile`},null,8,["icon","href","label"]),d(b,{icon:s.mdiAccountDetails,href:`/#/games/${a(e).id}/scores/${t.value.userId}`,outline:!1,color:"info",label:`${t.value.username}'s Scores`},null,8,["icon","href","label"])]),d(j,{icon:a(C),title:`${t.value.username}'s ${a(e).shortName?a(e).shortName:a(e).name} Records`,main:""},{default:g(()=>[a(e).versions?(o(),u("div",K,[r[1]||(r[1]=l("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),d(X,{modelValue:n.currentVersion,"onUpdate:modelValue":r[0]||(r[0]=i=>n.currentVersion=i),options:x.value.slice().reverse()},null,8,["modelValue","options"])])):p("",!0)]),_:1},8,["icon","title"]),(o(!0),u(v,null,N(D.value,i=>(o(),$(T,{key:i.id,class:"mb-6"},{default:g(()=>[l("div",O,[l("div",Q,[l("h1",Y,f(i.name),1),l("h2",Z,f(i.artist),1),d(b,{label:"View Song",color:"info",href:`/#/games/${a(_)}/song/${i.id}`},null,8,["href"])]),l("div",ee,[(o(!0),u(v,null,N(i.charts,c=>{var k,I,P,w;return o(),u(v,{key:c.db_id},[((k=c.data)==null?void 0:k.difficulty)!=0?(o(),u("div",se,[l("h2",re,f(a(e).chartTable[c.chart])+" - "+f((I=c.data)==null?void 0:I.difficulty),1),M(" "+f(c.record?`${(P=c.record)==null?void 0:P.username} - ${(w=c.record.points)==null?void 0:w.toLocaleString()}`:"Unclaimed"),1)])):p("",!0)],64)}),128))])])]),_:2},1024))),128))],64)):p("",!0)]),_:1})):p("",!0)]),_:1}))}};export{ue as default};

View File

@ -1 +1 @@
import{a as Z,b as aa,u as ea,a7 as sa,r as q,o as ra,c as la,d as z,w as d,e as t,_ as ta,j as na,f as oa,F as da,g as l,P as ca,as as ua,l as fa,bF as ia,h as pa,n as _a}from"./index-CHivKhhP.js";import{_ as ha}from"./GeneralTable-Dm8yzA2j.js";import{_ as ga}from"./GameHeader-CbS6z4E_.js";import{A as ka}from"./profile-LMvWxmH8.js";import"./sources-0lyug9Pk.js";const xa={__name:"PersonalScores",setup(va){const u=Z(),f=aa(),J=ea();var n=null,e=null,c=null;n=u.params.game,c=u.params.userId,e=sa(n),e||f.push({name:"ErrorPage",params:{catchAll:"404"}});const r=q(null),i=q([]),p=[{text:"Timestamp",value:"timestamp",width:140},{text:"New PB",value:"newRecord",width:100},{text:"Song",value:"song.name",width:180},{text:"Artist",value:"song.artist",width:180},{text:"Chart",value:"song.chart",width:100},{text:"Grade",value:"data.rank",width:80},{text:"Score",value:"points",width:120}];if(e.scoreHeaders)for(var K of e.scoreHeaders)p.push(K);ra(async()=>{try{const s=await J.getAttemptData(n,c);i.value=Q(s)}catch(s){console.error("Failed to fetch score data:",s)}O()});async function O(){try{r.value=null;const s=await ka(n,null,c);r.value=s}catch(s){console.error("Failed to fetch user profile data:",s)}}function Q(s){var _,h,g,k,v,w,b,m,$,T,x,S,I,P,A,C,F,R,y,B,D,E,N,G,L,H,M,V,j,U,X;var o=[];for(var a of s){if(a.newRecord?a.newRecord="✅":a.newRecord="",a.timestamp){const Y=new Date(a.timestamp*1e3);a.timestamp=Y.toLocaleString()}a.points!=null&&(a.points=a.points.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((h=(_=a.data)==null?void 0:_.stats)==null?void 0:h.score)!=null&&(a.exscore=a.points.toString(),a.points=(k=(g=a.data)==null?void 0:g.stats)==null?void 0:k.score.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((v=a.song)==null?void 0:v.chart)!=null&&e.chartTable&&(a.song.chart=e.chartTable[(w=a.song)==null?void 0:w.chart]),((b=a.data)==null?void 0:b.halo)!=null&&e.haloTable&&(a.data.halo=e.haloTable[(m=a.data)==null?void 0:m.halo]),(($=a.data)==null?void 0:$.medal)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(T=a.data)==null?void 0:T.medal]),((x=a.data)==null?void 0:x.clear_status)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(S=a.data)==null?void 0:S.clear_status]),((I=a.data)==null?void 0:I.rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(P=a.data)==null?void 0:P.rank]),((A=a.data)==null?void 0:A.result_rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(C=a.data)==null?void 0:C.result_rank]),((F=a.data)==null?void 0:F.grade)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(R=a.data)==null?void 0:R.grade]),((y=a.data)==null?void 0:y.skill_perc)>0?a.data.skill_perc=`${((B=a.data)==null?void 0:B.skill_perc)/100}%`:a.data.skill_perc="0%",(D=a.data)!=null&&D.skill_points&&(a.data.skill_points=((E=a.data)==null?void 0:E.skill_points)/10),((N=a.data)==null?void 0:N.perc)>0?a.data.perc=`${((G=a.data)==null?void 0:G.perc)/100}%`:a.data.perc="0%",(L=a.data)!=null&&L.new_skill&&(a.data.new_skill=((H=a.data)==null?void 0:H.new_skill)/10),(M=a.data)!=null&&M.music_rate&&(a.data.music_rate=((V=a.data)==null?void 0:V.music_rate)/10),(j=a.data)!=null&&j.excellent?a.medal="EX FC":(U=a.data)!=null&&U.fullcombo?a.medal="FC":(X=a.data)!=null&&X.clear?a.medal="CLEARED":a.medal="FAILED",o.push(a)}return o}const W=s=>{const o=s.song.id;f.push(`/games/${n}/song/${o}`)};return(s,o)=>(z(),la(_a,null,{default:d(()=>[t(ta,null,{default:d(()=>[r.value?(z(),na(da,{key:0},[t(ga,{game:l(e),profile:r.value},null,8,["game","profile"]),t(ca,{icon:l(ua),title:`${r.value.username}'s ${l(e).shortName?l(e).shortName:l(e).name} Scores`,main:""},{default:d(()=>[t(fa,{icon:l(ia),href:`/#/games/${l(e).id}/profiles/${r.value.userId}`,outline:!1,color:"info",label:`${r.value.username}'s Profile`},null,8,["icon","href","label"])]),_:1},8,["icon","title"]),t(pa,{"has-table":""},{default:d(()=>[t(ha,{headers:p,items:i.value,onRowClicked:W},null,8,["items"])]),_:1})],64)):oa("",!0)]),_:1})]),_:1}))}};export{xa as default};
import{a as Z,b as aa,u as ea,a7 as ra,r as q,o as sa,c as la,d as z,w as d,e as t,_ as ta,j as na,f as oa,F as da,g as l,P as ca,at as ua,l as fa,bI as ia,h as pa,n as _a}from"./index-Cn7Qxkym.js";import{_ as ha}from"./GeneralTable-BeEFNO3P.js";import{_ as ga}from"./GameHeader-D10aFrN5.js";import{A as ka}from"./profile-BxRJ0HNo.js";import"./sources-B0gtp6pI.js";const xa={__name:"PersonalScores",setup(va){const u=Z(),f=aa(),J=ea();var n=null,e=null,c=null;n=u.params.game,c=u.params.userId,e=ra(n),e||f.push({name:"ErrorPage",params:{catchAll:"404"}});const s=q(null),i=q([]),p=[{text:"Timestamp",value:"timestamp",width:140},{text:"New PB",value:"newRecord",width:100},{text:"Song",value:"song.name",width:180},{text:"Artist",value:"song.artist",width:180},{text:"Chart",value:"song.chart",width:100},{text:"Grade",value:"data.rank",width:80},{text:"Score",value:"points",width:120}];if(e.scoreHeaders)for(var K of e.scoreHeaders)p.push(K);sa(async()=>{try{const r=await J.getAttemptData(n,c);i.value=Q(r)}catch(r){console.error("Failed to fetch score data:",r)}O()});async function O(){try{s.value=null;const r=await ka(n,null,c);s.value=r}catch(r){console.error("Failed to fetch user profile data:",r)}}function Q(r){var _,h,g,k,v,w,b,m,$,T,x,S,I,P,A,C,R,F,y,B,D,E,N,G,L,H,M,V,j,U,X;var o=[];for(var a of r){if(a.newRecord?a.newRecord="✅":a.newRecord="",a.timestamp){const Y=new Date(a.timestamp*1e3);a.timestamp=Y.toLocaleString()}a.points!=null&&(a.points=a.points.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((h=(_=a.data)==null?void 0:_.stats)==null?void 0:h.score)!=null&&(a.exscore=a.points.toString(),a.points=(k=(g=a.data)==null?void 0:g.stats)==null?void 0:k.score.toString().replace(new RegExp("\\B(?<!\\.\\d*)(?=(\\d{3})+(?!\\d))","g"),",")),((v=a.song)==null?void 0:v.chart)!=null&&e.chartTable&&(a.song.chart=e.chartTable[(w=a.song)==null?void 0:w.chart]),((b=a.data)==null?void 0:b.halo)!=null&&e.haloTable&&(a.data.halo=e.haloTable[(m=a.data)==null?void 0:m.halo]),(($=a.data)==null?void 0:$.medal)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(T=a.data)==null?void 0:T.medal]),((x=a.data)==null?void 0:x.clear_status)!=null&&e.medalTable&&(a.data.medal=e.medalTable[(S=a.data)==null?void 0:S.clear_status]),((I=a.data)==null?void 0:I.rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(P=a.data)==null?void 0:P.rank]),((A=a.data)==null?void 0:A.result_rank)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(C=a.data)==null?void 0:C.result_rank]),((R=a.data)==null?void 0:R.grade)!=null&&e.rankTable&&(a.data.rank=e.rankTable[(F=a.data)==null?void 0:F.grade]),((y=a.data)==null?void 0:y.skill_perc)>0?a.data.skill_perc=`${((B=a.data)==null?void 0:B.skill_perc)/100}%`:a.data.skill_perc="0%",(D=a.data)!=null&&D.skill_points&&(a.data.skill_points=((E=a.data)==null?void 0:E.skill_points)/10),((N=a.data)==null?void 0:N.perc)>0?a.data.perc=`${((G=a.data)==null?void 0:G.perc)/100}%`:a.data.perc="0%",(L=a.data)!=null&&L.new_skill&&(a.data.new_skill=((H=a.data)==null?void 0:H.new_skill)/10),(M=a.data)!=null&&M.music_rate&&(a.data.music_rate=((V=a.data)==null?void 0:V.music_rate)/10),(j=a.data)!=null&&j.excellent?a.medal="EX FC":(U=a.data)!=null&&U.fullcombo?a.medal="FC":(X=a.data)!=null&&X.clear?a.medal="CLEARED":a.medal="FAILED",o.push(a)}return o}const W=r=>{const o=r.song.id;f.push(`/games/${n}/song/${o}`)};return(r,o)=>(z(),la(_a,null,{default:d(()=>[t(ta,null,{default:d(()=>[s.value?(z(),na(da,{key:0},[t(ga,{game:l(e),profile:s.value},null,8,["game","profile"]),t(ca,{icon:l(ua),title:`${s.value.username}'s ${l(e).shortName?l(e).shortName:l(e).name} Scores`,main:""},{default:d(()=>[t(fa,{icon:l(ia),href:`/#/games/${l(e).id}/profiles/${s.value.userId}`,outline:!1,color:"info",label:`${s.value.username}'s Profile`},null,8,["icon","href","label"])]),_:1},8,["icon","title"]),t(pa,{"has-table":""},{default:d(()=>[t(ha,{headers:p,items:i.value,onRowClicked:W},null,8,["items"])]),_:1})],64)):oa("",!0)]),_:1})]),_:1}))}};export{xa as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{a as $,b as k,a7 as I,r as A,o as R,c,d as u,w as f,e as n,_ as D,i as o,b3 as B,g as s,f as h,l as g,b7 as C,b8 as N,P as S,b6 as L,h as V,n as G}from"./index-CHivKhhP.js";import{g as M,_ as j}from"./sources-0lyug9Pk.js";import{_ as F}from"./GeneralTable-Dm8yzA2j.js";import{a as H}from"./profile-LMvWxmH8.js";import{d as T}from"./userData-DZYdegtD.js";import{g as y}from"./danClass-NuRM5DAU.js";const z={class:"bg-white dark:bg-slate-900/90 rounded-2xl pt-6 p-3 card-content"},E={class:"w-full"},O={class:"md:flex md:px-5 md:space-x-10 md:justify-between md:items-center"},X={class:"md:w-1/2 grid grid-cols-1 md:grid-cols-2 gap-3"},q={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},J={class:"w-full"},ta={__name:"PlayersView",setup(K){const v=$(),_=k();var l=null,t=null;l=v.params.id,t=I(l),t==null&&_.push({name:"ErrorPage",params:{catchAll:"404"}});const m=A([]);R(async()=>{try{const e=await H(l);m.value=x(e)}catch(e){console.error("Failed to fetch profile data:",e)}});const i=[];if(i.push({text:"Player",value:"username",sortable:!0,width:120}),t.noRivals||i.push({text:"Rival ID",value:"extid",width:100}),i.push({text:"Last Play",value:"stats.last_play_timestamp",width:150},{text:"Last Arcade",value:"stats.last_play_arcade",width:150},{text:"Plays",value:"stats.total_plays",sortable:!0,width:50}),t.playerHeaders)for(var w of t.playerHeaders)i.push(w);function x(e){var r=[];for(var a of e){if(a.extid&&(a.extid=T(a.extid)),a.stats){if(a.stats.last_play_timestamp){const d=new Date(a.stats.last_play_timestamp*1e3);a.stats.last_play_timestamp=d.toLocaleString()}a.sgrade&&(a.sgrade=y(a.sgrade).short),a.dgrade&&(a.dgrade=y(a.dgrade).short)}r.push(a)}return r.sort((d,p)=>{const P=d.stats&&d.stats.total_plays||0;return(p.stats&&p.stats.total_plays||0)-P}),r}const b=e=>{const r=e.userId;_.push(`/games/${l}/profiles/${r}`)};return(e,r)=>(u(),c(G,null,{default:f(()=>[n(D,null,{default:f(()=>[o("div",{style:B(s(M)(s(t))),class:"rounded-2xl mb-6 card-container"},[o("div",z,[o("div",E,[o("div",O,[n(j,{path:s(t).icon,title:s(t).name},null,8,["path","title"])])]),o("div",X,[s(t).noScores?h("",!0):(u(),c(g,{key:0,href:`/#/games/${s(l)}/scores`,icon:s(C),outline:!1,color:"info",label:"Network Scores"},null,8,["href","icon"])),s(t).noRecords?h("",!0):(u(),c(g,{key:1,href:`/#/games/${s(l)}/records`,icon:s(N),outline:!1,color:"info",label:"Network Records"},null,8,["href","icon"]))])])],4),n(S,{icon:s(L),title:"All Players",main:""},null,8,["icon"]),n(V,{"has-table":""},{default:f(()=>[o("div",q,[o("div",J,[n(F,{headers:i,items:m.value,path:`/#/${s(l)}/profiles/`,onRowClicked:b},null,8,["items","path"])])])]),_:1})]),_:1})]),_:1}))}};export{ta as default};
import{a as $,b as k,a7 as I,r as A,o as R,c,d as u,w as f,e as n,_ as D,i as o,b6 as B,g as s,f as h,l as g,ba as C,bb as N,P as S,b9 as L,h as V,n as G}from"./index-Cn7Qxkym.js";import{g as M,_ as j}from"./sources-B0gtp6pI.js";import{_ as F}from"./GeneralTable-BeEFNO3P.js";import{a as H}from"./profile-BxRJ0HNo.js";import{d as T}from"./userData-DZYdegtD.js";import{g as y}from"./danClass-NuRM5DAU.js";const z={class:"bg-white dark:bg-slate-900/90 rounded-2xl pt-6 p-3 card-content"},E={class:"w-full"},O={class:"md:flex md:px-5 md:space-x-10 md:justify-between md:items-center"},X={class:"md:w-1/2 grid grid-cols-1 md:grid-cols-2 gap-3"},q={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},J={class:"w-full"},ta={__name:"PlayersView",setup(K){const v=$(),_=k();var l=null,t=null;l=v.params.id,t=I(l),t==null&&_.push({name:"ErrorPage",params:{catchAll:"404"}});const m=A([]);R(async()=>{try{const e=await H(l);m.value=x(e)}catch(e){console.error("Failed to fetch profile data:",e)}});const i=[];if(i.push({text:"Player",value:"username",sortable:!0,width:120}),t.noRivals||i.push({text:"Rival ID",value:"extid",width:100}),i.push({text:"Last Play",value:"stats.last_play_timestamp",width:150},{text:"Last Arcade",value:"stats.last_play_arcade",width:150},{text:"Plays",value:"stats.total_plays",sortable:!0,width:50}),t.playerHeaders)for(var w of t.playerHeaders)i.push(w);function x(e){var r=[];for(var a of e){if(a.extid&&(a.extid=T(a.extid)),a.stats){if(a.stats.last_play_timestamp){const d=new Date(a.stats.last_play_timestamp*1e3);a.stats.last_play_timestamp=d.toLocaleString()}a.sgrade&&(a.sgrade=y(a.sgrade).short),a.dgrade&&(a.dgrade=y(a.dgrade).short)}r.push(a)}return r.sort((d,p)=>{const P=d.stats&&d.stats.total_plays||0;return(p.stats&&p.stats.total_plays||0)-P}),r}const b=e=>{const r=e.userId;_.push(`/games/${l}/profiles/${r}`)};return(e,r)=>(u(),c(G,null,{default:f(()=>[n(D,null,{default:f(()=>[o("div",{style:B(s(M)(s(t))),class:"rounded-2xl mb-6 card-container"},[o("div",z,[o("div",E,[o("div",O,[n(j,{path:s(t).icon,title:s(t).name},null,8,["path","title"])])]),o("div",X,[s(t).noScores?h("",!0):(u(),c(g,{key:0,href:`/#/games/${s(l)}/scores`,icon:s(C),outline:!1,color:"info",label:"Network Scores"},null,8,["href","icon"])),s(t).noRecords?h("",!0):(u(),c(g,{key:1,href:`/#/games/${s(l)}/records`,icon:s(N),outline:!1,color:"info",label:"Network Records"},null,8,["href","icon"]))])])],4),n(S,{icon:s(L),title:"All Players",main:""},null,8,["icon"]),n(V,{"has-table":""},{default:f(()=>[o("div",q,[o("div",J,[n(F,{headers:i,items:m.value,path:`/#/${s(l)}/profiles/`,onRowClicked:b},null,8,["items","path"])])])]),_:1})]),_:1})]),_:1}))}};export{ta as default};

View File

@ -1,2 +1,2 @@
import{u as k,a as g,b as v,r as p,o as A,A as $,c as w,d as n,w as c,e as d,_ as B,T as N,f as b,g as s,h as F,i as e,j as u,t as x,F as P,k as V,l as C,m as R,n as S}from"./index-CHivKhhP.js";import{_ as D}from"./BaseButtons-pRaX0ajF.js";const i=k();async function E(a){if(i.loadedArticles[a])return i.loadedArticles[a];try{const o=await i.callApi(`/news/${a}`);return i.loadedArticles[a]=o,i.loadedArticles[a]}catch(o){throw console.log("Error fetching post:",o),o}}const M={class:"flex flex-col items-center"},T=["src"],j={class:"text-left md:text-center"},z={class:"text-2xl"},G={key:1},U={__name:"PostView",setup(a){const o=g(),h=v(),f=parseInt(o.params.id);var r=p({data:{}}),m=p("");A(async()=>{try{const t=await E(f);r.value=t.news,m.value=t.news.body.split(`
import{u as k,a as g,b as v,r as p,o as A,A as $,c as w,d as n,w as c,e as d,_ as B,T as N,f as b,g as s,h as F,i as e,j as u,t as x,F as P,k as V,l as C,m as R,n as S}from"./index-Cn7Qxkym.js";import{_ as D}from"./BaseButtons-qayW9Fyk.js";const i=k();async function E(a){if(i.loadedArticles[a])return i.loadedArticles[a];try{const o=await i.callApi(`/news/${a}`);return i.loadedArticles[a]=o,i.loadedArticles[a]}catch(o){throw console.log("Error fetching post:",o),o}}const M={class:"flex flex-col items-center"},T=["src"],j={class:"text-left md:text-center"},z={class:"text-2xl"},G={key:1},U={__name:"PostView",setup(a){const o=g(),h=v(),f=parseInt(o.params.id);var r=p({data:{}}),m=p("");A(async()=>{try{const t=await E(f);r.value=t.news,m.value=t.news.body.split(`
`)}catch(t){console.error("Failed to fetch news data:",t)}try{await $(f)}catch(t){console.error("Failed to set news as read:",t)}});function y(){h.push("/")}return(t,l)=>(n(),w(S,null,{default:c(()=>[d(B,null,{default:c(()=>[d(N,null,{default:c(()=>[s(r)!={}?(n(),w(F,{key:0,"has-table":""},{footer:c(()=>[d(D,null,{default:c(()=>[d(C,{label:"Home",color:"info",icon:s(R),"icon-size":"20",onClick:y},null,8,["icon"])]),_:1})]),default:c(()=>[e("div",M,[e("img",{src:s(r).data.img,class:"rounded-t-2xl md:rounded-2xl md:w-1/2 md:m-4"},null,8,T)]),s(r)?(n(),u("div",{key:s(r).id,class:"flex flex-col items-center p-4"},[e("div",j,[e("h1",z,x(s(r).title),1),l[1]||(l[1]=e("hr",{class:"pb-1 my-2"},null,-1)),(n(!0),u(P,null,V(s(m),_=>(n(),u("div",{key:_},[e("p",null,x(_),1),l[0]||(l[0]=e("br",null,null,-1))]))),128))])])):(n(),u("div",G,l[2]||(l[2]=[e("h1",{class:"text-2xl"},"News not found...",-1)])))]),_:1})):b("",!0)]),_:1})]),_:1})]),_:1}))}};export{U as default};

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
import{u as q,b as E,p as P,r as S,M as v,o as B,N as F,c as f,d as c,w as r,e as s,_ as G,i as u,O as R,P as T,g as t,x,h as _,v as N,Q as V,z,y as w,f as U,l as O,C as I,D as h,R as Q,t as Y,I as k,n as j,S as H,U as K}from"./index-CHivKhhP.js";import{_ as d}from"./FormField-vtioLqMT.js";import{_ as m}from"./FormControl-BLuW9GWW.js";import{_ as W}from"./FormCheckRadio-DdZBsrII.js";const X={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Z={class:"my-4"},ee={class:"text-xl"},ie={__name:"ProfileView",setup(se){const o=q(),J=E(),p=P({username:JSON.parse(JSON.stringify(o.userName)),email:JSON.parse(JSON.stringify(o.userEmail)),pin:null,public:o.userPublic??!1}),n=P({username:JSON.parse(JSON.stringify(o.userName)),email:JSON.parse(JSON.stringify(o.userEmail)),pin:null,public:o.userPublic??!1}),i=P({currentPassword:"",newPassword:"",confirmPassword:""}),b=S(!1),g=S(!1),y=S(null);v(()=>o.userName,a=>{n.username=JSON.parse(JSON.stringify(a)),p.username=JSON.parse(JSON.stringify(a))}),v(()=>o.userEmail,a=>{n.email=JSON.parse(JSON.stringify(a)),p.email=JSON.parse(JSON.stringify(a))}),v(()=>o.userPublic,a=>{n.public=a,p.public=a}),B(()=>{A()});async function C(){b.value=!0,(await o.putUser(n)).status=="success"&&(b.value=!1,o.userLoaded=!1,await o.loadUser(),J.go())}async function $(){g.value=!0,(await H(i.currentPassword,i.newPassword,i.confirmPassword)).status=="success"&&(alert("Password changed."),g.value=!1,await o.loadUser(),J.go())}async function A(){const a=await F();y.value=a}async function D(){if(window.confirm(`Are you really?
import{u as q,b as E,p as P,r as S,M as v,o as B,N as F,c as f,d as c,w as r,e as s,_ as G,i as u,O as R,P as T,g as t,x,h as _,v as N,Q as V,z,y as w,f as U,l as O,C as I,D as h,R as Q,t as Y,I as k,n as j,S as H,U as K}from"./index-Cn7Qxkym.js";import{_ as d}from"./FormField-pnf59gPm.js";import{_ as m}from"./FormControl-DUODGQBr.js";import{_ as W}from"./FormCheckRadio-Cj2oiu3q.js";const X={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},Z={class:"my-4"},ee={class:"text-xl"},ie={__name:"ProfileView",setup(se){const o=q(),J=E(),p=P({username:JSON.parse(JSON.stringify(o.userName)),email:JSON.parse(JSON.stringify(o.userEmail)),pin:null,public:o.userPublic??!1}),n=P({username:JSON.parse(JSON.stringify(o.userName)),email:JSON.parse(JSON.stringify(o.userEmail)),pin:null,public:o.userPublic??!1}),i=P({currentPassword:"",newPassword:"",confirmPassword:""}),b=S(!1),g=S(!1),y=S(null);v(()=>o.userName,a=>{n.username=JSON.parse(JSON.stringify(a)),p.username=JSON.parse(JSON.stringify(a))}),v(()=>o.userEmail,a=>{n.email=JSON.parse(JSON.stringify(a)),p.email=JSON.parse(JSON.stringify(a))}),v(()=>o.userPublic,a=>{n.public=a,p.public=a}),B(()=>{A()});async function C(){b.value=!0,(await o.putUser(n)).status=="success"&&(b.value=!1,o.userLoaded=!1,await o.loadUser(),J.go())}async function $(){g.value=!0,(await H(i.currentPassword,i.newPassword,i.confirmPassword)).status=="success"&&(alert("Password changed."),g.value=!1,await o.loadUser(),J.go())}async function A(){const a=await F();y.value=a}async function D(){if(window.confirm(`Are you really?
This will log out every session.`)){const e=await K();y.value=e,o.userLoaded=!1,o.loadUser()}}function L(a){a.target.value=a.target.value.replace(/\D/g,"")}function M(a,e){return JSON.stringify(a)!==JSON.stringify(e)}return(a,e)=>(c(),f(j,null,{default:r(()=>[s(G,null,{default:r(()=>[s(R,{class:"mb-6","use-small":"","even-smaller":""}),s(T,{icon:t(x),title:"Profile Settings",main:""},null,8,["icon"]),u("div",X,[s(_,{"is-form":"",class:"row-span-1",onSubmit:N(C,["prevent"])},{footer:r(()=>[M(p,n)?(c(),f(O,{key:0,color:"success",type:"submit",label:"Update"})):U("",!0),b.value?(c(),f(I,{key:1,path:t(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):U("",!0)]),default:r(()=>[s(V,{color:"info",label:"General",class:"mb-2"}),s(d,{label:"Username"},{default:r(()=>[s(m,{modelValue:n.username,"onUpdate:modelValue":e[0]||(e[0]=l=>n.username=l),icon:t(x),name:"username",required:"",autocomplete:"username"},null,8,["modelValue","icon"])]),_:1}),s(d,{label:"E-mail",help:"Used for password resetting and 2FA"},{default:r(()=>[s(m,{modelValue:n.email,"onUpdate:modelValue":e[1]||(e[1]=l=>n.email=l),icon:t(z),type:"email",name:"email",required:"",autocomplete:"email"},null,8,["modelValue","icon"])]),_:1}),s(d,{label:"PIN",help:"Used when logging into a game"},{default:r(()=>[s(m,{modelValue:n.pin,"onUpdate:modelValue":e[2]||(e[2]=l=>n.pin=l),icon:t(w),type:"password",name:"pin",minlength:4,maxlength:4,inputmode:"numeric",pattern:"\\d{4}",autocomplete:"pin",onInput:L},null,8,["modelValue","icon"])]),_:1}),s(d,{label:"Public Profile",help:"Show my profile publicly. If disabled, only game profiles and scores will be visible."},{default:r(()=>[s(W,{modelValue:n.public,"onUpdate:modelValue":e[3]||(e[3]=l=>n.public=l),name:"public","model-value":n.public,"input-value":n.public,type:"switch"},null,8,["modelValue","model-value","input-value"])]),_:1})]),_:1}),s(_,{"is-form":"",class:"row-span-1",onSubmit:e[7]||(e[7]=N(l=>$(),["prevent"]))},{footer:r(()=>[s(O,{type:"submit",color:"success",label:"Update"}),g.value?(c(),f(I,{key:0,path:t(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):U("",!0)]),default:r(()=>[s(V,{color:"info",label:"Change Password",class:"mb-2"}),s(d,{label:"Current Password"},{default:r(()=>[s(m,{modelValue:i.currentPassword,"onUpdate:modelValue":e[4]||(e[4]=l=>i.currentPassword=l),icon:t(w),name:"currentPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1}),s(Q),s(d,{label:"New Password"},{default:r(()=>[s(m,{modelValue:i.newPassword,"onUpdate:modelValue":e[5]||(e[5]=l=>i.newPassword=l),icon:t(w),name:"newPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1}),s(d,{label:"Confirm Password"},{default:r(()=>[s(m,{modelValue:i.confirmPassword,"onUpdate:modelValue":e[6]||(e[6]=l=>i.confirmPassword=l),icon:t(w),name:"confirmPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1})]),_:1}),s(_,{"is-form":"",class:"row-span-1",onSubmit:e[9]||(e[9]=N(l=>$(),["prevent"]))},{default:r(()=>{var l;return[s(V,{color:"info",label:"Sessions",class:"mb-2"}),u("div",Z,[u("h1",ee," You currently have "+Y((l=y.value)==null?void 0:l.length)+" saved session(s). ",1),e[10]||(e[10]=u("p",null,[k(" Most of them are likely expired."),u("br"),k(" Sadly, due to the fact that PhaseII stores no information on your Session ID for location or IP, we cannot provide select deletion. ")],-1))]),e[11]||(e[11]=u("h1",{class:"text-xl mb-2"},"Log out of all sessions",-1)),u("div",null,[s(O,{color:"danger",label:"Delete Sessions",onClick:e[8]||(e[8]=ae=>D())})])]}),_:1})])]),_:1})]),_:1}))}};export{ie as default};

View File

@ -1 +0,0 @@
import{a as N,r as C,o as H,al as r,c as x,d as l,w as S,e as n,_ as L,j as f,f as k,F as g,i as T,P as _,g as v,x as Q,O as z,am as J,k as w,an as K,ao as W,ab as X,ap as Y,h as Z,aq as ee,n as ae,ar as te,a7 as se,as as D,at as p,au as re}from"./index-CHivKhhP.js";const oe={class:"grid grid-cols-2 sm:grid-cols-3 gap-6 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 3xl:grid-cols-5 mb-6"},le={class:"grid grid-flow-row auto-rows-auto grid-cols-2 md:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-3 3xl:grid-cols-4 4xl:grid-cols-6 gap-5 mb-5"},ne={key:0},me={__name:"PublicView",setup(ce){const O=N().params.id,o=C({});async function $(){try{o.value={};var e=await te(O);e.name||(e.name="Unclaimed Account"),o.value=e}catch(t){console.error("Failed to fetch user profile data:",t)}}H(async()=>{$(),console.log(o.value)});const c=r(()=>o.value.userProfiles),d=r(()=>o.value.userScoreStats),E=r(()=>{var e;return(e=c.value)==null?void 0:e.reduce((t,a)=>t+a.data.total_plays,0)}),I=r(()=>{var e;return(e=c.value)==null?void 0:e.length}),A=r(()=>{var a;const e=s=>{const i={};return s.forEach(u=>{const m=new Date(u*1e3).toISOString().split("T")[0];i[m]=(i[m]||0)+1}),i};var t=0;return(a=c.value)==null||a.forEach(s=>{var y,b;const i=(y=s.data)!=null&&y.arcade_history?(b=s.data)==null?void 0:b.arcade_history:{},u=[];Object.values(i).forEach(M=>{Object.values(M).forEach(q=>{u.push(...q)})});const m=e(u),h=Math.max(...Object.values(m));t=Math.max(t,h)}),t});function B(e){if(e){var t=[];for(const a of e){const s=se(a.game);s&&!s.skip&&t.push(a)}return t.sort(function(a,s){return s.data.last_play_timestamp-a.data.last_play_timestamp}),t}}const P=new Date().toISOString().split("T")[0],U=r(()=>{var e,t;return((t=(e=d.value)==null?void 0:e.attempts)==null?void 0:t.length)||0}),j=r(()=>{var e,t;return((t=(e=d.value)==null?void 0:e.records)==null?void 0:t.length)||0}),F=r(()=>{var e,t;return((t=(e=d.value)==null?void 0:e.attempts)==null?void 0:t.filter(a=>new Date(a.timestamp*1e3).toISOString().split("T")[0]===P).length)||0}),G=r(()=>{var e,t;return((t=(e=d.value)==null?void 0:e.records)==null?void 0:t.filter(a=>new Date(a.timestamp*1e3).toISOString().split("T")[0]===P).length)||0}),R=r(()=>{var a;const e=new Date().toISOString().split("T")[0];let t=0;return(a=c.value)==null||a.forEach(s=>{var u;const i=((u=s.data)==null?void 0:u.arcade_history)||{};Object.values(i).forEach(m=>{Object.values(m).forEach(h=>{h.forEach(y=>{new Date(y*1e3).toISOString().split("T")[0]===e&&t++})})})}),t}),V=C([{label:"Cumulative Plays",icon:D,iconColor:"text-emerald-600",suffix:"play",number:E},{label:"Games Played",icon:p,iconColor:"text-sky-300",suffix:"game",number:I},{label:"Plays Today",icon:D,iconColor:"text-sky-300",suffix:"play",number:R},{label:"Longest Play Streak",icon:re,iconColor:"text-red-500",suffix:"play",number:A},{label:"Total Records",icon:p,iconColor:"text-sky-300",suffix:"record",number:j},{label:"Total Attempts",icon:p,iconColor:"text-sky-300",suffix:"attempt",number:U},{label:"Records Today",icon:p,iconColor:"text-sky-300",suffix:"record",number:G},{label:"Attempts Today",icon:p,iconColor:"text-sky-300",suffix:"attempt",number:F}]);return(e,t)=>(l(),x(ae,null,{default:S(()=>[n(L,null,{default:S(()=>[o.value!=null?(l(),f(g,{key:0},[n(_,{icon:v(Q),title:`${o.value.name}'s Profile`,main:""},null,8,["icon","title"]),n(z,{class:"mb-6","override-profile":o.value,"use-small":""},null,8,["override-profile"]),n(_,{icon:v(J),title:"Quick Stats",main:""},null,8,["icon"]),T("div",oe,[(l(!0),f(g,null,w(V.value,a=>(l(),f(g,{key:a.label},[a.number?(l(),x(K,{key:0,icon:a.icon,number:a.number,label:a.label,suffix:`${a.suffix}${a.number==1?"":"s"}`,"icon-color":a.iconColor},null,8,["icon","number","label","suffix","icon-color"])):k("",!0)],64))),128))]),n(_,{icon:v(W),title:"Showcase",main:""},null,8,["icon"]),T("div",le,[(l(!0),f(g,null,w(B(c.value),a=>(l(),x(X,{key:a.game,game:a.game,value:a.data.total_plays,"profile-name":"",type:"plays"},null,8,["game","value"]))),128))]),n(_,{icon:v(Y),title:"Play Trends",main:""},null,8,["icon"]),n(Z,{class:"mb-6"},{default:S(()=>[c.value?(l(),f("div",ne,[n(ee,{data:e.generateChartData(c.value,d.value),class:"h-96"},null,8,["data"])])):k("",!0)]),_:1})],64)):k("",!0)]),_:1})]),_:1}))}};export{me as default};

View File

@ -0,0 +1 @@
import{a as N,r as _,o as H,al as l,c as S,d as o,w as k,e as n,_ as L,j as f,f as w,F as v,i as P,P as h,g as p,x as Q,O as z,am as J,k as T,an as K,ao as W,ab as X,ap as Y,h as Z,aq as ee,ar as ae,n as te,as as se,a7 as re,at as D,au as y,av as le}from"./index-Cn7Qxkym.js";const oe={class:"grid grid-cols-2 sm:grid-cols-3 gap-6 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 3xl:grid-cols-5 mb-6"},ne={class:"grid grid-flow-row auto-rows-auto grid-cols-2 md:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-3 3xl:grid-cols-4 4xl:grid-cols-6 gap-5 mb-5"},ce={key:0},de={__name:"PublicView",setup(ie){const O=N().params.id,u=_(null),r=_(null),m=_(null);async function $(){try{var e=await se(O);e.name||(e.name="Unclaimed Account"),u.value=e}catch(t){console.error("Failed to fetch user profile data:",t)}}H(async()=>{await $(),r.value=u.value.profiles,m.value=u.value.userScoreStats});const E=l(()=>{var e;return(e=r.value)==null?void 0:e.reduce((t,a)=>t+a.data.total_plays,0)}),I=l(()=>{var e;return(e=r.value)==null?void 0:e.length}),A=l(()=>{var a;const e=s=>{const c={};return s.forEach(i=>{const d=new Date(i*1e3).toISOString().split("T")[0];c[d]=(c[d]||0)+1}),c};var t=0;return(a=r.value)==null||a.forEach(s=>{var g,x;const c=(g=s.data)!=null&&g.arcade_history?(x=s.data)==null?void 0:x.arcade_history:{},i=[];Object.values(c).forEach(M=>{Object.values(M).forEach(q=>{i.push(...q)})});const d=e(i),b=Math.max(...Object.values(d));t=Math.max(t,b)}),t});function B(e){if(e){var t=[];for(const a of e){const s=re(a.game);s&&!s.skip&&t.push(a)}return t.sort(function(a,s){return s.data.last_play_timestamp-a.data.last_play_timestamp}),t}}const C=new Date().toISOString().split("T")[0],U=l(()=>{var e,t;return((t=(e=m.value)==null?void 0:e.attempts)==null?void 0:t.length)||0}),j=l(()=>{var e,t;return((t=(e=m.value)==null?void 0:e.records)==null?void 0:t.length)||0}),F=l(()=>{var e,t;return((t=(e=m.value)==null?void 0:e.attempts)==null?void 0:t.filter(a=>new Date(a.timestamp*1e3).toISOString().split("T")[0]===C).length)||0}),G=l(()=>{var e,t;return((t=(e=m.value)==null?void 0:e.records)==null?void 0:t.filter(a=>new Date(a.timestamp*1e3).toISOString().split("T")[0]===C).length)||0}),R=l(()=>{var a;const e=new Date().toISOString().split("T")[0];let t=0;return(a=r.value)==null||a.forEach(s=>{var i;const c=((i=s.data)==null?void 0:i.arcade_history)||{};Object.values(c).forEach(d=>{Object.values(d).forEach(b=>{b.forEach(g=>{new Date(g*1e3).toISOString().split("T")[0]===e&&t++})})})}),t}),V=_([{label:"Cumulative Plays",icon:D,iconColor:"text-emerald-600",suffix:"play",number:E},{label:"Games Played",icon:y,iconColor:"text-sky-300",suffix:"game",number:I},{label:"Plays Today",icon:D,iconColor:"text-sky-300",suffix:"play",number:R},{label:"Longest Play Streak",icon:le,iconColor:"text-red-500",suffix:"play",number:A},{label:"Total Records",icon:y,iconColor:"text-sky-300",suffix:"record",number:j},{label:"Total Attempts",icon:y,iconColor:"text-sky-300",suffix:"attempt",number:U},{label:"Records Today",icon:y,iconColor:"text-sky-300",suffix:"record",number:G},{label:"Attempts Today",icon:y,iconColor:"text-sky-300",suffix:"attempt",number:F}]);return(e,t)=>(o(),S(te,null,{default:k(()=>[n(L,null,{default:k(()=>[u.value!==null?(o(),f(v,{key:0},[n(h,{icon:p(Q),title:`${u.value.name}'s Profile`,main:""},null,8,["icon","title"]),n(z,{class:"mb-6","override-profile":u.value,"use-small":""},null,8,["override-profile"]),n(h,{icon:p(J),title:"Quick Stats",main:""},null,8,["icon"]),P("div",oe,[(o(!0),f(v,null,T(V.value,a=>(o(),f(v,{key:a.label},[a.number?(o(),S(K,{key:0,icon:a.icon,number:a.number,label:a.label,suffix:`${a.suffix}${a.number==1?"":"s"}`,"icon-color":a.iconColor},null,8,["icon","number","label","suffix","icon-color"])):w("",!0)],64))),128))]),n(h,{icon:p(W),title:"Showcase",main:""},null,8,["icon"]),P("div",ne,[(o(!0),f(v,null,T(B(r.value),a=>(o(),S(X,{key:a.game,game:a.game,value:a.data.total_plays,"profile-name":"",type:"plays"},null,8,["game","value"]))),128))]),n(h,{icon:p(Y),title:"Play Trends",main:""},null,8,["icon"]),n(Z,{class:"mb-6"},{default:k(()=>[r.value?(o(),f("div",ce,[n(ee,{data:p(ae)(r.value,m.value),class:"h-96"},null,8,["data"])])):w("",!0)]),_:1})],64)):w("",!0)]),_:1})]),_:1}))}};export{de as default};

View File

@ -1 +1 @@
import{b as V,r as v,p as _,c as p,d as c,w as r,i as a,e as s,h as y,s as X,v as I,g as t,x as P,z as U,y as u,B as $,f as h,l as f,C,D as A,E as q}from"./index-CHivKhhP.js";import{_ as R}from"./FormCheckRadio-DdZBsrII.js";import{_ as n}from"./FormField-vtioLqMT.js";import{_ as d}from"./FormControl-BLuW9GWW.js";import{_ as k}from"./LayoutGuest-BkkpHMD9.js";const D={class:"flex md:min-h-screen md:items-center md:justify-center"},B={class:"p-4 flex flex-col md:flex-row w-full space-y-2 md:space-y-0 md:space-x-4"},E={class:"flex gap-2 mt-4"},N={class:"col-span-2"},S={class:"flex flex-col gap-2 my-4"},G={__name:"RegisterView",setup(L){const g=V(),m=v(!1),l=_({username:"",email:"",newPassword:"",confirmPassword:"",pin:"",cardId:"",remember:!0});function w(i){var e=i.target.value;e=e.replace(/[^0-9]/g,""),l.pin=e}function b(i){var e=i.target.value;e=e.replace(/[^A-Za-z0-9]/g,""),e=e.toUpperCase().replace(/(.{4})/g,"$1-").replace(/-$/,""),l.cardId=e}async function x(){m.value=!0,(await q(l)).status=="success"&&(m.value=!1,alert("User account registered. Please log in!"),g.push("login"))}return(i,e)=>(c(),p(k,null,{default:r(()=>[a("div",D,[s(y,{class:"w-full md:w-auto rounded-none md:rounded-xl md:drop-shadow-xl","has-table":"","is-auth":""},{default:r(()=>[a("div",B,[e[10]||(e[10]=a("div",{class:"flex flex-col items-center text-wrap h-full md:mt-5"},[a("img",{src:X,class:"rounded-full shadow-lg mb-2"}),a("h1",{class:"text-xl"},[a("samp",null,"PhaseII")]),a("p",{class:"text-sm text-gray-700 dark:text-white/75"}," Spinnin' since 2021 "),a("hr",{class:"border-t border-1 my-1 w-full"}),a("p",{class:"text-lg relative bottom-0"},"Account Registration")],-1)),e[11]||(e[11]=a("div",{class:"md:border-r md:border-1"},null,-1)),a("div",null,[a("form",{class:"grid grid-cols-2 gap-x-2",onSubmit:e[7]||(e[7]=I(o=>x(),["prevent"]))},[s(n,{label:"Desired Username"},{default:r(()=>[s(d,{modelValue:l.username,"onUpdate:modelValue":e[0]||(e[0]=o=>l.username=o),icon:t(P),name:"username",required:"",autocomplete:"username"},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Email Address"},{default:r(()=>[s(d,{modelValue:l.email,"onUpdate:modelValue":e[1]||(e[1]=o=>l.email=o),icon:t(U),type:"email",name:"email",required:"",autocomplete:"email"},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Password"},{default:r(()=>[s(d,{modelValue:l.newPassword,"onUpdate:modelValue":e[2]||(e[2]=o=>l.newPassword=o),icon:t(u),name:"newPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Password Confirmation"},{default:r(()=>[s(d,{modelValue:l.confirmPassword,"onUpdate:modelValue":e[3]||(e[3]=o=>l.confirmPassword=o),icon:t(u),name:"confirmPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Card ID",help:"The ACCESS CODE provided by the game."},{default:r(()=>[s(d,{modelValue:l.cardId,"onUpdate:modelValue":e[4]||(e[4]=o=>l.cardId=o),icon:t($),name:"cardId",type:"card",placeholder:"XXXX-XXXX-XXXX-XXXX",minlength:19,maxlength:19,required:"",onInput:b},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Game PIN"},{default:r(()=>[s(d,{modelValue:l.pin,"onUpdate:modelValue":e[5]||(e[5]=o=>l.pin=o),icon:t(u),type:"password",name:"pin",required:"",minlength:4,maxlength:4,inputmode:"numeric",pattern:"\\d{4}",autocomplete:"pin",onInput:w},null,8,["modelValue","icon"])]),_:1}),s(R,{modelValue:l.remember,"onUpdate:modelValue":e[6]||(e[6]=o=>l.remember=o),class:"col-span-2",name:"remember",label:"Remember Me","input-value":!0},null,8,["modelValue"]),a("div",E,[s(f,{type:"submit",label:"Register",color:"success"}),m.value?(c(),p(C,{key:0,path:t(A),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):h("",!0)])],32),a("div",N,[e[9]||(e[9]=a("hr",{class:"border-t border-1 my-4 w-full"},null,-1)),a("div",S,[e[8]||(e[8]=a("h2",null,"Have an Account?",-1)),s(f,{label:"Log In",color:"info",href:"/#/auth/login"})])])])])]),_:1})])]),_:1}))}};export{G as default};
import{b as V,r as v,p as _,c as p,d as c,w as r,i as a,e as s,h as y,s as X,v as I,g as t,x as P,z as U,y as u,B as $,f as h,l as f,C,D as A,E as q}from"./index-Cn7Qxkym.js";import{_ as R}from"./FormCheckRadio-Cj2oiu3q.js";import{_ as n}from"./FormField-pnf59gPm.js";import{_ as d}from"./FormControl-DUODGQBr.js";import{_ as k}from"./LayoutGuest-BQ8TWvd6.js";const D={class:"flex md:min-h-screen md:items-center md:justify-center"},B={class:"p-4 flex flex-col md:flex-row w-full space-y-2 md:space-y-0 md:space-x-4"},E={class:"flex gap-2 mt-4"},N={class:"col-span-2"},S={class:"flex flex-col gap-2 my-4"},G={__name:"RegisterView",setup(L){const g=V(),m=v(!1),l=_({username:"",email:"",newPassword:"",confirmPassword:"",pin:"",cardId:"",remember:!0});function w(i){var e=i.target.value;e=e.replace(/[^0-9]/g,""),l.pin=e}function b(i){var e=i.target.value;e=e.replace(/[^A-Za-z0-9]/g,""),e=e.toUpperCase().replace(/(.{4})/g,"$1-").replace(/-$/,""),l.cardId=e}async function x(){m.value=!0,(await q(l)).status=="success"&&(m.value=!1,alert("User account registered. Please log in!"),g.push("login"))}return(i,e)=>(c(),p(k,null,{default:r(()=>[a("div",D,[s(y,{class:"w-full md:w-auto rounded-none md:rounded-xl md:drop-shadow-xl","has-table":"","is-auth":""},{default:r(()=>[a("div",B,[e[10]||(e[10]=a("div",{class:"flex flex-col items-center text-wrap h-full md:mt-5"},[a("img",{src:X,class:"rounded-full shadow-lg mb-2"}),a("h1",{class:"text-xl"},[a("samp",null,"PhaseII")]),a("p",{class:"text-sm text-gray-700 dark:text-white/75"}," Spinnin' since 2021 "),a("hr",{class:"border-t border-1 my-1 w-full"}),a("p",{class:"text-lg relative bottom-0"},"Account Registration")],-1)),e[11]||(e[11]=a("div",{class:"md:border-r md:border-1"},null,-1)),a("div",null,[a("form",{class:"grid grid-cols-2 gap-x-2",onSubmit:e[7]||(e[7]=I(o=>x(),["prevent"]))},[s(n,{label:"Desired Username"},{default:r(()=>[s(d,{modelValue:l.username,"onUpdate:modelValue":e[0]||(e[0]=o=>l.username=o),icon:t(P),name:"username",required:"",autocomplete:"username"},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Email Address"},{default:r(()=>[s(d,{modelValue:l.email,"onUpdate:modelValue":e[1]||(e[1]=o=>l.email=o),icon:t(U),type:"email",name:"email",required:"",autocomplete:"email"},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Password"},{default:r(()=>[s(d,{modelValue:l.newPassword,"onUpdate:modelValue":e[2]||(e[2]=o=>l.newPassword=o),icon:t(u),name:"newPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Password Confirmation"},{default:r(()=>[s(d,{modelValue:l.confirmPassword,"onUpdate:modelValue":e[3]||(e[3]=o=>l.confirmPassword=o),icon:t(u),name:"confirmPassword",type:"password",required:""},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Card ID",help:"The ACCESS CODE provided by the game."},{default:r(()=>[s(d,{modelValue:l.cardId,"onUpdate:modelValue":e[4]||(e[4]=o=>l.cardId=o),icon:t($),name:"cardId",type:"card",placeholder:"XXXX-XXXX-XXXX-XXXX",minlength:19,maxlength:19,required:"",onInput:b},null,8,["modelValue","icon"])]),_:1}),s(n,{label:"Game PIN"},{default:r(()=>[s(d,{modelValue:l.pin,"onUpdate:modelValue":e[5]||(e[5]=o=>l.pin=o),icon:t(u),type:"password",name:"pin",required:"",minlength:4,maxlength:4,inputmode:"numeric",pattern:"\\d{4}",autocomplete:"pin",onInput:w},null,8,["modelValue","icon"])]),_:1}),s(R,{modelValue:l.remember,"onUpdate:modelValue":e[6]||(e[6]=o=>l.remember=o),class:"col-span-2",name:"remember",label:"Remember Me","input-value":!0},null,8,["modelValue"]),a("div",E,[s(f,{type:"submit",label:"Register",color:"success"}),m.value?(c(),p(C,{key:0,path:t(A),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):h("",!0)])],32),a("div",N,[e[9]||(e[9]=a("hr",{class:"border-t border-1 my-4 w-full"},null,-1)),a("div",S,[e[8]||(e[8]=a("h2",null,"Have an Account?",-1)),s(f,{label:"Log In",color:"info",href:"/#/auth/login"})])])])])]),_:1})])]),_:1}))}};export{G as default};

View File

@ -1 +1 @@
import{b as P,p as k,c as u,d as o,w as r,i as t,e as a,h as v,s as S,j as m,f as n,v as w,g as i,G as K,l as c,C as y,D as h,H as $,I as A,t as C,y as x,J as I,K as R,L as E}from"./index-CHivKhhP.js";import{_ as f}from"./FormField-vtioLqMT.js";import{_ as p}from"./FormControl-BLuW9GWW.js";import{_ as N}from"./LayoutGuest-BkkpHMD9.js";const U={class:"flex md:min-h-screen md:items-center md:justify-center"},B={class:"p-4 flex flex-col md:flex-row w-full space-y-2 md:space-y-0 md:space-x-4"},L={class:"grid grid-cols-1 gap-2"},q={class:"mb-4"},j={class:"text-xl"},D={class:"font-bold"},O={key:3,class:"border-t border-1 mt-3 w-full"},G={key:4,class:"flex flex-col gap-2 my-1"},z={__name:"ResetView",setup(H){const b=P(),e=k({email:"",loading:!1,emailSent:!1,authKey:null,authValid:!1,username:null,newPassword:"",confirmPassword:""});async function g(){e.loading=!0,(await I(e.email)).status=="success"&&(e.emailSent=!0,e.loading=!1)}async function V(){e.loading=!0;const d=await R(e.authKey);d.status=="success"&&(e.authValid=!0,e.loading=!1,e.username=d.username)}async function _(){if(e.newPassword!=e.confirmPassword){alert("Passwords don't match!");return}e.loading=!0,(await E(e.authKey,e.newPassword,e.confirmPassword)).status=="success"&&(alert("Password changed!"),b.push("/auth/login"))}return(d,s)=>(o(),u(N,null,{default:r(()=>[t("div",U,[a(v,{class:"w-full md:w-auto rounded-none md:rounded-xl md:drop-shadow-xl","has-table":"","is-auth":""},{default:r(()=>[t("div",B,[s[10]||(s[10]=t("div",{class:"flex flex-col items-center text-wrap h-full md:mt-5"},[t("img",{src:S,class:"rounded-full shadow-lg mb-2"}),t("h1",{class:"text-xl"},[t("samp",null,"PhaseII")]),t("p",{class:"text-sm text-gray-700 dark:text-white/75"}," Spinnin' since 2021 "),t("hr",{class:"border-t border-1 my-1 w-full"}),t("p",{class:"text-lg relative bottom-0"},"Password Reset")],-1)),s[11]||(s[11]=t("div",{class:"md:border-r md:border-1"},null,-1)),t("div",L,[e.emailSent?n("",!0):(o(),m("form",{key:0,onSubmit:s[1]||(s[1]=w(l=>g(),["prevent"]))},[a(f,{label:"Email Address"},{default:r(()=>[a(p,{modelValue:e.email,"onUpdate:modelValue":s[0]||(s[0]=l=>e.email=l),icon:i(K),type:"email",autocomplete:"email",required:""},null,8,["modelValue","icon"])]),_:1}),a(c,{label:"Check",type:"submit",color:"info"}),e.loading?(o(),u(y,{key:0,path:i(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):n("",!0)],32)),e.emailSent&&!e.authValid?(o(),m("form",{key:1,onSubmit:s[3]||(s[3]=w(l=>V(),["prevent"]))},[a(f,{label:"Auth Key"},{default:r(()=>[a(p,{modelValue:e.authKey,"onUpdate:modelValue":s[2]||(s[2]=l=>e.authKey=l),icon:i($),type:"text",name:"token",inputmode:"numeric",pattern:"[0-9]*",autocomplete:"one-time-code",maxlength:6},null,8,["modelValue","icon"])]),_:1}),a(c,{label:"Unlock",type:"submit",color:"info"}),e.loading?(o(),u(y,{key:0,path:i(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):n("",!0)],32)):n("",!0),e.emailSent&&e.authValid?(o(),m("form",{key:2,onSubmit:s[6]||(s[6]=w(l=>_(),["prevent"]))},[t("div",q,[t("h1",j,[s[7]||(s[7]=A(" Welcome, ")),t("span",D,C(e.username),1)]),s[8]||(s[8]=t("p",{class:"text-sm text-gray-400"}," Look who forgot their password ",-1))]),a(f,{label:"New Password"},{default:r(()=>[a(p,{modelValue:e.newPassword,"onUpdate:modelValue":s[4]||(s[4]=l=>e.newPassword=l),icon:i(x),type:"password",required:"",minlength:"8"},null,8,["modelValue","icon"])]),_:1}),a(f,{label:"Confirm Password"},{default:r(()=>[a(p,{modelValue:e.confirmPassword,"onUpdate:modelValue":s[5]||(s[5]=l=>e.confirmPassword=l),icon:i(x),type:"password",required:"",minlength:"8"},null,8,["modelValue","icon"])]),_:1}),a(c,{label:"Reset Password",type:"submit",color:"success"}),e.loading?(o(),u(y,{key:0,path:i(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):n("",!0)],32)):n("",!0),e.authValid?n("",!0):(o(),m("hr",O)),e.authValid?n("",!0):(o(),m("div",G,[s[9]||(s[9]=t("h2",null,"Remember it?",-1)),a(c,{label:"Log In",color:"success",href:"/#/auth/login"})]))])])]),_:1})])]),_:1}))}};export{z as default};
import{b as P,p as k,c as u,d as o,w as r,i as t,e as a,h as v,s as S,j as m,f as n,v as w,g as i,G as K,l as c,C as y,D as h,H as $,I as A,t as C,y as x,J as I,K as R,L as E}from"./index-Cn7Qxkym.js";import{_ as f}from"./FormField-pnf59gPm.js";import{_ as p}from"./FormControl-DUODGQBr.js";import{_ as N}from"./LayoutGuest-BQ8TWvd6.js";const U={class:"flex md:min-h-screen md:items-center md:justify-center"},B={class:"p-4 flex flex-col md:flex-row w-full space-y-2 md:space-y-0 md:space-x-4"},L={class:"grid grid-cols-1 gap-2"},q={class:"mb-4"},j={class:"text-xl"},D={class:"font-bold"},O={key:3,class:"border-t border-1 mt-3 w-full"},G={key:4,class:"flex flex-col gap-2 my-1"},z={__name:"ResetView",setup(H){const b=P(),e=k({email:"",loading:!1,emailSent:!1,authKey:null,authValid:!1,username:null,newPassword:"",confirmPassword:""});async function g(){e.loading=!0,(await I(e.email)).status=="success"&&(e.emailSent=!0,e.loading=!1)}async function V(){e.loading=!0;const d=await R(e.authKey);d.status=="success"&&(e.authValid=!0,e.loading=!1,e.username=d.username)}async function _(){if(e.newPassword!=e.confirmPassword){alert("Passwords don't match!");return}e.loading=!0,(await E(e.authKey,e.newPassword,e.confirmPassword)).status=="success"&&(alert("Password changed!"),b.push("/auth/login"))}return(d,s)=>(o(),u(N,null,{default:r(()=>[t("div",U,[a(v,{class:"w-full md:w-auto rounded-none md:rounded-xl md:drop-shadow-xl","has-table":"","is-auth":""},{default:r(()=>[t("div",B,[s[10]||(s[10]=t("div",{class:"flex flex-col items-center text-wrap h-full md:mt-5"},[t("img",{src:S,class:"rounded-full shadow-lg mb-2"}),t("h1",{class:"text-xl"},[t("samp",null,"PhaseII")]),t("p",{class:"text-sm text-gray-700 dark:text-white/75"}," Spinnin' since 2021 "),t("hr",{class:"border-t border-1 my-1 w-full"}),t("p",{class:"text-lg relative bottom-0"},"Password Reset")],-1)),s[11]||(s[11]=t("div",{class:"md:border-r md:border-1"},null,-1)),t("div",L,[e.emailSent?n("",!0):(o(),m("form",{key:0,onSubmit:s[1]||(s[1]=w(l=>g(),["prevent"]))},[a(f,{label:"Email Address"},{default:r(()=>[a(p,{modelValue:e.email,"onUpdate:modelValue":s[0]||(s[0]=l=>e.email=l),icon:i(K),type:"email",autocomplete:"email",required:""},null,8,["modelValue","icon"])]),_:1}),a(c,{label:"Check",type:"submit",color:"info"}),e.loading?(o(),u(y,{key:0,path:i(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):n("",!0)],32)),e.emailSent&&!e.authValid?(o(),m("form",{key:1,onSubmit:s[3]||(s[3]=w(l=>V(),["prevent"]))},[a(f,{label:"Auth Key"},{default:r(()=>[a(p,{modelValue:e.authKey,"onUpdate:modelValue":s[2]||(s[2]=l=>e.authKey=l),icon:i($),type:"text",name:"token",inputmode:"numeric",pattern:"[0-9]*",autocomplete:"one-time-code",maxlength:6},null,8,["modelValue","icon"])]),_:1}),a(c,{label:"Unlock",type:"submit",color:"info"}),e.loading?(o(),u(y,{key:0,path:i(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):n("",!0)],32)):n("",!0),e.emailSent&&e.authValid?(o(),m("form",{key:2,onSubmit:s[6]||(s[6]=w(l=>_(),["prevent"]))},[t("div",q,[t("h1",j,[s[7]||(s[7]=A(" Welcome, ")),t("span",D,C(e.username),1)]),s[8]||(s[8]=t("p",{class:"text-sm text-gray-400"}," Look who forgot their password ",-1))]),a(f,{label:"New Password"},{default:r(()=>[a(p,{modelValue:e.newPassword,"onUpdate:modelValue":s[4]||(s[4]=l=>e.newPassword=l),icon:i(x),type:"password",required:"",minlength:"8"},null,8,["modelValue","icon"])]),_:1}),a(f,{label:"Confirm Password"},{default:r(()=>[a(p,{modelValue:e.confirmPassword,"onUpdate:modelValue":s[5]||(s[5]=l=>e.confirmPassword=l),icon:i(x),type:"password",required:"",minlength:"8"},null,8,["modelValue","icon"])]),_:1}),a(c,{label:"Reset Password",type:"submit",color:"success"}),e.loading?(o(),u(y,{key:0,path:i(h),color:"text-yellow-500",class:"animate animate-spin"},null,8,["path"])):n("",!0)],32)):n("",!0),e.authValid?n("",!0):(o(),m("hr",O)),e.authValid?n("",!0):(o(),m("div",G,[s[9]||(s[9]=t("h2",null,"Remember it?",-1)),a(c,{label:"Log In",color:"success",href:"/#/auth/login"})]))])])]),_:1})])]),_:1}))}};export{z as default};

View File

@ -1 +1 @@
import{a as L,b as D,a7 as G,r as y,p as k,M as N,o as j,c as _,d as r,w as i,e as a,_ as E,f as v,g as c,j as p,i as s,P,bA as M,h,F as $,k as A,t as g,l as R,bB as U,n as Y}from"./index-CHivKhhP.js";import{_ as q}from"./GameHeader-CbS6z4E_.js";import{_ as z}from"./ProfileCard-D5atgNuu.js";import{_ as C}from"./FormControl-BLuW9GWW.js";import{_ as H}from"./FormField-vtioLqMT.js";import{A as J,a as K}from"./profile-LMvWxmH8.js";import{d as O}from"./userData-DZYdegtD.js";import"./sources-0lyug9Pk.js";const Q={key:0,class:"w-full md:flex md:-mt-[75px] mb-4 place-content-end"},T={class:"md:w-1/3 md:text-right"},W={key:1,class:"w-full"},X={class:"grid gap-4"},Z={class:"flex w-full place-content-between"},ee={class:"text-lg md:text-xl"},se={class:"text-md md:text-lg font-mono"},te={class:"flex align-middle"},le={class:"grid gap-3"},oe={class:"flex justify-between items-center"},re={class:"flex"},ae={class:"grid"},ne={class:"text-lg"},ie={class:"text-md font-mono"},ge={__name:"RivalsView",setup(de){const I=L(),F=D();var m=null,d=null;m=I.params.game,d=G(m);const n=y(null),V=y([]),l=k({currentVersion:null});N(()=>l.currentVersion,()=>{w(),b()}),j(async()=>{b(),w()}),d.versions||(l.currentVersion=1);async function w(){try{n.value=null;const e=await J(m,l.currentVersion);n.value=e,e&&!l.currentVersion&&(l.currentVersion=e.versions[e.versions.length-1])}catch(e){console.error("Failed to fetch user profile data:",e)}}async function b(){try{const e=await K(m,l.currentVersion);V.value=e}catch(e){console.error("Failed to fetch profile data:",e)}}function S(e){var o=[];for(const t of d.versions)e.includes(t.id)&&o.push(t);return o}const u=k({filter:null});d||F.push({name:"ErrorPage",params:{catchAll:"404"}});function B(){if(u.filter)return V.value.filter(e=>e.username.toLowerCase().includes(u.filter.toLowerCase())||e.extid.toString().toLowerCase().includes(u.filter.toLowerCase()))}return(e,o)=>(r(),_(Y,null,{default:i(()=>[a(E,null,{default:i(()=>[a(q,{game:c(d),version:l.currentVersion},{default:i(()=>[c(d).versions&&n.value?(r(),p("div",Q,[s("div",T,[o[2]||(o[2]=s("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),a(C,{modelValue:l.currentVersion,"onUpdate:modelValue":o[0]||(o[0]=t=>l.currentVersion=t),options:S(n.value.versions)},null,8,["modelValue","options"])])])):v("",!0),n.value?(r(),p("div",W,[a(z,{game:c(m),version:l.currentVersion,profile:n.value,"use-small":""},null,8,["game","version","profile"])])):v("",!0)]),_:1},8,["game","version"]),a(P,{icon:c(M),title:"Add a Rival",main:""},null,8,["icon"]),l.currentVersion?(r(),_(h,{key:0,class:"mb-6"},{default:i(()=>[a(H,{label:"Search",help:"Search by username or Rival ID to add a rival.",class:"w-full md:w-1/3"},{default:i(()=>[a(C,{modelValue:u.filter,"onUpdate:modelValue":o[1]||(o[1]=t=>u.filter=t),"model-value":u.filter,placeholder:"1234-5678"},null,8,["modelValue","model-value"])]),_:1}),s("div",X,[(r(!0),p($,null,A(B(),t=>{var f;return r(),p("div",{key:t.id,class:"bg-slate-800 p-4 rounded-xl"},[s("div",Z,[s("div",null,[s("h1",ee,g(t.username),1),s("h2",se,g(c(O)(t.extid)),1)]),s("div",te,[a(R,{label:"Add Rival",color:"success",disabled:t.userId==((f=n.value)==null?void 0:f.userId),tooltip:"penis"},null,8,["disabled"])])])])}),128))])]),_:1})):v("",!0),a(P,{icon:c(U),title:"Rivals",main:""},null,8,["icon"]),l.currentVersion?(r(),_(h,{key:1,class:"mb-6"},{default:i(()=>{var t,f;return[s("div",le,[(r(!0),p($,null,A((t=n.value)==null?void 0:t.rivals,x=>(r(),_(h,{key:x.id},{default:i(()=>[s("div",oe,[s("div",re,[s("div",ae,[s("h1",ne,g(x.name),1),s("h2",ie,g(x.rivalID),1)])]),a(R,{label:"Remove Rival",color:"danger"})])]),_:2},1024))),128)),(f=n.value)!=null&&f.rivals?v("",!0):(r(),_(h,{key:0},{default:i(()=>o[3]||(o[3]=[s("h1",{class:"text-2xl"},"You have no rivals!",-1)])),_:1}))])]}),_:1})):v("",!0)]),_:1})]),_:1}))}};export{ge as default};
import{a as L,b as B,a7 as G,r as y,p as k,M as E,o as N,c as _,d as r,w as i,e as a,_ as j,f as v,g as c,j as p,i as s,P,bD as M,h,F as $,k as R,t as g,l as A,bE as U,n as Y}from"./index-Cn7Qxkym.js";import{_ as q}from"./GameHeader-D10aFrN5.js";import{_ as z}from"./ProfileCard-fVsa0R2y.js";import{_ as C}from"./FormControl-DUODGQBr.js";import{_ as H}from"./FormField-pnf59gPm.js";import{A as J,a as K}from"./profile-BxRJ0HNo.js";import{d as O}from"./userData-DZYdegtD.js";import"./sources-B0gtp6pI.js";const Q={key:0,class:"w-full md:flex md:-mt-[75px] mb-4 place-content-end"},T={class:"md:w-1/3 md:text-right"},W={key:1,class:"w-full"},X={class:"grid gap-4"},Z={class:"flex w-full place-content-between"},ee={class:"text-lg md:text-xl"},se={class:"text-md md:text-lg font-mono"},te={class:"flex align-middle"},le={class:"grid gap-3"},oe={class:"flex justify-between items-center"},re={class:"flex"},ae={class:"grid"},ne={class:"text-lg"},ie={class:"text-md font-mono"},ge={__name:"RivalsView",setup(de){const I=L(),F=B();var m=null,d=null;m=I.params.game,d=G(m);const n=y(null),V=y([]),l=k({currentVersion:null});E(()=>l.currentVersion,()=>{w(),b()}),N(async()=>{b(),w()}),d.versions||(l.currentVersion=1);async function w(){try{n.value=null;const e=await J(m,l.currentVersion);n.value=e,e&&!l.currentVersion&&(l.currentVersion=e.versions[e.versions.length-1])}catch(e){console.error("Failed to fetch user profile data:",e)}}async function b(){try{const e=await K(m,l.currentVersion);V.value=e}catch(e){console.error("Failed to fetch profile data:",e)}}function S(e){var o=[];for(const t of d.versions)e.includes(t.id)&&o.push(t);return o}const u=k({filter:null});d||F.push({name:"ErrorPage",params:{catchAll:"404"}});function D(){if(u.filter)return V.value.filter(e=>e.username.toLowerCase().includes(u.filter.toLowerCase())||e.extid.toString().toLowerCase().includes(u.filter.toLowerCase()))}return(e,o)=>(r(),_(Y,null,{default:i(()=>[a(j,null,{default:i(()=>[a(q,{game:c(d),version:l.currentVersion},{default:i(()=>[c(d).versions&&n.value?(r(),p("div",Q,[s("div",T,[o[2]||(o[2]=s("h2",{class:"text-md sm:text-lg md:text-xl font-bold p-2"}," Select Version ",-1)),a(C,{modelValue:l.currentVersion,"onUpdate:modelValue":o[0]||(o[0]=t=>l.currentVersion=t),options:S(n.value.versions)},null,8,["modelValue","options"])])])):v("",!0),n.value?(r(),p("div",W,[a(z,{game:c(m),version:l.currentVersion,profile:n.value,"use-small":""},null,8,["game","version","profile"])])):v("",!0)]),_:1},8,["game","version"]),a(P,{icon:c(M),title:"Add a Rival",main:""},null,8,["icon"]),l.currentVersion?(r(),_(h,{key:0,class:"mb-6"},{default:i(()=>[a(H,{label:"Search",help:"Search by username or Rival ID to add a rival.",class:"w-full md:w-1/3"},{default:i(()=>[a(C,{modelValue:u.filter,"onUpdate:modelValue":o[1]||(o[1]=t=>u.filter=t),"model-value":u.filter,placeholder:"1234-5678"},null,8,["modelValue","model-value"])]),_:1}),s("div",X,[(r(!0),p($,null,R(D(),t=>{var f;return r(),p("div",{key:t.id,class:"bg-slate-800 p-4 rounded-xl"},[s("div",Z,[s("div",null,[s("h1",ee,g(t.username),1),s("h2",se,g(c(O)(t.extid)),1)]),s("div",te,[a(A,{label:"Add Rival",color:"success",disabled:t.userId==((f=n.value)==null?void 0:f.userId),tooltip:"penis"},null,8,["disabled"])])])])}),128))])]),_:1})):v("",!0),a(P,{icon:c(U),title:"Rivals",main:""},null,8,["icon"]),l.currentVersion?(r(),_(h,{key:1,class:"mb-6"},{default:i(()=>{var t,f;return[s("div",le,[(r(!0),p($,null,R((t=n.value)==null?void 0:t.rivals,x=>(r(),_(h,{key:x.id},{default:i(()=>[s("div",oe,[s("div",re,[s("div",ae,[s("h1",ne,g(x.name),1),s("h2",ie,g(x.rivalID),1)])]),a(A,{label:"Remove Rival",color:"danger"})])]),_:2},1024))),128)),(f=n.value)!=null&&f.rivals?v("",!0):(r(),_(h,{key:0},{default:i(()=>o[3]||(o[3]=[s("h1",{class:"text-2xl"},"You have no rivals!",-1)])),_:1}))])]}),_:1})):v("",!0)]),_:1})]),_:1}))}};export{ge as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{r as p,M as f,j as a,d as o,i as u,F as h,k as v,b3 as x}from"./index-CHivKhhP.js";const b={class:"relative overflow-hidden w-[320px] h-[554px] border"},g=["src"],k=["src"],w={__name:"UserSticker",props:{profile:{type:Object,default:null},version:{type:Number,default:14},size:{type:Number,default:320}},setup(_){const t=_,s=p(t.profile),l=p(t.version);f(()=>t.version,()=>{s.value=t.profile,l.value=t.version});const d="https://cdn.phaseii.network/file/PhaseII/game-assets/trbitem";function n(e){return`${d}/${l.value}/${e}.png`}function m(e){return{transform:`translate(${e.sticker_pos_x-150}px, ${e.sticker_pos_y-100}px) scale(${e.sticker_scale_x}, ${e.sticker_scale_x}) rotate(${e.sticker_rotate}deg)`,position:"absolute"}}return(e,y)=>{var i,c;return o(),a("div",b,[u("img",{src:n(((i=s.value.trbitem)==null?void 0:i.base)??0),class:"absolute w-[320px] h-[554px] drop-shadow-lg"},null,8,g),(o(!0),a(h,null,v(((c=s.value.trbitem)==null?void 0:c.stickers)??[],r=>(o(),a("div",{key:r.sticker_id,class:"absolute",style:x(m(r))},[u("img",{src:n(r.sticker_id),class:"w-[300px] h-[300px]"},null,8,k)],4))),128))])}}};export{w as _};
import{r as p,M as f,j as a,d as o,i as u,F as h,k as v,b6 as x}from"./index-Cn7Qxkym.js";const b={class:"relative overflow-hidden w-[320px] h-[554px] border"},g=["src"],k=["src"],w={__name:"UserSticker",props:{profile:{type:Object,default:null},version:{type:Number,default:14},size:{type:Number,default:320}},setup(_){const t=_,s=p(t.profile),l=p(t.version);f(()=>t.version,()=>{s.value=t.profile,l.value=t.version});const d="https://cdn.phaseii.network/file/PhaseII/game-assets/trbitem";function n(e){return`${d}/${l.value}/${e}.png`}function m(e){return{transform:`translate(${e.sticker_pos_x-150}px, ${e.sticker_pos_y-100}px) scale(${e.sticker_scale_x}, ${e.sticker_scale_x}) rotate(${e.sticker_rotate}deg)`,position:"absolute"}}return(e,y)=>{var i,c;return o(),a("div",b,[u("img",{src:n(((i=s.value.trbitem)==null?void 0:i.base)??0),class:"absolute w-[320px] h-[554px] drop-shadow-lg"},null,8,g),(o(!0),a(h,null,v(((c=s.value.trbitem)==null?void 0:c.stickers)??[],r=>(o(),a("div",{key:r.sticker_id,class:"absolute",style:x(m(r))},[u("img",{src:n(r.sticker_id),class:"w-[300px] h-[300px]"},null,8,k)],4))),128))])}}};export{w as _};

View File

@ -0,0 +1 @@
import{b as D,r as h,o as y,p as I,c as V,d as m,w as r,e,_ as A,i as a,h as i,Q as b,j as p,F,k as L,t as d,l as v,v as B,P as S,g as M,aM as P,n as j}from"./index-Cn7Qxkym.js";import{_ as O}from"./GeneralTable-BeEFNO3P.js";import{_ as x}from"./FormField-pnf59gPm.js";import{_ as w}from"./FormControl-DUODGQBr.js";import{j as N,k as R}from"./admin-BCHp0qne.js";const q={class:"grid md:grid-cols-2 gap-6"},E={class:"grid gap-4"},Q={class:"md:flex w-full place-content-between"},T={class:"text-lg md:text-xl"},z={class:"text-md md:text-lg"},G={class:"text-md"},H={class:"bg-slate-900 p-2 rounded-md mt-2 w-14 max-w-16 text-center"},J={class:"text-lg font-mono text-pink-700"},K={class:"flex align-middle mt-2 md:mt-0 max-h-16"},W={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},X={class:"w-full"},re={__name:"UsersView",setup(Y){const g=D(),c=h([]),o=h(null),k=[{text:"User ID",value:"id",width:20,sortable:!0},{text:"Username",value:"username",width:150,sortable:!0},{text:"Public",value:"public",width:120,sortable:!0},{text:"Admin",value:"admin",width:120,sortable:!0},{text:"Banned",value:"banned",width:120,sortable:!0},{text:"Discord Linked",value:"data.discord.linked",width:120,sortable:!0},{text:"Tachi Linked",value:"data.tachi.linked",width:120,sortable:!0}];y(async()=>{U()});async function U(){try{const t=await N();var s=[];for(var l of t)l.username||(l.username="Unclaimed Account"),s.push(l);c.value=s}catch(t){console.error("Failed to fetch user data:",t)}}const u=s=>{const l=s.id;g.push(`/profiles/${l}`)},n=I({filter:null});function C(){return n.filter?c.value.filter(s=>s.id.toString().toLowerCase().includes(n.filter.toLowerCase())||s.username.toLowerCase().includes(n.filter.toLowerCase())).slice(0,25):[]}async function $(){const s=await R(o.value);if(s)u({id:s==null?void 0:s.id});else{window.alert("Couldn't find user.");return}}return(s,l)=>(m(),V(j,null,{default:r(()=>[e(A,null,{default:r(()=>[e(i,{class:"mb-6 p-1"},{default:r(()=>l[2]||(l[2]=[a("h1",{class:"text-3xl"},"User Management",-1),a("p",{class:"text-sm text-gray-400"},"Click a row to open User",-1)])),_:1}),a("div",q,[e(i,{class:"mb-6"},{default:r(()=>[e(b,{color:"info",label:"Search",class:"mb-2"}),e(x,{label:"Search",help:"Search by ID or username.",class:"w-full"},{default:r(()=>[e(w,{modelValue:n.filter,"onUpdate:modelValue":l[0]||(l[0]=t=>n.filter=t),"model-value":n.filter},null,8,["modelValue","model-value"])]),_:1}),a("div",E,[(m(!0),p(F,null,L(C(),t=>{var f,_;return m(),p("div",{key:t.id,class:"bg-slate-800 p-4 rounded-xl"},[a("div",Q,[a("div",null,[a("h1",T,d(t.username),1),a("h2",z," User "+d(t.banned?"is":"isn't")+" banned. ",1),a("h2",G," Discord "+d((_=(f=t.data)==null?void 0:f.discord)!=null&&_.linked?"is":"isn't")+" linked. ",1),a("div",H,[a("h2",J,d(t.id),1)])]),a("div",K,[e(v,{label:"Open User",color:"info",onClick:Z=>u(t)},null,8,["onClick"])])])])}),128))])]),_:1}),e(i,{class:"mb-6","is-form":"",onSubmit:B($,["prevent"])},{default:r(()=>[e(b,{color:"warning",label:"From CardID",class:"mb-2"}),e(x,{label:"Card ID",help:"16 character ID for a user's card.",class:"w-full"},{default:r(()=>[e(w,{modelValue:o.value,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value=t),name:"Card ID",required:"","model-value":o.value,minlength:16,maxlength:16},null,8,["modelValue","model-value"])]),_:1}),e(v,{color:"success",type:"submit",label:"Open User"})]),_:1})]),e(S,{icon:M(P),title:"All Users",color:"text-blue-400",main:""},null,8,["icon"]),e(i,{"has-table":"",class:"mb-6"},{default:r(()=>[a("div",W,[a("div",X,[e(O,{headers:k,items:c.value,"has-avatar":!0,onRowClicked:u},null,8,["items"])])])]),_:1})]),_:1})]),_:1}))}};export{re as default};

View File

@ -1 +0,0 @@
import{b,r as v,o as g,p as k,c as U,d,w as o,e as a,_ as $,h as c,i as e,j as f,F as C,k as y,t as r,l as L,P as D,g as A,aL as B,n as V}from"./index-CHivKhhP.js";import{_ as F}from"./GeneralTable-Dm8yzA2j.js";import{_ as S}from"./FormField-vtioLqMT.js";import{_ as I}from"./FormControl-BLuW9GWW.js";import{i as j}from"./admin-YL_-tKB5.js";const M={class:"grid gap-4"},N={class:"md:flex w-full place-content-between"},O={class:"text-lg md:text-xl"},P={class:"text-md md:text-lg"},R={class:"text-md"},E={class:"bg-slate-900 p-2 rounded-md mt-2 w-14 max-w-16 text-center"},T={class:"text-lg font-mono text-pink-700"},q={class:"flex align-middle mt-2 md:mt-0 max-h-16"},z={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},G={class:"w-full"},Z={__name:"UsersView",setup(H){const h=b(),i=v([]),x=[{text:"User ID",value:"id",width:20,sortable:!0},{text:"Username",value:"username",width:150,sortable:!0},{text:"Admin",value:"admin",width:120,sortable:!0},{text:"Banned",value:"banned",width:120,sortable:!0},{text:"Discord Linked",value:"data.discord.linked",width:120,sortable:!0},{text:"Tachi Linked",value:"data.tachi.linked",width:120,sortable:!0}];g(async()=>{p()});async function p(){try{const t=await j();var l=[];for(var s of t)s.username||(s.username="Unclaimed Account"),l.push(s);i.value=l}catch(t){console.error("Failed to fetch user data:",t)}}const u=l=>{const s=l.id;h.push(`/profiles/${s}`)},n=k({filter:null});function w(){return n.filter?i.value.filter(l=>l.id.toString().toLowerCase().includes(n.filter.toLowerCase())||l.username.toLowerCase().includes(n.filter.toLowerCase())).slice(0,25):[]}return(l,s)=>(d(),U(V,null,{default:o(()=>[a($,null,{default:o(()=>[a(c,{class:"mb-6 p-1"},{default:o(()=>s[1]||(s[1]=[e("h1",{class:"text-3xl"},"User Management",-1),e("p",{class:"text-sm text-gray-400"},"Click a row to open User",-1)])),_:1}),a(c,{class:"mb-6"},{default:o(()=>[a(S,{label:"Search",help:"Search by ID or username.",class:"w-full md:w-1/3"},{default:o(()=>[a(I,{modelValue:n.filter,"onUpdate:modelValue":s[0]||(s[0]=t=>n.filter=t),"model-value":n.filter},null,8,["modelValue","model-value"])]),_:1}),e("div",M,[(d(!0),f(C,null,y(w(),t=>{var m,_;return d(),f("div",{key:t.id,class:"bg-slate-800 p-4 rounded-xl"},[e("div",N,[e("div",null,[e("h1",O,r(t.username),1),e("h2",P," User "+r(t.banned?"is":"isn't")+" banned. ",1),e("h2",R," Discord "+r((_=(m=t.data)==null?void 0:m.discord)!=null&&_.linked?"is":"isn't")+" linked. ",1),e("div",E,[e("h2",T,r(t.id),1)])]),e("div",q,[a(L,{label:"Open User",color:"info",onClick:J=>u(t)},null,8,["onClick"])])])])}),128))])]),_:1}),a(D,{icon:A(B),title:"All Users",color:"text-blue-400",main:""},null,8,["icon"]),a(c,{"has-table":"",class:"mb-6"},{default:o(()=>[e("div",z,[e("div",G,[a(F,{headers:x,items:i.value,"has-avatar":!0,onRowClicked:u},null,8,["items"])])])]),_:1})]),_:1})]),_:1}))}};export{Z as default};

View File

@ -1 +1 @@
import{r as w,o as I,c as O,d as u,w as m,e as n,_ as P,j as f,f as D,O as T,F as U,P as b,g as y,ag as B,h as k,i as s,I as F,t as r,R as G,l as M,ah as j,n as L,ai as R,a7 as Y}from"./index-CHivKhhP.js";import{_ as E}from"./GeneralTable-Dm8yzA2j.js";import{A as J}from"./music-BegIU2Dv.js";const q={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-4"},W={controls:"",class:"mt-3 rounded-xl w-[640px] xl:w-[1280px]"},z=["src"],H={class:"text-center md:text-left grid grid-cols-1 place-content-start gap-6"},K={class:"space-y-2"},Q={class:"text-2xl xl:text-4xl font-bold"},X={class:"text-xl xl:text-3xl font-semibold"},Z={class:"text-xl xl:text-2xl font-light"},tt={key:1},et={class:"space-y-1 text-center"},at={class:"text-xl xl:text-xl"},st={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},lt={class:"w-full"},ct={__name:"VideoView",setup(ot){const e=w([]),V=w(!1),S=[{text:"Timestamp",value:"timestamp",sortable:!0,width:120},{text:"Song",value:"name",sortable:!0,width:120},{text:"Artist",value:"artist",sortable:!0,width:120},{text:"Game",value:"game",sortable:!0,width:120},{text:"Version",value:"version",sortable:!0,width:120},{text:"Status",value:"data.status",sortable:!0,width:120}];async function $(){e.value=null;try{const a=await R();e.value=N(JSON.parse(JSON.stringify(a)));const t=[...new Set(e.value.map(l=>l.musicid))];if(t.length>0){const l=await J("iidx",a[0].version,t,!0),o=Object.fromEntries(l.map(i=>[i.id,i]));e.value=e.value.map(i=>{var d,c;return{...i,name:((d=o[i.musicid])==null?void 0:d.name)||"Unknown Song",artist:((c=o[i.musicid])==null?void 0:c.artist)||"Unknown Artist"}})}}catch(a){console.error("Failed to fetch video data:",a)}V.value=!1}I(async()=>{await $()});function N(a){a.sort(function(t,l){return l.timestamp-t.timestamp});for(const t of a){const l=Y(t.game);if(t.game=l.name,t.version=l.versions.find(o=>o.id==t.version).label??0,t.timestamp){const o=new Date(t.timestamp*1e3);t.timestamp=o.toLocaleString()}}return a}const A=a=>{var t,l;(t=a.data)!=null&&t.url&&(a=(l=a.data)==null?void 0:l.url),navigator.clipboard.writeText(a).then(()=>{alert("Copied URL to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})};function C(a){var t;window.open((t=a.data)==null?void 0:t.url,"_blank").focus()}return(a,t)=>(u(),O(L,null,{default:m(()=>[n(P,null,{default:m(()=>[n(T,{class:"mb-6","use-small":"","even-smaller":""}),e.value[0]?(u(),f(U,{key:0},[n(b,{icon:y(B),title:"Your Latest Upload",main:""},null,8,["icon"]),n(k,{class:"mb-6"},{default:m(()=>{var l,o,i,d,c,x,_,p,v;return[((o=(l=e.value[0])==null?void 0:l.data)==null?void 0:o.status)=="uploaded"?(u(),f("div",q,[s("video",W,[s("source",{src:(d=(i=e.value[0])==null?void 0:i.data)==null?void 0:d.url,type:"video/mp4"},null,8,z),t[1]||(t[1]=F(" Your browser does not support the video tag. "))]),s("div",H,[s("div",K,[s("div",null,[s("h1",Q,r((c=e.value[0])==null?void 0:c.name),1),s("h1",X,r((x=e.value[0])==null?void 0:x.artist),1)]),n(G,{class:"mx-1"}),s("h2",Z,r((_=e.value[0])==null?void 0:_.game)+" "+r((p=e.value[0])==null?void 0:p.version),1),s("p",null,r((v=e.value[0])==null?void 0:v.timestamp),1)]),s("div",null,[n(M,{color:"info",label:"Share",onClick:t[0]||(t[0]=it=>{var h,g;return A((g=(h=e.value[0])==null?void 0:h.data)==null?void 0:g.url)})})])])])):(u(),f("div",tt,[s("div",et,[t[2]||(t[2]=s("h1",{class:"text-2xl xl:text-4xl font-bold"}," Your video is still uploading! ",-1)),t[3]||(t[3]=s("h2",{class:"text-xl xl:text-2xl font-light"}," Please wait for the upload to complete. ",-1)),s("h2",at," Upload started at "+r(e.value[0].timestamp),1)])]))]}),_:1})],64)):D("",!0),n(b,{icon:y(j),title:"All Play Videos",main:""},null,8,["icon"]),n(k,{"has-table":""},{default:m(()=>[s("div",st,[s("div",lt,[n(E,{headers:S,items:e.value,onRowClicked:C},null,8,["items"])])])]),_:1})]),_:1})]),_:1}))}};export{ct as default};
import{r as w,o as I,c as O,d as u,w as m,e as n,_ as P,j as f,f as D,O as T,F as U,P as b,g as y,ag as B,h as k,i as s,I as F,t as r,R as G,l as M,ah as j,n as L,ai as R,a7 as Y}from"./index-Cn7Qxkym.js";import{_ as E}from"./GeneralTable-BeEFNO3P.js";import{A as J}from"./music-B4rkmxYb.js";const q={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-4"},W={controls:"",class:"mt-3 rounded-xl w-[640px] xl:w-[1280px]"},z=["src"],H={class:"text-center md:text-left grid grid-cols-1 place-content-start gap-6"},K={class:"space-y-2"},Q={class:"text-2xl xl:text-4xl font-bold"},X={class:"text-xl xl:text-3xl font-semibold"},Z={class:"text-xl xl:text-2xl font-light"},tt={key:1},et={class:"space-y-1 text-center"},at={class:"text-xl xl:text-xl"},st={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},lt={class:"w-full"},ct={__name:"VideoView",setup(ot){const e=w([]),V=w(!1),S=[{text:"Timestamp",value:"timestamp",sortable:!0,width:120},{text:"Song",value:"name",sortable:!0,width:120},{text:"Artist",value:"artist",sortable:!0,width:120},{text:"Game",value:"game",sortable:!0,width:120},{text:"Version",value:"version",sortable:!0,width:120},{text:"Status",value:"data.status",sortable:!0,width:120}];async function $(){e.value=null;try{const a=await R();e.value=N(JSON.parse(JSON.stringify(a)));const t=[...new Set(e.value.map(l=>l.musicid))];if(t.length>0){const l=await J("iidx",a[0].version,t,!0),o=Object.fromEntries(l.map(i=>[i.id,i]));e.value=e.value.map(i=>{var d,c;return{...i,name:((d=o[i.musicid])==null?void 0:d.name)||"Unknown Song",artist:((c=o[i.musicid])==null?void 0:c.artist)||"Unknown Artist"}})}}catch(a){console.error("Failed to fetch video data:",a)}V.value=!1}I(async()=>{await $()});function N(a){a.sort(function(t,l){return l.timestamp-t.timestamp});for(const t of a){const l=Y(t.game);if(t.game=l.name,t.version=l.versions.find(o=>o.id==t.version).label??0,t.timestamp){const o=new Date(t.timestamp*1e3);t.timestamp=o.toLocaleString()}}return a}const A=a=>{var t,l;(t=a.data)!=null&&t.url&&(a=(l=a.data)==null?void 0:l.url),navigator.clipboard.writeText(a).then(()=>{alert("Copied URL to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})};function C(a){var t;window.open((t=a.data)==null?void 0:t.url,"_blank").focus()}return(a,t)=>(u(),O(L,null,{default:m(()=>[n(P,null,{default:m(()=>[n(T,{class:"mb-6","use-small":"","even-smaller":""}),e.value[0]?(u(),f(U,{key:0},[n(b,{icon:y(B),title:"Your Latest Upload",main:""},null,8,["icon"]),n(k,{class:"mb-6"},{default:m(()=>{var l,o,i,d,c,x,_,p,v;return[((o=(l=e.value[0])==null?void 0:l.data)==null?void 0:o.status)=="uploaded"?(u(),f("div",q,[s("video",W,[s("source",{src:(d=(i=e.value[0])==null?void 0:i.data)==null?void 0:d.url,type:"video/mp4"},null,8,z),t[1]||(t[1]=F(" Your browser does not support the video tag. "))]),s("div",H,[s("div",K,[s("div",null,[s("h1",Q,r((c=e.value[0])==null?void 0:c.name),1),s("h1",X,r((x=e.value[0])==null?void 0:x.artist),1)]),n(G,{class:"mx-1"}),s("h2",Z,r((_=e.value[0])==null?void 0:_.game)+" "+r((p=e.value[0])==null?void 0:p.version),1),s("p",null,r((v=e.value[0])==null?void 0:v.timestamp),1)]),s("div",null,[n(M,{color:"info",label:"Share",onClick:t[0]||(t[0]=it=>{var h,g;return A((g=(h=e.value[0])==null?void 0:h.data)==null?void 0:g.url)})})])])])):(u(),f("div",tt,[s("div",et,[t[2]||(t[2]=s("h1",{class:"text-2xl xl:text-4xl font-bold"}," Your video is still uploading! ",-1)),t[3]||(t[3]=s("h2",{class:"text-xl xl:text-2xl font-light"}," Please wait for the upload to complete. ",-1)),s("h2",at," Upload started at "+r(e.value[0].timestamp),1)])]))]}),_:1})],64)):D("",!0),n(b,{icon:y(j),title:"All Play Videos",main:""},null,8,["icon"]),n(k,{"has-table":""},{default:m(()=>[s("div",st,[s("div",lt,[n(E,{headers:S,items:e.value,onRowClicked:C},null,8,["items"])])])]),_:1})]),_:1})]),_:1}))}};export{ct as default};

2
assets/admin-BCHp0qne.js Normal file
View File

@ -0,0 +1,2 @@
import{u as c}from"./index-Cn7Qxkym.js";const t=c();async function i(){try{return(await t.callApi("/admin")).data}catch(a){throw console.log("Error loading admin dashboard:",a),a}}async function d(){try{return(await t.callApi("/admin/arcades")).data}catch(a){throw console.log("Error loading arcades:",a),a}}async function s(a){try{return await t.callApi(`/arcade/checkName?name=${a}`)}catch(r){throw console.log("Error testing arcade:",r),r}}async function l(a){try{return(await t.callApi(`/arcade/checkPCBID?PCBID=${a}`)).unused}catch(r){throw console.log("Error testing machine:",r),r}}async function A(a){try{return(await t.callApi(`/admin/machine/${a}`)).data}catch(r){throw console.log("Error testing machine:",r),r}}async function m(a,r){try{return await t.callApi(`/admin/arcade/${a}/machine`,"PUT",r)}catch(n){throw console.log("Error adding machine:",n),n}}async function w(a,r){try{return await t.callApi(`/admin/arcade/${a}/machine`,"POST",r)}catch(n){throw console.log("Error adding machine:",n),n}}async function h(a,r){try{if(window.confirm("Are you really?"))return await t.callApi(`/admin/arcade/${a}/machine`,"DELETE",{PCBID:r})}catch(n){throw console.log("Error adding machine:",n),n}}async function u(a){try{return await t.callApi("/admin/onboardArcade","POST",a)}catch(r){throw console.log("Error onboarding arcade:",r),r}}async function y(a,r){try{return await t.callApi(`/admin/arcade/${a}`,"POST",r)}catch(n){throw console.log("Error updating arcade:",n),n}}async function g(a){if(window.confirm(`Let me ask again...
Are you really?`))try{return await t.callApi(`/admin/arcade/${a}`,"DELETE")}catch(n){throw console.log("Error deleting arcade:",n),n}}async function f(a,r){try{return await t.callApi(`/admin/arcade/${a}/owner`,"PUT",{ownerId:r})}catch(n){throw console.log("Error updating arcade owner:",n),n}}async function P(a,r){try{return window.confirm("Are you really?")?await t.callApi(`/admin/arcade/${a}/owner`,"DELETE",{ownerId:r}):{}}catch(n){throw console.log("Error removing arcade owner:",n),n}}async function p(){try{return(await t.callApi("/admin/maint")).data}catch(a){throw console.log("Error loading maint:",a),a}}async function E(a){try{return await t.callApi("/admin/maint","POST",a)}catch(r){throw console.log("Error posting maint:",r),r}}async function I(){try{return(await t.callApi("/admin/client")).data}catch(a){throw console.log("Error loading client:",a),a}}async function D(a){try{return await t.callApi("/admin/client","POST",a)}catch(r){throw console.log("Error posting client:",r),r}}async function $(a=!1){try{return(await t.callApi(`/admin/users?noData=${a}`)).data}catch(r){throw console.log("Error loading users:",r),r}}async function T(a){try{return(await t.callApi(`/admin/user/card/${a}`)).data}catch(r){throw console.log("Error getting user:",r),r}}async function C(){try{return(await t.callApi("/admin/news")).data}catch(a){throw console.log("Error loading news:",a),a}}async function O(a){try{return await t.callApi("/admin/news","POST",a)}catch(r){throw console.log("Error posting news:",r),r}}async function S(a,r){try{return await t.callApi(`/admin/news/${a}`,"POST",r)}catch(n){throw console.log("Error posting news:",n),n}}async function M(a){try{return await t.callApi(`/admin/news/${a}`,"DELETE")}catch(r){throw console.log("Error posting news:",r),r}}export{i as A,l as a,u as b,s as c,p as d,E as e,I as f,D as g,d as h,A as i,$ as j,T as k,C as l,O as m,S as n,M as o,y as p,g as q,f as r,P as s,m as t,w as u,h as v};

View File

@ -1,2 +0,0 @@
import{u as c}from"./index-CHivKhhP.js";const t=c();async function i(){try{return(await t.callApi("/admin")).data}catch(a){throw console.log("Error loading admin dashboard:",a),a}}async function d(){try{return(await t.callApi("/admin/arcades")).data}catch(a){throw console.log("Error loading arcades:",a),a}}async function s(a){try{return await t.callApi(`/arcade/checkName?name=${a}`)}catch(r){throw console.log("Error testing arcade:",r),r}}async function l(a){try{return(await t.callApi(`/arcade/checkPCBID?PCBID=${a}`)).unused}catch(r){throw console.log("Error testing machine:",r),r}}async function A(a,r){try{return await t.callApi(`/admin/arcade/${a}/machine`,"PUT",r)}catch(n){throw console.log("Error adding machine:",n),n}}async function m(a,r){try{return await t.callApi(`/admin/arcade/${a}/machine`,"POST",r)}catch(n){throw console.log("Error adding machine:",n),n}}async function w(a,r){try{if(window.confirm("Are you really?"))return await t.callApi(`/admin/arcade/${a}/machine`,"DELETE",{PCBID:r})}catch(n){throw console.log("Error adding machine:",n),n}}async function h(a){try{return await t.callApi("/admin/onboardArcade","POST",a)}catch(r){throw console.log("Error onboarding arcade:",r),r}}async function u(a,r){try{return await t.callApi(`/admin/arcade/${a}`,"POST",r)}catch(n){throw console.log("Error updating arcade:",n),n}}async function y(a){if(window.confirm(`Let me ask again...
Are you really?`))try{return await t.callApi(`/admin/arcade/${a}`,"DELETE")}catch(n){throw console.log("Error deleting arcade:",n),n}}async function g(a,r){try{return await t.callApi(`/admin/arcade/${a}/owner`,"PUT",{ownerId:r})}catch(n){throw console.log("Error updating arcade owner:",n),n}}async function f(a,r){try{return window.confirm("Are you really?")?await t.callApi(`/admin/arcade/${a}/owner`,"DELETE",{ownerId:r}):{}}catch(n){throw console.log("Error removing arcade owner:",n),n}}async function P(){try{return(await t.callApi("/admin/maint")).data}catch(a){throw console.log("Error loading maint:",a),a}}async function p(a){try{return await t.callApi("/admin/maint","POST",a)}catch(r){throw console.log("Error posting maint:",r),r}}async function E(){try{return(await t.callApi("/admin/client")).data}catch(a){throw console.log("Error loading client:",a),a}}async function I(a){try{return await t.callApi("/admin/client","POST",a)}catch(r){throw console.log("Error posting client:",r),r}}async function D(a=!1){try{return(await t.callApi(`/admin/users?noData=${a}`)).data}catch(r){throw console.log("Error loading users:",r),r}}async function T(){try{return(await t.callApi("/admin/news")).data}catch(a){throw console.log("Error loading news:",a),a}}async function C(a){try{return await t.callApi("/admin/news","POST",a)}catch(r){throw console.log("Error posting news:",r),r}}export{i as A,l as a,h as b,s as c,P as d,p as e,E as f,I as g,d as h,D as i,T as j,C as k,u as l,y as m,g as n,f as o,A as p,m as q,w as r};

View File

@ -1 +1 @@
import{u as s}from"./index-CHivKhhP.js";const t=s();async function d(r){try{return(await t.callApi(`/arcade/${r}`)).arcade}catch(a){throw console.log("Error fetching arcade:",a),a}}async function l(r,a,e){try{return(await t.callApi(`/arcade/${r}/settings?game=${a}&version=${e}`)).data}catch(c){throw console.log("Error fetching arcade settings:",c),c}}async function g(r,a,e,c){try{for(;!t.userId;)await new Promise(n=>setTimeout(n,200));return await t.callApi(`/arcade/${r}/settings?game=${a}&version=${e}`,"POST",c)}catch(o){throw console.log("Error updating settings:",o),o}}async function A(r){try{return await t.callApi(`/arcade/${r}/exportVPN`)}catch(a){throw console.log("Error fetching arcade VPN:",a),a}}async function u(r,a){try{return await t.callApi(`/arcade/${r}`,"POST",a)}catch(e){throw console.log("Error updating arcade:",e),e}}async function h(r){try{return(await t.callApi(`/arcade/${r}/paseli`)).data}catch(a){throw console.log("Error fetching arcade PASELI data:",a),a}}async function w(r){try{const a=await t.callApi(`/arcade/takeover?PCBID=${r}`);return a.status=="warn"&&window.alert(a.error_code),a.data}catch(a){throw console.log("Error fetching takeover:",a),a}}async function P(r){try{return await t.callApi("/arcade/takeover","POST",{PCBID:r})}catch(a){throw console.log("Error saving takeover:",a),a}}export{d as A,u as a,A as b,g as c,l as d,h as e,w as f,P as g};
import{u as s}from"./index-Cn7Qxkym.js";const t=s();async function d(r){try{return(await t.callApi(`/arcade/${r}`)).arcade}catch(a){throw console.log("Error fetching arcade:",a),a}}async function l(r,a,e){try{return(await t.callApi(`/arcade/${r}/settings?game=${a}&version=${e}`)).data}catch(c){throw console.log("Error fetching arcade settings:",c),c}}async function g(r,a,e,c){try{for(;!t.userId;)await new Promise(n=>setTimeout(n,200));return await t.callApi(`/arcade/${r}/settings?game=${a}&version=${e}`,"POST",c)}catch(o){throw console.log("Error updating settings:",o),o}}async function A(r){try{return await t.callApi(`/arcade/${r}/exportVPN`)}catch(a){throw console.log("Error fetching arcade VPN:",a),a}}async function u(r,a){try{return await t.callApi(`/arcade/${r}`,"POST",a)}catch(e){throw console.log("Error updating arcade:",e),e}}async function h(r){try{return(await t.callApi(`/arcade/${r}/paseli`)).data}catch(a){throw console.log("Error fetching arcade PASELI data:",a),a}}async function w(r){try{const a=await t.callApi(`/arcade/takeover?PCBID=${r}`);return a.status=="warn"&&window.alert(a.error_code),a.data}catch(a){throw console.log("Error fetching takeover:",a),a}}async function P(r){try{return await t.callApi("/arcade/takeover","POST",{PCBID:r})}catch(a){throw console.log("Error saving takeover:",a),a}}export{d as A,u as a,A as b,g as c,l as d,h as e,w as f,P as g};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{u as e}from"./index-CHivKhhP.js";const c=e();async function s(r,t,a=null,n=!1){try{return(await c.callApi(`/music?game=${r}&version=${t}`+(n?"&oneChart=true":""),"GET",null,{songIds:a.toString()})).data}catch(o){throw console.log("Error fetching music data:",o),o}}async function i(r,t=null){try{return(await c.callApi(`/records/${r}`+(t?`?userId=${t}`:""),"GET",null)).data}catch(a){throw console.log("Error fetching record data:",a),a}}async function u(r,t=null){try{return(await c.callApi(`/topscore/${r}/${t}`,"GET",null)).data}catch(a){throw console.log("Error fetching score data:",a),a}}export{s as A,u as a,i as b};
import{u as e}from"./index-Cn7Qxkym.js";const c=e();async function s(r,t,a=null,n=!1){try{return(await c.callApi(`/music?game=${r}&version=${t}`+(n?"&oneChart=true":""),"GET",null,{songIds:a.toString()})).data}catch(o){throw console.log("Error fetching music data:",o),o}}async function i(r,t=null){try{return(await c.callApi(`/records/${r}`+(t?`?userId=${t}`:""),"GET",null)).data}catch(a){throw console.log("Error fetching record data:",a),a}}async function u(r,t=null){try{return(await c.callApi(`/topscore/${r}/${t}`,"GET",null)).data}catch(a){throw console.log("Error fetching score data:",a),a}}export{s as A,u as a,i as b};

View File

@ -1 +1 @@
import{u as l}from"./index-CHivKhhP.js";const a=l();async function f(o,i=null){try{return(await a.callApi(`/game/${o}/profiles?version=${i}`)).data}catch(e){throw console.log("Error fetching profiles:",e),e}}async function h(o,i,e=null){if(!e){for(;!a.userId;)await new Promise(t=>setTimeout(t,200));e=a.userId}try{return(await a.callApi(`/profile/${o}?version=${i}&userId=${e}`)).data}catch(t){throw console.log("Error fetching profile:",t),t}}async function d(o,i,e){try{for(;!a.userId;)await new Promise(r=>setTimeout(r,200));const t=a.userId;return await a.callApi(`/profile/${o}?version=${i}&userId=${t}`,"POST",e)}catch(t){throw console.log("Error updating profile:",t),t}}async function m(o,i,e=null,t=[]){if(!e){for(;!a.userId;)await new Promise(r=>setTimeout(r,200));e=a.userId}var n="";for(const r of t){const s=r[0],c=r[1];n+=`${s}:${c},`}try{return(await a.callApi(`/profile/${o}/achievements?version=${i}&userId=${e}`,"GET",null,{achievements:n.substring(0,n.length-1)})).data}catch(r){throw console.log("Error fetching achievements:",r),r}}export{h as A,f as a,m as b,d as c};
import{u as l}from"./index-Cn7Qxkym.js";const a=l();async function f(o,i=null){try{return(await a.callApi(`/game/${o}/profiles?version=${i}`)).data}catch(e){throw console.log("Error fetching profiles:",e),e}}async function h(o,i,e=null){if(!e){for(;!a.userId;)await new Promise(t=>setTimeout(t,200));e=a.userId}try{return(await a.callApi(`/profile/${o}?version=${i}&userId=${e}`)).data}catch(t){throw console.log("Error fetching profile:",t),t}}async function d(o,i,e){try{for(;!a.userId;)await new Promise(r=>setTimeout(r,200));const t=a.userId;return await a.callApi(`/profile/${o}?version=${i}&userId=${t}`,"POST",e)}catch(t){throw console.log("Error updating profile:",t),t}}async function m(o,i,e=null,t=[]){if(!e){for(;!a.userId;)await new Promise(r=>setTimeout(r,200));e=a.userId}var n="";for(const r of t){const s=r[0],c=r[1];n+=`${s}:${c},`}try{return(await a.callApi(`/profile/${o}/achievements?version=${i}&userId=${e}`,"GET",null,{achievements:n.substring(0,n.length-1)})).data}catch(r){throw console.log("Error fetching achievements:",r),r}}export{h as A,f as a,m as b,d as c};

View File

@ -1,4 +1,4 @@
import{al as n,bC as r,j as i,d as c,i as a,e as o,a8 as d,t as u,bD as p,f}from"./index-CHivKhhP.js";const h={class:"mb-2"},_={class:"text-center lg:text-left items-center justify-center lg:justify-start gap-2"},S={class:"flex items-center justify-start"},m={class:"text-2xl md:text-3xl leading-tight"},g={class:"w-full flex gap-1 mb-4"},$={__name:"GameTitleLine",props:{path:{type:String,default:null},title:{type:String,required:!0}},setup(e){const t=n(()=>r().default);return(s,l)=>(c(),i("section",h,[a("div",_,[a("div",S,[o(d,{path:e.path,class:"w-12 h-12 p-1 drop-shadow-md"},null,8,["path"]),a("h1",m,u(e.title),1)]),a("div",g,[t.value?p(s.$slots,"default",{key:0}):f("",!0)])])]))}},b="https://cdn.phaseii.network/file/PhaseII/web-assets";function x(e,t){return t?`${b}/games/${e.id}/card/${t}.webp`:e==null?void 0:e.cardBG}function k(e,t){var s;return t&&((s=e.videoTable)!=null&&s.includes(t))?`https://cdn.phaseii.network/file/PhaseII/game-assets/video/${e.id}/${t}.mp4`:null}function y(e,t){var s;return(s=e.videoTable)!=null&&s.includes(t)?null:`
import{al as n,bF as r,j as i,d as c,i as a,e as o,a8 as d,t as u,bG as p,f}from"./index-Cn7Qxkym.js";const h={class:"mb-2"},_={class:"text-center lg:text-left items-center justify-center lg:justify-start gap-2"},S={class:"flex items-center justify-start"},m={class:"text-2xl md:text-3xl leading-tight"},g={class:"w-full flex gap-1 mb-4"},$={__name:"GameTitleLine",props:{path:{type:String,default:null},title:{type:String,required:!0}},setup(e){const t=n(()=>r().default);return(s,l)=>(c(),i("section",h,[a("div",_,[a("div",S,[o(d,{path:e.path,class:"w-12 h-12 p-1 drop-shadow-md"},null,8,["path"]),a("h1",m,u(e.title),1)]),a("div",g,[t.value?p(s.$slots,"default",{key:0}):f("",!0)])])]))}},b="https://cdn.phaseii.network/file/PhaseII/web-assets";function x(e,t){return t?`${b}/games/${e.id}/card/${t}.webp`:e==null?void 0:e.cardBG}function k(e,t){var s;return t&&((s=e.videoTable)!=null&&s.includes(t))?`https://cdn.phaseii.network/file/PhaseII/game-assets/video/${e.id}/${t}.mp4`:null}function y(e,t){var s;return(s=e.videoTable)!=null&&s.includes(t)?null:`
background-image: url('${x(e,t)}');
background-size: cover;
background-repeat: no-repeat;

View File

@ -19,5 +19,6 @@
"3.0.17": ["- (Major) Add initial public profile support.", "- (Minor) Lay groundwork for public profile page", "- (Optimization) Clean up admin pages", "- (Bugfix) Clean up random 500 errors."],
"3.0.18": ["- (Admin) Adds the ability to add and remove managers from an arcade.", "- (Minor) Lay groundwork for avatars in tables.", "- (Minor) Add new profile customizations."],
"3.0.19": ["- (Admin) Finish admin arcade and machine pages.", "- (Minor) Add new greetings."],
"3.0.20": ["- (Major) Add read state to network news.", "- (Minor) Add new greetings.", "- (Minor) Add information to linked services", "- (Minor) Add session info and button to remove all sessions", "- (Minor) Add text gradient animation backend, needs ported to text once finished."]
"3.0.20": ["- (Major) Add read state to network news.", "- (Minor) Add new greetings.", "- (Minor) Add information to linked services", "- (Minor) Add session info and button to remove all sessions", "- (Minor) Add text gradient animation backend, needs ported to text once finished."],
"3.0.21": ["- (Admin) Finish admin machine/arcade pages", "- (Major) Finish initial public profile page", "- (Minor) Change table right-click behavior", "- (Admin) Finish admin News pages", "- (Admin) Add search for user via card ID"]
}

View File

@ -46,7 +46,7 @@
document.addEventListener('keydown', keyHandler, false);
</script>
<script type="module" crossorigin src="/assets/index-CHivKhhP.js"></script>
<script type="module" crossorigin src="/assets/index-Cn7Qxkym.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CgJRrhQl.css">
</head>
<body class="scroll-smooth">