PageSourceSearch

https://kconect.vercel.app/assets/useAdminTickets-BxSXa5m2.js

js kconect.vercel.app collected 2026-10-03 07:12:21 UTC 3,087 bytes, 1 lines download raw bytes

1import{X as D,o as A,c as L,p as T,k as c,V as f}from"./index-IxvR3ybE.js";import{s as h,g as E,a as g}from"./queryCache-BtqcWBRl.js";const w="admin-ticket-types",q="admin-event-tickets",x=M=>{const{selectedEventId:C}=D(),s=C,p=A(),{toast:o}=L(),{data:y=[],isLoading:F}=T({queryKey:["admin-ticket-types",s],queryFn:async()=>{if(!s)return[];const{data:e,error:t}=await c.from("ticket_types").select("*").eq("event_id",s).order("created_at",{ascending:!1});if(t)throw t;return g(`${w}-${s}`,e||[]),e||[]},enabled:!!s,placeholderData:()=>E(`${w}-${s}`)||[],...h}),{data:l=[],isLoading:K}=T({queryKey:["admin-event-tickets",s],queryFn:async()=>{if(!s)return[];const{data:e,error:t}=await c.from("event_tickets").select("*, ticket_types (*)").eq("event_id",s).order("created_at",{ascending:!1}).limit(1e4);if(t)throw t;const n=(e||[]).map(i=>i.id),d=(e||[]).map(i=>i.user_id).filter(Boolean);let k={};if(d.length>0){const{data:i}=await c.from("profiles").select("id, name, email").in("id",d);i&&(k=i.reduce((a,r)=>(a[r.id]={name:r.name,email:r.email},a),{}))}let u={};if(n.length>0){const{data:i}=await c.from("ticket_form_responses").select("*, ticket_form_fields (label, field_type, field_order)").in("ticket_id",n);i&&(u=i.reduce((a,r)=>(a[r.ticket_id]||(a[r.ticket_id]=[]),r.ticket_form_fields&&a[r.ticket_id].push(r),a),{}),Object.keys(u).forEach(a=>{u[a].sort((r,b)=>{var _,v;return(((_=r.ticket_form_fields)==null?void 0:_.field_order)||0)-(((v=b.ticket_form_fields)==null?void 0:v.field_order)||0)})}))}const m=(e||[]).map(i=>({...i,profiles:i.user_id&&k[i.user_id]||null,form_responses:u[i.id]||[]}));return g(`${q}-${s}`,m),m},enabled:!!s,placeholderData:()=>E(`${q}-${s}`)||[],...h}),S=f({mutationFn:async e=>{const{data:t,error:n}=await c.from("ticket_types").insert([e]).select().single();if(n)throw n;return t},onSuccess:()=>{p.invalidateQueries({queryKey:["admin-ticket-types"]}),o({title:"Success",description:"Ticket type created successfully"})},onError:e=>{o({title:"Error",description:"Failed to create ticket type",variant:"destructive"})}}),$=f({mutationFn:async({id:e,...t})=>{const{data:n,error:d}=await c.from("ticket_types").update(t).eq("id",e).select().single();if(d)throw d;return n},onSuccess:()=>{p.invalidateQueries({queryKey:["admin-ticket-types"]}),o({title:"Success",description:"Ticket type updated successfully"})},onError:e=>{o({title:"Error",description:"Failed to update ticket type",variant:"destructive"})}}),I=f({mutationFn:async e=>{const{error:t}=await c.from("ticket_types").delete().eq("id",e);if(t)throw t},onSuccess:()=>{p.invalidateQueries({queryKey:["admin-ticket-types"]}),o({title:"Success",description:"Ticket type deleted successfully"})},onError:e=>{o({title:"Error",description:"Failed to delete ticket type",variant:"destructive"})}}),Q={totalTickets:l.length,checkedInTickets:l.filter(e=>e.check_in_status).length,totalRevenue:l.reduce((e,t)=>e+t.price,0),ticketTypes:y.length};return{ticketTypes:y,eventTickets:l,isLoadingTypes:F,isLoadingTickets:K,createTicketType:S,updateTicketType:$,deleteTicketType:I,stats:Q}};export{x as u};

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.