PhaseWeb3-Vue/assets/EventView-Cvm0P60x.js

2 lines
4.3 KiB
JavaScript

import{r as y,B as h,l as P,o as D,a0 as M,V as N,a as s,c as d,w as c,b as i,_ as R,f as p,F as G,d as T,e as r,aE as W,n as q,p as m,j as u,M as z,t as H,g as K,s as x,k as Q,ag as O}from"./index-J-qTXsT3.js";import{_ as X}from"./ArcadeCard-Gt5C-cXY.js";import{_ as U}from"./FormField-c7Er_d2T.js";import{_ as v}from"./FormControl-CJtElC1L.js";import{_ as Y}from"./FormCheckRadio-D8Cz6fFv.js";import{s as V,g as f}from"./values-CmNcmtTU.js";import{A as Z,c as ee,d as ae}from"./arcade-9xfS60Bh.js";import"./PhCashRegister.vue-CGr9kPOg.js";import"./PhHouse.vue-DYEDvbKI.js";const oe={class:"mb-4"},le={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"},ye={__name:"EventView",setup(ie){const t=y(null),l=h({game:null,version:null}),g=h([]),_=y(null),b=y(null),$=y(!0),w=P(),S=parseInt(w.params.id);async function A(){try{b.value=null,t.value={},_.value={};const o=await Z(S);b.value=o,$.value=!1}catch(o){console.error("Failed to fetch arcade data:",o)}}async function k(){try{t.value={},_.value={};const o=await ae(S,l.game,l.version);t.value=JSON.parse(JSON.stringify(o)),_.value=o}catch(o){console.error("Failed to fetch arcade setting data:",o)}}D(()=>{A(),I()});function I(){for(const o of M){const a=o.gameOptions;a&&g.push({game:o.id,gameOptions:a})}}function B(){var o=[];for(const a of g)a.gameOptions&&o.push({id:a.game,label:O(a.game).name});return o}function F(){const o=g.find(n=>n.game==l.game),a=O(l.game);var e=[];for(const n of Object.entries(o.gameOptions))if(a.versions==null)e.push({id:n[0],label:a.name}),l.version=1;else{const J=a.versions.find(L=>L.id==n[0]);e.push({id:n[0],label:J.label})}return e}function j(){const o=O(l.game);var a=null;return o.versions&&(a=o.versions.find(e=>e.id==l.version)),`${o.name} ${a?.label??""}`}function C(){return g.find(a=>a.game==l.game).gameOptions[l.version]}async function E(){(await ee(S,l.game,l.version,t.value)).status!="error"&&await k()}return N(()=>l.game,()=>{l.version=null,t.value={}}),N(()=>l.version,()=>{l.version&&k()}),(o,a)=>(s(),d(Q,null,{default:c(()=>[i(R,null,{default:c(()=>[$.value?u("",!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(()=>[m("div",oe,[i(U,{label:"Select Game",help:"Pick a game and version to get started."},{default:c(()=>[m("div",le,[m("div",null,[a[4]||(a[4]=m("p",{class:"pb-2 text-lg"},"Game",-1)),i(v,{modelValue:l.game,"onUpdate:modelValue":a[0]||(a[0]=e=>l.game=e),name:"game",options:B()},null,8,["modelValue","options"])]),l.game?(s(),p("div",te,[a[5]||(a[5]=m("p",{class:"pb-2 text-lg"},"Version",-1)),i(v,{modelValue:l.version,"onUpdate:modelValue":a[1]||(a[1]=e=>l.version=e),name:"version",options:F()},null,8,["modelValue","options"])])):u("",!0)])]),_:1})]),l.game&&l.version?(s(),p("div",ne,[m("h2",se,[a[6]||(a[6]=z(" Settings for ",-1)),m("b",null,H(j()),1)]),a[7]||(a[7]=m("hr",{class:"pb-1 my-2"},null,-1)),(s(!0),p(G,null,K(C(),e=>(s(),d(U,{key:e.id,label:e.name,help:e.help},{default:c(()=>[e.type=="String"?(s(),d(v,{key:0,"model-value":r(f)(t.value,e.id)??"",name:e.name,placeholder:"Not Set","onUpdate:modelValue":n=>r(V)(t.value,e.id,n)},null,8,["model-value","name","onUpdate:modelValue"])):u("",!0),e.type=="LargeText"?(s(),d(v,{key:1,"model-value":r(f)(t.value,e.id)??"",name:e.name,placeholder:"Not Set",type:"textarea","onUpdate:modelValue":n=>r(V)(t.value,e.id,n)},null,8,["model-value","name","onUpdate:modelValue"])):u("",!0),e.type=="Boolean"?(s(),d(Y,{key:2,name:e.id,"model-value":!!(r(f)(t.value,e.id)??0),"input-value":!0,type:"switch","onUpdate:modelValue":n=>r(V)(t.value,e.id,n??0)},null,8,["name","model-value","onUpdate:modelValue"])):u("",!0),e.type=="Array"?(s(),d(v,{key:3,"model-value":r(f)(t.value,e.id)??0,options:e.options,name:e.id,selected:r(f)(t.value,e.id)??0,placeholder:"Select...","onUpdate:modelValue":n=>r(V)(t.value,e.id,Number(n))},null,8,["model-value","options","name","selected","onUpdate:modelValue"])):u("",!0)]),_:2},1032,["label","help"]))),128)),JSON.stringify(t.value)!=JSON.stringify(_.value)?(s(),p("div",re,[i(x,{color:"success",label:"Save",onClick:a[2]||(a[2]=e=>E())}),i(x,{color:"danger",label:"Revert",onClick:a[3]||(a[3]=e=>k())})])):u("",!0)])):u("",!0)]),_:1})],64))]),_:1})]),_:1}))}};export{ye as default};