@burdenoff/microfe-eventfullymanaged 2026.819.1 → 2026.827.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/eventfullymanaged/api/eventApi.js +68 -66
  2. package/dist/eventfullymanaged/api/eventApi.js.map +1 -1
  3. package/dist/eventfullymanaged/lib/format.d.ts +9 -0
  4. package/dist/eventfullymanaged/lib/format.d.ts.map +1 -1
  5. package/dist/eventfullymanaged/lib/format.js +11 -3
  6. package/dist/eventfullymanaged/lib/format.js.map +1 -1
  7. package/dist/eventfullymanaged/pages/events/EventDetailPage.d.ts.map +1 -1
  8. package/dist/eventfullymanaged/pages/events/EventDetailPage.js +294 -269
  9. package/dist/eventfullymanaged/pages/events/EventDetailPage.js.map +1 -1
  10. package/dist/eventfullymanaged/pages/events/SessionFormPage.d.ts.map +1 -1
  11. package/dist/eventfullymanaged/pages/events/SessionFormPage.js +91 -81
  12. package/dist/eventfullymanaged/pages/events/SessionFormPage.js.map +1 -1
  13. package/dist/eventfullymanaged/pages/modules/EventsPage.d.ts.map +1 -1
  14. package/dist/eventfullymanaged/pages/modules/EventsPage.js +231 -220
  15. package/dist/eventfullymanaged/pages/modules/EventsPage.js.map +1 -1
  16. package/dist/eventfullymanaged/pages/modules/NetworkingPage.d.ts.map +1 -1
  17. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js +120 -102
  18. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js.map +1 -1
  19. package/dist/eventfullymanaged/pages/modules/RegistrationPage.d.ts.map +1 -1
  20. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js +128 -120
  21. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js.map +1 -1
  22. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.d.ts.map +1 -1
  23. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.js +68 -75
  24. package/dist/eventfullymanaged/pages/registration/PromoCodeFormPage.js.map +1 -1
  25. package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js +41 -41
  26. package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js.map +1 -1
  27. package/package.json +1 -1
@@ -2,18 +2,19 @@ import { useEventfullyManaged as e } from "../../context/EventfullyManagedContex
2
2
  import { gql as t } from "../../../node_modules/graphql-tag/lib/index.js";
3
3
  import { useQuery as n } from "../../../node_modules/@apollo/client/react/hooks/useQuery.js";
4
4
  import { notify as r } from "../../lib/toast.js";
5
- import { useDeleteEventSessionMutation as i, useDeleteSpeakerMutation as a, useDeleteTicketTypeMutation as o, useEventQuery as s, useSpeakersQuery as c, useTicketTypesQuery as l, useVenuesQuery as u } from "../../api/eventApi.js";
6
- import { CHART_COLORS as d } from "../../components/EventCharts.js";
7
- import { formatDateTime as f } from "./eventFormUtils.js";
8
- import { ActionMenu as p } from "../../components/ActionMenu.js";
9
- import { Pagination as m, usePagination as h } from "../../components/Pagination.js";
10
- import { useMemo as g, useState as _ } from "react";
11
- import { useParams as v } from "react-router";
12
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
13
- import { ArrowLeft as S, CalendarClock as C, Clock as w, Edit as T, Eye as E, MapPin as D, Mic2 as O, Plus as k, Ticket as A, Users as j, Video as M } from "lucide-react";
14
- import { Badge as N, Button as P, GlassCard as F, IllustratedEmptyState as I, Skeleton as L, Tabs as R, TabsContent as z, TabsList as B, TabsTrigger as V } from "@burdenoff/fe-libs/ui";
5
+ import { useDeleteEventSessionMutation as i, useDeleteSpeakerMutation as a, useDeleteTicketTypeMutation as o, useEventQuery as s, useRegistrationsQuery as c, useSpeakersQuery as l, useTicketTypesQuery as u, useVenuesQuery as d } from "../../api/eventApi.js";
6
+ import { CHART_COLORS as f } from "../../components/EventCharts.js";
7
+ import { formatDateTime as p } from "./eventFormUtils.js";
8
+ import { ActionMenu as m } from "../../components/ActionMenu.js";
9
+ import { Pagination as h, usePagination as g } from "../../components/Pagination.js";
10
+ import { describeValidity as _ } from "../../lib/format.js";
11
+ import { useMemo as v, useState as y } from "react";
12
+ import { useParams as b } from "react-router";
13
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
14
+ import { ArrowLeft as w, CalendarClock as T, Clock as E, Edit as D, Eye as O, MapPin as k, Mic2 as A, Plus as j, Ticket as M, Users as N, Video as P } from "lucide-react";
15
+ import { Badge as F, Button as I, GlassCard as L, IllustratedEmptyState as R, Skeleton as z, Tabs as B, TabsContent as V, TabsList as H, TabsTrigger as U } from "@burdenoff/fe-libs/ui";
15
16
  //#region src/eventfullymanaged/pages/events/EventDetailPage.tsx
