@burdenoff/microfe-eventfullymanaged 2026.704.5 → 2026.704.6
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.
- package/dist/eventfullymanaged/api/eventApi.js +136 -97
- package/dist/eventfullymanaged/api/eventApi.js.map +1 -1
- package/dist/eventfullymanaged/pages/events/EventDetailPage.js +180 -164
- package/dist/eventfullymanaged/pages/events/EventDetailPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/modules/RegistrationPage.js +136 -120
- package/dist/eventfullymanaged/pages/modules/RegistrationPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/speakers/SpeakersPage.js +56 -47
- package/dist/eventfullymanaged/pages/speakers/SpeakersPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/venues/FloorPlansPage.js +77 -63
- package/dist/eventfullymanaged/pages/venues/FloorPlansPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { useEventfullyManaged as e } from "../../context/EventfullyManagedContext.js";
|
|
2
2
|
import { notify as t } from "../../lib/toast.js";
|
|
3
|
-
import {
|
|
4
|
-
import { ActionMenu as
|
|
5
|
-
import { Pagination as
|
|
6
|
-
import { formatDateTime as
|
|
7
|
-
import { useMemo as
|
|
8
|
-
import { useParams as
|
|
9
|
-
import { jsx as
|
|
10
|
-
import { ArrowLeft as
|
|
11
|
-
import { Badge as
|
|
3
|
+
import { useDeleteEventSessionMutation as n, useDeleteSpeakerMutation as r, useDeleteTicketTypeMutation as i, useEventQuery as a, useEventSessionsQuery as o, useSpeakersQuery as s, useTicketTypesQuery as c } from "../../api/eventApi.js";
|
|
4
|
+
import { ActionMenu as l } from "../../components/ActionMenu.js";
|
|
5
|
+
import { Pagination as u, usePagination as d } from "../../components/Pagination.js";
|
|
6
|
+
import { formatDateTime as f } from "./eventFormUtils.js";
|
|
7
|
+
import { useMemo as p, useState as m } from "react";
|
|
8
|
+
import { useParams as h } from "react-router-dom";
|
|
9
|
+
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
10
|
+
import { ArrowLeft as v, CalendarClock as y, Edit as b, MapPin as x, Plus as S, Ticket as C, Users as w } from "lucide-react";
|
|
11
|
+
import { Badge as T, Button as E, GlassCard as D, IllustratedEmptyState as O, Tabs as k, TabsContent as A, TabsList as j, TabsTrigger as M } from "@burdenoff/fe-libs/ui";
|
|
12
12
|
//#region src/eventfullymanaged/pages/events/EventDetailPage.tsx
|
|
13
|
-
function
|
|
13
|
+
function N(e) {
|
|
14
14
|
let t = e.toLowerCase();
|
|
15
15
|
return [
|
|
16
16
|
"active",
|
|
@@ -32,195 +32,211 @@ function j(e) {
|
|
|
32
32
|
"scheduled"
|
|
33
33
|
].includes(t) ? "info" : "secondary";
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
let { navigate:
|
|
37
|
-
eventId:
|
|
38
|
-
limit:
|
|
39
|
-
offset:
|
|
40
|
-
}),
|
|
41
|
-
|
|
35
|
+
function P({ eventId: r }) {
|
|
36
|
+
let { navigate: i } = e(), a = d(), { data: s, loading: c, refetch: p } = o({
|
|
37
|
+
eventId: r,
|
|
38
|
+
limit: a.limit,
|
|
39
|
+
offset: a.offset
|
|
40
|
+
}), [m] = n(), h = s?.eventSessions?.total ?? 0, v = s?.eventSessions?.items ?? [], y = async (e) => {
|
|
41
|
+
let n = await m({ variables: { id: e.id } });
|
|
42
|
+
if (n.error) throw t.error("Could not delete session", n.error.message), n.error;
|
|
43
|
+
if (!n.data?.deleteEventSession) throw t.error("Could not delete session", "The server did not confirm the change."), Error("delete-unconfirmed");
|
|
44
|
+
t.success("Session deleted", e.title), await p();
|
|
45
|
+
};
|
|
46
|
+
return /* @__PURE__ */ _("div", {
|
|
42
47
|
className: "space-y-4",
|
|
43
48
|
children: [
|
|
44
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ _("div", {
|
|
45
50
|
className: "flex items-center justify-between gap-3",
|
|
46
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ g("h2", {
|
|
47
52
|
className: "text-lg font-semibold text-text-primary",
|
|
48
53
|
children: "Agenda & Sessions"
|
|
49
|
-
}), /* @__PURE__ */
|
|
54
|
+
}), /* @__PURE__ */ _(E, {
|
|
50
55
|
type: "button",
|
|
51
56
|
size: "sm",
|
|
52
|
-
onClick: () =>
|
|
53
|
-
children: [/* @__PURE__ */
|
|
57
|
+
onClick: () => i(`/events/${r}/sessions/create`),
|
|
58
|
+
children: [/* @__PURE__ */ g(S, { className: "h-4 w-4" }), "New Session"]
|
|
54
59
|
})]
|
|
55
60
|
}),
|
|
56
|
-
|
|
61
|
+
c ? /* @__PURE__ */ g("p", {
|
|
57
62
|
className: "text-sm text-text-secondary",
|
|
58
63
|
children: "Loading sessions…"
|
|
59
|
-
}) :
|
|
64
|
+
}) : v.length === 0 ? /* @__PURE__ */ g(O, {
|
|
60
65
|
illustration: "empty-data",
|
|
61
66
|
title: "No sessions yet.",
|
|
62
67
|
description: "Build the agenda by adding your first session.",
|
|
63
68
|
className: "py-8"
|
|
64
|
-
}) : /* @__PURE__ */
|
|
69
|
+
}) : /* @__PURE__ */ g("ul", {
|
|
65
70
|
className: "space-y-2.5",
|
|
66
|
-
children:
|
|
71
|
+
children: v.map((e) => /* @__PURE__ */ g("li", {
|
|
67
72
|
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",
|
|
68
|
-
children: /* @__PURE__ */
|
|
73
|
+
children: /* @__PURE__ */ _("div", {
|
|
69
74
|
className: "flex items-center justify-between gap-3",
|
|
70
|
-
children: [/* @__PURE__ */
|
|
75
|
+
children: [/* @__PURE__ */ _("div", {
|
|
71
76
|
className: "min-w-0",
|
|
72
|
-
children: [/* @__PURE__ */
|
|
77
|
+
children: [/* @__PURE__ */ g("p", {
|
|
73
78
|
className: "truncate font-medium text-text-primary",
|
|
74
79
|
children: e.title
|
|
75
|
-
}), /* @__PURE__ */
|
|
80
|
+
}), /* @__PURE__ */ g("p", {
|
|
76
81
|
className: "mt-0.5 truncate text-sm text-text-secondary",
|
|
77
|
-
children: [e.track, e.startsAt ?
|
|
82
|
+
children: [e.track, e.startsAt ? f(e.startsAt) : void 0].filter(Boolean).join(" • ")
|
|
78
83
|
})]
|
|
79
|
-
}), /* @__PURE__ */
|
|
84
|
+
}), /* @__PURE__ */ _("div", {
|
|
80
85
|
className: "flex shrink-0 items-center gap-2",
|
|
81
|
-
children: [/* @__PURE__ */
|
|
82
|
-
variant:
|
|
86
|
+
children: [/* @__PURE__ */ g(T, {
|
|
87
|
+
variant: N(e.status),
|
|
83
88
|
className: "uppercase",
|
|
84
89
|
children: e.status
|
|
85
|
-
}), /* @__PURE__ */
|
|
90
|
+
}), /* @__PURE__ */ g(l, {
|
|
86
91
|
ariaLabel: `Session actions for ${e.title}`,
|
|
87
|
-
|
|
92
|
+
entityName: e.title,
|
|
93
|
+
deleteLabel: "Delete session",
|
|
94
|
+
onEdit: () => i(`/events/${r}/sessions/${e.id}/edit`),
|
|
95
|
+
onDelete: () => y(e)
|
|
88
96
|
})]
|
|
89
97
|
})]
|
|
90
98
|
})
|
|
91
99
|
}, e.id))
|
|
92
100
|
}),
|
|
93
|
-
/* @__PURE__ */
|
|
94
|
-
offset:
|
|
95
|
-
limit:
|
|
96
|
-
loadedCount:
|
|
97
|
-
total:
|
|
98
|
-
onPrev:
|
|
99
|
-
onNext:
|
|
101
|
+
/* @__PURE__ */ g(u, {
|
|
102
|
+
offset: a.offset,
|
|
103
|
+
limit: a.limit,
|
|
104
|
+
loadedCount: v.length,
|
|
105
|
+
total: h,
|
|
106
|
+
onPrev: a.prevPage,
|
|
107
|
+
onNext: a.nextPage,
|
|
100
108
|
itemLabel: "sessions",
|
|
101
|
-
loading:
|
|
109
|
+
loading: c
|
|
102
110
|
})
|
|
103
111
|
]
|
|
104
112
|
});
|
|
105
113
|
}
|
|
106
|
-
function
|
|
107
|
-
let { navigate:
|
|
108
|
-
limit:
|
|
109
|
-
offset:
|
|
110
|
-
}),
|
|
111
|
-
|
|
114
|
+
function F() {
|
|
115
|
+
let { navigate: n } = e(), i = d(), { data: a, loading: o, refetch: c } = s({
|
|
116
|
+
limit: i.limit,
|
|
117
|
+
offset: i.offset
|
|
118
|
+
}), [f] = r(), p = a?.speakers?.total ?? 0, m = a?.speakers?.items ?? [], h = async (e) => {
|
|
119
|
+
let n = await f({ variables: { id: e.id } });
|
|
120
|
+
if (n.error) throw t.error("Could not delete speaker", n.error.message), n.error;
|
|
121
|
+
if (!n.data?.deleteSpeaker) throw t.error("Could not delete speaker", "The server did not confirm the change."), Error("delete-unconfirmed");
|
|
122
|
+
t.success("Speaker deleted", e.fullName), await c();
|
|
123
|
+
};
|
|
124
|
+
return /* @__PURE__ */ _("div", {
|
|
112
125
|
className: "space-y-4",
|
|
113
126
|
children: [
|
|
114
|
-
/* @__PURE__ */
|
|
127
|
+
/* @__PURE__ */ _("div", {
|
|
115
128
|
className: "flex items-center justify-between gap-3",
|
|
116
|
-
children: [/* @__PURE__ */
|
|
129
|
+
children: [/* @__PURE__ */ g("h2", {
|
|
117
130
|
className: "text-lg font-semibold text-text-primary",
|
|
118
131
|
children: "Speakers"
|
|
119
|
-
}), /* @__PURE__ */
|
|
132
|
+
}), /* @__PURE__ */ _("div", {
|
|
120
133
|
className: "flex items-center gap-2",
|
|
121
|
-
children: [/* @__PURE__ */
|
|
134
|
+
children: [/* @__PURE__ */ g(E, {
|
|
122
135
|
type: "button",
|
|
123
136
|
variant: "outline",
|
|
124
137
|
size: "sm",
|
|
125
|
-
onClick: () =>
|
|
138
|
+
onClick: () => n("/speakers"),
|
|
126
139
|
children: "Manage speakers"
|
|
127
|
-
}), /* @__PURE__ */
|
|
140
|
+
}), /* @__PURE__ */ _(E, {
|
|
128
141
|
type: "button",
|
|
129
142
|
size: "sm",
|
|
130
|
-
onClick: () =>
|
|
131
|
-
children: [/* @__PURE__ */
|
|
143
|
+
onClick: () => n("/speakers/create"),
|
|
144
|
+
children: [/* @__PURE__ */ g(S, { className: "h-4 w-4" }), "New Speaker"]
|
|
132
145
|
})]
|
|
133
146
|
})]
|
|
134
147
|
}),
|
|
135
|
-
|
|
148
|
+
o ? /* @__PURE__ */ g("p", {
|
|
136
149
|
className: "text-sm text-text-secondary",
|
|
137
150
|
children: "Loading speakers…"
|
|
138
|
-
}) :
|
|
151
|
+
}) : m.length === 0 ? /* @__PURE__ */ g(O, {
|
|
139
152
|
illustration: "empty-people",
|
|
140
153
|
title: "No speakers yet.",
|
|
141
154
|
description: "Add speakers so you can assign them to sessions.",
|
|
142
155
|
className: "py-8"
|
|
143
|
-
}) : /* @__PURE__ */
|
|
156
|
+
}) : /* @__PURE__ */ g("ul", {
|
|
144
157
|
className: "space-y-2.5",
|
|
145
|
-
children:
|
|
158
|
+
children: m.map((e) => /* @__PURE__ */ g("li", {
|
|
146
159
|
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",
|
|
147
|
-
children: /* @__PURE__ */
|
|
160
|
+
children: /* @__PURE__ */ _("div", {
|
|
148
161
|
className: "flex items-center justify-between gap-3",
|
|
149
|
-
children: [/* @__PURE__ */
|
|
162
|
+
children: [/* @__PURE__ */ _("div", {
|
|
150
163
|
className: "min-w-0",
|
|
151
|
-
children: [/* @__PURE__ */
|
|
164
|
+
children: [/* @__PURE__ */ g("p", {
|
|
152
165
|
className: "truncate font-medium text-text-primary",
|
|
153
166
|
children: e.fullName
|
|
154
|
-
}), /* @__PURE__ */
|
|
167
|
+
}), /* @__PURE__ */ g("p", {
|
|
155
168
|
className: "mt-0.5 truncate text-sm text-text-secondary",
|
|
156
169
|
children: [e.title, e.organization].filter(Boolean).join(" • ") || "Speaker"
|
|
157
170
|
})]
|
|
158
|
-
}), /* @__PURE__ */
|
|
171
|
+
}), /* @__PURE__ */ g(l, {
|
|
159
172
|
ariaLabel: `Speaker actions for ${e.fullName}`,
|
|
160
|
-
|
|
173
|
+
entityName: e.fullName,
|
|
174
|
+
deleteLabel: "Delete speaker",
|
|
175
|
+
onEdit: () => n(`/speakers/${e.id}/edit`),
|
|
176
|
+
onDelete: () => h(e)
|
|
161
177
|
})]
|
|
162
178
|
})
|
|
163
179
|
}, e.id))
|
|
164
180
|
}),
|
|
165
|
-
/* @__PURE__ */
|
|
166
|
-
offset:
|
|
167
|
-
limit:
|
|
168
|
-
loadedCount:
|
|
169
|
-
total:
|
|
170
|
-
onPrev:
|
|
171
|
-
onNext:
|
|
181
|
+
/* @__PURE__ */ g(u, {
|
|
182
|
+
offset: i.offset,
|
|
183
|
+
limit: i.limit,
|
|
184
|
+
loadedCount: m.length,
|
|
185
|
+
total: p,
|
|
186
|
+
onPrev: i.prevPage,
|
|
187
|
+
onNext: i.nextPage,
|
|
172
188
|
itemLabel: "speakers",
|
|
173
|
-
loading:
|
|
189
|
+
loading: o
|
|
174
190
|
})
|
|
175
191
|
]
|
|
176
192
|
});
|
|
177
193
|
}
|
|
178
|
-
function
|
|
179
|
-
let { navigate:
|
|
180
|
-
eventId:
|
|
194
|
+
function I({ eventId: n }) {
|
|
195
|
+
let { navigate: r } = e(), a = d(), { data: o, loading: s, refetch: f } = c({
|
|
196
|
+
eventId: n,
|
|
181
197
|
limit: a.limit,
|
|
182
198
|
offset: a.offset
|
|
183
|
-
}), [p] =
|
|
199
|
+
}), [p] = i(), m = o?.ticketTypes?.total ?? 0, h = o?.ticketTypes?.items ?? [], v = async (e) => {
|
|
184
200
|
let n = await p({ variables: { id: e.id } });
|
|
185
201
|
if (n.error) throw t.error("Could not delete ticket type", n.error.message), n.error;
|
|
186
202
|
if (!n.data?.deleteTicketType) throw t.error("Could not delete ticket type", "The server did not confirm the change."), Error("delete-unconfirmed");
|
|
187
203
|
t.success("Ticket type deleted"), await f();
|
|
188
204
|
};
|
|
189
|
-
return /* @__PURE__ */
|
|
205
|
+
return /* @__PURE__ */ _("div", {
|
|
190
206
|
className: "space-y-4",
|
|
191
207
|
children: [
|
|
192
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ _("div", {
|
|
193
209
|
className: "flex items-center justify-between gap-3",
|
|
194
|
-
children: [/* @__PURE__ */
|
|
210
|
+
children: [/* @__PURE__ */ g("h2", {
|
|
195
211
|
className: "text-lg font-semibold text-text-primary",
|
|
196
212
|
children: "Ticket Types"
|
|
197
|
-
}), /* @__PURE__ */
|
|
213
|
+
}), /* @__PURE__ */ _(E, {
|
|
198
214
|
type: "button",
|
|
199
215
|
size: "sm",
|
|
200
|
-
onClick: () =>
|
|
201
|
-
children: [/* @__PURE__ */
|
|
216
|
+
onClick: () => r(`/events/${n}/tickets/create`),
|
|
217
|
+
children: [/* @__PURE__ */ g(S, { className: "h-4 w-4" }), "New Ticket Type"]
|
|
202
218
|
})]
|
|
203
219
|
}),
|
|
204
|
-
|
|
220
|
+
s ? /* @__PURE__ */ g("p", {
|
|
205
221
|
className: "text-sm text-text-secondary",
|
|
206
222
|
children: "Loading ticket types…"
|
|
207
|
-
}) :
|
|
223
|
+
}) : h.length === 0 ? /* @__PURE__ */ g(O, {
|
|
208
224
|
illustration: "empty-data",
|
|
209
225
|
title: "No ticket types yet.",
|
|
210
226
|
description: "Add a ticket type so attendees can register.",
|
|
211
227
|
className: "py-8"
|
|
212
|
-
}) : /* @__PURE__ */
|
|
228
|
+
}) : /* @__PURE__ */ g("ul", {
|
|
213
229
|
className: "space-y-2.5",
|
|
214
|
-
children:
|
|
230
|
+
children: h.map((e) => /* @__PURE__ */ g("li", {
|
|
215
231
|
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",
|
|
216
|
-
children: /* @__PURE__ */
|
|
232
|
+
children: /* @__PURE__ */ _("div", {
|
|
217
233
|
className: "flex items-center justify-between gap-3",
|
|
218
|
-
children: [/* @__PURE__ */
|
|
234
|
+
children: [/* @__PURE__ */ _("div", {
|
|
219
235
|
className: "min-w-0",
|
|
220
|
-
children: [/* @__PURE__ */
|
|
236
|
+
children: [/* @__PURE__ */ g("p", {
|
|
221
237
|
className: "truncate font-medium text-text-primary",
|
|
222
238
|
children: e.name
|
|
223
|
-
}), /* @__PURE__ */
|
|
239
|
+
}), /* @__PURE__ */ _("p", {
|
|
224
240
|
className: "mt-0.5 truncate text-sm text-text-secondary",
|
|
225
241
|
children: [
|
|
226
242
|
e.price,
|
|
@@ -231,169 +247,169 @@ function P({ eventId: r }) {
|
|
|
231
247
|
e.capacity == null ? "" : ` / ${e.capacity}`
|
|
232
248
|
]
|
|
233
249
|
})]
|
|
234
|
-
}), /* @__PURE__ */
|
|
250
|
+
}), /* @__PURE__ */ _("div", {
|
|
235
251
|
className: "flex shrink-0 items-center gap-2",
|
|
236
|
-
children: [/* @__PURE__ */
|
|
252
|
+
children: [/* @__PURE__ */ g(T, {
|
|
237
253
|
variant: e.isActive ? "success" : "warning",
|
|
238
254
|
className: "uppercase",
|
|
239
255
|
children: e.isActive ? "Active" : "Inactive"
|
|
240
|
-
}), /* @__PURE__ */
|
|
256
|
+
}), /* @__PURE__ */ g(l, {
|
|
241
257
|
ariaLabel: `Ticket actions for ${e.name}`,
|
|
242
258
|
entityName: e.name,
|
|
243
259
|
deleteLabel: "Delete ticket type",
|
|
244
|
-
onEdit: () =>
|
|
260
|
+
onEdit: () => r(`/events/${n}/tickets/${e.id}/edit`),
|
|
245
261
|
onDelete: () => v(e)
|
|
246
262
|
})]
|
|
247
263
|
})]
|
|
248
264
|
})
|
|
249
265
|
}, e.id))
|
|
250
266
|
}),
|
|
251
|
-
/* @__PURE__ */
|
|
267
|
+
/* @__PURE__ */ g(u, {
|
|
252
268
|
offset: a.offset,
|
|
253
269
|
limit: a.limit,
|
|
254
|
-
loadedCount:
|
|
255
|
-
total:
|
|
270
|
+
loadedCount: h.length,
|
|
271
|
+
total: m,
|
|
256
272
|
onPrev: a.prevPage,
|
|
257
273
|
onNext: a.nextPage,
|
|
258
274
|
itemLabel: "ticket types",
|
|
259
|
-
loading:
|
|
275
|
+
loading: s
|
|
260
276
|
})
|
|
261
277
|
]
|
|
262
278
|
});
|
|
263
279
|
}
|
|
264
|
-
function
|
|
265
|
-
let { id: t = "" } =
|
|
280
|
+
function L() {
|
|
281
|
+
let { id: t = "" } = h(), { navigate: n } = e(), { data: r, loading: i } = a(t), [o, s] = m("overview"), c = r?.event ?? null, l = p(() => {
|
|
266
282
|
let e = c?.metadata ?? {};
|
|
267
283
|
return typeof e.venueId == "string" ? e.venueId : "";
|
|
268
284
|
}, [c]);
|
|
269
|
-
return
|
|
285
|
+
return i ? /* @__PURE__ */ g("div", {
|
|
270
286
|
className: "p-6 text-sm text-text-secondary",
|
|
271
287
|
children: "Loading event…"
|
|
272
|
-
}) : c ? /* @__PURE__ */
|
|
288
|
+
}) : c ? /* @__PURE__ */ _("div", {
|
|
273
289
|
className: "space-y-6 p-6",
|
|
274
|
-
children: [/* @__PURE__ */
|
|
290
|
+
children: [/* @__PURE__ */ _("div", {
|
|
275
291
|
className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
|
|
276
|
-
children: [/* @__PURE__ */
|
|
292
|
+
children: [/* @__PURE__ */ _("div", {
|
|
277
293
|
className: "space-y-3",
|
|
278
|
-
children: [/* @__PURE__ */
|
|
294
|
+
children: [/* @__PURE__ */ _(E, {
|
|
279
295
|
type: "button",
|
|
280
296
|
variant: "ghost",
|
|
281
297
|
size: "sm",
|
|
282
298
|
onClick: () => n("/events"),
|
|
283
|
-
children: [/* @__PURE__ */
|
|
284
|
-
}), /* @__PURE__ */
|
|
299
|
+
children: [/* @__PURE__ */ g(v, { className: "h-4 w-4" }), "Back to Events"]
|
|
300
|
+
}), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ _("div", {
|
|
285
301
|
className: "flex flex-wrap items-center gap-3",
|
|
286
|
-
children: [/* @__PURE__ */
|
|
302
|
+
children: [/* @__PURE__ */ g("h1", {
|
|
287
303
|
className: "text-2xl font-bold text-text-primary",
|
|
288
304
|
children: c.name
|
|
289
|
-
}), /* @__PURE__ */
|
|
290
|
-
variant:
|
|
305
|
+
}), /* @__PURE__ */ g(T, {
|
|
306
|
+
variant: N(c.status),
|
|
291
307
|
className: "uppercase",
|
|
292
308
|
children: c.status
|
|
293
309
|
})]
|
|
294
|
-
}), /* @__PURE__ */
|
|
310
|
+
}), /* @__PURE__ */ _("p", {
|
|
295
311
|
className: "mt-1 flex items-center gap-2 text-sm text-text-secondary",
|
|
296
312
|
children: [
|
|
297
|
-
/* @__PURE__ */
|
|
298
|
-
|
|
313
|
+
/* @__PURE__ */ g(y, { className: "h-4 w-4" }),
|
|
314
|
+
f(c.startAt),
|
|
299
315
|
" — ",
|
|
300
|
-
|
|
316
|
+
f(c.endAt)
|
|
301
317
|
]
|
|
302
318
|
})] })]
|
|
303
|
-
}), /* @__PURE__ */
|
|
319
|
+
}), /* @__PURE__ */ _(E, {
|
|
304
320
|
type: "button",
|
|
305
321
|
onClick: () => n(`/events/${t}/edit`),
|
|
306
|
-
children: [/* @__PURE__ */
|
|
322
|
+
children: [/* @__PURE__ */ g(b, { className: "h-4 w-4" }), "Edit Event"]
|
|
307
323
|
})]
|
|
308
|
-
}), /* @__PURE__ */
|
|
324
|
+
}), /* @__PURE__ */ _(k, {
|
|
309
325
|
value: o,
|
|
310
326
|
onValueChange: s,
|
|
311
327
|
children: [
|
|
312
|
-
/* @__PURE__ */
|
|
313
|
-
/* @__PURE__ */
|
|
328
|
+
/* @__PURE__ */ _(j, { children: [
|
|
329
|
+
/* @__PURE__ */ g(M, {
|
|
314
330
|
value: "overview",
|
|
315
331
|
children: "Overview"
|
|
316
332
|
}),
|
|
317
|
-
/* @__PURE__ */
|
|
333
|
+
/* @__PURE__ */ g(M, {
|
|
318
334
|
value: "sessions",
|
|
319
335
|
children: "Sessions"
|
|
320
336
|
}),
|
|
321
|
-
/* @__PURE__ */
|
|
337
|
+
/* @__PURE__ */ g(M, {
|
|
322
338
|
value: "speakers",
|
|
323
339
|
children: "Speakers"
|
|
324
340
|
}),
|
|
325
|
-
/* @__PURE__ */
|
|
341
|
+
/* @__PURE__ */ g(M, {
|
|
326
342
|
value: "tickets",
|
|
327
343
|
children: "Tickets"
|
|
328
344
|
})
|
|
329
345
|
] }),
|
|
330
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ _(A, {
|
|
331
347
|
value: "overview",
|
|
332
348
|
className: "mt-4",
|
|
333
|
-
children: [/* @__PURE__ */
|
|
349
|
+
children: [/* @__PURE__ */ _("div", {
|
|
334
350
|
className: "grid grid-cols-1 gap-4 lg:grid-cols-3",
|
|
335
351
|
children: [
|
|
336
|
-
/* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ _(D, {
|
|
337
353
|
treatment: "metric",
|
|
338
354
|
className: "p-4",
|
|
339
|
-
children: [/* @__PURE__ */
|
|
355
|
+
children: [/* @__PURE__ */ _("div", {
|
|
340
356
|
className: "mb-2 flex items-center gap-2 text-sm font-medium text-text-primary",
|
|
341
|
-
children: [/* @__PURE__ */
|
|
342
|
-
}), /* @__PURE__ */
|
|
357
|
+
children: [/* @__PURE__ */ g(C, { className: "h-4 w-4 text-action-primary-bg" }), "Type"]
|
|
358
|
+
}), /* @__PURE__ */ g("p", {
|
|
343
359
|
className: "text-sm uppercase text-text-secondary",
|
|
344
360
|
children: c.type
|
|
345
361
|
})]
|
|
346
362
|
}),
|
|
347
|
-
/* @__PURE__ */
|
|
363
|
+
/* @__PURE__ */ _(D, {
|
|
348
364
|
treatment: "glass",
|
|
349
365
|
glow: !0,
|
|
350
366
|
className: "p-4",
|
|
351
|
-
children: [/* @__PURE__ */
|
|
367
|
+
children: [/* @__PURE__ */ _("div", {
|
|
352
368
|
className: "mb-2 flex items-center gap-2 text-sm font-medium text-text-primary",
|
|
353
|
-
children: [/* @__PURE__ */
|
|
354
|
-
}), /* @__PURE__ */
|
|
369
|
+
children: [/* @__PURE__ */ g(w, { className: "h-4 w-4 text-action-primary-bg" }), "Capacity"]
|
|
370
|
+
}), /* @__PURE__ */ _("p", {
|
|
355
371
|
className: "text-sm tabular-nums text-text-secondary",
|
|
356
372
|
children: [c.capacity ?? 0, " attendees"]
|
|
357
373
|
})]
|
|
358
374
|
}),
|
|
359
|
-
/* @__PURE__ */
|
|
375
|
+
/* @__PURE__ */ _(D, {
|
|
360
376
|
treatment: "metric",
|
|
361
377
|
className: "p-4",
|
|
362
|
-
children: [/* @__PURE__ */
|
|
378
|
+
children: [/* @__PURE__ */ _("div", {
|
|
363
379
|
className: "mb-2 flex items-center gap-2 text-sm font-medium text-text-primary",
|
|
364
|
-
children: [/* @__PURE__ */
|
|
365
|
-
}), /* @__PURE__ */
|
|
380
|
+
children: [/* @__PURE__ */ g(x, { className: "h-4 w-4 text-action-primary-bg" }), "Timezone"]
|
|
381
|
+
}), /* @__PURE__ */ g("p", {
|
|
366
382
|
className: "text-sm text-text-secondary",
|
|
367
383
|
children: c.timezone
|
|
368
384
|
})]
|
|
369
385
|
})
|
|
370
386
|
]
|
|
371
|
-
}), /* @__PURE__ */
|
|
387
|
+
}), /* @__PURE__ */ _(D, {
|
|
372
388
|
treatment: "plain",
|
|
373
389
|
className: "mt-4 border-border-seam p-5",
|
|
374
390
|
children: [
|
|
375
|
-
/* @__PURE__ */
|
|
391
|
+
/* @__PURE__ */ g("h2", {
|
|
376
392
|
className: "text-lg font-semibold text-text-primary",
|
|
377
393
|
children: "About"
|
|
378
394
|
}),
|
|
379
|
-
/* @__PURE__ */
|
|
395
|
+
/* @__PURE__ */ g("p", {
|
|
380
396
|
className: "mt-2 text-sm text-text-secondary",
|
|
381
397
|
children: c.description?.trim() ? c.description : "No description provided."
|
|
382
398
|
}),
|
|
383
|
-
/* @__PURE__ */
|
|
399
|
+
/* @__PURE__ */ _("dl", {
|
|
384
400
|
className: "mt-4 grid grid-cols-1 gap-3 text-sm sm:grid-cols-2",
|
|
385
|
-
children: [/* @__PURE__ */
|
|
401
|
+
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
|
|
386
402
|
className: "text-text-muted",
|
|
387
403
|
children: "Visibility"
|
|
388
|
-
}), /* @__PURE__ */
|
|
404
|
+
}), /* @__PURE__ */ g("dd", {
|
|
389
405
|
className: "capitalize text-text-primary",
|
|
390
406
|
children: c.visibility
|
|
391
|
-
})] }), /* @__PURE__ */
|
|
407
|
+
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
|
|
392
408
|
className: "text-text-muted",
|
|
393
409
|
children: "Venue"
|
|
394
|
-
}), /* @__PURE__ */
|
|
410
|
+
}), /* @__PURE__ */ g("dd", {
|
|
395
411
|
className: "text-text-primary",
|
|
396
|
-
children: l ? /* @__PURE__ */
|
|
412
|
+
children: l ? /* @__PURE__ */ g(E, {
|
|
397
413
|
type: "button",
|
|
398
414
|
variant: "link",
|
|
399
415
|
size: "sm",
|
|
@@ -403,48 +419,48 @@ function F() {
|
|
|
403
419
|
}) : "No venue assigned"
|
|
404
420
|
})] })]
|
|
405
421
|
}),
|
|
406
|
-
/* @__PURE__ */
|
|
422
|
+
/* @__PURE__ */ g("div", {
|
|
407
423
|
className: "mt-4",
|
|
408
|
-
children: /* @__PURE__ */
|
|
424
|
+
children: /* @__PURE__ */ _(E, {
|
|
409
425
|
type: "button",
|
|
410
426
|
variant: "outline",
|
|
411
427
|
size: "sm",
|
|
412
428
|
onClick: () => n(`/events/${t}/edit`),
|
|
413
|
-
children: [/* @__PURE__ */
|
|
429
|
+
children: [/* @__PURE__ */ g(b, { className: "h-4 w-4" }), "Edit event details"]
|
|
414
430
|
})
|
|
415
431
|
})
|
|
416
432
|
]
|
|
417
433
|
})]
|
|
418
434
|
}),
|
|
419
|
-
/* @__PURE__ */
|
|
435
|
+
/* @__PURE__ */ g(A, {
|
|
420
436
|
value: "sessions",
|
|
421
437
|
className: "mt-4",
|
|
422
|
-
children: /* @__PURE__ */
|
|
438
|
+
children: /* @__PURE__ */ g(P, { eventId: t })
|
|
423
439
|
}),
|
|
424
|
-
/* @__PURE__ */
|
|
440
|
+
/* @__PURE__ */ g(A, {
|
|
425
441
|
value: "speakers",
|
|
426
442
|
className: "mt-4",
|
|
427
|
-
children: /* @__PURE__ */
|
|
443
|
+
children: /* @__PURE__ */ g(F, {})
|
|
428
444
|
}),
|
|
429
|
-
/* @__PURE__ */
|
|
445
|
+
/* @__PURE__ */ g(A, {
|
|
430
446
|
value: "tickets",
|
|
431
447
|
className: "mt-4",
|
|
432
|
-
children: /* @__PURE__ */
|
|
448
|
+
children: /* @__PURE__ */ g(I, { eventId: t })
|
|
433
449
|
})
|
|
434
450
|
]
|
|
435
451
|
})]
|
|
436
|
-
}) : /* @__PURE__ */
|
|
452
|
+
}) : /* @__PURE__ */ _("div", {
|
|
437
453
|
className: "space-y-4 p-6",
|
|
438
|
-
children: [/* @__PURE__ */
|
|
454
|
+
children: [/* @__PURE__ */ _(E, {
|
|
439
455
|
type: "button",
|
|
440
456
|
variant: "ghost",
|
|
441
457
|
size: "sm",
|
|
442
458
|
onClick: () => n("/events"),
|
|
443
|
-
children: [/* @__PURE__ */
|
|
444
|
-
}), /* @__PURE__ */
|
|
459
|
+
children: [/* @__PURE__ */ g(v, { className: "h-4 w-4" }), "Back to Events"]
|
|
460
|
+
}), /* @__PURE__ */ g(D, {
|
|
445
461
|
treatment: "plain",
|
|
446
462
|
className: "border-border-seam",
|
|
447
|
-
children: /* @__PURE__ */
|
|
463
|
+
children: /* @__PURE__ */ g(O, {
|
|
448
464
|
illustration: "empty-search",
|
|
449
465
|
title: "Event not found.",
|
|
450
466
|
description: "This event may have been removed or is outside your current scope."
|
|
@@ -453,6 +469,6 @@ function F() {
|
|
|
453
469
|
});
|
|
454
470
|
}
|
|
455
471
|
//#endregion
|
|
456
|
-
export {
|
|
472
|
+
export { L as default };
|
|
457
473
|
|
|
458
474
|
//# sourceMappingURL=EventDetailPage.js.map
|