@burdenoff/microfe-eventfullymanaged 2026.716.1 → 2026.719.2
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/README.md +15 -0
- package/dist/eventfullymanaged/api/eventApi.d.ts +40 -0
- package/dist/eventfullymanaged/api/eventApi.d.ts.map +1 -1
- package/dist/eventfullymanaged/api/eventApi.js +147 -117
- package/dist/eventfullymanaged/api/eventApi.js.map +1 -1
- package/dist/eventfullymanaged/pages/events/SessionFormPage.d.ts.map +1 -1
- package/dist/eventfullymanaged/pages/events/SessionFormPage.js +152 -135
- package/dist/eventfullymanaged/pages/events/SessionFormPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.d.ts.map +1 -1
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.js +154 -117
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.d.ts.map +1 -1
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.js +228 -187
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/modules/EventsPage.d.ts.map +1 -1
- package/dist/eventfullymanaged/pages/modules/EventsPage.js +233 -122
- package/dist/eventfullymanaged/pages/modules/EventsPage.js.map +1 -1
- package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.d.ts.map +1 -1
- package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js +255 -254
- package/dist/eventfullymanaged/pages/registration/RegisterAttendeePage.js.map +1 -1
- package/dist/eventfullymanaged/types/index.d.ts.map +1 -1
- package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -1
- package/dist/services/createSandboxAssistantTransport.js.map +1 -1
- package/dist/test/setup.d.ts +11 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/package.json +11 -3
|
@@ -7,11 +7,11 @@ import { ActionMenu as s } from "../../components/ActionMenu.js";
|
|
|
7
7
|
import { Pagination as c, usePagination as l } from "../../components/Pagination.js";
|
|
8
8
|
import { useMemo as u, useState as d } from "react";
|
|
9
9
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
10
|
-
import { Award as
|
|
11
|
-
import { useI18n as
|
|
12
|
-
import { Badge as
|
|
10
|
+
import { Award as ee, CalendarClock as te, CalendarDays as ne, CalendarPlus as m, LayoutGrid as h, MapPin as g, Rows3 as re, Search as _, Ticket as v, UserCheck as y, Users as b } from "lucide-react";
|
|
11
|
+
import { useI18n as ie } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
12
|
+
import { Badge as x, Button as S, EmphasisPanel as ae, GlassCard as C, GradientText as oe, IllustratedEmptyState as se, Input as ce, NextSteps as le, PagePurpose as ue, Skeleton as w, Table as T, TableBody as E, TableCell as D, TableHead as O, TableHeader as de, TableRow as k, Tabs as A, TabsList as fe, TabsTrigger as j } from "@burdenoff/fe-libs/ui";
|
|
13
13
|
//#region src/eventfullymanaged/pages/modules/EventsPage.tsx
|
|
14
|
-
var
|
|
14
|
+
var pe = t`
|
|
15
15
|
query EventfullymanagedEventsRegistrations($limit: Int) {
|
|
16
16
|
registrations: eventfullyManagedRegistrations(limit: $limit, offset: 0) {
|
|
17
17
|
total
|
|
@@ -23,7 +23,7 @@ var M = t`
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
`;
|
|
26
|
-
function
|
|
26
|
+
function M(e) {
|
|
27
27
|
let t = e.toLowerCase();
|
|
28
28
|
return [
|
|
29
29
|
"active",
|
|
@@ -45,16 +45,16 @@ function N(e) {
|
|
|
45
45
|
"scheduled"
|
|
46
46
|
].includes(t) ? "info" : "secondary";
|
|
47
47
|
}
|
|
48
|
-
function
|
|
48
|
+
function N(e, t) {
|
|
49
49
|
let n = e ? o(e) : "", r = t ? o(t) : "";
|
|
50
50
|
return n && r ? `${n} — ${r}` : n || r || "No schedule set";
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function P(e, t) {
|
|
53
53
|
let n = Date.now(), r = e ? new Date(e).getTime() : NaN, i = t ? new Date(t).getTime() : NaN, a = !Number.isNaN(r), o = !Number.isNaN(i);
|
|
54
54
|
return !a && !o ? null : a && n < r ? "upcoming" : o && n > i ? "past" : a ? "live" : "upcoming";
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
return /* @__PURE__ */ f(
|
|
56
|
+
function F({ icon: e, label: t, value: n, loading: r }) {
|
|
57
|
+
return /* @__PURE__ */ f(C, {
|
|
58
58
|
treatment: "plain",
|
|
59
59
|
className: "border-border-seam p-4",
|
|
60
60
|
children: /* @__PURE__ */ p("div", {
|
|
@@ -64,7 +64,7 @@ function I({ icon: e, label: t, value: n, loading: r }) {
|
|
|
64
64
|
children: /* @__PURE__ */ f(e, { className: "h-4 w-4" })
|
|
65
65
|
}), /* @__PURE__ */ p("div", {
|
|
66
66
|
className: "min-w-0",
|
|
67
|
-
children: [r ? /* @__PURE__ */ f(
|
|
67
|
+
children: [r ? /* @__PURE__ */ f(w, { className: "h-6 w-12" }) : /* @__PURE__ */ f("p", {
|
|
68
68
|
className: "truncate text-xl font-bold tabular-nums text-text-primary",
|
|
69
69
|
children: n
|
|
70
70
|
}), /* @__PURE__ */ f("p", {
|
|
@@ -75,7 +75,7 @@ function I({ icon: e, label: t, value: n, loading: r }) {
|
|
|
75
75
|
})
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
-
function
|
|
78
|
+
function I({ icon: e, label: t, value: n }) {
|
|
79
79
|
return /* @__PURE__ */ p("div", {
|
|
80
80
|
className: "flex items-center gap-1.5",
|
|
81
81
|
children: [
|
|
@@ -91,27 +91,27 @@ function L({ icon: e, label: t, value: n }) {
|
|
|
91
91
|
]
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
|
-
function
|
|
95
|
-
let { t } =
|
|
94
|
+
function L() {
|
|
95
|
+
let { t } = ie(), o = (e, n) => {
|
|
96
96
|
let r = t(e);
|
|
97
97
|
return r === e ? n : r;
|
|
98
|
-
}, { navigate:
|
|
99
|
-
search:
|
|
98
|
+
}, { navigate: L } = e(), [R, z] = d(""), [B, me] = d("all"), [V, H] = d("table"), U = l({ resetKey: R }), { data: W, loading: G } = r({
|
|
99
|
+
search: R,
|
|
100
100
|
limit: U.limit,
|
|
101
101
|
offset: U.offset
|
|
102
|
-
}), { data: K, loading:
|
|
102
|
+
}), { data: K, loading: he } = a({
|
|
103
103
|
limit: 100,
|
|
104
104
|
offset: 0
|
|
105
|
-
}), { data:
|
|
105
|
+
}), { data: q, loading: ge } = i({
|
|
106
106
|
limit: 1,
|
|
107
107
|
offset: 0
|
|
108
|
-
}), { data:
|
|
108
|
+
}), { data: J, loading: _e } = n(pe, { variables: { limit: 500 } }), Y = W?.events?.total ?? 0, X = u(() => W?.events?.items ?? [], [W]), ve = J?.registrations?.total ?? 0, ye = K?.venues?.total ?? 0, be = q?.sponsors?.total ?? 0, Z = u(() => B === "all" ? X : X.filter((e) => P(e.startAt, e.endAt) === B), [X, B]), Q = u(() => {
|
|
109
109
|
let e = /* @__PURE__ */ new Map();
|
|
110
110
|
for (let t of K?.venues?.items ?? []) e.set(t.id, t.name);
|
|
111
111
|
return e;
|
|
112
|
-
}, [K]),
|
|
112
|
+
}, [K]), $ = u(() => {
|
|
113
113
|
let e = /* @__PURE__ */ new Map();
|
|
114
|
-
for (let t of
|
|
114
|
+
for (let t of J?.registrations?.items ?? []) {
|
|
115
115
|
let n = e.get(t.eventId) ?? {
|
|
116
116
|
registrations: 0,
|
|
117
117
|
checkedIn: 0
|
|
@@ -119,127 +119,238 @@ function R() {
|
|
|
119
119
|
n.registrations += 1, t.checkedInAt && (n.checkedIn += 1), e.set(t.eventId, n);
|
|
120
120
|
}
|
|
121
121
|
return e;
|
|
122
|
-
}, [
|
|
122
|
+
}, [J]);
|
|
123
123
|
return /* @__PURE__ */ p("div", {
|
|
124
124
|
className: "space-y-6 p-6",
|
|
125
125
|
children: [
|
|
126
|
-
/* @__PURE__ */ f(
|
|
127
|
-
/* @__PURE__ */ f(
|
|
126
|
+
/* @__PURE__ */ f(ue, { children: o("eventfullymanaged.events.purpose", "Events are the heart of the platform — each one is a happening you sell tickets for, register attendees to, and run on the day. Create an event, open it to reveal its agenda, speakers and ticket types, then publish it when it is ready.") }),
|
|
127
|
+
/* @__PURE__ */ f(ae, { children: /* @__PURE__ */ p("div", {
|
|
128
128
|
className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
|
|
129
129
|
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("h1", {
|
|
130
130
|
className: "text-2xl font-bold text-text-primary",
|
|
131
|
-
children: /* @__PURE__ */ f(
|
|
131
|
+
children: /* @__PURE__ */ f(oe, { children: o("eventfullymanaged.events.title", "Events") })
|
|
132
132
|
}), /* @__PURE__ */ f("p", {
|
|
133
133
|
className: "mt-1 text-sm text-text-secondary",
|
|
134
134
|
children: o("eventfullymanaged.events.description", "Create and manage live events from the workspace graph.")
|
|
135
|
-
})] }), /* @__PURE__ */ p(
|
|
135
|
+
})] }), /* @__PURE__ */ p(S, {
|
|
136
136
|
type: "button",
|
|
137
|
-
onClick: () =>
|
|
138
|
-
children: [/* @__PURE__ */ f(
|
|
137
|
+
onClick: () => L("/events/create"),
|
|
138
|
+
children: [/* @__PURE__ */ f(m, { className: "h-4 w-4" }), o("eventfullymanaged.events.actions.create", "Create Event")]
|
|
139
139
|
})]
|
|
140
140
|
}) }),
|
|
141
141
|
/* @__PURE__ */ p("div", {
|
|
142
142
|
className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
|
|
143
143
|
children: [
|
|
144
|
-
/* @__PURE__ */ f(
|
|
145
|
-
icon:
|
|
144
|
+
/* @__PURE__ */ f(F, {
|
|
145
|
+
icon: ne,
|
|
146
146
|
label: o("eventfullymanaged.events.portfolio.events", "Events"),
|
|
147
|
-
value:
|
|
148
|
-
loading: G &&
|
|
147
|
+
value: Y.toLocaleString(),
|
|
148
|
+
loading: G && Y === 0
|
|
149
149
|
}),
|
|
150
|
-
/* @__PURE__ */ f(
|
|
151
|
-
icon:
|
|
150
|
+
/* @__PURE__ */ f(F, {
|
|
151
|
+
icon: b,
|
|
152
152
|
label: o("eventfullymanaged.events.portfolio.registrations", "Registrations"),
|
|
153
|
-
value:
|
|
154
|
-
loading:
|
|
153
|
+
value: ve.toLocaleString(),
|
|
154
|
+
loading: _e && !J
|
|
155
155
|
}),
|
|
156
|
-
/* @__PURE__ */ f(
|
|
157
|
-
icon:
|
|
156
|
+
/* @__PURE__ */ f(F, {
|
|
157
|
+
icon: g,
|
|
158
158
|
label: o("eventfullymanaged.events.portfolio.venues", "Venues"),
|
|
159
|
-
value:
|
|
160
|
-
loading:
|
|
159
|
+
value: ye.toLocaleString(),
|
|
160
|
+
loading: he && !K
|
|
161
161
|
}),
|
|
162
|
-
/* @__PURE__ */ f(
|
|
163
|
-
icon:
|
|
162
|
+
/* @__PURE__ */ f(F, {
|
|
163
|
+
icon: ee,
|
|
164
164
|
label: o("eventfullymanaged.events.portfolio.sponsors", "Sponsors"),
|
|
165
|
-
value:
|
|
166
|
-
loading:
|
|
165
|
+
value: be.toLocaleString(),
|
|
166
|
+
loading: ge && !q
|
|
167
167
|
})
|
|
168
168
|
]
|
|
169
169
|
}),
|
|
170
170
|
/* @__PURE__ */ p("div", {
|
|
171
171
|
className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
|
|
172
|
-
children: [
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
className: "w-full
|
|
188
|
-
children:
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
172
|
+
children: [
|
|
173
|
+
/* @__PURE__ */ p("div", {
|
|
174
|
+
className: "relative flex-1",
|
|
175
|
+
children: [/* @__PURE__ */ f(_, { className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-muted" }), /* @__PURE__ */ f(ce, {
|
|
176
|
+
type: "text",
|
|
177
|
+
value: R,
|
|
178
|
+
onChange: (e) => z(e.target.value),
|
|
179
|
+
placeholder: o("eventfullymanaged.events.searchPlaceholder", "Search events"),
|
|
180
|
+
"aria-label": o("eventfullymanaged.events.searchPlaceholder", "Search events"),
|
|
181
|
+
className: "pl-10"
|
|
182
|
+
})]
|
|
183
|
+
}),
|
|
184
|
+
/* @__PURE__ */ f(A, {
|
|
185
|
+
value: B,
|
|
186
|
+
onValueChange: (e) => me(e),
|
|
187
|
+
className: "w-full sm:w-auto",
|
|
188
|
+
children: /* @__PURE__ */ p(fe, {
|
|
189
|
+
className: "w-full overflow-x-auto sm:w-auto",
|
|
190
|
+
children: [
|
|
191
|
+
/* @__PURE__ */ f(j, {
|
|
192
|
+
value: "all",
|
|
193
|
+
children: o("eventfullymanaged.events.filters.all", "All")
|
|
194
|
+
}),
|
|
195
|
+
/* @__PURE__ */ f(j, {
|
|
196
|
+
value: "upcoming",
|
|
197
|
+
children: o("eventfullymanaged.events.filters.upcoming", "Upcoming")
|
|
198
|
+
}),
|
|
199
|
+
/* @__PURE__ */ f(j, {
|
|
200
|
+
value: "live",
|
|
201
|
+
children: o("eventfullymanaged.events.filters.live", "Live")
|
|
202
|
+
}),
|
|
203
|
+
/* @__PURE__ */ f(j, {
|
|
204
|
+
value: "past",
|
|
205
|
+
children: o("eventfullymanaged.events.filters.past", "Past")
|
|
206
|
+
})
|
|
207
|
+
]
|
|
208
|
+
})
|
|
209
|
+
}),
|
|
210
|
+
/* @__PURE__ */ p("div", {
|
|
211
|
+
className: "flex shrink-0 items-center gap-1 self-start rounded-button border border-border-seam p-1 sm:self-auto",
|
|
212
|
+
children: [/* @__PURE__ */ f(S, {
|
|
213
|
+
type: "button",
|
|
214
|
+
variant: V === "table" ? "default" : "ghost",
|
|
215
|
+
size: "sm",
|
|
216
|
+
"aria-pressed": V === "table",
|
|
217
|
+
"aria-label": o("eventfullymanaged.events.view.table", "Table view"),
|
|
218
|
+
onClick: () => H("table"),
|
|
219
|
+
children: /* @__PURE__ */ f(re, { className: "h-4 w-4" })
|
|
220
|
+
}), /* @__PURE__ */ f(S, {
|
|
221
|
+
type: "button",
|
|
222
|
+
variant: V === "cards" ? "default" : "ghost",
|
|
223
|
+
size: "sm",
|
|
224
|
+
"aria-pressed": V === "cards",
|
|
225
|
+
"aria-label": o("eventfullymanaged.events.view.cards", "Card view"),
|
|
226
|
+
onClick: () => H("cards"),
|
|
227
|
+
children: /* @__PURE__ */ f(h, { className: "h-4 w-4" })
|
|
228
|
+
})]
|
|
206
229
|
})
|
|
207
|
-
|
|
230
|
+
]
|
|
208
231
|
}),
|
|
209
232
|
G ? /* @__PURE__ */ p("div", {
|
|
210
233
|
className: "space-y-3",
|
|
211
234
|
children: [
|
|
212
|
-
/* @__PURE__ */ f(
|
|
213
|
-
/* @__PURE__ */ f(
|
|
214
|
-
/* @__PURE__ */ f(
|
|
235
|
+
/* @__PURE__ */ f(w, { className: "h-28 w-full rounded-card" }),
|
|
236
|
+
/* @__PURE__ */ f(w, { className: "h-28 w-full rounded-card" }),
|
|
237
|
+
/* @__PURE__ */ f(w, { className: "h-28 w-full rounded-card" })
|
|
215
238
|
]
|
|
216
|
-
}) :
|
|
239
|
+
}) : X.length === 0 ? /* @__PURE__ */ f(C, {
|
|
217
240
|
treatment: "plain",
|
|
218
241
|
className: "border-border-seam",
|
|
219
|
-
children: /* @__PURE__ */ f(
|
|
220
|
-
illustration:
|
|
221
|
-
title:
|
|
222
|
-
description:
|
|
223
|
-
action:
|
|
242
|
+
children: /* @__PURE__ */ f(se, {
|
|
243
|
+
illustration: R ? "empty-search" : "empty-data",
|
|
244
|
+
title: R ? o("eventfullymanaged.events.list.emptySearch", "No events match your search.") : o("eventfullymanaged.events.list.empty", "No events yet."),
|
|
245
|
+
description: R ? o("eventfullymanaged.events.list.emptySearchHint", "Try a different name.") : o("eventfullymanaged.events.list.emptyHint", "Create your first event to get started."),
|
|
246
|
+
action: R ? void 0 : /* @__PURE__ */ p(S, {
|
|
224
247
|
type: "button",
|
|
225
|
-
onClick: () =>
|
|
226
|
-
children: [/* @__PURE__ */ f(
|
|
248
|
+
onClick: () => L("/events/create"),
|
|
249
|
+
children: [/* @__PURE__ */ f(m, { className: "h-4 w-4" }), o("eventfullymanaged.events.actions.create", "Create Event")]
|
|
227
250
|
})
|
|
228
251
|
})
|
|
229
|
-
}) :
|
|
252
|
+
}) : Z.length === 0 ? /* @__PURE__ */ p("div", {
|
|
230
253
|
className: "space-y-3",
|
|
231
|
-
children: [/* @__PURE__ */ f(
|
|
254
|
+
children: [/* @__PURE__ */ f(C, {
|
|
232
255
|
treatment: "plain",
|
|
233
256
|
className: "border-border-seam",
|
|
234
257
|
children: /* @__PURE__ */ f("p", {
|
|
235
258
|
className: "px-2 py-8 text-center text-sm text-text-secondary",
|
|
236
|
-
children: o("eventfullymanaged.events.filters.empty", `No ${
|
|
259
|
+
children: o("eventfullymanaged.events.filters.empty", `No ${B} events on this page. Switch tabs or move to another page.`)
|
|
237
260
|
})
|
|
238
261
|
}), /* @__PURE__ */ f(c, {
|
|
239
262
|
offset: U.offset,
|
|
240
263
|
limit: U.limit,
|
|
241
|
-
loadedCount:
|
|
242
|
-
total:
|
|
264
|
+
loadedCount: X.length,
|
|
265
|
+
total: Y,
|
|
266
|
+
onPrev: U.prevPage,
|
|
267
|
+
onNext: U.nextPage,
|
|
268
|
+
itemLabel: "events",
|
|
269
|
+
loading: G
|
|
270
|
+
})]
|
|
271
|
+
}) : V === "table" ? /* @__PURE__ */ p("div", {
|
|
272
|
+
className: "space-y-3",
|
|
273
|
+
children: [/* @__PURE__ */ f("div", {
|
|
274
|
+
className: "overflow-hidden rounded-card border border-border-seam",
|
|
275
|
+
children: /* @__PURE__ */ p(T, { children: [/* @__PURE__ */ f(de, { children: /* @__PURE__ */ p(k, { children: [
|
|
276
|
+
/* @__PURE__ */ f(O, { children: o("eventfullymanaged.events.table.name", "Event") }),
|
|
277
|
+
/* @__PURE__ */ f(O, { children: o("eventfullymanaged.events.table.date", "Date") }),
|
|
278
|
+
/* @__PURE__ */ f(O, { children: o("eventfullymanaged.events.table.venue", "Venue") }),
|
|
279
|
+
/* @__PURE__ */ f(O, { children: o("eventfullymanaged.events.table.status", "Status") }),
|
|
280
|
+
/* @__PURE__ */ f(O, {
|
|
281
|
+
className: "text-right",
|
|
282
|
+
children: o("eventfullymanaged.events.table.attendees", "Attendees")
|
|
283
|
+
}),
|
|
284
|
+
/* @__PURE__ */ f(O, {
|
|
285
|
+
className: "w-10",
|
|
286
|
+
"aria-label": o("eventfullymanaged.events.table.actions", "Actions")
|
|
287
|
+
})
|
|
288
|
+
] }) }), /* @__PURE__ */ f(E, { children: Z.map((e) => {
|
|
289
|
+
let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ? Q.get(n) : void 0, i = $.get(e.id), a = i?.registrations ?? 0, c = a > 0 ? Math.round((i?.checkedIn ?? 0) / a * 100) : 0;
|
|
290
|
+
return /* @__PURE__ */ p(k, {
|
|
291
|
+
className: "cursor-pointer",
|
|
292
|
+
tabIndex: 0,
|
|
293
|
+
"aria-label": e.name,
|
|
294
|
+
onClick: () => L(`/events/${e.id}`),
|
|
295
|
+
onKeyDown: (t) => {
|
|
296
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), L(`/events/${e.id}`));
|
|
297
|
+
},
|
|
298
|
+
children: [
|
|
299
|
+
/* @__PURE__ */ f(D, {
|
|
300
|
+
className: "max-w-[18rem]",
|
|
301
|
+
children: /* @__PURE__ */ p("div", {
|
|
302
|
+
className: "flex flex-wrap items-center gap-2",
|
|
303
|
+
children: [/* @__PURE__ */ f("span", {
|
|
304
|
+
className: "truncate font-medium text-text-primary",
|
|
305
|
+
children: e.name
|
|
306
|
+
}), e.type ? /* @__PURE__ */ f(x, {
|
|
307
|
+
variant: "secondary",
|
|
308
|
+
className: "shrink-0 capitalize",
|
|
309
|
+
children: e.type.toLowerCase().replace(/_/g, " ")
|
|
310
|
+
}) : null]
|
|
311
|
+
})
|
|
312
|
+
}),
|
|
313
|
+
/* @__PURE__ */ f(D, {
|
|
314
|
+
className: "whitespace-nowrap text-text-secondary",
|
|
315
|
+
children: N(e.startAt, e.endAt)
|
|
316
|
+
}),
|
|
317
|
+
/* @__PURE__ */ f(D, {
|
|
318
|
+
className: "text-text-secondary",
|
|
319
|
+
children: r ?? o("eventfullymanaged.events.card.noVenue", "No venue")
|
|
320
|
+
}),
|
|
321
|
+
/* @__PURE__ */ f(D, { children: e.status ? /* @__PURE__ */ f(x, {
|
|
322
|
+
variant: M(e.status),
|
|
323
|
+
className: "uppercase",
|
|
324
|
+
children: e.status
|
|
325
|
+
}) : "—" }),
|
|
326
|
+
/* @__PURE__ */ p(D, {
|
|
327
|
+
className: "whitespace-nowrap text-right tabular-nums text-text-primary",
|
|
328
|
+
children: [a.toLocaleString(), /* @__PURE__ */ p("span", {
|
|
329
|
+
className: "ml-1 text-xs text-text-muted",
|
|
330
|
+
children: [
|
|
331
|
+
"(",
|
|
332
|
+
c,
|
|
333
|
+
"%)"
|
|
334
|
+
]
|
|
335
|
+
})]
|
|
336
|
+
}),
|
|
337
|
+
/* @__PURE__ */ f(D, {
|
|
338
|
+
onClick: (e) => e.stopPropagation(),
|
|
339
|
+
onKeyDown: (e) => e.stopPropagation(),
|
|
340
|
+
children: /* @__PURE__ */ f(s, {
|
|
341
|
+
ariaLabel: `Event actions for ${e.name}`,
|
|
342
|
+
onView: () => L(`/events/${e.id}`),
|
|
343
|
+
onEdit: () => L(`/events/${e.id}/edit`)
|
|
344
|
+
})
|
|
345
|
+
})
|
|
346
|
+
]
|
|
347
|
+
}, e.id);
|
|
348
|
+
}) })] })
|
|
349
|
+
}), /* @__PURE__ */ f(c, {
|
|
350
|
+
offset: U.offset,
|
|
351
|
+
limit: U.limit,
|
|
352
|
+
loadedCount: X.length,
|
|
353
|
+
total: Y,
|
|
243
354
|
onPrev: U.prevPage,
|
|
244
355
|
onNext: U.nextPage,
|
|
245
356
|
itemLabel: "events",
|
|
@@ -247,17 +358,17 @@ function R() {
|
|
|
247
358
|
})]
|
|
248
359
|
}) : /* @__PURE__ */ p("div", {
|
|
249
360
|
className: "space-y-3",
|
|
250
|
-
children: [
|
|
251
|
-
let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ?
|
|
252
|
-
return /* @__PURE__ */ p(
|
|
361
|
+
children: [Z.map((e) => {
|
|
362
|
+
let t = e.metadata ?? {}, n = typeof t.venueId == "string" ? t.venueId : "", r = n ? Q.get(n) : void 0, i = $.get(e.id), a = i?.registrations ?? 0, c = a > 0 ? Math.round((i?.checkedIn ?? 0) / a * 100) : 0;
|
|
363
|
+
return /* @__PURE__ */ p(C, {
|
|
253
364
|
treatment: "plain",
|
|
254
365
|
role: "button",
|
|
255
366
|
tabIndex: 0,
|
|
256
367
|
"aria-label": e.name,
|
|
257
368
|
className: "group relative cursor-pointer overflow-hidden border-border-seam p-0 outline-none transition-[box-shadow,border-color] duration-200 hover:border-border-strong hover:shadow-elevation-1 focus-visible:ring-1 focus-visible:ring-[var(--color-focus-ring)]",
|
|
258
|
-
onClick: () =>
|
|
369
|
+
onClick: () => L(`/events/${e.id}`),
|
|
259
370
|
onKeyDown: (t) => {
|
|
260
|
-
(t.key === "Enter" || t.key === " ") && (t.preventDefault(),
|
|
371
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), L(`/events/${e.id}`));
|
|
261
372
|
},
|
|
262
373
|
children: [/* @__PURE__ */ f("span", {
|
|
263
374
|
"aria-hidden": "true",
|
|
@@ -274,12 +385,12 @@ function R() {
|
|
|
274
385
|
className: "truncate text-lg font-semibold text-text-primary",
|
|
275
386
|
children: e.name
|
|
276
387
|
}),
|
|
277
|
-
e.status ? /* @__PURE__ */ f(
|
|
278
|
-
variant:
|
|
388
|
+
e.status ? /* @__PURE__ */ f(x, {
|
|
389
|
+
variant: M(e.status),
|
|
279
390
|
className: "uppercase",
|
|
280
391
|
children: e.status
|
|
281
392
|
}) : null,
|
|
282
|
-
e.type ? /* @__PURE__ */ f(
|
|
393
|
+
e.type ? /* @__PURE__ */ f(x, {
|
|
283
394
|
variant: "secondary",
|
|
284
395
|
className: "capitalize",
|
|
285
396
|
children: e.type.toLowerCase().replace(/_/g, " ")
|
|
@@ -290,27 +401,27 @@ function R() {
|
|
|
290
401
|
className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-text-secondary",
|
|
291
402
|
children: [/* @__PURE__ */ p("span", {
|
|
292
403
|
className: "flex items-center gap-1.5",
|
|
293
|
-
children: [/* @__PURE__ */ f(
|
|
404
|
+
children: [/* @__PURE__ */ f(te, { className: "h-4 w-4 shrink-0 text-text-muted" }), N(e.startAt, e.endAt)]
|
|
294
405
|
}), /* @__PURE__ */ p("span", {
|
|
295
406
|
className: "flex items-center gap-1.5",
|
|
296
|
-
children: [/* @__PURE__ */ f(
|
|
407
|
+
children: [/* @__PURE__ */ f(g, { className: "h-4 w-4 shrink-0 text-text-muted" }), r ?? o("eventfullymanaged.events.card.noVenue", "No venue")]
|
|
297
408
|
})]
|
|
298
409
|
}),
|
|
299
410
|
/* @__PURE__ */ p("div", {
|
|
300
411
|
className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-xs",
|
|
301
412
|
children: [
|
|
302
|
-
/* @__PURE__ */ f(
|
|
303
|
-
icon:
|
|
413
|
+
/* @__PURE__ */ f(I, {
|
|
414
|
+
icon: y,
|
|
304
415
|
label: o("eventfullymanaged.events.card.registered", "registered"),
|
|
305
416
|
value: a.toLocaleString()
|
|
306
417
|
}),
|
|
307
|
-
/* @__PURE__ */ f(
|
|
308
|
-
icon:
|
|
418
|
+
/* @__PURE__ */ f(I, {
|
|
419
|
+
icon: y,
|
|
309
420
|
label: o("eventfullymanaged.events.card.checkedIn", "checked in"),
|
|
310
421
|
value: `${c}%`
|
|
311
422
|
}),
|
|
312
|
-
/* @__PURE__ */ f(
|
|
313
|
-
icon:
|
|
423
|
+
/* @__PURE__ */ f(I, {
|
|
424
|
+
icon: b,
|
|
314
425
|
label: o("eventfullymanaged.events.card.capacity", "capacity"),
|
|
315
426
|
value: e.capacity == null ? "—" : e.capacity.toLocaleString()
|
|
316
427
|
})
|
|
@@ -324,8 +435,8 @@ function R() {
|
|
|
324
435
|
role: "presentation",
|
|
325
436
|
children: /* @__PURE__ */ f(s, {
|
|
326
437
|
ariaLabel: `Event actions for ${e.name}`,
|
|
327
|
-
onView: () =>
|
|
328
|
-
onEdit: () =>
|
|
438
|
+
onView: () => L(`/events/${e.id}`),
|
|
439
|
+
onEdit: () => L(`/events/${e.id}/edit`)
|
|
329
440
|
})
|
|
330
441
|
})]
|
|
331
442
|
})]
|
|
@@ -333,15 +444,15 @@ function R() {
|
|
|
333
444
|
}), /* @__PURE__ */ f(c, {
|
|
334
445
|
offset: U.offset,
|
|
335
446
|
limit: U.limit,
|
|
336
|
-
loadedCount:
|
|
337
|
-
total:
|
|
447
|
+
loadedCount: X.length,
|
|
448
|
+
total: Y,
|
|
338
449
|
onPrev: U.prevPage,
|
|
339
450
|
onNext: U.nextPage,
|
|
340
451
|
itemLabel: "events",
|
|
341
452
|
loading: G
|
|
342
453
|
})]
|
|
343
454
|
}),
|
|
344
|
-
/* @__PURE__ */ f(
|
|
455
|
+
/* @__PURE__ */ f(le, {
|
|
345
456
|
storageKey: "eventfullymanaged-events",
|
|
346
457
|
title: o("eventfullymanaged.events.nextSteps.title", "Finish setting up your event"),
|
|
347
458
|
steps: [
|
|
@@ -349,22 +460,22 @@ function R() {
|
|
|
349
460
|
id: "configure-registration",
|
|
350
461
|
label: o("eventfullymanaged.events.nextSteps.registration", "Configure registration & tickets"),
|
|
351
462
|
description: o("eventfullymanaged.events.nextSteps.registrationDesc", "Open an event and define ticket types so people can register."),
|
|
352
|
-
icon: /* @__PURE__ */ f(
|
|
353
|
-
onClick: () =>
|
|
463
|
+
icon: /* @__PURE__ */ f(v, { className: "h-4 w-4" }),
|
|
464
|
+
onClick: () => L("/registration")
|
|
354
465
|
},
|
|
355
466
|
{
|
|
356
467
|
id: "plan-networking",
|
|
357
468
|
label: o("eventfullymanaged.events.nextSteps.networking", "Plan networking & sessions"),
|
|
358
469
|
description: o("eventfullymanaged.events.nextSteps.networkingDesc", "Set up attendee matchmaking and meeting schedules."),
|
|
359
|
-
icon: /* @__PURE__ */ f(
|
|
360
|
-
onClick: () =>
|
|
470
|
+
icon: /* @__PURE__ */ f(b, { className: "h-4 w-4" }),
|
|
471
|
+
onClick: () => L("/networking")
|
|
361
472
|
},
|
|
362
473
|
{
|
|
363
474
|
id: "announce",
|
|
364
475
|
label: o("eventfullymanaged.events.nextSteps.announce", "Announce to attendees"),
|
|
365
476
|
description: o("eventfullymanaged.events.nextSteps.announceDesc", "Send announcements and run communication campaigns."),
|
|
366
|
-
icon: /* @__PURE__ */ f(
|
|
367
|
-
onClick: () =>
|
|
477
|
+
icon: /* @__PURE__ */ f(m, { className: "h-4 w-4" }),
|
|
478
|
+
onClick: () => L("/communication")
|
|
368
479
|
}
|
|
369
480
|
]
|
|
370
481
|
})
|
|
@@ -372,6 +483,6 @@ function R() {
|
|
|
372
483
|
});
|
|
373
484
|
}
|
|
374
485
|
//#endregion
|
|
375
|
-
export {
|
|
486
|
+
export { L as default };
|
|
376
487
|
|
|
377
488
|
//# sourceMappingURL=EventsPage.js.map
|