PageSourceSearch

https://atlanta.tickets.beatthebomb.com/_nuxt/DWTgOIg0.js

js beatthebomb.com collected 2026-09-26 03:27:41 UTC 14,923 bytes, 1 lines download raw bytes

1import{_ as ge,a as xe,b as be}from"./CCHJd4eH.js";import{_ as ye}from"./Ct70UkVf.js";import{_ as ze,a as he,b as ke,c as we,d as $e,e as De,f as Ve,g as Ae}from"./DpDpeJfo.js";import{u as j,b as Ce}from"./zNhCWlda.js";import{P as Te}from"./CacwcQhS.js";import{i as Se}from"./6e2DFz5k.js";import{e as S,k as Ee,p as w,o as p,w as a,W as P,$ as Le,h as s,X as R,Y as q,l as Pe,x as v,c as V,a as t,b as l,E as T,v as Ue,d as i,F as N,r as F,t as c,n as B,A as Ie,g as M}from"#entry";import{_ as Ne,a as Fe,b as Be,c as Me}from"./Dj10djpJ.js";import{_ as je}from"./C-f4-Qy5.js";import{_ as Re}from"./CiF7Basw.js";import{_ as qe,a as Oe,b as Ye,c as We,d as He}from"./dxtsC-PC.js";import{_ as Ge}from"./0Hf_kr57.js";import{_ as Je}from"./RLLgkEzh.js";import{u as Ke}from"./DgmzirMX.js";import{u as Xe}from"./BRJC_-Hn.js";import{P as Ze}from"./w-DR3gVW.js";import{M as Qe}from"./C1j5_qSR.js";import{P as et}from"./Cd3unXvf.js";import{T as tt}from"./DkiXgwtS.js";import"./DsXan2nO.js";import"./DZCbKU22.js";import"./vSSdCmu6.js";import"./DjkoA8ho.js";import"./eBjFu-IB.js";import"./DttKcmEo.js";import"./DQwCFQKB.js";import"./CK9SMNR6.js";import"./9gGBeuqq.js";import"./CyPiDsNh.js";var lt=S({__name:"DialogTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(y){const m=y,d=Se(),{forwardRef:g,currentElement:A}=j();return d.contentId||=Ce(void 0,"reka-dialog-content"),Ee(()=>{d.triggerElement.value=A.value}),(x,f)=>(p(),w(s(Te),Le(m,{ref:s(g),type:x.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":s(d).open.value||!1,"aria-controls":s(d).open.value?s(d).contentId:void 0,"data-state":s(d).open.value?"open":"closed",onClick:s(d).onOpenToggle}),{default:a(()=>[P(x.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),ot=lt,st=S({__name:"AlertDialogTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(y){const m=y;return j(),(d,g)=>(p(),w(s(ot),R(q(m)),{default:a(()=>[P(d.$slots,"default")]),_:3},16))}}),at=st;const nt=S({__name:"AlertDialogTrigger",props:{asChild:{type:Boolean}},setup(y){const m=y;return(d,g)=>(p(),w(s(at),R(q(m)),{default:a(()=>[P(d.$slots,"default")]),_:3},16))}}),it={class:"space-y-6"},rt={class:"flex items-center justify-between"},dt={class:"w-full text-sm text-white"},ut={class:"divide-y divide-zinc-800"},ct={class:"px-4 py-3 text-zinc-300"},pt={class:"px-4 py-3 font-mono text-xs text-zinc-400"},mt={class:"px-4 py-3 font-medium text-white"},ft={class:"px-4 py-3 text-zinc-300"},_t={class:"px-4 py-3 text-zinc-300 text-xs"},vt={class:"px-4 py-3 text-zinc-300"},gt={class:"px-4 py-3"},xt={class:"px-4 py-3"},bt={class:"px-4 py-3"},yt={class:"flex items-center gap-1"},zt={class:"text-white"},ht={key:0,class:"space-y-1.5"},kt={class:"space-y-1.5"},wt={class:"grid grid-cols-2 gap-4"}
1,$t={class:"space-y-1.5"},Dt={class:"space-y-1.5"},Vt={class:"space-y-1.5"},At={class:"space-y-1.5"},Ct={class:"space-y-1.5"},Tt={class:"space-y-1.5"},St={class:"grid grid-cols-2 gap-4"},Et={class:"space-y-1.5"},Lt={class:"flex flex-col justify-end space-y-1.5"},Pt={class:"flex items-center gap-3 h-10"},Ut={class:"text-sm text-zinc-400"},It={class:"space-y-3 rounded-md border border-zinc-800 bg-zinc-800/40 p-3"},Nt={class:"flex items-center justify-between"},Ft={class:"flex items-center justify-between"},Bt={class:"flex items-center justify-between"},Mt={class:"flex justify-end gap-3 pt-2"},vl=S({__name:"locations",async setup(y){let m,d;const{data:g,refresh:A}=([m,d]=Pe(()=>Ke("/api/admin/cms/locations","$4ZH5SvNEE0")),m=await m,d(),m),{toast:x}=Xe(),f=v(!1),b=v(null),E=v(null),n=v({id:"",name:"",venue_id:0,address:"",image_url:"",timezone:"America/New_York",enabled:!0,display_order:0,tax_rate:0,roller_api_url:""}),z=v(!0),h=v(!1),k=v(!1),$=v(!1);function U(r){if(r==null)return{};if(typeof r=="string")try{const e=JSON.parse(r);return e&&typeof e=="object"?e:{}}catch{return{}}return typeof r=="object"?r:{}}function O(){b.value=null,n.value={id:"",name:"",venue_id:0,address:"",image_url:"",timezone:"America/New_York",enabled:!0,display_order:g.value?.length||0,tax_rate:0,roller_api_url:""},z.value=!0,h.value=!1,k.value=!1,f.value=!0}function Y(r){b.value=r,n.value={...r};const e=U(r?.metadata);z.value=e.depositEnabled!==!1,h.value=e.singleTier===!0,k.value=e.metricsFullValue===!0,f.value=!0}async function W(){$.value=!0;try{const r={...n.value,metadata:{...U(n.value.metadata),depositEnabled:z.value,singleTier:h.value,metricsFullValue:k.value}};b.value?await $fetch(`/api/admin/cms/locations/${b.value.id}`,{method:"PUT",body:r}):await $fetch("/api/admin/cms/locations",{method:"POST",body:r}),f.value=!1,A(),x({title:b.value?"Location updated":"Location created",description:`${n.value.name} has been saved successfully.`})}catch(r){x({title:"Failed to save location",description:r.data?.message||"An unexpected error occurred.",variant:"destructive"})}finally{$.value=!1}}async function H(r){try{await $fetch(`/api/admin/cms/locations/${r}`,{method:"DELETE"}),A(),x({title:"Location deleted",description:"The location has been removed."})}catch(e){x({title:"Failed to delete location",description:e.data?.message||"An unexpected error occurred.",variant:"destructive"})}finally{E.value=null}}const G=[{value:"America/New_York",label:"Eastern (New York)"},{value:"America/Chicago",label:"Central (Chicago)"},{value:"America/Denver",label:"Mountain (Denver)"},{value:"America/Los_Angeles",label:"Pacific (Los Angeles)"}];return(r,e)=>{const D=ge,J=Ue("EmptyState"),I=ye,K=nt,X=we,Z=$e,Q=ke,ee=Ve,te=Ae,le=De,oe=he,se=ze,ae=be,ne=xe,ie=Me,re=Be,u=je,_=Re,de=Ye,ue=Oe,ce=He,pe=We,me=qe,C=Ge,fe=Je,_e=Fe,ve=Ne;return p(),V("div",it,[t("div",rt,[e[17]||(e[17]=t("div",null,[t("h1",{class:"text-3xl font-bold text-white"},"Locations"),t("p",{class:"text-zinc-400 mt-1"},"Manage checkout locations")],-1)),l(D,{onClick:O},{default:a(()=>[l(s(Ze),{class:"mr-2 h-4 w-4"}),e[16]||(e[16]=i(" Add Location ",-1))]),_:1})]),s(g)?.length?(p(),w(ne,{key:1,class:"bg-zinc-900 border-zinc-800 overflow-hidden p-0"},{default:a(()=>[l(ae,{class:"p-0"},{default:a(()=>[t("table",dt,[e[23]||(e[23]=t("thead",null,[t("tr",{class:"border-b border-zinc-800 text-zinc-400 text-xs uppercase tracking-wider"},[t("th",{class:"px-4 py-3 text-left font-medium"},"Order"),t("th",{class:"px-4 py-3 text-left font-medium"},"ID"),t("th",{class:"px-4 py-3 text-left font-medium"},"Name"),t("th",{class:"px-4 py-3 text-left font-medium"},"Venue ID"),t("th",{class:"px-4 py-3 text-left font-medium"},"Timezone"),t("th",{class:"px-4 py-3 text-left font-medium"},"Tax Rate"),t("th",{class:"px-4 py-3 text-left font-medium"},"Roller API"),t("th",{class:"px-4 py-3 text-left font-medium"},"Status"),t("th",{class:"px-4 py-3 text-left font-medium w-32"},"Actions")])],-1)),t("tbody",ut,[(p(!0),V(N,null,F(s(g),o=>(p(),V("tr",{key:o.id,class:"hover:bg-zinc-800/50 transition-colors"},[t("td",ct,c(o.display_order),1),t("td",pt,c(o.id),1),t("td",mt,c(o.name),1),t("td",ft,c(o.venue_id),1),t("td",_t,c(o.timezone),1),t("td",vt,c(Number(o.tax_rate||0).toFixed(3))+"%",1),t("td",gt,[l(I,{variant:"outline",class:B(o.roller_api_url?"border-yellow-600 text-yellow-400":"border-blue-600 text-blue-400")},{default:a(()=>[i(c(o.roller_api_url?"Playground":"Production"),1)]),_:2},1032,["class"])]),t("td",xt,[l(I,{variant:"outline",class:B(o.enabled?"border-green-600 text-green-400":"border-red-600 text-red-400")},{default:a(()=>[i(c(o.enabled?"Enabled":"Disabled"),1)]),_:2},1032,["class"])]),t("td",bt,[t("div",yt,[l(D,{variant:"ghost",size:"icon","aria-label":"Edit location",onClick:L=>Y(o)},{default:a(()=>[l(s(et),{class:"h-4 w-4"})]),_:1},8,["onClick"]),l(se,null,{default:a(()=>[l(K,{"as-child":""},{default:a(()=>[l(D,{variant:"ghost",size:"icon","aria-label":"Delete location",class:"text-red-400 hover:text-red-300 hover:bg-red-900/20",onClick:L=>E.value=o.id},{default:a(()=>[l(s(tt),{class:"h-4 w-4"})]),_:1},8,["onClick"])]),_:2},1024),l(oe,null,{default:a(()=>[l(Q,null,{default:a(()=>[l(X,null,{default:a(()=>
1[...e[18]||(e[18]=[i("Delete location?",-1)])]),_:1}),l(Z,null,{default:a(()=>[e[19]||(e[19]=i(" This will permanently delete ",-1)),t("strong",zt,c(o.name),1),e[20]||(e[20]=i(". This action cannot be undone. ",-1))]),_:2},1024)]),_:2},1024),l(le,null,{default:a(()=>[l(ee,{onClick:e[0]||(e[0]=L=>E.value=null)},{default:a(()=>[...e[21]||(e[21]=[i("Cancel",-1)])]),_:1}),l(te,{class:"bg-red-600 hover:bg-red-700",onClick:L=>H(o.id)},{default:a(()=>[...e[22]||(e[22]=[i(" Delete ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024)])])]))),128))])])]),_:1})]),_:1})):(p(),w(J,{key:0,title:"No locations yet",description:"Add your first location to get started."},{icon:a(()=>[l(s(Qe),{class:"h-8 w-8 text-zinc-500"})]),_:1})),l(ve,{open:s(f),"onUpdate:open":e[15]||(e[15]=o=>T(f)?f.value=o:null)},{default:a(()=>[l(_e,{class:"bg-zinc-900 border-zinc-800 text-white max-w-lg"},{default:a(()=>[l(re,null,{default:a(()=>[l(ie,null,{default:a(()=>[i(c(s(b)?"Edit Location":"Add Location"),1)]),_:1})]),_:1}),t("form",{onSubmit:Ie(W,["prevent"]),class:"space-y-4 mt-2"},[s(b)?M("",!0):(p(),V("div",ht,[l(u,{for:"loc-id"},{default:a(()=>[...e[24]||(e[24]=[i("ID ",-1),t("span",{class:"text-red-400"},"*",-1)])]),_:1}),l(_,{id:"loc-id",modelValue:s(n).id,"onUpdate:modelValue":e[1]||(e[1]=o=>s(n).id=o),placeholder:"e.g., brooklyn",required:"",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"]),e[25]||(e[25]=t("p",{class:"text-xs text-zinc-500"},"URL-friendly identifier (lowercase, no spaces)",-1))])),t("div",kt,[l(u,{for:"loc-name"},{default:a(()=>[...e[26]||(e[26]=[i("Name ",-1),t("span",{class:"text-red-400"},"*",-1)])]),_:1}),l(_,{id:"loc-name",modelValue:s(n).name,"onUpdate:modelValue":e[2]||(e[2]=o=>s(n).name=o),placeholder:"e.g., Brooklyn",required:"",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"])]),t("div",wt,[t("div",$t,[l(u,{for:"loc-venue-id"},{default:a(()=>[...e[27]||(e[27]=[i("Venue ID ",-1),t("span",{class:"text-red-400"},"*",-1)])]),_:1}),l(_,{id:"loc-venue-id",modelValue:s(n).venue_id,"onUpdate:modelValue":e[3]||(e[3]=o=>s(n).venue_id=o),modelModifiers:{number:!0},type:"number",required:"",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"])]),t("div",Dt,[l(u,{for:"loc-order"},{default:a(()=>[...e[28]||(e[28]=[i("Display Order",-1)])]),_:1}),l(_,{id:"loc-order",modelValue:s(n).display_order,"onUpdate:modelValue":e[4]||(e[4]=o=>s(n).display_order=o),modelModifiers:{number:!0},type:"number",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"])])]),t("div",Vt,[l(u,{for:"loc-tax-rate"},{default:a(()=>[...e[29]||(e[29]=[i("Tax Rate (%)",-1)])]),_:1}),l(_,{id:"loc-tax-rate",modelValue:s(n).tax_rate,"onUpdate:modelValue":e[5]||(e[5]=o=>s(n).tax_rate=o),modelModifiers:{number:!0},type:"number",min:"0",max:"20",step:"0.001",class:"bg-zinc-800 border-zinc-700",placeholder:"e.g., 8.875"},null,8,["modelValue"]),e[30]||(e[30]=t("p",{class:"text-xs text-zinc-500"},"Local tax rate percentage (e.g., 8.875 for 8.875%)",-1))]),t("div",At,[l(u,{for:"loc-address"},{default:a(()=>[...e[31]||(e[31]=[i("Address",-1)])]),_:1}),l(_,{id:"loc-address",modelValue:s(n).address,"onUpdate:modelValue":e[6]||(e[6]=o=>s(n).address=o),placeholder:"Full address",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"])]),t("div",Ct,[l(u,{for:"loc-image"},{default:a(()=>[...e[32]||(e[32]=[i("Image URL",-1)])]),_:1}),l(_,{id:"loc-image",modelValue:s(n).image_url,"onUpdate:modelValue":e[7]||(e[7]=o=>s(n).image_url=o),type:"url",placeholder:"https://...",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"])]),t("div",Tt,[l(u,{for:"loc-roller-url"},{default:a(()=>[...e[33]||(e[33]=[i("Roller API URL",-1)])]),_:1}),l(_,{id:"loc-roller-url",modelValue:s(n).roller_api_url,"onUpdate:modelValue":e[8]||(e[8]=o=>s(n).roller_api_url=o),type:"url",placeholder:"https://api.roller.app (leave empty for production default)",class:"bg-zinc-800 border-zinc-700"},null,8,["modelValue"]),e[34]||(e[34]=t("p",{class:"text-xs text-zinc-500"},"Leave empty for production (api.roller.app). Set to https://api.play.roller.app for playground/staging locations.",-1))]),t("div",St,[t("div",Et,[l(u,{for:"loc-tz"},{default:a(()=>[...e[35]||(e[35]=[i("Timezone",-1)])]),_:1}),l(me,{modelValue:s(n).timezone,"onUpdate:modelValue":e[9]||(e[9]=o=>s(n).timezone=o)},{default:a(()=>[l(ue,{id:"loc-tz",class:"bg-zinc-800 border-zinc-700"},{default:a(()=>[l(de,{placeholder:"Select timezone"})]),_:1}),l(pe,{class:"bg-zinc-800 border-zinc-700"},{default:a(()=>[(p(),V(N,null,F(G,o=>l(ce,{key:o.value,value:o.value,class:"text-white hover:bg-zinc-700"},{default:a(()=>[i(c(o.label),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["modelValue"])]),t("div",Lt,[l(u,{for:"loc-enabled"},{default:a(()=>[...e[36]||(e[36]=[i("Enabled",-1)])]),_:1}),t("div",Pt,[l(C,{id:"loc-enabled",checked:s(n).enabled,"onUpdate:checked":e[10]||(e[10]=o=>s(n).enabled=o)},null,8,["checked"]),t("span",Ut,c(s(n).enabled?"Active":"Inactive"),1)])])]),t("div",It,[e[43]||(e[43]=t("p",{class:"text-xs font-medium uppercase tracking-wider text-zinc-400"},"Checkout Behavior",-1)),t("div",Nt,[t("div",null,[l(u,{for:"loc-deposit-enabled",class:"text-white"},{default:a(()=>
1[...e[37]||(e[37]=[i("Deposit enabled",-1)])]),_:1}),e[38]||(e[38]=t("p",{class:"text-xs text-zinc-500"}," When off, checkout shows only Pay-in-Full (no deposit option). Default: on. ",-1))]),l(C,{id:"loc-deposit-enabled",checked:s(z),"onUpdate:checked":e[11]||(e[11]=o=>T(z)?z.value=o:null)},null,8,["checked"])]),t("div",Ft,[t("div",null,[l(u,{for:"loc-single-tier",class:"text-white"},{default:a(()=>[...e[39]||(e[39]=[i("Single tier",-1)])]),_:1}),e[40]||(e[40]=t("p",{class:"text-xs text-zinc-500"}," When on, Step 2 shows only the base/standard tier (hides premium/VIP). Default: off. ",-1))]),l(C,{id:"loc-single-tier",checked:s(h),"onUpdate:checked":e[12]||(e[12]=o=>T(h)?h.value=o:null)},null,8,["checked"])]),t("div",Bt,[t("div",null,[l(u,{for:"loc-metrics-full-value",class:"text-white"},{default:a(()=>[...e[41]||(e[41]=[i("Full booking value in metrics",-1)])]),_:1}),e[42]||(e[42]=t("p",{class:"text-xs text-zinc-500"}," When on, purchase metrics (GTM / Klaviyo / A-B conversions) report the whole booking value — not just the deposit paid. Default: off (amount paid). ",-1))]),l(C,{id:"loc-metrics-full-value",checked:s(k),"onUpdate:checked":e[13]||(e[13]=o=>T(k)?k.value=o:null)},null,8,["checked"])])]),t("div",Mt,[l(D,{type:"button",variant:"outline",class:"border-zinc-700 text-zinc-300 hover:bg-zinc-800",onClick:e[14]||(e[14]=o=>f.value=!1)},{default:a(()=>[...e[44]||(e[44]=[i(" Cancel ",-1)])]),_:1}),l(D,{type:"submit",disabled:s($)},{default:a(()=>[s($)?(p(),w(fe,{key:0,class:"mr-2 h-4 w-4"})):M("",!0),i(" "+c(s($)?"Saving...":"Save"),1)]),_:1},8,["disabled"])])],32)]),_:1})]),_:1},8,["open"])])}}});export{vl as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.