16
- function H(e) {
17
+ function W(e) {
17
18
  let t = e.toLowerCase();
18
19
  return [
19
20
  "active",
@@ -35,24 +36,24 @@ function H(e) {
35
36
  "scheduled"
36
37
  ].includes(t) ? "info" : "secondary";
37
38
  }
38
- function U(e, t) {
39
+ function G(e, t) {
39
40
  let n = new Date(e).getTime(), r = new Date(t).getTime();
40
41
  if (Number.isNaN(n) || Number.isNaN(r) || r <= n) return "";
41
42
  let i = Math.round((r - n) / 6e4), a = Math.floor(i / 60), o = i % 60;
42
43
  return a && o ? `${a}h ${o}m` : a ? `${a}h` : `${o}m`;
43
44
  }
44
- function W(e) {
45
+ function K(e) {
45
46
  let t = e < 12 ? "AM" : "PM";
46
47
  return `${e % 12 == 0 ? 12 : e % 12}:00 ${t}`;
47
48
  }
48
- function G(e) {
49
+ function q(e) {
49
50
  let t = new Date(e);
50
51
  return Number.isNaN(t.getTime()) ? "" : t.toLocaleTimeString(void 0, {
51
52
  hour: "numeric",
52
53
  minute: "2-digit"
53
54
  });
54
55
  }
55
- var K = t`
56
+ var J = t`
56
57
  query EventfullymanagedScheduleSessions($eventId: ID, $limit: Int, $offset: Int) {
57
58
  eventSessions: eventfullyManagedEventSessions(eventId: $eventId, limit: $limit, offset: $offset) {
58
59
  total
@@ -70,28 +71,28 @@ var K = t`
70
71
  }
71
72
  }
72
73
  }
73
- `, q = "General";
74
- function J(e) {
74
+ `, Y = "General";
75
+ function X(e) {
75
76
  let t = new Date(e);
76
77
  return Number.isNaN(t.getTime()) ? "unknown" : t.toISOString().slice(0, 10);
77
78
  }
78
- function Y({ session: e, color: t, speakerName: n, roomName: r, onEdit: i, onDelete: a }) {
79
- let o = U(e.startsAt, e.endsAt);
80
- return /* @__PURE__ */ x("div", {
79
+ function Z({ session: e, color: t, speakerName: n, roomName: r, onEdit: i, onDelete: a }) {
80
+ let o = G(e.startsAt, e.endsAt);
81
+ return /* @__PURE__ */ C("div", {
81
82
  className: "relative rounded-card border border-border-subtle p-3 shadow-elevation-1",
82
83
  style: {
83
84
  borderLeftWidth: "3px",
84
85
  borderLeftColor: t,
85
86
  background: `color-mix(in srgb, ${t} 8%, var(--color-bg-surface))`
86
87
  },
87
- children: [/* @__PURE__ */ x("div", {
88
+ children: [/* @__PURE__ */ C("div", {
88
89
  className: "flex items-start justify-between gap-2",
89
- children: [/* @__PURE__ */ b("p", {
90
+ children: [/* @__PURE__ */ S("p", {
90
91
  className: "min-w-0 pr-1 text-sm font-semibold leading-snug text-text-primary",
91
92
  children: e.title
92
- }), /* @__PURE__ */ b("div", {
93
+ }), /* @__PURE__ */ S("div", {
93
94
  className: "-mr-1 -mt-1 shrink-0",
94
- children: /* @__PURE__ */ b(p, {
95
+ children: /* @__PURE__ */ S(m, {
95
96
  ariaLabel: `Session actions for ${e.title}`,
96
97
  entityName: e.title,
97
98
  deleteLabel: "Delete session",
@@ -99,65 +100,65 @@ function Y({ session: e, color: t, speakerName: n, roomName: r, onEdit: i, onDel
99
100
  onDelete: a
100
101
  })
101
102
  })]
102
- }), /* @__PURE__ */ x("dl", {
103
+ }), /* @__PURE__ */ C("dl", {
103
104
  className: "mt-2 space-y-1 text-xs text-text-secondary",
104
105
  children: [
105
- /* @__PURE__ */ x("div", {
106
+ /* @__PURE__ */ C("div", {
106
107
  className: "flex items-center gap-1.5",
107
- children: [/* @__PURE__ */ b(O, { className: "h-3.5 w-3.5 shrink-0 text-text-muted" }), /* @__PURE__ */ b("span", {
108
+ children: [/* @__PURE__ */ S(A, { className: "h-3.5 w-3.5 shrink-0 text-text-muted" }), /* @__PURE__ */ S("span", {
108
109
  className: "truncate",
109
110
  children: n ?? "Speaker TBD"
110
111
  })]
111
112
  }),
112
- r ? /* @__PURE__ */ x("div", {
113
+ r ? /* @__PURE__ */ C("div", {
113
114
  className: "flex items-center gap-1.5",
114
- children: [/* @__PURE__ */ b(D, { className: "h-3.5 w-3.5 shrink-0 text-text-muted" }), /* @__PURE__ */ b("span", {
115
+ children: [/* @__PURE__ */ S(k, { className: "h-3.5 w-3.5 shrink-0 text-text-muted" }), /* @__PURE__ */ S("span", {
115
116
  className: "truncate",
116
117
  children: r
117
118
  })]
118
119
  }) : null,
119
- /* @__PURE__ */ x("div", {
120
+ /* @__PURE__ */ C("div", {
120
121
  className: "flex items-center gap-1.5",
121
- children: [/* @__PURE__ */ b(w, { className: "h-3.5 w-3.5 shrink-0 text-text-muted" }), /* @__PURE__ */ x("span", { children: [G(e.startsAt), o ? ` · ${o}` : ""] })]
122
+ children: [/* @__PURE__ */ S(E, { className: "h-3.5 w-3.5 shrink-0 text-text-muted" }), /* @__PURE__ */ C("span", { children: [q(e.startsAt), o ? ` · ${o}` : ""] })]
122
123
  })
123
124
  ]
124
125
  })]
125
126
  });
126
127
  }
127
- function X({ eventId: t }) {
128
- let { navigate: a } = e(), o = h(), { data: s, loading: l, refetch: f } = n(K, { variables: {
128
+ function Q({ eventId: t }) {
129
+ let { navigate: a } = e(), o = g(), { data: s, loading: c, refetch: u } = n(J, { variables: {
129
130
  eventId: t,
130
131
  limit: o.limit,
131
132
  offset: o.offset
132
- } }), { data: p } = u({
133
+ } }), { data: p } = d({
133
134
  limit: 100,
134
135
  offset: 0
135
- }), { data: _ } = c({
136
+ }), { data: m } = l({
136
137
  limit: 100,
137
138
  offset: 0
138
- }), [v] = i(), y = s?.eventSessions?.total ?? 0, S = g(() => s?.eventSessions?.items ?? [], [s]), C = g(() => {
139
+ }), [_] = i(), y = s?.eventSessions?.total ?? 0, b = v(() => s?.eventSessions?.items ?? [], [s]), x = v(() => {
139
140
  let e = /* @__PURE__ */ new Map();
140
141
  for (let t of p?.venues?.items ?? []) e.set(t.id, t.name);
141
142
  return e;
142
- }, [p]), w = g(() => {
143
+ }, [p]), w = v(() => {
143
144
  let e = /* @__PURE__ */ new Map();
144
- for (let t of _?.speakers?.items ?? []) e.set(t.id, t.fullName);
145
+ for (let t of m?.speakers?.items ?? []) e.set(t.id, t.fullName);
145
146
  return e;
146
- }, [_]), T = g(() => {
147
+ }, [m]), T = v(() => {
147
148
  let e = /* @__PURE__ */ new Map(), t = 0;
148
- for (let n of S) {
149
- let r = n.track?.trim() || q;
150
- e.has(r) || (e.set(r, d[t % d.length]), t += 1);
149
+ for (let n of b) {
150
+ let r = n.track?.trim() || Y;
151
+ e.has(r) || (e.set(r, f[t % f.length]), t += 1);
151
152
  }
152
153
  return e;
153
- }, [S]), E = g(() => {
154
+ }, [b]), E = v(() => {
154
155
  let e = /* @__PURE__ */ new Map();
155
- for (let t of [...S].sort((e, t) => new Date(e.startsAt).getTime() - new Date(t.startsAt).getTime())) {
156
- let n = J(t.startsAt), r = e.get(n) ?? [];
156
+ for (let t of [...b].sort((e, t) => new Date(e.startsAt).getTime() - new Date(t.startsAt).getTime())) {
157
+ let n = X(t.startsAt), r = e.get(n) ?? [];
157
158
  r.push(t), e.set(n, r);
158
159
  }
159
160
  return Array.from(e.entries()).map(([e, t]) => {
160
- let n = Array.from(new Set(t.map((e) => e.track?.trim() || q))), r = t.map((e) => new Date(e.startsAt).getHours()).filter((e) => !Number.isNaN(e)), i = r.length ? Math.min(...r) : 9, a = r.length ? Math.max(...r) : 17, o = [];
161
+ let n = Array.from(new Set(t.map((e) => e.track?.trim() || Y))), r = t.map((e) => new Date(e.startsAt).getHours()).filter((e) => !Number.isNaN(e)), i = r.length ? Math.min(...r) : 9, a = r.length ? Math.max(...r) : 17, o = [];
161
162
  for (let e = i; e <= a; e += 1) o.push(e);
162
163
  return {
163
164
  key: e,
@@ -166,50 +167,50 @@ function X({ eventId: t }) {
166
167
  hourRange: o
167
168
  };
168
169
  });
169
- }, [S]), D = async (e) => {
170
- let t = await v({ variables: { id: e.id } });
170
+ }, [b]), D = async (e) => {
171
+ let t = await _({ variables: { id: e.id } });
171
172
  if (t.error) throw r.error("Could not delete session", t.error.message), t.error;
172
173
  if (!t.data?.deleteEventSession) throw r.error("Could not delete session", "The server did not confirm the change."), Error("delete-unconfirmed");
173
- r.success("Session deleted", e.title), await f();
174
+ r.success("Session deleted", e.title), await u();
174
175
  }, O = (e) => {
175
176
  let t = e.metadata ?? {}, n = typeof t.speakerId == "string" ? t.speakerId : "";
176
177
  return n ? w.get(n) : void 0;
177
- }, A = (e) => e.venueId ? C.get(e.venueId) : void 0;
178
- return /* @__PURE__ */ x("div", {
178
+ }, k = (e) => e.venueId ? x.get(e.venueId) : void 0;
179
+ return /* @__PURE__ */ C("div", {
179
180
  className: "space-y-5",
180
181
  children: [
181
- /* @__PURE__ */ x("div", {
182
+ /* @__PURE__ */ C("div", {
182
183
  className: "flex items-center justify-between gap-3",
183
- children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h2", {
184
+ children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h2", {
184
185
  className: "text-lg font-semibold text-text-primary",
185
186
  children: "Agenda & Sessions"
186
- }), /* @__PURE__ */ b("p", {
187
+ }), /* @__PURE__ */ S("p", {
187
188
  className: "text-sm text-text-secondary",
188
189
  children: "A multi-track schedule of everything happening on the day."
189
- })] }), /* @__PURE__ */ x(P, {
190
+ })] }), /* @__PURE__ */ C(I, {
190
191
  type: "button",
191
192
  size: "sm",
192
193
  onClick: () => a(`/events/${t}/sessions/create`),
193
- children: [/* @__PURE__ */ b(k, { className: "h-4 w-4" }), "New Session"]
194
+ children: [/* @__PURE__ */ S(j, { className: "h-4 w-4" }), "New Session"]
194
195
  })]
195
196
  }),
196
- l ? /* @__PURE__ */ b(L, { className: "h-64 w-full rounded-card" }) : S.length === 0 ? /* @__PURE__ */ b(I, {
197
+ c ? /* @__PURE__ */ S(z, { className: "h-64 w-full rounded-card" }) : b.length === 0 ? /* @__PURE__ */ S(R, {
197
198
  illustration: "empty-data",
198
199
  title: "No sessions yet.",
199
200
  description: "Build the agenda by adding your first session.",
200
- action: /* @__PURE__ */ x(P, {
201
+ action: /* @__PURE__ */ C(I, {
201
202
  type: "button",
202
203
  size: "sm",
203
204
  onClick: () => a(`/events/${t}/sessions/create`),
204
- children: [/* @__PURE__ */ b(k, { className: "h-4 w-4" }), "New Session"]
205
+ children: [/* @__PURE__ */ S(j, { className: "h-4 w-4" }), "New Session"]
205
206
  }),
206
207
  className: "py-10"
207
- }) : /* @__PURE__ */ b("div", {
208
+ }) : /* @__PURE__ */ S("div", {
208
209
  className: "space-y-8",
209
- children: E.map((e) => /* @__PURE__ */ x("section", {
210
+ children: E.map((e) => /* @__PURE__ */ C("section", {
210
211
  className: "space-y-3",
211
212
  children: [
212
- /* @__PURE__ */ b("h3", {
213
+ /* @__PURE__ */ S("h3", {
213
214
  className: "text-sm font-semibold text-text-primary",
214
215
  children: (/* @__PURE__ */ new Date(`${e.key}T00:00:00`)).toLocaleDateString(void 0, {
215
216
  weekday: "long",
@@ -217,36 +218,36 @@ function X({ eventId: t }) {
217
218
  day: "numeric"
218
219
  })
219
220
  }),
220
- /* @__PURE__ */ b("div", {
221
+ /* @__PURE__ */ S("div", {
221
222
  className: "hidden overflow-x-auto rounded-card border border-border-seam md:block",
222
- children: /* @__PURE__ */ x("div", {
223
+ children: /* @__PURE__ */ C("div", {
223
224
  className: "grid min-w-max",
224
225
  style: { gridTemplateColumns: `88px repeat(${e.tracks.length}, minmax(200px, 1fr))` },
225
226
  children: [
226
- /* @__PURE__ */ b("div", { className: "sticky left-0 z-10 border-b border-border-seam bg-bg-sunken px-3 py-2.5" }),
227
- e.tracks.map((e) => /* @__PURE__ */ b("div", {
227
+ /* @__PURE__ */ S("div", { className: "sticky left-0 z-10 border-b border-border-seam bg-bg-sunken px-3 py-2.5" }),
228
+ e.tracks.map((e) => /* @__PURE__ */ S("div", {
228
229
  className: "border-b border-l border-border-seam bg-bg-sunken px-3 py-2.5 text-center text-sm font-semibold text-text-primary",
229
- children: /* @__PURE__ */ x("span", {
230
+ children: /* @__PURE__ */ C("span", {
230
231
  className: "inline-flex items-center gap-2",
231
- children: [/* @__PURE__ */ b("span", {
232
+ children: [/* @__PURE__ */ S("span", {
232
233
  className: "h-2 w-2 rounded-full",
233
234
  style: { background: T.get(e) },
234
235
  "aria-hidden": "true"
235
236
  }), e]
236
237
  })
237
238
  }, e)),
238
- e.hourRange.map((n) => /* @__PURE__ */ x("div", {
239
+ e.hourRange.map((n) => /* @__PURE__ */ C("div", {
239
240
  className: "contents",
240
- children: [/* @__PURE__ */ b("div", {
241
+ children: [/* @__PURE__ */ S("div", {
241
242
  className: "sticky left-0 z-10 border-b border-border-subtle bg-bg-surface px-3 py-3 text-xs font-medium text-text-muted",
242
- children: W(n)
243
- }), e.tracks.map((r) => /* @__PURE__ */ b("div", {
243
+ children: K(n)
244
+ }), e.tracks.map((r) => /* @__PURE__ */ S("div", {
244
245
  className: "space-y-2 border-b border-l border-border-subtle p-2 align-top",
245
- children: e.sessions.filter((e) => (e.track?.trim() || q) === r && new Date(e.startsAt).getHours() === n).map((e) => /* @__PURE__ */ b(Y, {
246
+ children: e.sessions.filter((e) => (e.track?.trim() || Y) === r && new Date(e.startsAt).getHours() === n).map((e) => /* @__PURE__ */ S(Z, {
246
247
  session: e,
247
- color: T.get(r) ?? d[0],
248
+ color: T.get(r) ?? f[0],
248
249
  speakerName: O(e),
249
- roomName: A(e),
250
+ roomName: k(e),
250
251
  onEdit: () => a(`/events/${t}/sessions/${e.id}/edit`),
251
252
  onDelete: () => D(e)
252
253
  }, e.id))
@@ -255,15 +256,15 @@ function X({ eventId: t }) {
255
256
  ]
256
257
  })
257
258
  }),
258
- /* @__PURE__ */ b("ul", {
259
+ /* @__PURE__ */ S("ul", {
259
260
  className: "space-y-2.5 md:hidden",
260
261
  children: e.sessions.map((e) => {
261
- let n = e.track?.trim() || q;
262
- return /* @__PURE__ */ b("li", { children: /* @__PURE__ */ b(Y, {
262
+ let n = e.track?.trim() || Y;
263
+ return /* @__PURE__ */ S("li", { children: /* @__PURE__ */ S(Z, {
263
264
  session: e,
264
- color: T.get(n) ?? d[0],
265
+ color: T.get(n) ?? f[0],
265
266
  speakerName: O(e),
266
- roomName: A(e) ?? n,
267
+ roomName: k(e) ?? n,
267
268
  onEdit: () => a(`/events/${t}/sessions/${e.id}/edit`),
268
269
  onDelete: () => D(e)
269
270
  }) }, e.id);
@@ -272,80 +273,80 @@ function X({ eventId: t }) {
272
273
  ]
273
274
  }, e.key))
274
275
  }),
275
- /* @__PURE__ */ b(m, {
276
+ /* @__PURE__ */ S(h, {
276
277
  offset: o.offset,
277
278
  limit: o.limit,
278
- loadedCount: S.length,
279
+ loadedCount: b.length,
279
280
  total: y,
280
281
  onPrev: o.prevPage,
281
282
  onNext: o.nextPage,
282
283
  itemLabel: "sessions",
283
- loading: l
284
+ loading: c
284
285
  })
285
286
  ]
286
287
  });
287
288
  }
288
- function Z() {
289
- let { navigate: t } = e(), n = h(), { data: i, loading: o, refetch: s } = c({
289
+ function ee() {
290
+ let { navigate: t } = e(), n = g(), { data: i, loading: o, refetch: s } = l({
290
291
  limit: n.limit,
291
292
  offset: n.offset
292
- }), [l] = a(), u = i?.speakers?.total ?? 0, d = i?.speakers?.items ?? [], f = async (e) => {
293
- let t = await l({ variables: { id: e.id } });
293
+ }), [c] = a(), u = i?.speakers?.total ?? 0, d = i?.speakers?.items ?? [], f = async (e) => {
294
+ let t = await c({ variables: { id: e.id } });
294
295
  if (t.error) throw r.error("Could not delete speaker", t.error.message), t.error;
295
296
  if (!t.data?.deleteSpeaker) throw r.error("Could not delete speaker", "The server did not confirm the change."), Error("delete-unconfirmed");
296
297
  r.success("Speaker deleted", e.fullName), await s();
297
298
  };
298
- return /* @__PURE__ */ x("div", {
299
+ return /* @__PURE__ */ C("div", {
299
300
  className: "space-y-4",
300
301
  children: [
301
- /* @__PURE__ */ x("div", {
302
+ /* @__PURE__ */ C("div", {
302
303
  className: "flex items-center justify-between gap-3",
303
- children: [/* @__PURE__ */ b("h2", {
304
+ children: [/* @__PURE__ */ S("h2", {
304
305
  className: "text-lg font-semibold text-text-primary",
305
306
  children: "Speakers"
306
- }), /* @__PURE__ */ x("div", {
307
+ }), /* @__PURE__ */ C("div", {
307
308
  className: "flex items-center gap-2",
308
- children: [/* @__PURE__ */ b(P, {
309
+ children: [/* @__PURE__ */ S(I, {
309
310
  type: "button",
310
311
  variant: "outline",
311
312
  size: "sm",
312
313
  onClick: () => t("/speakers"),
313
314
  children: "Manage speakers"
314
- }), /* @__PURE__ */ x(P, {
315
+ }), /* @__PURE__ */ C(I, {
315
316
  type: "button",
316
317
  size: "sm",
317
318
  onClick: () => t("/speakers/create"),
318
- children: [/* @__PURE__ */ b(k, { className: "h-4 w-4" }), "New Speaker"]
319
+ children: [/* @__PURE__ */ S(j, { className: "h-4 w-4" }), "New Speaker"]
319
320
  })]
320
321
  })]
321
322
  }),
322
- o ? /* @__PURE__ */ b(L, { className: "h-40 w-full rounded-card" }) : d.length === 0 ? /* @__PURE__ */ b(I, {
323
+ o ? /* @__PURE__ */ S(z, { className: "h-40 w-full rounded-card" }) : d.length === 0 ? /* @__PURE__ */ S(R, {
323
324
  illustration: "empty-people",
324
325
  title: "No speakers yet.",
325
326
  description: "Add speakers so you can assign them to sessions.",
326
327
  className: "py-8"
327
- }) : /* @__PURE__ */ b("ul", {
328
+ }) : /* @__PURE__ */ S("ul", {
328
329
  className: "grid grid-cols-1 gap-2.5 sm:grid-cols-2",
329
- children: d.map((e) => /* @__PURE__ */ b("li", {
330
+ children: d.map((e) => /* @__PURE__ */ S("li", {
330
331
  className: "rounded-card border border-border-seam bg-bg-surface p-3 transition-[box-shadow,border-color] duration-200 hover:border-border-strong hover:shadow-elevation-1",
331
- children: /* @__PURE__ */ x("div", {
332
+ children: /* @__PURE__ */ C("div", {
332
333
  className: "flex items-center justify-between gap-3",
333
- children: [/* @__PURE__ */ x("div", {
334
+ children: [/* @__PURE__ */ C("div", {
334
335
  className: "flex min-w-0 items-center gap-3",
335
- children: [/* @__PURE__ */ b("span", {
336
+ children: [/* @__PURE__ */ S("span", {
336
337
  className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-accent-wash text-sm font-semibold text-action-primary-bg",
337
338
  children: e.fullName.slice(0, 1).toUpperCase()
338
- }), /* @__PURE__ */ x("div", {
339
+ }), /* @__PURE__ */ C("div", {
339
340
  className: "min-w-0",
340
- children: [/* @__PURE__ */ b("p", {
341
+ children: [/* @__PURE__ */ S("p", {
341
342
  className: "truncate font-medium text-text-primary",
342
343
  children: e.fullName
343
- }), /* @__PURE__ */ b("p", {
344
+ }), /* @__PURE__ */ S("p", {
344
345
  className: "mt-0.5 truncate text-sm text-text-secondary",
345
346
  children: [e.title, e.organization].filter(Boolean).join(" • ") || "Speaker"
346
347
  })]
347
348
  })]
348
- }), /* @__PURE__ */ b(p, {
349
+ }), /* @__PURE__ */ S(m, {
349
350
  ariaLabel: `Speaker actions for ${e.fullName}`,
350
351
  entityName: e.fullName,
351
352
  deleteLabel: "Delete speaker",
@@ -355,7 +356,7 @@ function Z() {
355
356
  })
356
357
  }, e.id))
357
358
  }),
358
- /* @__PURE__ */ b(m, {
359
+ /* @__PURE__ */ S(h, {
359
360
  offset: n.offset,
360
361
  limit: n.limit,
361
362
  loadedCount: d.length,
@@ -368,100 +369,113 @@ function Z() {
368
369
  ]
369
370
  });
370
371
  }
371
- function Q({ eventId: t }) {
372
- let { navigate: n } = e(), i = h(), { data: a, loading: s, refetch: c } = l({
372
+ function te({ eventId: t }) {
373
+ let { navigate: n } = e(), i = g(), { data: a, loading: s, refetch: c } = u({
373
374
  eventId: t,
374
375
  limit: i.limit,
375
376
  offset: i.offset
376
- }), [u] = o(), d = a?.ticketTypes?.total ?? 0, f = a?.ticketTypes?.items ?? [], g = async (e) => {
377
- let t = await u({ variables: { id: e.id } });
377
+ }), [l] = o(), d = a?.ticketTypes?.total ?? 0, f = a?.ticketTypes?.items ?? [], p = async (e) => {
378
+ let t = await l({ variables: { id: e.id } });
378
379
  if (t.error) throw r.error("Could not delete ticket type", t.error.message), t.error;
379
380
  if (!t.data?.deleteTicketType) throw r.error("Could not delete ticket type", "The server did not confirm the change."), Error("delete-unconfirmed");
380
381
  r.success("Ticket type deleted"), await c();
381
382
  };
382
- return /* @__PURE__ */ x("div", {
383
+ return /* @__PURE__ */ C("div", {
383
384
  className: "space-y-4",
384
385
  children: [
385
- /* @__PURE__ */ x("div", {
386
+ /* @__PURE__ */ C("div", {
386
387
  className: "flex items-center justify-between gap-3",
387
- children: [/* @__PURE__ */ b("h2", {
388
+ children: [/* @__PURE__ */ S("h2", {
388
389
  className: "text-lg font-semibold text-text-primary",
389
390
  children: "Ticket Types"
390
- }), /* @__PURE__ */ x(P, {
391
+ }), /* @__PURE__ */ C(I, {
391
392
  type: "button",
392
393
  size: "sm",
393
394
  onClick: () => n(`/events/${t}/tickets/create`),
394
- children: [/* @__PURE__ */ b(k, { className: "h-4 w-4" }), "New Ticket Type"]
395
+ children: [/* @__PURE__ */ S(j, { className: "h-4 w-4" }), "New Ticket Type"]
395
396
  })]
396
397
  }),
397
- s ? /* @__PURE__ */ b(L, { className: "h-40 w-full rounded-card" }) : f.length === 0 ? /* @__PURE__ */ b(I, {
398
+ s ? /* @__PURE__ */ S(z, { className: "h-40 w-full rounded-card" }) : f.length === 0 ? /* @__PURE__ */ S(R, {
398
399
  illustration: "empty-data",
399
400
  title: "No ticket types yet.",
400
401
  description: "Add a ticket type so attendees can register.",
401
402
  className: "py-8"
402
- }) : /* @__PURE__ */ b("ul", {
403
+ }) : /* @__PURE__ */ S("ul", {
403
404
  className: "space-y-3",
404
405
  children: f.map((e) => {
405
406
  let r = e.capacity != null && e.capacity > 0, i = r ? Math.min(100, Math.round(e.soldCount / e.capacity * 100)) : 0, a = i >= 90;
406
- return /* @__PURE__ */ x("li", {
407
+ return /* @__PURE__ */ C("li", {
407
408
  className: "rounded-card border border-border-seam bg-bg-surface p-4 transition-[box-shadow,border-color] duration-200 hover:border-border-strong hover:shadow-elevation-1",
408
- children: [/* @__PURE__ */ x("div", {
409
+ children: [/* @__PURE__ */ C("div", {
409
410
  className: "flex items-start justify-between gap-3",
410
- children: [/* @__PURE__ */ x("div", {
411
+ children: [/* @__PURE__ */ C("div", {
411
412
  className: "min-w-0",
412
- children: [/* @__PURE__ */ b("p", {
413
- className: "truncate font-medium text-text-primary",
414
- children: e.name
415
- }), /* @__PURE__ */ x("p", {
416
- className: "mt-0.5 text-sm text-text-secondary",
417
- children: [
418
- e.price,
419
- " ",
420
- e.currency
421
- ]
422
- })]
423
- }), /* @__PURE__ */ x("div", {
413
+ children: [
414
+ /* @__PURE__ */ S("p", {
415
+ className: "truncate font-medium text-text-primary",
416
+ children: e.name
417
+ }),
418
+ /* @__PURE__ */ C("p", {
419
+ className: "mt-0.5 text-sm text-text-secondary",
420
+ children: [
421
+ e.price,
422
+ " ",
423
+ e.currency
424
+ ]
425
+ }),
426
+ /* @__PURE__ */ C("p", {
427
+ className: "mt-1 flex items-center gap-1.5 text-xs text-text-muted",
428
+ children: [/* @__PURE__ */ S(T, {
429
+ className: "h-3.5 w-3.5 shrink-0",
430
+ "aria-hidden": "true"
431
+ }), /* @__PURE__ */ C("span", {
432
+ className: "truncate",
433
+ children: ["Sales window · ", _(e.salesStartAt ?? "", e.salesEndAt ?? "")]
434
+ })]
435
+ })
436
+ ]
437
+ }), /* @__PURE__ */ C("div", {
424
438
  className: "flex shrink-0 items-center gap-2",
425
- children: [/* @__PURE__ */ b(N, {
439
+ children: [/* @__PURE__ */ S(F, {
426
440
  variant: e.isActive ? "success" : "warning",
427
441
  className: "uppercase",
428
442
  children: e.isActive ? "Active" : "Inactive"
429
- }), /* @__PURE__ */ b(p, {
443
+ }), /* @__PURE__ */ S(m, {
430
444
  ariaLabel: `Ticket actions for ${e.name}`,
431
445
  entityName: e.name,
432
446
  deleteLabel: "Delete ticket type",
433
447
  onEdit: () => n(`/events/${t}/tickets/${e.id}/edit`),
434
- onDelete: () => g(e)
448
+ onDelete: () => p(e)
435
449
  })]
436
450
  })]
437
- }), /* @__PURE__ */ x("div", {
451
+ }), /* @__PURE__ */ C("div", {
438
452
  className: "mt-3",
439
- children: [/* @__PURE__ */ x("div", {
453
+ children: [/* @__PURE__ */ C("div", {
440
454
  className: "flex items-center justify-between text-xs text-text-secondary",
441
- children: [/* @__PURE__ */ x("span", { children: [
442
- /* @__PURE__ */ b("span", {
455
+ children: [/* @__PURE__ */ C("span", { children: [
456
+ /* @__PURE__ */ S("span", {
443
457
  className: "font-medium tabular-nums text-text-primary",
444
458
  children: e.soldCount.toLocaleString()
445
459
  }),
446
460
  " ",
447
461
  "sold",
448
- r ? /* @__PURE__ */ x(y, { children: [
462
+ r ? /* @__PURE__ */ C(x, { children: [
449
463
  " / ",
450
464
  e.capacity.toLocaleString(),
451
465
  " capacity"
452
466
  ] }) : " • unlimited capacity"
453
- ] }), r ? /* @__PURE__ */ x("span", {
467
+ ] }), r ? /* @__PURE__ */ C("span", {
454
468
  className: a ? "font-medium text-text-primary" : "",
455
469
  children: [i, "%"]
456
470
  }) : null]
457
- }), r ? /* @__PURE__ */ b("div", {
471
+ }), r ? /* @__PURE__ */ S("div", {
458
472
  className: "mt-1.5 h-2 overflow-hidden rounded-full bg-bg-sunken",
459
473
  role: "progressbar",
460
474
  "aria-valuenow": i,
461
475
  "aria-valuemin": 0,
462
476
  "aria-valuemax": 100,
463
477
  "aria-label": `${e.name} sold`,
464
- children: /* @__PURE__ */ b("div", {
478
+ children: /* @__PURE__ */ S("div", {
465
479
  className: "h-full rounded-full transition-[width] duration-500",
466
480
  style: {
467
481
  width: `${i}%`,
@@ -473,7 +487,7 @@ function Q({ eventId: t }) {
473
487
  }, e.id);
474
488
  })
475
489
  }),
476
- /* @__PURE__ */ b(m, {
490
+ /* @__PURE__ */ S(h, {
477
491
  offset: i.offset,
478
492
  limit: i.limit,
479
493
  loadedCount: f.length,
@@ -487,332 +501,343 @@ function Q({ eventId: t }) {
487
501
  });
488
502
  }
489
503
  function $({ label: e, value: t, icon: n }) {
490
- return /* @__PURE__ */ x(F, {
504
+ return /* @__PURE__ */ C(L, {
491
505
  treatment: "metric",
492
506
  className: "p-4",
493
507
  children: [
494
- /* @__PURE__ */ b("span", {
508
+ /* @__PURE__ */ S("span", {
495
509
  className: "flex h-8 w-8 items-center justify-center rounded-button bg-accent-wash text-action-primary-bg",
496
- children: /* @__PURE__ */ b(n, { className: "h-4 w-4" })
510
+ children: /* @__PURE__ */ S(n, { className: "h-4 w-4" })
497
511
  }),
498
- /* @__PURE__ */ b("div", {
512
+ /* @__PURE__ */ S("div", {
499
513
  className: "mt-2.5 text-xl font-semibold tabular-nums text-text-primary",
500
514
  children: t
501
515
  }),
502
- /* @__PURE__ */ b("div", {
516
+ /* @__PURE__ */ S("div", {
503
517
  className: "mt-0.5 text-xs text-text-muted",
504
518
  children: e
505
519
  })
506
520
  ]
507
521
  });
508
522
  }
509
- function ee() {
510
- let { id: t = "" } = v(), { navigate: r } = e(), { data: i, loading: a } = s(t), { data: o } = n(K, {
523
+ function ne() {
524
+ let { id: t = "" } = b(), { navigate: r } = e(), { data: i, loading: a } = s(t), { data: o } = n(J, {
511
525
  variables: {
512
526
  eventId: t,
513
527
  limit: 200
514
528
  },
515
529
  skip: !t
516
- }), { data: c } = l({
530
+ }), { data: l } = u({
517
531
  eventId: t,
518
532
  limit: 100,
519
533
  offset: 0
520
- }), { data: d } = u({
534
+ }), { data: f } = d({
521
535
  limit: 100,
522
536
  offset: 0
523
- }), [p, m] = _("overview"), h = i?.event ?? null, y = g(() => {
524
- let e = h?.metadata ?? {};
537
+ }), { data: m } = c({
538
+ eventId: t,
539
+ limit: 1,
540
+ offset: 0
541
+ }), [h, g] = y("overview"), _ = i?.event ?? null, x = v(() => {
542
+ let e = _?.metadata ?? {};
525
543
  return typeof e.venueId == "string" ? e.venueId : "";
526
- }, [h]), w = g(() => y ? d?.venues?.items?.find((e) => e.id === y)?.name : void 0, [y, d]), O = o?.eventSessions?.total ?? 0, k = g(() => (c?.ticketTypes?.items ?? []).reduce((e, t) => e + (t.soldCount ?? 0), 0), [c]);
527
- return a ? /* @__PURE__ */ x("div", {
544
+ }, [_]), E = v(() => x ? f?.venues?.items?.find((e) => e.id === x)?.name : void 0, [x, f]), A = o?.eventSessions?.total ?? 0, j = m?.registrations?.total ?? 0, G = v(() => (l?.ticketTypes?.items ?? []).reduce((e, t) => e + (t.soldCount ?? 0), 0), [l]);
545
+ return a ? /* @__PURE__ */ C("div", {
528
546
  className: "space-y-4 p-6",
529
547
  children: [
530
- /* @__PURE__ */ b(L, { className: "h-8 w-40" }),
531
- /* @__PURE__ */ b(L, { className: "h-24 w-full rounded-card" }),
532
- /* @__PURE__ */ b(L, { className: "h-64 w-full rounded-card" })
548
+ /* @__PURE__ */ S(z, { className: "h-8 w-40" }),
549
+ /* @__PURE__ */ S(z, { className: "h-24 w-full rounded-card" }),
550
+ /* @__PURE__ */ S(z, { className: "h-64 w-full rounded-card" })
533
551
  ]
534
- }) : h ? /* @__PURE__ */ x("div", {
552
+ }) : _ ? /* @__PURE__ */ C("div", {
535
553
  className: "space-y-6 p-6",
536
554
  children: [
537
- /* @__PURE__ */ x("div", {
555
+ /* @__PURE__ */ C("div", {
538
556
  className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
539
- children: [/* @__PURE__ */ x("div", {
557
+ children: [/* @__PURE__ */ C("div", {
540
558
  className: "space-y-3",
541
- children: [/* @__PURE__ */ x(P, {
559
+ children: [/* @__PURE__ */ C(I, {
542
560
  type: "button",
543
561
  variant: "ghost",
544
562
  size: "sm",
545
563
  onClick: () => r("/events"),
546
- children: [/* @__PURE__ */ b(S, { className: "h-4 w-4" }), "Back to Events"]
547
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
564
+ children: [/* @__PURE__ */ S(w, { className: "h-4 w-4" }), "Back to Events"]
565
+ }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
548
566
  className: "flex flex-wrap items-center gap-3",
549
- children: [/* @__PURE__ */ b("h1", {
567
+ children: [/* @__PURE__ */ S("h1", {
550
568
  className: "text-2xl font-bold text-text-primary",
551
- children: h.name
552
- }), /* @__PURE__ */ b(N, {
553
- variant: H(h.status),
569
+ children: _.name
570
+ }), /* @__PURE__ */ S(F, {
571
+ variant: W(_.status),
554
572
  className: "uppercase",
555
- children: h.status
573
+ children: _.status
556
574
  })]
557
- }), /* @__PURE__ */ x("p", {
575
+ }), /* @__PURE__ */ C("p", {
558
576
  className: "mt-1 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-text-secondary",
559
- children: [/* @__PURE__ */ x("span", {
577
+ children: [/* @__PURE__ */ C("span", {
560
578
  className: "flex items-center gap-1.5",
561
579
  children: [
562
- /* @__PURE__ */ b(C, { className: "h-4 w-4 text-text-muted" }),
563
- f(h.startAt),
580
+ /* @__PURE__ */ S(T, { className: "h-4 w-4 text-text-muted" }),
581
+ p(_.startAt),
564
582
  " — ",
565
- f(h.endAt)
583
+ p(_.endAt)
566
584
  ]
567
- }), w ? /* @__PURE__ */ x("span", {
585
+ }), E ? /* @__PURE__ */ C("span", {
568
586
  className: "flex items-center gap-1.5",
569
- children: [/* @__PURE__ */ b(D, { className: "h-4 w-4 text-text-muted" }), w]
587
+ children: [/* @__PURE__ */ S(k, { className: "h-4 w-4 text-text-muted" }), E]
570
588
  }) : null]
571
589
  })] })]
572
- }), /* @__PURE__ */ x("div", {
590
+ }), /* @__PURE__ */ C("div", {
573
591
  className: "flex flex-wrap gap-2",
574
- children: [h.type === "VIRTUAL" || h.type === "HYBRID" ? /* @__PURE__ */ x(P, {
592
+ children: [_.type === "VIRTUAL" || _.type === "HYBRID" ? /* @__PURE__ */ C(I, {
575
593
  type: "button",
576
594
  variant: "outline",
577
595
  onClick: () => r(`/events/${t}/virtual`),
578
- children: [/* @__PURE__ */ b(M, { className: "h-4 w-4" }), "Virtual Session"]
579
- }) : null, /* @__PURE__ */ x(P, {
596
+ children: [/* @__PURE__ */ S(P, { className: "h-4 w-4" }), "Virtual Session"]
597
+ }) : null, /* @__PURE__ */ C(I, {
580
598
  type: "button",
581
599
  onClick: () => r(`/events/${t}/edit`),
582
- children: [/* @__PURE__ */ b(T, { className: "h-4 w-4" }), "Edit Event"]
600
+ children: [/* @__PURE__ */ S(D, { className: "h-4 w-4" }), "Edit Event"]
583
601
  })]
584
602
  })]
585
603
  }),
586
- /* @__PURE__ */ x("div", {
604
+ /* @__PURE__ */ C("div", {
587
605
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
588
606
  children: [
589
- /* @__PURE__ */ b($, {
607
+ /* @__PURE__ */ S($, {
590
608
  label: "Capacity",
591
- value: (h.capacity ?? 0).toLocaleString(),
592
- icon: j
609
+ value: (_.capacity ?? 0).toLocaleString(),
610
+ icon: N
593
611
  }),
594
- /* @__PURE__ */ b($, {
612
+ /* @__PURE__ */ S($, {
595
613
  label: "Sessions",
596
- value: O.toLocaleString(),
597
- icon: C
614
+ value: A.toLocaleString(),
615
+ icon: T
598
616
  }),
599
- /* @__PURE__ */ b($, {
617
+ /* @__PURE__ */ S($, {
600
618
  label: "Ticket types",
601
- value: (c?.ticketTypes?.total ?? 0).toLocaleString(),
602
- icon: A
619
+ value: (l?.ticketTypes?.total ?? 0).toLocaleString(),
620
+ icon: M
603
621
  }),
604
- /* @__PURE__ */ b($, {
622
+ /* @__PURE__ */ S($, {
605
623
  label: "Tickets sold",
606
- value: k.toLocaleString(),
607
- icon: E
624
+ value: G.toLocaleString(),
625
+ icon: O
608
626
  })
609
627
  ]
610
628
  }),
611
- /* @__PURE__ */ x(R, {
612
- value: p,
613
- onValueChange: m,
629
+ /* @__PURE__ */ C(B, {
630
+ value: h,
631
+ onValueChange: g,
614
632
  children: [
615
- /* @__PURE__ */ x(B, { children: [
616
- /* @__PURE__ */ b(V, {
633
+ /* @__PURE__ */ C(H, { children: [
634
+ /* @__PURE__ */ S(U, {
617
635
  value: "overview",
618
636
  children: "Overview"
619
637
  }),
620
- /* @__PURE__ */ b(V, {
638
+ /* @__PURE__ */ S(U, {
621
639
  value: "sessions",
622
640
  children: "Sessions"
623
641
  }),
624
- /* @__PURE__ */ b(V, {
642
+ /* @__PURE__ */ S(U, {
625
643
  value: "speakers",
626
644
  children: "Speakers"
627
645
  }),
628
- /* @__PURE__ */ b(V, {
646
+ /* @__PURE__ */ S(U, {
629
647
  value: "tickets",
630
648
  children: "Tickets"
631
649
  })
632
650
  ] }),
633
- /* @__PURE__ */ b(z, {
651
+ /* @__PURE__ */ S(V, {
634
652
  value: "overview",
635
653
  className: "mt-4",
636
- children: /* @__PURE__ */ x("div", {
654
+ children: /* @__PURE__ */ C("div", {
637
655
  className: "grid grid-cols-1 gap-4 lg:grid-cols-3",
638
- children: [/* @__PURE__ */ x(F, {
656
+ children: [/* @__PURE__ */ C(L, {
639
657
  treatment: "plain",
640
658
  className: "border-border-seam p-5 lg:col-span-2",
641
659
  children: [
642
- /* @__PURE__ */ b("h2", {
660
+ /* @__PURE__ */ S("h2", {
643
661
  className: "text-lg font-semibold text-text-primary",
644
662
  children: "Event Details"
645
663
  }),
646
- /* @__PURE__ */ x("dl", {
664
+ /* @__PURE__ */ C("dl", {
647
665
  className: "mt-4 space-y-4 text-sm",
648
666
  children: [
649
- /* @__PURE__ */ x("div", {
667
+ /* @__PURE__ */ C("div", {
650
668
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
651
- children: [/* @__PURE__ */ b("dt", {
669
+ children: [/* @__PURE__ */ S("dt", {
652
670
  className: "text-text-muted",
653
671
  children: "Dates"
654
- }), /* @__PURE__ */ x("dd", {
672
+ }), /* @__PURE__ */ C("dd", {
655
673
  className: "text-text-primary",
656
674
  children: [
657
- f(h.startAt),
675
+ p(_.startAt),
658
676
  " — ",
659
- f(h.endAt)
677
+ p(_.endAt)
660
678
  ]
661
679
  })]
662
680
  }),
663
- /* @__PURE__ */ x("div", {
681
+ /* @__PURE__ */ C("div", {
664
682
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
665
- children: [/* @__PURE__ */ b("dt", {
683
+ children: [/* @__PURE__ */ S("dt", {
666
684
  className: "text-text-muted",
667
685
  children: "Venue"
668
- }), /* @__PURE__ */ b("dd", {
686
+ }), /* @__PURE__ */ S("dd", {
669
687
  className: "text-text-primary",
670
- children: w ? /* @__PURE__ */ b(P, {
688
+ children: E ? /* @__PURE__ */ S(I, {
671
689
  type: "button",
672
690
  variant: "link",
673
691
  size: "sm",
674
692
  className: "h-auto p-0",
675
- onClick: () => r(`/venues/${y}`),
676
- children: w
693
+ onClick: () => r(`/venues/${x}`),
694
+ children: E
677
695
  }) : "No venue assigned"
678
696
  })]
679
697
  }),
680
- /* @__PURE__ */ x("div", {
698
+ /* @__PURE__ */ C("div", {
681
699
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
682
- children: [/* @__PURE__ */ b("dt", {
700
+ children: [/* @__PURE__ */ S("dt", {
683
701
  className: "text-text-muted",
684
702
  children: "Capacity"
685
- }), /* @__PURE__ */ x("dd", {
703
+ }), /* @__PURE__ */ C("dd", {
686
704
  className: "text-text-primary",
687
- children: [(h.capacity ?? 0).toLocaleString(), " attendees"]
705
+ children: [(_.capacity ?? 0).toLocaleString(), " attendees"]
688
706
  })]
689
707
  }),
690
- /* @__PURE__ */ x("div", {
708
+ /* @__PURE__ */ C("div", {
691
709
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
692
- children: [/* @__PURE__ */ b("dt", {
710
+ children: [/* @__PURE__ */ S("dt", {
693
711
  className: "text-text-muted",
694
712
  children: "Type"
695
- }), /* @__PURE__ */ b("dd", {
713
+ }), /* @__PURE__ */ S("dd", {
696
714
  className: "capitalize text-text-primary",
697
- children: h.type.toLowerCase().replace(/_/g, " ")
715
+ children: _.type.toLowerCase().replace(/_/g, " ")
698
716
  })]
699
717
  }),
700
- /* @__PURE__ */ x("div", {
718
+ /* @__PURE__ */ C("div", {
701
719
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
702
- children: [/* @__PURE__ */ b("dt", {
720
+ children: [/* @__PURE__ */ S("dt", {
703
721
  className: "text-text-muted",
704
722
  children: "Timezone"
705
- }), /* @__PURE__ */ b("dd", {
723
+ }), /* @__PURE__ */ S("dd", {
706
724
  className: "text-text-primary",
707
- children: h.timezone
725
+ children: _.timezone
708
726
  })]
709
727
  }),
710
- /* @__PURE__ */ x("div", {
728
+ /* @__PURE__ */ C("div", {
711
729
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
712
- children: [/* @__PURE__ */ b("dt", {
730
+ children: [/* @__PURE__ */ S("dt", {
713
731
  className: "text-text-muted",
714
732
  children: "Visibility"
715
- }), /* @__PURE__ */ b("dd", {
733
+ }), /* @__PURE__ */ S("dd", {
716
734
  className: "capitalize text-text-primary",
717
- children: h.visibility
735
+ children: _.visibility
718
736
  })]
719
737
  }),
720
- /* @__PURE__ */ x("div", {
738
+ /* @__PURE__ */ C("div", {
721
739
  className: "grid grid-cols-1 gap-1 sm:grid-cols-[140px_1fr]",
722
- children: [/* @__PURE__ */ b("dt", {
740
+ children: [/* @__PURE__ */ S("dt", {
723
741
  className: "text-text-muted",
724
742
  children: "Description"
725
- }), /* @__PURE__ */ b("dd", {
743
+ }), /* @__PURE__ */ S("dd", {
726
744
  className: "text-text-secondary",
727
- children: h.description?.trim() ? h.description : "No description provided."
745
+ children: _.description?.trim() ? _.description : "No description provided."
728
746
  })]
729
747
  })
730
748
  ]
731
749
  }),
732
- /* @__PURE__ */ b("div", {
750
+ /* @__PURE__ */ S("div", {
733
751
  className: "mt-5",
734
- children: /* @__PURE__ */ x(P, {
752
+ children: /* @__PURE__ */ C(I, {
735
753
  type: "button",
736
754
  variant: "outline",
737
755
  size: "sm",
738
756
  onClick: () => r(`/events/${t}/edit`),
739
- children: [/* @__PURE__ */ b(T, { className: "h-4 w-4" }), "Edit event details"]
757
+ children: [/* @__PURE__ */ S(D, { className: "h-4 w-4" }), "Edit event details"]
740
758
  })
741
759
  })
742
760
  ]
743
- }), /* @__PURE__ */ x(F, {
761
+ }), /* @__PURE__ */ C(L, {
744
762
  treatment: "glass",
745
763
  glow: !0,
746
764
  className: "p-5",
747
- children: [/* @__PURE__ */ b("h2", {
765
+ children: [/* @__PURE__ */ S("h2", {
748
766
  className: "text-lg font-semibold text-text-primary",
749
767
  children: "Key Metrics"
750
- }), /* @__PURE__ */ x("dl", {
768
+ }), /* @__PURE__ */ C("dl", {
751
769
  className: "mt-4 space-y-4",
752
770
  children: [
753
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("dt", {
771
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("dt", {
772
+ className: "text-sm text-text-secondary",
773
+ children: "Registrations"
774
+ }), /* @__PURE__ */ S("dd", {
775
+ className: "text-2xl font-semibold tabular-nums text-text-primary",
776
+ children: j.toLocaleString()
777
+ })] }),
778
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("dt", {
754
779
  className: "text-sm text-text-secondary",
755
780
  children: "Capacity"
756
- }), /* @__PURE__ */ b("dd", {
781
+ }), /* @__PURE__ */ S("dd", {
757
782
  className: "text-2xl font-semibold tabular-nums text-text-primary",
758
- children: (h.capacity ?? 0).toLocaleString()
783
+ children: (_.capacity ?? 0).toLocaleString()
759
784
  })] }),
760
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("dt", {
785
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("dt", {
761
786
  className: "text-sm text-text-secondary",
762
787
  children: "Sessions"
763
- }), /* @__PURE__ */ b("dd", {
788
+ }), /* @__PURE__ */ S("dd", {
764
789
  className: "text-2xl font-semibold tabular-nums text-text-primary",
765
- children: O.toLocaleString()
790
+ children: A.toLocaleString()
766
791
  })] }),
767
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("dt", {
792
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("dt", {
768
793
  className: "text-sm text-text-secondary",
769
794
  children: "Ticket types"
770
- }), /* @__PURE__ */ b("dd", {
795
+ }), /* @__PURE__ */ S("dd", {
771
796
  className: "text-2xl font-semibold tabular-nums text-text-primary",
772
- children: (c?.ticketTypes?.total ?? 0).toLocaleString()
797
+ children: (l?.ticketTypes?.total ?? 0).toLocaleString()
773
798
  })] }),
774
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("dt", {
799
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("dt", {
775
800
  className: "text-sm text-text-secondary",
776
801
  children: "Tickets sold"
777
- }), /* @__PURE__ */ b("dd", {
802
+ }), /* @__PURE__ */ S("dd", {
778
803
  className: "text-2xl font-semibold tabular-nums text-text-primary",
779
- children: k.toLocaleString()
804
+ children: G.toLocaleString()
780
805
  })] })
781
806
  ]
782
807
  })]
783
808
  })]
784
809
  })
785
810
  }),
786
- /* @__PURE__ */ b(z, {
811
+ /* @__PURE__ */ S(V, {
787
812
  value: "sessions",
788
813
  className: "mt-4",
789
- children: /* @__PURE__ */ b(X, { eventId: t })
814
+ children: /* @__PURE__ */ S(Q, { eventId: t })
790
815
  }),
791
- /* @__PURE__ */ b(z, {
816
+ /* @__PURE__ */ S(V, {
792
817
  value: "speakers",
793
818
  className: "mt-4",
794
- children: /* @__PURE__ */ b(Z, {})
819
+ children: /* @__PURE__ */ S(ee, {})
795
820
  }),
796
- /* @__PURE__ */ b(z, {
821
+ /* @__PURE__ */ S(V, {
797
822
  value: "tickets",
798
823
  className: "mt-4",
799
- children: /* @__PURE__ */ b(Q, { eventId: t })
824
+ children: /* @__PURE__ */ S(te, { eventId: t })
800
825
  })
801
826
  ]
802
827
  })
803
828
  ]
804
- }) : /* @__PURE__ */ x("div", {
829
+ }) : /* @__PURE__ */ C("div", {
805
830
  className: "space-y-4 p-6",
806
- children: [/* @__PURE__ */ x(P, {
831
+ children: [/* @__PURE__ */ C(I, {
807
832
  type: "button",
808
833
  variant: "ghost",
809
834
  size: "sm",
810
835
  onClick: () => r("/events"),
811
- children: [/* @__PURE__ */ b(S, { className: "h-4 w-4" }), "Back to Events"]
812
- }), /* @__PURE__ */ b(F, {
836
+ children: [/* @__PURE__ */ S(w, { className: "h-4 w-4" }), "Back to Events"]
837
+ }), /* @__PURE__ */ S(L, {
813
838
  treatment: "plain",
814
839
  className: "border-border-seam",
815
- children: /* @__PURE__ */ b(I, {
840
+ children: /* @__PURE__ */ S(R, {
816
841
  illustration: "empty-search",
817
842
  title: "Event not found.",
818
843
  description: "This event may have been removed or is outside your current scope."
@@ -821,6 +846,6 @@ function ee() {
821
846
  });
822
847
  }
823
848
  //#endregion
824
- export { ee as default };
849
+ export { ne as default };
825
850
 
826
851
  //# sourceMappingURL=EventDetailPage.js.map