@burdenoff/microfe-eventfullymanaged 2026.728.1 → 2026.731.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 (37) hide show
  1. package/dist/eventfullymanaged/EventfullyManagedRoutes.d.ts.map +1 -1
  2. package/dist/eventfullymanaged/EventfullyManagedRoutes.js +60 -76
  3. package/dist/eventfullymanaged/EventfullyManagedRoutes.js.map +1 -1
  4. package/dist/eventfullymanaged/api/eventApi.d.ts +245 -1
  5. package/dist/eventfullymanaged/api/eventApi.d.ts.map +1 -1
  6. package/dist/eventfullymanaged/api/eventApi.js +482 -264
  7. package/dist/eventfullymanaged/api/eventApi.js.map +1 -1
  8. package/dist/eventfullymanaged/hooks/useEvmSubscription.d.ts +18 -0
  9. package/dist/eventfullymanaged/hooks/useEvmSubscription.d.ts.map +1 -0
  10. package/dist/eventfullymanaged/hooks/useEvmSubscription.js +110 -0
  11. package/dist/eventfullymanaged/hooks/useEvmSubscription.js.map +1 -0
  12. package/dist/eventfullymanaged/hooks/useVirtualCall.d.ts +47 -0
  13. package/dist/eventfullymanaged/hooks/useVirtualCall.d.ts.map +1 -0
  14. package/dist/eventfullymanaged/hooks/useVirtualCall.js +209 -0
  15. package/dist/eventfullymanaged/hooks/useVirtualCall.js.map +1 -0
  16. package/dist/eventfullymanaged/pages/events/EventDetailPage.d.ts.map +1 -1
  17. package/dist/eventfullymanaged/pages/events/EventDetailPage.js +79 -71
  18. package/dist/eventfullymanaged/pages/events/EventDetailPage.js.map +1 -1
  19. package/dist/eventfullymanaged/pages/events/VirtualSessionPage.d.ts +2 -0
  20. package/dist/eventfullymanaged/pages/events/VirtualSessionPage.d.ts.map +1 -0
  21. package/dist/eventfullymanaged/pages/events/VirtualSessionPage.js +353 -0
  22. package/dist/eventfullymanaged/pages/events/VirtualSessionPage.js.map +1 -0
  23. package/dist/eventfullymanaged/pages/modules/IntegrationsPage.d.ts +2 -0
  24. package/dist/eventfullymanaged/pages/modules/IntegrationsPage.d.ts.map +1 -0
  25. package/dist/eventfullymanaged/pages/modules/IntegrationsPage.js +336 -0
  26. package/dist/eventfullymanaged/pages/modules/IntegrationsPage.js.map +1 -0
  27. package/dist/eventfullymanaged/pages/modules/NetworkingPage.d.ts.map +1 -1
  28. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js +211 -177
  29. package/dist/eventfullymanaged/pages/modules/NetworkingPage.js.map +1 -1
  30. package/dist/eventfullymanaged/pages/modules/RegistrationPage.d.ts.map +1 -1
  31. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js +204 -174
  32. package/dist/eventfullymanaged/pages/modules/RegistrationPage.js.map +1 -1
  33. package/dist/eventfullymanaged/utils/shellBridge.d.ts +46 -0
  34. package/dist/eventfullymanaged/utils/shellBridge.d.ts.map +1 -0
  35. package/dist/eventfullymanaged/utils/shellBridge.js +19 -0
  36. package/dist/eventfullymanaged/utils/shellBridge.js.map +1 -0
  37. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
1
  import { useEventfullyManaged as e } from "../../context/EventfullyManagedContext.js";
2
2
  import { notify as t } from "../../lib/toast.js";
