Files
PhaseWeb3-Vue/assets/EventView.64ea7a08.js

2 lines
4.3 KiB
JavaScript

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