PhaseWeb3-Vue/assets/PaseliView-B0gCLLLS.js

2 lines
8.2 KiB
JavaScript

import{ac as J,ad as P,v as f,a as u,f as p,ae as O,j as h,af as W,p as r,r as S,l as G,o as K,c as _,w as d,b as l,_ as Q,F as Y,d as X,e as s,as as I,n as k,y as M,s as F,k as ee,i as ae}from"./index-DH0C_mw4.js";import{F as U}from"./PhCashRegister.vue-DY2esO7e.js";import{I as le}from"./PhCreditCard.vue-Cg5TRLZp.js";import{I as j}from"./PhPlusCircle.vue-iRiPvnMU.js";import{_ as q}from"./GeneralTable-CVombM6I.js";import{_ as te}from"./ArcadeCard-DbhlKa_R.js";import{_ as L}from"./FormControl-B_GcE9bh.js";import{_ as C}from"./FormField-CMaqUYvZ.js";import{A as ne,e as re,f as oe}from"./arcade-9LIqDWmq.js";import"./contentExport-C5pa0Fip.js";import"./PhHouse.vue-NnyzQ1TJ.js";const ue=["width","height","fill","transform"],se={key:0},ce=r("path",{d:"M209.29,55.6l-56,68.4H176a12,12,0,0,1,0,24H140v16h36a12,12,0,0,1,0,24H140v28a12,12,0,0,1-24,0V188H80a12,12,0,0,1,0-24h36V148H80a12,12,0,0,1,0-24h22.68l-56-68.4A12,12,0,1,1,65.29,40.4L128,117.05,190.71,40.4a12,12,0,1,1,18.58,15.2Z"},null,-1),ie=[ce],de={key:1},me=r("path",{d:"M200,48l-72,88L56,48Z",opacity:"0.2"},null,-1),ve=r("path",{d:"M206.19,53.07,144.88,128H176a8,8,0,0,1,0,16H136v16h40a8,8,0,0,1,0,16H136v40a8,8,0,0,1-16,0V176H80a8,8,0,0,1,0-16h40V144H80a8,8,0,0,1,0-16h31.12L49.81,53.07A8,8,0,0,1,62.19,42.93L128,123.37l65.81-80.44a8,8,0,1,1,12.38,10.14Z"},null,-1),pe=[me,ve],fe={key:2},he=r("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm54.4,52.8L144,128h16a8,8,0,0,1,0,16H136v16h24a8,8,0,0,1,0,16H136v16a8,8,0,0,1-16,0V176H96a8,8,0,0,1,0-16h24V144H96a8,8,0,0,1,0-16h16L73.6,76.8a8,8,0,1,1,12.8-9.6L128,122.67,169.6,67.2a8,8,0,0,1,12.8,9.6Z"},null,-1),ge=[he],be={key:3},_e=r("path",{d:"M204.64,51.8l-64,78.2H176a6,6,0,0,1,0,12H134v20h42a6,6,0,0,1,0,12H134v42a6,6,0,0,1-12,0V174H80a6,6,0,0,1,0-12h42V142H80a6,6,0,0,1,0-12h35.34l-64-78.2a6,6,0,1,1,9.28-7.6L128,126.53,195.36,44.2a6,6,0,0,1,9.28,7.6Z"},null,-1),ye=[_e],Ie={key:4},He=r("path",{d:"M206.19,53.07,144.88,128H176a8,8,0,0,1,0,16H136v16h40a8,8,0,0,1,0,16H136v40a8,8,0,0,1-16,0V176H80a8,8,0,0,1,0-16h40V144H80a8,8,0,0,1,0-16h31.12L49.81,53.07A8,8,0,0,1,62.19,42.93L128,123.37l65.81-80.44a8,8,0,1,1,12.38,10.14Z"},null,-1),we=[He],Ve={key:5},Ae=r("path",{d:"M203.1,50.53,136.44,132H176a4,4,0,0,1,0,8H132v24h44a4,4,0,0,1,0,8H132v44a4,4,0,0,1-8,0V172H80a4,4,0,0,1,0-8h44V140H80a4,4,0,0,1,0-8h39.56L52.9,50.53a4,4,0,0,1,6.2-5.06L128,129.68l68.9-84.21a4,4,0,1,1,6.2,5.06Z"},null,-1),xe=[Ae],Pe={name:"PhCurrencyJpy"},v=J({...Pe,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(E){const c=E,o=P("weight","regular"),g=P("size","1em"),t=P("color","currentColor"),$=P("mirrored",!1),i=f(()=>c.weight??o),H=f(()=>c.size??g),w=f(()=>c.color??t),B=f(()=>c.mirrored!==void 0?c.mirrored?"scale(-1, 1)":void 0:$?"scale(-1, 1)":void 0);return(V,D)=>(u(),p("svg",W({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:H.value,height:H.value,fill:w.value,transform:B.value},V.$attrs),[O(V.$slots,"default"),i.value==="bold"?(u(),p("g",se,ie)):i.value==="duotone"?(u(),p("g",de,pe)):i.value==="fill"?(u(),p("g",fe,ge)):i.value==="light"?(u(),p("g",be,ye)):i.value==="regular"?(u(),p("g",Ie,we)):i.value==="thin"?(u(),p("g",Ve,xe)):h("",!0)],16,ue))}}),Se={class:"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3 mb-6"},ke={class:"grid md:grid-cols-2 gap-6 mb-6"},Le={class:"grid gap-6"},Ce={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},$e={class:"w-full"},Be={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},Xe={class:"w-full"},Re={__name:"PaseliView",setup(E){const c=S({}),o=S({}),g=S(!0),t=S({}),$=G(),i=parseInt($.params.id);async function H(){try{c.value=null;const a=await ne(i);c.value=a}catch(a){console.error("Failed to fetch arcade data:",a)}}async function w(){try{o.value=null;const a=await re(i);o.value=a,o.value.transactions?.reverse(),g.value=!1}catch(a){console.error("Failed to fetch arcade PASELI:",a)}}K(()=>{g.value=!0,H(),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}],V=[{text:"Player",value:"username"},{text:"Balance",value:"balance"}];function D(a){var e=[];for(var n of JSON.parse(JSON.stringify(a)))n.timestamp&&(n.timestamp=ae(n.timestamp)),e.push(n);return e}function z(a){var e=a.target.value;e=e.replace(/[^A-Za-z0-9]/g,""),e=e.toUpperCase().replace(/(.{4})/g,"$1-").replace(/-$/,""),t.value.cardId=e}function N(a){var e=a.target.value;e=e.replace(/[^0-9]/g,""),t.value.credit=e}const T=f(()=>o.value?.balances?o.value.balances.reduce((a,e)=>a+(e.balance||0),0):0),y=f(()=>{if(!o.value?.balances?.length)return{};const a=o.value.balances.filter(m=>m.balance>0),e=a.reduce((m,b)=>m+b.balance,0),n=e/a.length,x=a.reduce((m,b)=>b.balance>m.balance?b:m,a[0]);return{total:e,avg:n,count:a.length,topPlayer:x.username||"(anonymous)",topBalance:x.balance}}),A=f(()=>{if(!o.value?.transactions)return{totalDelta:0,count:0,avgDelta:0,last:null};const a=o.value.transactions,e=a.reduce((m,b)=>m+(b.data?.delta||0),0),n=e/(a.length||1),x=a[a.length-1]||null;return{totalDelta:e,count:a.length,avgDelta:n,last:x}}),R=f(()=>{var a=[];for(const e of o.value.balances)a.push({id:e.userId,label:e.username==""?"Unclaimed Account":e.username});return a});async function Z(){!t.value.cardId&&!t.value.userId||t.value.credit&&(g.value=!0,await oe(i,t.value.userId,t.value.cardId,t.value.credit),t.value.userId=null,t.value.cardId=null,t.value.credit=null,await w())}return(a,e)=>(u(),_(ee,null,{default:d(()=>[l(Q,null,{default:d(()=>[!g.value&&c.value?(u(),p(Y,{key:0},[l(te,{class:"mb-6",arcade:c.value,"use-small":!0},null,8,["arcade"]),l(X,{icon:s(v),title:"PASELI Stats",main:""},null,8,["icon"]),r("div",Se,[T.value?(u(),_(I,{key:0,number:T.value,label:"Total PASELI Net Worth",icon:s(v)},null,8,["number","icon"])):h("",!0),A.value.count?(u(),_(I,{key:1,number:A.value.count,label:"Recent Transactions",icon:s(U)},null,8,["number","icon"])):h("",!0),A.value.totalDelta?(u(),_(I,{key:2,number:A.value.totalDelta,label:"Recent Net Flow",icon:s(v)},null,8,["number","icon"])):h("",!0),y.value.avg?(u(),_(I,{key:3,number:y.value.avg,label:"Average Player Balance",icon:s(v)},null,8,["number","icon"])):h("",!0),y.value.topBalance?(u(),_(I,{key:4,number:y.value.topBalance,label:`Top Player: ${y.value.topPlayer}`,icon:s(v)},null,8,["number","label","icon"])):h("",!0)]),l(X,{icon:s(v),title:"Player PASELI Balances",main:""},null,8,["icon"]),r("div",ke,[r("div",Le,[l(k,{"is-form":""},{default:d(()=>[l(M,{label:"Update balance",color:"success",class:"mb-4",icon:s(j)},null,8,["icon"]),l(C,{label:"Card ID",help:"The ACCESS CODE provided by the game."},{default:d(()=>[l(L,{modelValue:t.value.cardId,"onUpdate:modelValue":e[0]||(e[0]=n=>t.value.cardId=n),icon:s(le),name:"cardId",type:"card",placeholder:"XXXX-XXXX-XXXX-XXXX",minlength:19,maxlength:19,required:"",onInput:z},null,8,["modelValue","icon"])]),_:1}),l(C,{label:"Credit Amount"},{default:d(()=>[l(L,{modelValue:t.value.credit,"onUpdate:modelValue":e[1]||(e[1]=n=>t.value.credit=n),icon:s(v),name:"credit",required:"",maxlength:7,inputmode:"numeric",onInput:N},null,8,["modelValue","icon"])]),_:1}),l(F,{label:"Credit Account",color:"success",onClick:Z})]),_:1}),l(k,{"is-form":""},{default:d(()=>[l(M,{label:"Credit existing account",color:"info",class:"mb-4",icon:s(j)},null,8,["icon"]),l(C,{label:"Select Player"},{default:d(()=>[l(L,{modelValue:t.value.userId,"onUpdate:modelValue":e[2]||(e[2]=n=>t.value.userId=n),options:R.value,required:""},null,8,["modelValue","options"])]),_:1}),l(C,{label:"Credit Amount"},{default:d(()=>[l(L,{modelValue:t.value.credit,"onUpdate:modelValue":e[3]||(e[3]=n=>t.value.credit=n),icon:s(v),name:"credit",required:"",maxlength:7,inputmode:"numeric",onInput:N},null,8,["modelValue","icon"])]),_:1}),l(F,{label:"Credit Selected Player",color:"info",onClick:Z})]),_:1})]),r("div",null,[l(k,{"has-table":""},{default:d(()=>[r("div",Ce,[r("div",$e,[l(q,{headers:V,items:o.value.balances},null,8,["items"])])])]),_:1})])]),l(X,{icon:s(U),title:"PASELI Transaction History",main:""},null,8,["icon"]),l(k,{"has-table":""},{default:d(()=>[r("div",Be,[r("div",Xe,[l(q,{headers:B,items:D(o.value.transactions)},null,8,["items"])])])]),_:1})],64)):h("",!0)]),_:1})]),_:1}))}};export{Re as default};