3
- import { useAttendeesQuery as n, useDeleteMeetingMutation as r, useMeetingsQuery as i, useNetworkingMatchesQuery as a, useNetworkingProfilesQuery as o } from "../../api/eventApi.js";
4
- import { ActionMenu as s } from "../../components/ActionMenu.js";
5
- import { Pagination as c, usePagination as l } from "../../components/Pagination.js";
6
- import { describeError as u, mutationSucceeded as d } from "../../lib/mutationResult.js";
7
- import { useMemo as f } from "react";
8
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
9
- import { CalendarDays as h, CalendarPlus as g, Clock as _, Heart as v, MapPin as y, Megaphone as b, MessagesSquare as x, Sparkles as S, UserPlus as C, Users as w } from "lucide-react";
10
- import { Badge as T, Button as E, EmphasisPanel as ee, GlassCard as D, GradientText as te, IllustratedEmptyState as O, NextSteps as k, PagePurpose as A, ScrollArea as j } from "@burdenoff/fe-libs/ui";
11
- import { ContextConversationWidget as M } from "@burdenoff/fe-libs/shared";
12
- import { useRegisterPageConversationContext as N } from "@burdenoff/fe-libs/shared/providers/shell";
3
+ import { useAttendeesQuery as n, useDeleteMeetingMutation as r, useEventsQuery as i, useGenerateNetworkingMatchesMutation as a, useMeetingsQuery as o, useNetworkingMatchesQuery as s, useNetworkingProfilesQuery 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 { describeError as f, mutationSucceeded as ee } from "../../lib/mutationResult.js";
7
+ import { useMemo as p, useState as m } from "react";
8
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
9
+ import { CalendarDays as _, CalendarPlus as v, Clock as y, Heart as b, MapPin as x, Megaphone as te, MessagesSquare as S, Sparkles as ne, UserPlus as re, Users as C, Wand2 as w } from "lucide-react";
10
+ import { Badge as T, Button as E, EmphasisPanel as ie, GlassCard as D, GradientText as ae, IllustratedEmptyState as O, NextSteps as oe, PagePurpose as se, ScrollArea as k, Select as ce, SelectContent as le, SelectItem as ue, SelectTrigger as de, SelectValue as fe } from "@burdenoff/fe-libs/ui";
11
+ import { ContextConversationWidget as A } from "@burdenoff/fe-libs/shared";
12
+ import { useRegisterPageConversationContext as j } from "@burdenoff/fe-libs/shared/providers/shell";
13
13
  //#region src/eventfullymanaged/pages/modules/NetworkingPage.tsx
14
- var P = 8, F = 200;
15
- function I(e) {
14
+ var M = 8, N = 200;
15
+ function P(e) {
16
16
  let t = e.toLowerCase();
17
17
  return [
18
18
  "active",
@@ -36,32 +36,15 @@ function I(e) {
36
36
  "scheduled"
37
37
  ].includes(t) ? "info" : "secondary";
38
38
  }
39
- function L(e) {
39
+ function F(e) {
40
40
  let t = e.trim().split(/\s+/).filter(Boolean);
41
41
  return t.length === 0 ? "?" : t.length === 1 ? t[0].slice(0, 2).toUpperCase() : (t[0][0] + t[t.length - 1][0]).toUpperCase();
42
42
  }
43
- function R(e, t) {
43
+ function I(e, t) {
44
44
  let n = e?.[t];
45
45
  return typeof n == "string" && n.trim() ? n : null;
46
46
  }
47
- function z(e, ...t) {
48
- if (!e) return null;
49
- for (let n of t) {
50
- let t = e[n];
51
- if (typeof t == "number" && Number.isFinite(t)) return t;
52
- if (typeof t == "string" && t.trim() && Number.isFinite(Number(t))) return Number(t);
53
- }
54
- return null;
55
- }
56
- function B(e, ...t) {
57
- if (!e) return [];
58
- for (let n of t) {
59
- let t = e[n];
60
- if (Array.isArray(t)) return t.filter((e) => typeof e == "string" && e.trim().length > 0);
61
- }
62
- return [];
63
- }
64
- function V(e, t) {
47
+ function L(e, t) {
65
48
  if (!e) return null;
66
49
  let n = new Date(e);
67
50
  if (Number.isNaN(n.getTime())) return null;
@@ -80,52 +63,52 @@ function V(e, t) {
80
63
  }
81
64
  return r;
82
65
  }
83
- function H({ items: e }) {
84
- return e.length === 0 ? null : /* @__PURE__ */ p("div", {
66
+ function R({ items: e }) {
67
+ return e.length === 0 ? null : /* @__PURE__ */ h("div", {
85
68
  className: "flex flex-wrap gap-1.5",
86
- children: e.slice(0, 4).map((e) => /* @__PURE__ */ p("span", {
69
+ children: e.slice(0, 4).map((e) => /* @__PURE__ */ h("span", {
87
70
  className: "rounded-full bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary",
88
71
  children: e
89
72
  }, e))
90
73
  });
91
74
  }
92
- function U({ label: e }) {
93
- return /* @__PURE__ */ p("span", {
75
+ function z({ label: e }) {
76
+ return /* @__PURE__ */ h("span", {
94
77
  className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-accent-primary/10 text-sm font-semibold text-accent-primary ring-2 ring-bg-surface",
95
78
  "aria-hidden": "true",
96
- children: L(e)
79
+ children: F(e)
97
80
  });
98
81
  }
99
- function W({ icon: e, heading: t, loading: n, total: r, loadedCount: i, pagination: a, itemLabel: o, empty: s, children: l }) {
100
- return /* @__PURE__ */ m(D, {
82
+ function B({ icon: e, heading: t, loading: n, total: r, loadedCount: i, pagination: a, itemLabel: o, empty: s, children: c }) {
83
+ return /* @__PURE__ */ g(D, {
101
84
  treatment: "plain",
102
85
  className: "flex flex-col border-border-seam p-4",
103
86
  children: [
104
- /* @__PURE__ */ m("div", {
87
+ /* @__PURE__ */ g("div", {
105
88
  className: "flex items-center gap-2",
106
89
  children: [
107
- /* @__PURE__ */ p("span", {
90
+ /* @__PURE__ */ h("span", {
108
91
  className: "text-accent-primary",
109
92
  children: e
110
93
  }),
111
- /* @__PURE__ */ p("h2", {
94
+ /* @__PURE__ */ h("h2", {
112
95
  className: "text-base font-semibold text-text-primary",
113
96
  children: t
114
97
  }),
115
- /* @__PURE__ */ p("span", {
98
+ /* @__PURE__ */ h("span", {
116
99
  className: "ml-auto rounded-full bg-bg-sunken px-2 py-0.5 text-xs font-medium tabular-nums text-text-secondary",
117
100
  children: n ? "…" : r.toLocaleString()
118
101
  })
119
102
  ]
120
103
  }),
121
- /* @__PURE__ */ p(j, {
104
+ /* @__PURE__ */ h(k, {
122
105
  className: "mt-3 max-h-[30rem] pr-2",
123
- children: /* @__PURE__ */ p("div", {
106
+ children: /* @__PURE__ */ h("div", {
124
107
  className: "space-y-3",
125
- children: i === 0 ? s : l
108
+ children: i === 0 ? s : c
126
109
  })
127
110
  }),
128
- /* @__PURE__ */ p(c, {
111
+ /* @__PURE__ */ h(u, {
129
112
  offset: a.offset,
130
113
  limit: a.limit,
131
114
  loadedCount: i,
@@ -138,31 +121,54 @@ function W({ icon: e, heading: t, loading: n, total: r, loadedCount: i, paginati
138
121
  ]
139
122
  });
140
123
  }
141
- var G = {
124
+ var V = {
142
125
  entityType: "EVENTFULLYMANAGED_NETWORKING_LOUNGE",
143
126
  entityId: "general",
144
127
  contextTitle: "Networking Lounge"
145
128
  };
146
- function ne() {
147
- return N(G), /* @__PURE__ */ p(M, { widgetKey: "networking-lounge" });
129
+ function pe() {
130
+ return j(V), /* @__PURE__ */ h(A, { widgetKey: "networking-lounge" });
148
131
  }
149
- function K() {
150
- let { navigate: c } = e(), D = l({ pageSize: P }), j = l({ pageSize: P }), M = l({ pageSize: P }), N = o({
151
- limit: D.limit,
152
- offset: D.offset
153
- }), L = a({
132
+ function H() {
133
+ let { navigate: u } = e(), k = d({ pageSize: M }), A = d({ pageSize: M }), j = d({ pageSize: M }), F = c({
134
+ limit: k.limit,
135
+ offset: k.offset
136
+ }), V = s({
137
+ limit: A.limit,
138
+ offset: A.offset
139
+ }), H = o({
154
140
  limit: j.limit,
155
141
  offset: j.offset
156
- }), G = i({
157
- limit: M.limit,
158
- offset: M.offset
159
- }), { data: K } = n({
160
- limit: F,
142
+ }), { data: U } = n({
143
+ limit: N,
161
144
  offset: 0
162
- }), { data: q } = o({
163
- limit: F,
145
+ }), { data: W } = c({
146
+ limit: N,
164
147
  offset: 0
165
- }), [re] = r(), J = f(() => K?.attendees?.items ?? [], [K]), Y = f(() => {
148
+ }), [me] = r(), { data: G } = i({
149
+ limit: 100,
150
+ offset: 0
151
+ }), he = p(() => G?.events?.items ?? [], [G]), [K, ge] = m(""), [_e, { loading: q }] = a(), ve = async () => {
152
+ if (!K) {
153
+ t.error("Pick an event first", "Choose which event to generate matches for.");
154
+ return;
155
+ }
156
+ try {
157
+ let e = await _e({ variables: { eventId: K } });
158
+ if (e.error) {
159
+ t.error("Could not generate matches", e.error.message);
160
+ return;
161
+ }
162
+ let n = e.data?.generateNetworkingMatches.total ?? 0;
163
+ if (n === 0) {
164
+ t.info("No matches yet", "This event needs at least 5 opted-in networking profiles before matches can be generated.");
165
+ return;
166
+ }
167
+ t.success("Matches generated", `Found ${n} suggested connection${n === 1 ? "" : "s"}.`), await V.refetch();
168
+ } catch (e) {
169
+ t.error("Could not generate matches", f(e));
170
+ }
171
+ }, J = p(() => U?.attendees?.items ?? [], [U]), Y = p(() => {
166
172
  let e = /* @__PURE__ */ new Map();
167
173
  for (let t of J) e.set(t.id, {
168
174
  name: t.fullName,
@@ -170,62 +176,95 @@ function K() {
170
176
  company: t.company
171
177
  });
172
178
  return e;
173
- }, [J]), X = f(() => {
179
+ }, [J]), X = p(() => {
174
180
  let e = /* @__PURE__ */ new Map();
175
- for (let t of q?.networkingProfiles?.items ?? []) {
181
+ for (let t of W?.networkingProfiles?.items ?? []) {
176
182
  let n = Y.get(t.attendeeId);
177
183
  e.set(t.id, n?.name ?? t.role ?? `Profile ${t.id.slice(0, 6)}`);
178
184
  }
179
185
  return e;
180
- }, [q, Y]), Z = f(() => N.data?.networkingProfiles.items ?? [], [N.data]), Q = f(() => L.data?.networkingMatches.items ?? [], [L.data]), $ = f(() => G.data?.meetings.items ?? [], [G.data]), ie = async (e, n) => {
186
+ }, [W, Y]), Z = p(() => F.data?.networkingProfiles.items ?? [], [F.data]), Q = p(() => V.data?.networkingMatches.items ?? [], [V.data]), $ = p(() => H.data?.meetings.items ?? [], [H.data]), ye = async (e, n) => {
181
187
  try {
182
- let r = await re({ variables: { id: e } });
183
- if (!d(r, r.data?.deleteMeeting === !0 ? e : void 0, "Could not delete meeting")) return;
184
- t.success("Meeting removed", `${n} was deleted.`), await G.refetch();
188
+ let r = await me({ variables: { id: e } });
189
+ if (!ee(r, r.data?.deleteMeeting === !0 ? e : void 0, "Could not delete meeting")) return;
190
+ t.success("Meeting removed", `${n} was deleted.`), await H.refetch();
185
191
  } catch (e) {
186
- t.error("Could not delete meeting", u(e));
192
+ t.error("Could not delete meeting", f(e));
187
193
  }
188
194
  };
189
- return /* @__PURE__ */ m("div", {
195
+ return /* @__PURE__ */ g("div", {
190
196
  className: "space-y-6 p-6",
191
197
  children: [
192
- /* @__PURE__ */ p(A, { children: "Networking turns attendees into connections. Profiles describe who each attendee is and what they are looking for, matches are the suggestions the engine makes between them, and meetings are the 1:1s they book. Opt an attendee in, review strong matches, and book meetings that mirror straight into the calendar." }),
193
- /* @__PURE__ */ m(ee, {
198
+ /* @__PURE__ */ h(se, { children: "Networking turns attendees into connections. Profiles describe who each attendee is and what they are looking for, matches are the suggestions the engine makes between them, and meetings are the 1:1s they book. Opt an attendee in, review strong matches, and book meetings that mirror straight into the calendar." }),
199
+ /* @__PURE__ */ g(ie, {
194
200
  className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",
195
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h1", {
201
+ children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("h1", {
196
202
  className: "text-2xl font-bold text-text-primary",
197
- children: /* @__PURE__ */ p(te, { children: "Networking" })
198
- }), /* @__PURE__ */ p("p", {
203
+ children: /* @__PURE__ */ h(ae, { children: "Networking" })
204
+ }), /* @__PURE__ */ h("p", {
199
205
  className: "mt-1 text-sm text-text-secondary",
200
206
  children: "Manage profiles, matches and meeting schedules from live backend data."
201
- })] }), /* @__PURE__ */ m("div", {
207
+ })] }), /* @__PURE__ */ g("div", {
202
208
  className: "flex flex-wrap gap-2",
203
- children: [/* @__PURE__ */ m(E, {
209
+ children: [/* @__PURE__ */ g(E, {
204
210
  type: "button",
205
211
  variant: "outline",
206
- onClick: () => c("/networking/profiles/create"),
207
- children: [/* @__PURE__ */ p(C, { className: "h-4 w-4" }), "Opt in a profile"]
208
- }), /* @__PURE__ */ m(E, {
212
+ onClick: () => u("/networking/profiles/create"),
213
+ children: [/* @__PURE__ */ h(re, { className: "h-4 w-4" }), "Opt in a profile"]
214
+ }), /* @__PURE__ */ g(E, {
209
215
  type: "button",
210
- onClick: () => c("/networking/meetings/create"),
211
- children: [/* @__PURE__ */ p(g, { className: "h-4 w-4" }), "Book a meeting"]
216
+ onClick: () => u("/networking/meetings/create"),
217
+ children: [/* @__PURE__ */ h(v, { className: "h-4 w-4" }), "Book a meeting"]
212
218
  })]
213
219
  })]
214
220
  }),
215
- /* @__PURE__ */ m("div", {
221
+ /* @__PURE__ */ g(D, {
222
+ treatment: "plain",
223
+ className: "flex flex-col gap-3 border-border-seam p-4 sm:flex-row sm:items-center",
224
+ children: [/* @__PURE__ */ g("div", {
225
+ className: "min-w-0 flex-1",
226
+ children: [/* @__PURE__ */ g("p", {
227
+ className: "flex items-center gap-1.5 text-sm font-semibold text-text-primary",
228
+ children: [/* @__PURE__ */ h(w, { className: "h-4 w-4 text-accent-primary" }), "Matchmaking engine"]
229
+ }), /* @__PURE__ */ h("p", {
230
+ className: "mt-0.5 text-xs text-text-secondary",
231
+ children: "Scores every opted-in profile pair at an event by shared interests and complementary asks. Needs at least 5 opted-in profiles to run."
232
+ })]
233
+ }), /* @__PURE__ */ g("div", {
234
+ className: "flex shrink-0 flex-wrap items-center gap-2",
235
+ children: [/* @__PURE__ */ g(ce, {
236
+ value: K,
237
+ onValueChange: ge,
238
+ children: [/* @__PURE__ */ h(de, {
239
+ "aria-label": "Event",
240
+ className: "w-56",
241
+ children: /* @__PURE__ */ h(fe, { placeholder: "Select an event" })
242
+ }), /* @__PURE__ */ h(le, { children: he.map((e) => /* @__PURE__ */ h(ue, {
243
+ value: e.id,
244
+ children: e.name
245
+ }, e.id)) })]
246
+ }), /* @__PURE__ */ g(E, {
247
+ type: "button",
248
+ onClick: ve,
249
+ disabled: q || !K,
250
+ children: [/* @__PURE__ */ h(w, { className: "h-4 w-4" }), q ? "Generating…" : "Generate matches"]
251
+ })]
252
+ })]
253
+ }),
254
+ /* @__PURE__ */ g("div", {
216
255
  className: "flex flex-col gap-6 xl:flex-row",
217
- children: [/* @__PURE__ */ m("div", {
256
+ children: [/* @__PURE__ */ g("div", {
218
257
  className: "grid min-w-0 flex-1 grid-cols-1 gap-6 md:grid-cols-3",
219
258
  children: [
220
- /* @__PURE__ */ p(W, {
221
- icon: /* @__PURE__ */ p(w, { className: "h-4 w-4" }),
259
+ /* @__PURE__ */ h(B, {
260
+ icon: /* @__PURE__ */ h(C, { className: "h-4 w-4" }),
222
261
  heading: "Profiles",
223
- loading: N.loading,
224
- total: N.data?.networkingProfiles.total ?? 0,
262
+ loading: F.loading,
263
+ total: F.data?.networkingProfiles.total ?? 0,
225
264
  loadedCount: Z.length,
226
- pagination: D,
265
+ pagination: k,
227
266
  itemLabel: "profiles",
228
- empty: /* @__PURE__ */ p(O, {
267
+ empty: /* @__PURE__ */ h(O, {
229
268
  illustration: "empty-people",
230
269
  title: "No profiles yet",
231
270
  description: "Opt an attendee in to start matchmaking.",
@@ -233,195 +272,190 @@ function K() {
233
272
  }),
234
273
  children: Z.map((e) => {
235
274
  let t = Y.get(e.attendeeId), n = t?.name ?? (e.attendeeId ? `Attendee ${e.attendeeId.slice(0, 6)}` : "Profile"), r = [e.role ?? t?.role, e.industry ?? t?.company].filter(Boolean).join(" • ");
236
- return /* @__PURE__ */ m("div", {
275
+ return /* @__PURE__ */ g("div", {
237
276
  className: "rounded-card border border-border-seam bg-bg-surface p-3",
238
277
  children: [
239
- /* @__PURE__ */ m("div", {
278
+ /* @__PURE__ */ g("div", {
240
279
  className: "flex items-start gap-3",
241
- children: [/* @__PURE__ */ p(U, { label: n }), /* @__PURE__ */ p("div", {
280
+ children: [/* @__PURE__ */ h(z, { label: n }), /* @__PURE__ */ h("div", {
242
281
  className: "min-w-0 flex-1",
243
- children: /* @__PURE__ */ m("div", {
282
+ children: /* @__PURE__ */ g("div", {
244
283
  className: "flex items-start justify-between gap-2",
245
- children: [/* @__PURE__ */ m("div", {
284
+ children: [/* @__PURE__ */ g("div", {
246
285
  className: "min-w-0",
247
- children: [/* @__PURE__ */ p("p", {
286
+ children: [/* @__PURE__ */ h("p", {
248
287
  className: "truncate font-medium text-text-primary",
249
288
  children: n
250
- }), r ? /* @__PURE__ */ p("p", {
289
+ }), r ? /* @__PURE__ */ h("p", {
251
290
  className: "truncate text-xs text-text-secondary",
252
291
  children: r
253
292
  }) : null]
254
- }), /* @__PURE__ */ p(s, {
293
+ }), /* @__PURE__ */ h(l, {
255
294
  ariaLabel: `${n} profile actions`,
256
- onEdit: () => c(`/networking/profiles/${e.id}/edit`)
295
+ onEdit: () => u(`/networking/profiles/${e.id}/edit`)
257
296
  })]
258
297
  })
259
298
  })]
260
299
  }),
261
- e.interests.length > 0 ? /* @__PURE__ */ p("div", {
300
+ e.interests.length > 0 ? /* @__PURE__ */ h("div", {
262
301
  className: "mt-2.5",
263
- children: /* @__PURE__ */ p(H, { items: e.interests })
302
+ children: /* @__PURE__ */ h(R, { items: e.interests })
264
303
  }) : null,
265
- /* @__PURE__ */ m(E, {
304
+ /* @__PURE__ */ g(E, {
266
305
  type: "button",
267
306
  variant: "outline",
268
307
  size: "sm",
269
308
  className: "mt-3 w-full",
270
- onClick: () => c("/networking/meetings/create"),
271
- children: [/* @__PURE__ */ p(g, { className: "h-4 w-4" }), "Book meeting"]
309
+ onClick: () => u("/networking/meetings/create"),
310
+ children: [/* @__PURE__ */ h(v, { className: "h-4 w-4" }), "Book meeting"]
272
311
  })
273
312
  ]
274
313
  }, e.id);
275
314
  })
276
315
  }),
277
- /* @__PURE__ */ p(W, {
278
- icon: /* @__PURE__ */ p(S, { className: "h-4 w-4" }),
316
+ /* @__PURE__ */ h(B, {
317
+ icon: /* @__PURE__ */ h(ne, { className: "h-4 w-4" }),
279
318
  heading: "Suggested Matches",
280
- loading: L.loading,
281
- total: L.data?.networkingMatches.total ?? 0,
319
+ loading: V.loading,
320
+ total: V.data?.networkingMatches.total ?? 0,
282
321
  loadedCount: Q.length,
283
- pagination: j,
322
+ pagination: A,
284
323
  itemLabel: "matches",
285
- empty: /* @__PURE__ */ p(O, {
324
+ empty: /* @__PURE__ */ h(O, {
286
325
  illustration: "empty-data",
287
326
  title: "No matches yet",
288
327
  description: "Matches appear as the engine suggests connections.",
289
328
  className: "py-6"
290
329
  }),
291
330
  children: Q.map((e) => {
292
- let t = z(e.metadata, "score", "matchScore"), n = R(e.metadata, "sourceProfileId"), r = R(e.metadata, "targetProfileId"), i = n ? X.get(n) : null, a = r ? X.get(r) : null, o = B(e.metadata, "sharedInterests", "interests"), s = R(e.metadata, "reason"), c = e.title ?? e.name ?? `Match ${e.id.slice(0, 6)}`;
293
- return /* @__PURE__ */ m("div", {
331
+ let t = X.get(e.sourceProfileId), n = X.get(e.targetProfileId), r = t && n ? `${t} & ${n}` : `Match ${e.id.slice(0, 6)}`;
332
+ return /* @__PURE__ */ g("div", {
294
333
  className: "rounded-card border border-border-seam bg-bg-surface p-3",
295
334
  children: [
296
- /* @__PURE__ */ m("div", {
335
+ /* @__PURE__ */ g("div", {
297
336
  className: "flex items-center justify-between gap-2",
298
- children: [i && a ? /* @__PURE__ */ m("div", {
337
+ children: [t && n ? /* @__PURE__ */ g("div", {
299
338
  className: "flex min-w-0 items-center gap-2",
300
339
  children: [
301
- /* @__PURE__ */ p(U, { label: i }),
302
- /* @__PURE__ */ p("span", {
340
+ /* @__PURE__ */ h(z, { label: t }),
341
+ /* @__PURE__ */ h("span", {
303
342
  className: "text-xs text-text-muted",
304
343
  children: "×"
305
344
  }),
306
- /* @__PURE__ */ p(U, { label: a })
345
+ /* @__PURE__ */ h(z, { label: n })
307
346
  ]
308
- }) : /* @__PURE__ */ m("div", {
347
+ }) : /* @__PURE__ */ g("div", {
309
348
  className: "flex min-w-0 items-center gap-2",
310
- children: [/* @__PURE__ */ p(U, { label: c }), /* @__PURE__ */ p("p", {
349
+ children: [/* @__PURE__ */ h(z, { label: r }), /* @__PURE__ */ h("p", {
311
350
  className: "truncate text-sm font-medium text-text-primary",
312
- children: c
351
+ children: r
313
352
  })]
314
- }), t === null ? e.status ? /* @__PURE__ */ p(T, {
315
- variant: I(e.status),
316
- className: "shrink-0 uppercase",
317
- children: e.status
318
- }) : null : /* @__PURE__ */ m(T, {
353
+ }), /* @__PURE__ */ g(T, {
319
354
  variant: "success",
320
355
  className: "shrink-0 gap-1",
321
356
  children: [
322
- /* @__PURE__ */ p(v, { className: "h-3 w-3" }),
323
- Math.round(t <= 1 ? t * 100 : t),
357
+ /* @__PURE__ */ h(b, { className: "h-3 w-3" }),
358
+ e.score,
324
359
  "%"
325
360
  ]
326
361
  })]
327
362
  }),
328
- i && a ? /* @__PURE__ */ m("p", {
363
+ t && n ? /* @__PURE__ */ g("p", {
329
364
  className: "mt-2 truncate text-xs text-text-secondary",
330
365
  children: [
331
- i,
366
+ t,
332
367
  " & ",
333
- a
368
+ n
334
369
  ]
335
370
  }) : null,
336
- o.length > 0 ? /* @__PURE__ */ m("div", {
337
- className: "mt-2.5 space-y-1",
338
- children: [/* @__PURE__ */ p("p", {
339
- className: "text-xs font-medium text-text-secondary",
340
- children: "Shared interests"
341
- }), /* @__PURE__ */ p(H, { items: o })]
342
- }) : s ? /* @__PURE__ */ p("p", {
371
+ e.reason ? /* @__PURE__ */ h("p", {
343
372
  className: "mt-2 line-clamp-2 text-xs text-text-secondary",
344
- children: s
373
+ children: e.reason
345
374
  }) : null,
346
- /* @__PURE__ */ m(E, {
375
+ e.status === "suggested" ? null : /* @__PURE__ */ h(T, {
376
+ variant: P(e.status),
377
+ className: "mt-2 uppercase",
378
+ children: e.status
379
+ }),
380
+ /* @__PURE__ */ g(E, {
347
381
  type: "button",
348
382
  size: "sm",
349
383
  className: "mt-3 w-full",
350
384
  onClick: () => {
351
385
  document.getElementById("networking-lounge")?.scrollIntoView({ behavior: "smooth" });
352
386
  },
353
- children: [/* @__PURE__ */ p(x, { className: "h-4 w-4" }), "Connect & Chat"]
387
+ children: [/* @__PURE__ */ h(S, { className: "h-4 w-4" }), "Connect & Chat"]
354
388
  })
355
389
  ]
356
390
  }, e.id);
357
391
  })
358
392
  }),
359
- /* @__PURE__ */ p(W, {
360
- icon: /* @__PURE__ */ p(h, { className: "h-4 w-4" }),
393
+ /* @__PURE__ */ h(B, {
394
+ icon: /* @__PURE__ */ h(_, { className: "h-4 w-4" }),
361
395
  heading: "Meetings",
362
- loading: G.loading,
363
- total: G.data?.meetings.total ?? 0,
396
+ loading: H.loading,
397
+ total: H.data?.meetings.total ?? 0,
364
398
  loadedCount: $.length,
365
- pagination: M,
399
+ pagination: j,
366
400
  itemLabel: "meetings",
367
- empty: /* @__PURE__ */ p(O, {
401
+ empty: /* @__PURE__ */ h(O, {
368
402
  illustration: "empty-data",
369
403
  title: "No meetings yet",
370
404
  description: "Booked 1:1s show up here with their time and place.",
371
405
  className: "py-6"
372
406
  }),
373
407
  children: $.map((e) => {
374
- let t = e.title ?? e.name ?? `Meeting ${e.id.slice(0, 6)}`, n = V(R(e.metadata, "startsAt"), R(e.metadata, "endsAt")), r = R(e.metadata, "location");
375
- return /* @__PURE__ */ m("div", {
408
+ let t = e.title ?? e.name ?? `Meeting ${e.id.slice(0, 6)}`, n = L(I(e.metadata, "startsAt"), I(e.metadata, "endsAt")), r = I(e.metadata, "location");
409
+ return /* @__PURE__ */ g("div", {
376
410
  className: "rounded-card border-l-2 border-l-accent-primary bg-bg-surface p-3 pl-3.5 shadow-elevation-1",
377
- children: [/* @__PURE__ */ m("div", {
411
+ children: [/* @__PURE__ */ g("div", {
378
412
  className: "flex items-start justify-between gap-2",
379
- children: [/* @__PURE__ */ m("div", {
413
+ children: [/* @__PURE__ */ g("div", {
380
414
  className: "min-w-0",
381
- children: [n ? /* @__PURE__ */ m("p", {
415
+ children: [n ? /* @__PURE__ */ g("p", {
382
416
  className: "flex items-center gap-1.5 text-xs font-medium text-text-secondary",
383
- children: [/* @__PURE__ */ p(_, { className: "h-3.5 w-3.5" }), n]
384
- }) : null, /* @__PURE__ */ p("p", {
417
+ children: [/* @__PURE__ */ h(y, { className: "h-3.5 w-3.5" }), n]
418
+ }) : null, /* @__PURE__ */ h("p", {
385
419
  className: "mt-1 truncate font-medium text-text-primary",
386
420
  children: t
387
421
  })]
388
- }), /* @__PURE__ */ p(s, {
422
+ }), /* @__PURE__ */ h(l, {
389
423
  ariaLabel: `${t} meeting actions`,
390
424
  entityName: t,
391
- onEdit: () => c(`/networking/meetings/${e.id}/edit`),
392
- onDelete: () => ie(e.id, t)
425
+ onEdit: () => u(`/networking/meetings/${e.id}/edit`),
426
+ onDelete: () => ye(e.id, t)
393
427
  })]
394
- }), /* @__PURE__ */ m("div", {
428
+ }), /* @__PURE__ */ g("div", {
395
429
  className: "mt-2 flex flex-wrap items-center gap-2",
396
- children: [e.status ? /* @__PURE__ */ p(T, {
397
- variant: I(e.status),
430
+ children: [e.status ? /* @__PURE__ */ h(T, {
431
+ variant: P(e.status),
398
432
  className: "uppercase",
399
433
  children: e.status
400
- }) : null, r ? /* @__PURE__ */ m("span", {
434
+ }) : null, r ? /* @__PURE__ */ g("span", {
401
435
  className: "inline-flex items-center gap-1 text-xs text-text-secondary",
402
- children: [/* @__PURE__ */ p(y, { className: "h-3.5 w-3.5" }), r]
436
+ children: [/* @__PURE__ */ h(x, { className: "h-3.5 w-3.5" }), r]
403
437
  }) : null]
404
438
  })]
405
439
  }, e.id);
406
440
  })
407
441
  })
408
442
  ]
409
- }), /* @__PURE__ */ p("div", {
443
+ }), /* @__PURE__ */ h("div", {
410
444
  id: "networking-lounge",
411
445
  className: "w-full xl:w-[360px] xl:shrink-0",
412
- children: /* @__PURE__ */ m("div", {
446
+ children: /* @__PURE__ */ g("div", {
413
447
  className: "space-y-3",
414
- children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("h2", {
448
+ children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ g("h2", {
415
449
  className: "flex items-center gap-2 text-lg font-semibold text-text-primary",
416
- children: [/* @__PURE__ */ p(x, { className: "h-5 w-5 text-accent-primary" }), "Networking Lounge"]
417
- }), /* @__PURE__ */ p("p", {
450
+ children: [/* @__PURE__ */ h(S, { className: "h-5 w-5 text-accent-primary" }), "Networking Lounge"]
451
+ }), /* @__PURE__ */ h("p", {
418
452
  className: "mt-1 text-sm text-text-secondary",
419
453
  children: "A shared space for attendees and organizers to connect, backed by the conversations service."
420
- })] }), /* @__PURE__ */ p(ne, {})]
454
+ })] }), /* @__PURE__ */ h(pe, {})]
421
455
  })
422
456
  })]
423
457
  }),
424
- /* @__PURE__ */ p(k, {
458
+ /* @__PURE__ */ h(oe, {
425
459
  storageKey: "eventfullymanaged-networking",
426
460
  title: "Make networking land",
427
461
  steps: [
@@ -429,22 +463,22 @@ function K() {
429
463
  id: "grow-attendees",
430
464
  label: "Bring in more attendees",
431
465
  description: "More registered attendees means richer matches and meetings.",
432
- icon: /* @__PURE__ */ p(w, { className: "h-4 w-4" }),
433
- onClick: () => c("/registration")
466
+ icon: /* @__PURE__ */ h(C, { className: "h-4 w-4" }),
467
+ onClick: () => u("/registration")
434
468
  },
435
469
  {
436
470
  id: "announce-networking",
437
471
  label: "Announce networking sessions",
438
472
  description: "Let attendees know how and when to connect.",
439
- icon: /* @__PURE__ */ p(b, { className: "h-4 w-4" }),
440
- onClick: () => c("/communication")
473
+ icon: /* @__PURE__ */ h(te, { className: "h-4 w-4" }),
474
+ onClick: () => u("/communication")
441
475
  },
442
476
  {
443
477
  id: "review-event",
444
478
  label: "Review the event schedule",
445
479
  description: "Make sure networking slots fit around your sessions.",
446
- icon: /* @__PURE__ */ p(h, { className: "h-4 w-4" }),
447
- onClick: () => c("/events")
480
+ icon: /* @__PURE__ */ h(_, { className: "h-4 w-4" }),
481
+ onClick: () => u("/events")
448
482
  }
449
483
  ]
450
484
  })
@@ -452,6 +486,6 @@ function K() {
452
486
  });
453
487
  }
454
488
  //#endregion
455
- export { K as default };
489
+ export { H as default };
456
490
 
457
491
  //# sourceMappingURL=NetworkingPage.js.map