@burdenoff/microfe-comradecircle 2026.827.1 → 2026.830.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.
- package/dist/comradecircle/components/AvatarUploadField.js +8 -8
- package/dist/comradecircle/components/CircleCard.js +4 -4
- package/dist/comradecircle/components/CommentThread.d.ts.map +1 -1
- package/dist/comradecircle/components/CommentThread.js +66 -61
- package/dist/comradecircle/components/CommentThread.js.map +1 -1
- package/dist/comradecircle/components/CreateCircleDialog.d.ts.map +1 -1
- package/dist/comradecircle/components/CreateCircleDialog.js +89 -88
- package/dist/comradecircle/components/CreateCircleDialog.js.map +1 -1
- package/dist/comradecircle/components/CreateEventDialog.d.ts.map +1 -1
- package/dist/comradecircle/components/CreateEventDialog.js +28 -27
- package/dist/comradecircle/components/CreateEventDialog.js.map +1 -1
- package/dist/comradecircle/components/DraftsPanel.js +13 -13
- package/dist/comradecircle/components/EventCard.js +5 -5
- package/dist/comradecircle/components/FileImage.js +5 -5
- package/dist/comradecircle/components/ImageAttachments.js +21 -21
- package/dist/comradecircle/components/MemberIdentity.js +4 -4
- package/dist/comradecircle/components/MobileBottomNav.d.ts.map +1 -1
- package/dist/comradecircle/components/MobileBottomNav.js +37 -30
- package/dist/comradecircle/components/MobileBottomNav.js.map +1 -1
- package/dist/comradecircle/components/Pagination.d.ts.map +1 -1
- package/dist/comradecircle/components/Pagination.js +37 -28
- package/dist/comradecircle/components/Pagination.js.map +1 -1
- package/dist/comradecircle/components/PollCard.js +13 -13
- package/dist/comradecircle/components/PostCard.d.ts.map +1 -1
- package/dist/comradecircle/components/PostCard.js +102 -89
- package/dist/comradecircle/components/PostCard.js.map +1 -1
- package/dist/comradecircle/components/PostComposer.js +4 -4
- package/dist/comradecircle/components/ReactionBar.d.ts.map +1 -1
- package/dist/comradecircle/components/ReactionBar.js +65 -55
- package/dist/comradecircle/components/ReactionBar.js.map +1 -1
- package/dist/comradecircle/components/StateViews.d.ts.map +1 -1
- package/dist/comradecircle/components/StateViews.js +38 -30
- package/dist/comradecircle/components/StateViews.js.map +1 -1
- package/dist/comradecircle/components/UpcomingEvents.js +17 -17
- package/dist/comradecircle/hooks/index.d.ts +1 -0
- package/dist/comradecircle/hooks/index.d.ts.map +1 -1
- package/dist/comradecircle/hooks/index.js +1 -0
- package/dist/comradecircle/hooks/useTr.d.ts +18 -0
- package/dist/comradecircle/hooks/useTr.d.ts.map +1 -0
- package/dist/comradecircle/hooks/useTr.js +12 -0
- package/dist/comradecircle/hooks/useTr.js.map +1 -0
- package/dist/comradecircle/pages/FeedPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/FeedPage.js +75 -62
- package/dist/comradecircle/pages/FeedPage.js.map +1 -1
- package/dist/comradecircle/pages/circles/CircleDetailPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/circles/CircleDetailPage.js +439 -401
- package/dist/comradecircle/pages/circles/CircleDetailPage.js.map +1 -1
- package/dist/comradecircle/pages/circles/CirclesPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/circles/CirclesPage.js +124 -117
- package/dist/comradecircle/pages/circles/CirclesPage.js.map +1 -1
- package/dist/comradecircle/pages/events/EventDetailPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/events/EventDetailPage.js +182 -153
- package/dist/comradecircle/pages/events/EventDetailPage.js.map +1 -1
- package/dist/comradecircle/pages/events/EventsPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/events/EventsPage.js +100 -91
- package/dist/comradecircle/pages/events/EventsPage.js.map +1 -1
- package/dist/comradecircle/pages/members/MemberProfilePage.d.ts.map +1 -1
- package/dist/comradecircle/pages/members/MemberProfilePage.js +172 -159
- package/dist/comradecircle/pages/members/MemberProfilePage.js.map +1 -1
- package/dist/comradecircle/pages/members/MembersPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/members/MembersPage.js +103 -104
- package/dist/comradecircle/pages/members/MembersPage.js.map +1 -1
- package/dist/comradecircle/pages/monetization/MonetizationPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/monetization/MonetizationPage.js +319 -297
- package/dist/comradecircle/pages/monetization/MonetizationPage.js.map +1 -1
- package/dist/comradecircle/pages/posts/PostThreadPage.d.ts.map +1 -1
- package/dist/comradecircle/pages/posts/PostThreadPage.js +37 -32
- package/dist/comradecircle/pages/posts/PostThreadPage.js.map +1 -1
- package/dist/comradecircle/pages/profile/MyProfilePage.d.ts.map +1 -1
- package/dist/comradecircle/pages/profile/MyProfilePage.js +182 -177
- package/dist/comradecircle/pages/profile/MyProfilePage.js.map +1 -1
- package/dist/comradecircle/utils/i18n.js +15 -0
- package/dist/comradecircle/utils/i18n.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,37 +1,42 @@
|
|
|
1
1
|
import { useComradeCircle as e } from "../../context/ComradeCircleContext.js";
|
|
2
2
|
import "../../context/index.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { useComEvent as r, useComEventLive as ee, useComRsvpEvent as te, useComTransitionEvent as i } from "../../hooks/useComradeCircleApi.js";
|
|
3
|
+
import { useComEvent as t, useComEventLive as n, useComRsvpEvent as ee, useComTransitionEvent as te } from "../../hooks/useComradeCircleApi.js";
|
|
4
|
+
import { useTr as r } from "../../hooks/useTr.js";
|
|
6
5
|
import "../../hooks/index.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
6
|
+
import { cn as i } from "../../utils/cn.js";
|
|
7
|
+
import { PageLayout as a } from "../../components/PageLayout.js";
|
|
8
|
+
import { MemberIdentity as o } from "../../components/MemberIdentity.js";
|
|
9
|
+
import { describeError as s, notify as c } from "../../lib/toast.js";
|
|
10
|
+
import { formatDateTime as l, formatEnumLabel as u, formatNumber as d } from "../../utils/formatters.js";
|
|
11
|
+
import { EmptyState as f } from "../../components/EmptyState.js";
|
|
12
|
+
import { ErrorView as p, LoadingView as m } from "../../components/StateViews.js";
|
|
13
|
+
import { StatusBadge as h } from "../../components/StatusBadge.js";
|
|
14
|
+
import { MiniBar as ne } from "../../components/MiniBar.js";
|
|
15
|
+
import { ArrowLeft as re, Ban as ie, CalendarDays as ae, Check as g, CheckCircle2 as _, MapPin as v, Radio as y, Tag as b, Users as x, Video as S } from "lucide-react";
|
|
16
|
+
import { useParams as C } from "react-router";
|
|
17
|
+
import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
|
|
18
|
+
import { Button as D, GlassCard as oe } from "@burdenoff/fe-libs/ui";
|
|
18
19
|
//#region src/comradecircle/pages/events/EventDetailPage.tsx
|
|
19
|
-
var
|
|
20
|
+
var se = [
|
|
20
21
|
{
|
|
21
22
|
status: "GOING",
|
|
22
|
-
|
|
23
|
+
labelKey: "comradecircle.pages.eventDetail.rsvpGoing",
|
|
24
|
+
fallback: "Going"
|
|
23
25
|
},
|
|
24
26
|
{
|
|
25
27
|
status: "INTERESTED",
|
|
26
|
-
|
|
28
|
+
labelKey: "comradecircle.pages.eventDetail.rsvpInterested",
|
|
29
|
+
fallback: "Interested"
|
|
27
30
|
},
|
|
28
31
|
{
|
|
29
32
|
status: "WAITLISTED",
|
|
30
|
-
|
|
33
|
+
labelKey: "comradecircle.pages.eventDetail.rsvpWaitlist",
|
|
34
|
+
fallback: "Waitlist"
|
|
31
35
|
},
|
|
32
36
|
{
|
|
33
37
|
status: "NOT_GOING",
|
|
34
|
-
|
|
38
|
+
labelKey: "comradecircle.pages.eventDetail.rsvpNotGoing",
|
|
39
|
+
fallback: "Can't go"
|
|
35
40
|
}
|
|
36
41
|
], O = {
|
|
37
42
|
GOING: 0,
|
|
@@ -41,162 +46,174 @@ var D = [
|
|
|
41
46
|
}, k = [
|
|
42
47
|
{
|
|
43
48
|
status: "GOING",
|
|
44
|
-
|
|
49
|
+
labelKey: "comradecircle.pages.eventDetail.facetGoing",
|
|
50
|
+
fallback: "going"
|
|
45
51
|
},
|
|
46
52
|
{
|
|
47
53
|
status: "INTERESTED",
|
|
48
|
-
|
|
54
|
+
labelKey: "comradecircle.pages.eventDetail.facetInterested",
|
|
55
|
+
fallback: "interested"
|
|
49
56
|
},
|
|
50
57
|
{
|
|
51
58
|
status: "WAITLISTED",
|
|
52
|
-
|
|
59
|
+
labelKey: "comradecircle.pages.eventDetail.facetWaitlisted",
|
|
60
|
+
fallback: "waitlisted"
|
|
53
61
|
},
|
|
54
62
|
{
|
|
55
63
|
status: "NOT_GOING",
|
|
56
|
-
|
|
64
|
+
labelKey: "comradecircle.pages.eventDetail.facetNotGoing",
|
|
65
|
+
fallback: "can't go"
|
|
57
66
|
}
|
|
58
67
|
];
|
|
59
68
|
function A() {
|
|
60
|
-
let { id:
|
|
61
|
-
|
|
62
|
-
let
|
|
69
|
+
let A = r(), { id: j } = C(), { currentUser: M, navigateTo: N } = e(), { data: P, isLoading: F, isError: I, refetch: L } = t(j);
|
|
70
|
+
n(j);
|
|
71
|
+
let R = ee(), z = te(), B = /* @__PURE__ */ E(D, {
|
|
63
72
|
variant: "ghost",
|
|
64
73
|
size: "sm",
|
|
65
|
-
onClick: () =>
|
|
66
|
-
children: [
|
|
74
|
+
onClick: () => N("events"),
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ T(re, { className: "mr-1.5 h-4 w-4" }),
|
|
77
|
+
" ",
|
|
78
|
+
A("common.back", "Back")
|
|
79
|
+
]
|
|
67
80
|
});
|
|
68
|
-
if (
|
|
69
|
-
title: "Event",
|
|
70
|
-
actions:
|
|
71
|
-
children: /* @__PURE__ */
|
|
81
|
+
if (F) return /* @__PURE__ */ T(a, {
|
|
82
|
+
title: A("comradecircle.pages.eventDetail.title", "Event"),
|
|
83
|
+
actions: B,
|
|
84
|
+
children: /* @__PURE__ */ T(m, { label: A("comradecircle.pages.eventDetail.loadingEvent", "Loading event…") })
|
|
72
85
|
});
|
|
73
|
-
if (
|
|
74
|
-
title: "Event",
|
|
75
|
-
actions:
|
|
76
|
-
children: /* @__PURE__ */
|
|
77
|
-
title: "Event not found",
|
|
78
|
-
message: "This event may have been cancelled, or you may not have access to it.",
|
|
79
|
-
onRetry: () =>
|
|
86
|
+
if (I || !P) return /* @__PURE__ */ T(a, {
|
|
87
|
+
title: A("comradecircle.pages.eventDetail.title", "Event"),
|
|
88
|
+
actions: B,
|
|
89
|
+
children: /* @__PURE__ */ T(p, {
|
|
90
|
+
title: A("comradecircle.pages.eventDetail.notFoundTitle", "Event not found"),
|
|
91
|
+
message: A("comradecircle.pages.eventDetail.notFoundMessage", "This event may have been cancelled, or you may not have access to it."),
|
|
92
|
+
onRetry: () => L()
|
|
80
93
|
})
|
|
81
94
|
});
|
|
82
|
-
let
|
|
95
|
+
let V = !!(M?.id && M.id === P.hostId), H = P.status === "LIVE", ce = P.status === "SCHEDULED" || P.status === "LIVE", U = P.mode === "ONLINE" || P.mode === "HYBRID", W = P.mode === "IN_PERSON" || P.mode === "HYBRID", G = H && U && !!P.joinUrl, le = M?.id ? P.rsvps.find((e) => e.memberId === M.id) : void 0, K = P.capacity ?? null, q = K && K > 0 ? Math.min(100, P.rsvpCount / K * 100) : null, J = q != null && q >= 80, Y = q != null && q >= 100, X = q == null ? "" : Y ? A("comradecircle.pages.eventDetail.capacityFull", "Full") : A("comradecircle.pages.eventDetail.capacityPercent", "{{pct}}% full", { pct: Math.round(q) }), ue = Y ? "bg-status-error-text" : J ? "bg-status-warning-text" : "bg-accent", de = Y ? "text-status-error-text" : J ? "text-status-warning-text" : "text-text-tertiary", Z = P.rsvps.reduce((e, t) => (e[t.status] += 1, e), {
|
|
83
96
|
GOING: 0,
|
|
84
97
|
INTERESTED: 0,
|
|
85
98
|
WAITLISTED: 0,
|
|
86
99
|
NOT_GOING: 0
|
|
87
|
-
}),
|
|
100
|
+
}), fe = [...P.rsvps].sort((e, t) => O[e.status] - O[t.status]), Q = k.filter((e) => Z[e.status] > 0).map((e) => `${d(Z[e.status])} ${A(e.labelKey, e.fallback)}`).join(" · "), pe = async (e) => {
|
|
88
101
|
try {
|
|
89
|
-
await
|
|
90
|
-
eventId:
|
|
102
|
+
await R.mutateAsync({
|
|
103
|
+
eventId: P.id,
|
|
91
104
|
status: e
|
|
92
|
-
}),
|
|
105
|
+
}), c.success(A("comradecircle.pages.eventDetail.rsvpUpdated", "RSVP updated"), `${u(e)} · ${P.title}`);
|
|
93
106
|
} catch (e) {
|
|
94
|
-
|
|
107
|
+
c.error(A("comradecircle.pages.eventDetail.rsvpError", "Could not RSVP"), s(e));
|
|
95
108
|
}
|
|
96
109
|
}, $ = async (e, t) => {
|
|
97
110
|
try {
|
|
98
|
-
await
|
|
99
|
-
id:
|
|
111
|
+
await z.mutateAsync({
|
|
112
|
+
id: P.id,
|
|
100
113
|
status: e
|
|
101
|
-
}),
|
|
114
|
+
}), c.success(t, P.title);
|
|
102
115
|
} catch (e) {
|
|
103
|
-
|
|
116
|
+
c.error(A("comradecircle.pages.eventDetail.transitionError", "Could not update the event"), s(e));
|
|
104
117
|
}
|
|
105
|
-
},
|
|
106
|
-
return /* @__PURE__ */
|
|
107
|
-
title:
|
|
108
|
-
actions:
|
|
109
|
-
children: /* @__PURE__ */
|
|
118
|
+
}, me = P.endsAt ? `${l(P.startsAt)} – ${l(P.endsAt)}` : l(P.startsAt);
|
|
119
|
+
return /* @__PURE__ */ T(a, {
|
|
120
|
+
title: P.title,
|
|
121
|
+
actions: B,
|
|
122
|
+
children: /* @__PURE__ */ E("div", {
|
|
110
123
|
className: "mx-auto flex max-w-3xl flex-col gap-6",
|
|
111
124
|
children: [
|
|
112
|
-
/* @__PURE__ */
|
|
125
|
+
/* @__PURE__ */ E(oe, {
|
|
113
126
|
treatment: "plain",
|
|
114
|
-
className:
|
|
127
|
+
className: i("flex flex-col gap-5 p-5 sm:p-6", H && "ring-1 ring-[var(--color-accent-soft)]"),
|
|
115
128
|
children: [
|
|
116
|
-
|
|
129
|
+
H && /* @__PURE__ */ T("span", {
|
|
117
130
|
"aria-hidden": "true",
|
|
118
131
|
className: "pointer-events-none absolute inset-0 rounded-card ring-2 ring-accent/60 motion-safe:animate-pulse"
|
|
119
132
|
}),
|
|
120
|
-
/* @__PURE__ */
|
|
133
|
+
/* @__PURE__ */ E("div", {
|
|
121
134
|
className: "flex flex-wrap items-center gap-2",
|
|
122
|
-
children: [/* @__PURE__ */
|
|
135
|
+
children: [/* @__PURE__ */ T(h, { status: P.status }), /* @__PURE__ */ T(h, { status: P.mode })]
|
|
123
136
|
}),
|
|
124
|
-
|
|
137
|
+
G && P.joinUrl && /* @__PURE__ */ T(D, {
|
|
125
138
|
asChild: !0,
|
|
126
139
|
size: "lg",
|
|
127
140
|
className: "w-full justify-center sm:w-auto sm:self-start",
|
|
128
|
-
children: /* @__PURE__ */
|
|
129
|
-
href:
|
|
141
|
+
children: /* @__PURE__ */ E("a", {
|
|
142
|
+
href: P.joinUrl,
|
|
130
143
|
target: "_blank",
|
|
131
144
|
rel: "noreferrer noopener",
|
|
132
|
-
children: [
|
|
145
|
+
children: [
|
|
146
|
+
/* @__PURE__ */ T(S, { className: "h-4 w-4" }),
|
|
147
|
+
" ",
|
|
148
|
+
A("comradecircle.pages.eventDetail.joinLive", "Join the live event")
|
|
149
|
+
]
|
|
133
150
|
})
|
|
134
151
|
}),
|
|
135
|
-
|
|
152
|
+
P.description && /* @__PURE__ */ T("p", {
|
|
136
153
|
className: "whitespace-pre-wrap text-sm text-text-secondary",
|
|
137
|
-
children:
|
|
154
|
+
children: P.description
|
|
138
155
|
}),
|
|
139
|
-
/* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ E("dl", {
|
|
140
157
|
className: "flex flex-col gap-3 text-sm",
|
|
141
158
|
children: [
|
|
142
|
-
/* @__PURE__ */
|
|
159
|
+
/* @__PURE__ */ E("div", {
|
|
143
160
|
className: "flex items-start gap-2.5",
|
|
144
|
-
children: [/* @__PURE__ */
|
|
161
|
+
children: [/* @__PURE__ */ T(ae, { className: "mt-0.5 h-4 w-4 shrink-0 text-text-tertiary" }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
145
162
|
className: "text-text-tertiary",
|
|
146
|
-
children: "When"
|
|
147
|
-
}), /* @__PURE__ */
|
|
163
|
+
children: A("comradecircle.pages.eventDetail.whenLabel", "When")
|
|
164
|
+
}), /* @__PURE__ */ T("dd", {
|
|
148
165
|
className: "mt-0.5 text-text-primary",
|
|
149
|
-
children:
|
|
166
|
+
children: me
|
|
150
167
|
})] })]
|
|
151
168
|
}),
|
|
152
|
-
|
|
169
|
+
W && P.location && /* @__PURE__ */ E("div", {
|
|
153
170
|
className: "flex items-start gap-2.5",
|
|
154
|
-
children: [/* @__PURE__ */
|
|
171
|
+
children: [/* @__PURE__ */ T(v, { className: "mt-0.5 h-4 w-4 shrink-0 text-text-tertiary" }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
155
172
|
className: "text-text-tertiary",
|
|
156
|
-
children: "Where"
|
|
157
|
-
}), /* @__PURE__ */
|
|
173
|
+
children: A("comradecircle.pages.eventDetail.whereLabel", "Where")
|
|
174
|
+
}), /* @__PURE__ */ T("dd", {
|
|
158
175
|
className: "mt-0.5 text-text-primary",
|
|
159
|
-
children:
|
|
176
|
+
children: P.location
|
|
160
177
|
})] })]
|
|
161
178
|
}),
|
|
162
|
-
|
|
179
|
+
U && /* @__PURE__ */ E("div", {
|
|
163
180
|
className: "flex items-start gap-2.5",
|
|
164
|
-
children: [/* @__PURE__ */
|
|
181
|
+
children: [/* @__PURE__ */ T(S, { className: "mt-0.5 h-4 w-4 shrink-0 text-text-tertiary" }), /* @__PURE__ */ E("div", {
|
|
165
182
|
className: "min-w-0",
|
|
166
|
-
children: [/* @__PURE__ */
|
|
183
|
+
children: [/* @__PURE__ */ T("dt", {
|
|
167
184
|
className: "text-text-tertiary",
|
|
168
|
-
children: "Online"
|
|
169
|
-
}), /* @__PURE__ */
|
|
185
|
+
children: A("comradecircle.pages.eventDetail.onlineLabel", "Online")
|
|
186
|
+
}), /* @__PURE__ */ T("dd", {
|
|
170
187
|
className: "mt-0.5 text-text-primary",
|
|
171
|
-
children:
|
|
188
|
+
children: G ? /* @__PURE__ */ T("span", {
|
|
172
189
|
className: "font-medium text-accent",
|
|
173
|
-
children: "The join link is live — use the button above."
|
|
174
|
-
}) : /* @__PURE__ */
|
|
190
|
+
children: A("comradecircle.pages.eventDetail.joinLinkLive", "The join link is live — use the button above.")
|
|
191
|
+
}) : /* @__PURE__ */ T("span", {
|
|
175
192
|
className: "text-text-secondary",
|
|
176
|
-
children:
|
|
193
|
+
children: H ? A("comradecircle.pages.eventDetail.joinLinkNotProvided", "A join link has not been provided.") : A("comradecircle.pages.eventDetail.joinLinkWhenLive", "The join link becomes available when the event goes live.")
|
|
177
194
|
})
|
|
178
195
|
})]
|
|
179
196
|
})]
|
|
180
197
|
}),
|
|
181
|
-
/* @__PURE__ */
|
|
198
|
+
/* @__PURE__ */ E("div", {
|
|
182
199
|
className: "flex items-start gap-2.5",
|
|
183
|
-
children: [/* @__PURE__ */
|
|
200
|
+
children: [/* @__PURE__ */ T(x, { className: "mt-0.5 h-4 w-4 shrink-0 text-text-tertiary" }), /* @__PURE__ */ E("div", {
|
|
184
201
|
className: "min-w-0 flex-1",
|
|
185
202
|
children: [
|
|
186
|
-
/* @__PURE__ */
|
|
203
|
+
/* @__PURE__ */ T("dt", {
|
|
187
204
|
className: "text-text-tertiary",
|
|
188
|
-
children: "Attending"
|
|
205
|
+
children: A("comradecircle.pages.eventDetail.attendingLabel", "Attending")
|
|
189
206
|
}),
|
|
190
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ E("dd", {
|
|
191
208
|
className: "mt-0.5 flex flex-wrap items-baseline gap-x-2 text-text-primary",
|
|
192
|
-
children: [/* @__PURE__ */
|
|
193
|
-
className:
|
|
209
|
+
children: [/* @__PURE__ */ E("span", { children: [d(P.rsvpCount), K ? ` / ${d(K)}` : ""] }), X && /* @__PURE__ */ T("span", {
|
|
210
|
+
className: i("text-xs font-semibold", de),
|
|
194
211
|
children: X
|
|
195
212
|
})]
|
|
196
213
|
}),
|
|
197
|
-
q != null && /* @__PURE__ */
|
|
214
|
+
q != null && /* @__PURE__ */ T(ne, {
|
|
198
215
|
value: q,
|
|
199
|
-
barClassName:
|
|
216
|
+
barClassName: ue,
|
|
200
217
|
className: "mt-2 max-w-xs"
|
|
201
218
|
})
|
|
202
219
|
]
|
|
@@ -204,23 +221,23 @@ function A() {
|
|
|
204
221
|
})
|
|
205
222
|
]
|
|
206
223
|
}),
|
|
207
|
-
|
|
224
|
+
P.tags.length > 0 && /* @__PURE__ */ E("div", {
|
|
208
225
|
className: "flex flex-wrap items-center gap-1.5",
|
|
209
|
-
children: [/* @__PURE__ */
|
|
226
|
+
children: [/* @__PURE__ */ T(b, {
|
|
210
227
|
className: "h-3.5 w-3.5 text-text-tertiary",
|
|
211
228
|
"aria-hidden": "true"
|
|
212
|
-
}),
|
|
229
|
+
}), P.tags.map((e) => /* @__PURE__ */ E("span", {
|
|
213
230
|
className: "rounded-full bg-bg-sunken px-2.5 py-0.5 text-xs font-medium text-text-secondary",
|
|
214
231
|
children: ["#", e]
|
|
215
232
|
}, e))]
|
|
216
233
|
}),
|
|
217
|
-
/* @__PURE__ */
|
|
234
|
+
/* @__PURE__ */ E("div", {
|
|
218
235
|
className: "border-t border-border-seam pt-4",
|
|
219
|
-
children: [/* @__PURE__ */
|
|
236
|
+
children: [/* @__PURE__ */ T("p", {
|
|
220
237
|
className: "mb-2 text-xs font-semibold uppercase tracking-wide text-text-tertiary",
|
|
221
|
-
children: "Hosted by"
|
|
222
|
-
}), /* @__PURE__ */
|
|
223
|
-
memberId:
|
|
238
|
+
children: A("comradecircle.pages.eventDetail.hostedBy", "Hosted by")
|
|
239
|
+
}), /* @__PURE__ */ T(o, {
|
|
240
|
+
memberId: P.hostId,
|
|
224
241
|
variant: "row",
|
|
225
242
|
size: "md",
|
|
226
243
|
showPresence: !0
|
|
@@ -228,109 +245,121 @@ function A() {
|
|
|
228
245
|
})
|
|
229
246
|
]
|
|
230
247
|
}),
|
|
231
|
-
|
|
248
|
+
ce && /* @__PURE__ */ E("section", {
|
|
232
249
|
className: "rounded-2xl border border-border-seam bg-bg-surface p-5",
|
|
233
250
|
children: [
|
|
234
|
-
/* @__PURE__ */
|
|
251
|
+
/* @__PURE__ */ T("h2", {
|
|
235
252
|
className: "text-base font-semibold text-text-primary",
|
|
236
|
-
children: "Your RSVP"
|
|
253
|
+
children: A("comradecircle.pages.eventDetail.yourRsvpTitle", "Your RSVP")
|
|
237
254
|
}),
|
|
238
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ T("p", {
|
|
239
256
|
className: "mt-0.5 text-sm text-text-secondary",
|
|
240
|
-
children: "Let the host know whether you'll attend."
|
|
257
|
+
children: A("comradecircle.pages.eventDetail.rsvpPrompt", "Let the host know whether you'll attend.")
|
|
241
258
|
}),
|
|
242
|
-
/* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ T("div", {
|
|
243
260
|
className: "mt-4 flex flex-col gap-2 sm:flex-row sm:flex-wrap",
|
|
244
|
-
children:
|
|
245
|
-
let
|
|
246
|
-
return /* @__PURE__ */
|
|
247
|
-
variant:
|
|
248
|
-
onClick: () =>
|
|
249
|
-
disabled:
|
|
250
|
-
"aria-pressed":
|
|
251
|
-
className:
|
|
252
|
-
children: [
|
|
261
|
+
children: se.map((e) => {
|
|
262
|
+
let t = le?.status === e.status;
|
|
263
|
+
return /* @__PURE__ */ E(D, {
|
|
264
|
+
variant: t ? "default" : "outline",
|
|
265
|
+
onClick: () => pe(e.status),
|
|
266
|
+
disabled: R.isPending,
|
|
267
|
+
"aria-pressed": t,
|
|
268
|
+
className: i("w-full justify-center sm:w-auto", t && "font-semibold shadow-elevation-1"),
|
|
269
|
+
children: [t && /* @__PURE__ */ T(g, { className: "h-4 w-4" }), A(e.labelKey, e.fallback)]
|
|
253
270
|
}, e.status);
|
|
254
271
|
})
|
|
255
272
|
})
|
|
256
273
|
]
|
|
257
274
|
}),
|
|
258
|
-
|
|
275
|
+
V && (P.status === "SCHEDULED" || P.status === "LIVE") && /* @__PURE__ */ E("section", {
|
|
259
276
|
className: "rounded-2xl border border-border-seam bg-bg-surface p-5",
|
|
260
277
|
children: [
|
|
261
|
-
/* @__PURE__ */
|
|
278
|
+
/* @__PURE__ */ T("h2", {
|
|
262
279
|
className: "text-base font-semibold text-text-primary",
|
|
263
|
-
children: "Host controls"
|
|
280
|
+
children: A("comradecircle.pages.eventDetail.hostControlsTitle", "Host controls")
|
|
264
281
|
}),
|
|
265
|
-
/* @__PURE__ */
|
|
282
|
+
/* @__PURE__ */ T("p", {
|
|
266
283
|
className: "mt-0.5 text-sm text-text-secondary",
|
|
267
|
-
children: "Move this event through its lifecycle."
|
|
284
|
+
children: A("comradecircle.pages.eventDetail.hostControlsPrompt", "Move this event through its lifecycle.")
|
|
268
285
|
}),
|
|
269
|
-
/* @__PURE__ */
|
|
286
|
+
/* @__PURE__ */ E("div", {
|
|
270
287
|
className: "mt-4 flex flex-wrap gap-2",
|
|
271
|
-
children: [
|
|
288
|
+
children: [P.status === "SCHEDULED" && /* @__PURE__ */ E(w, { children: [/* @__PURE__ */ E(D, {
|
|
272
289
|
size: "sm",
|
|
273
|
-
onClick: () => $("LIVE", "Event is now live"),
|
|
274
|
-
disabled:
|
|
275
|
-
children: [
|
|
276
|
-
|
|
290
|
+
onClick: () => $("LIVE", A("comradecircle.pages.eventDetail.wentLive", "Event is now live")),
|
|
291
|
+
disabled: z.isPending,
|
|
292
|
+
children: [
|
|
293
|
+
/* @__PURE__ */ T(y, { className: "mr-1.5 h-4 w-4" }),
|
|
294
|
+
" ",
|
|
295
|
+
A("comradecircle.pages.eventDetail.goLive", "Go live")
|
|
296
|
+
]
|
|
297
|
+
}), /* @__PURE__ */ E(D, {
|
|
277
298
|
size: "sm",
|
|
278
299
|
variant: "destructive",
|
|
279
|
-
onClick: () => $("CANCELLED", "Event cancelled"),
|
|
280
|
-
disabled:
|
|
281
|
-
children: [
|
|
282
|
-
|
|
300
|
+
onClick: () => $("CANCELLED", A("comradecircle.pages.eventDetail.cancelled", "Event cancelled")),
|
|
301
|
+
disabled: z.isPending,
|
|
302
|
+
children: [
|
|
303
|
+
/* @__PURE__ */ T(ie, { className: "mr-1.5 h-4 w-4" }),
|
|
304
|
+
" ",
|
|
305
|
+
A("comradecircle.pages.eventDetail.cancelEvent", "Cancel")
|
|
306
|
+
]
|
|
307
|
+
})] }), P.status === "LIVE" && /* @__PURE__ */ E(D, {
|
|
283
308
|
size: "sm",
|
|
284
|
-
onClick: () => $("COMPLETED", "Event marked complete"),
|
|
285
|
-
disabled:
|
|
286
|
-
children: [
|
|
309
|
+
onClick: () => $("COMPLETED", A("comradecircle.pages.eventDetail.markedComplete", "Event marked complete")),
|
|
310
|
+
disabled: z.isPending,
|
|
311
|
+
children: [
|
|
312
|
+
/* @__PURE__ */ T(_, { className: "mr-1.5 h-4 w-4" }),
|
|
313
|
+
" ",
|
|
314
|
+
A("comradecircle.pages.eventDetail.markComplete", "Mark complete")
|
|
315
|
+
]
|
|
287
316
|
})]
|
|
288
317
|
})
|
|
289
318
|
]
|
|
290
319
|
}),
|
|
291
|
-
/* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ E("section", {
|
|
292
321
|
className: "rounded-2xl border border-border-seam bg-bg-surface p-5",
|
|
293
|
-
children: [/* @__PURE__ */
|
|
322
|
+
children: [/* @__PURE__ */ E("div", {
|
|
294
323
|
className: "mb-3 flex items-center justify-between gap-3",
|
|
295
|
-
children: [/* @__PURE__ */
|
|
324
|
+
children: [/* @__PURE__ */ E("div", {
|
|
296
325
|
className: "min-w-0",
|
|
297
|
-
children: [/* @__PURE__ */
|
|
326
|
+
children: [/* @__PURE__ */ T("h2", {
|
|
298
327
|
className: "text-base font-semibold text-text-primary",
|
|
299
|
-
children: "Attendees"
|
|
300
|
-
}), Q && /* @__PURE__ */
|
|
328
|
+
children: A("comradecircle.pages.eventDetail.attendeesTitle", "Attendees")
|
|
329
|
+
}), Q && /* @__PURE__ */ T("p", {
|
|
301
330
|
className: "mt-0.5 truncate text-xs text-text-tertiary",
|
|
302
331
|
children: Q
|
|
303
332
|
})]
|
|
304
|
-
}), /* @__PURE__ */
|
|
333
|
+
}), /* @__PURE__ */ E("span", {
|
|
305
334
|
className: "inline-flex shrink-0 items-center gap-1 text-xs text-text-tertiary",
|
|
306
335
|
children: [
|
|
307
|
-
/* @__PURE__ */
|
|
336
|
+
/* @__PURE__ */ T(x, { className: "h-3.5 w-3.5" }),
|
|
308
337
|
" ",
|
|
309
|
-
|
|
338
|
+
d(P.rsvps.length)
|
|
310
339
|
]
|
|
311
340
|
})]
|
|
312
|
-
}),
|
|
341
|
+
}), P.rsvps.length === 0 ? /* @__PURE__ */ T(f, {
|
|
313
342
|
illustration: "empty-people",
|
|
314
|
-
title: "No RSVPs yet",
|
|
315
|
-
description: "Be the first to let the host know you're coming."
|
|
316
|
-
}) : /* @__PURE__ */
|
|
343
|
+
title: A("comradecircle.pages.eventDetail.noRsvpsTitle", "No RSVPs yet"),
|
|
344
|
+
description: A("comradecircle.pages.eventDetail.noRsvpsDescription", "Be the first to let the host know you're coming.")
|
|
345
|
+
}) : /* @__PURE__ */ T("ul", {
|
|
317
346
|
className: "flex flex-col gap-2",
|
|
318
|
-
children:
|
|
347
|
+
children: fe.map((e) => /* @__PURE__ */ E("li", {
|
|
319
348
|
className: "flex flex-wrap items-center justify-between gap-3 rounded-xl border border-border-seam bg-bg-sunken px-4 py-2.5 transition-colors hover:border-[var(--color-accent-soft)]",
|
|
320
|
-
children: [/* @__PURE__ */
|
|
349
|
+
children: [/* @__PURE__ */ T(o, {
|
|
321
350
|
memberId: e.memberId,
|
|
322
351
|
variant: "row",
|
|
323
352
|
size: "sm"
|
|
324
|
-
}), /* @__PURE__ */
|
|
353
|
+
}), /* @__PURE__ */ E("div", {
|
|
325
354
|
className: "flex min-w-0 items-center gap-2",
|
|
326
|
-
children: [e.note && /* @__PURE__ */
|
|
355
|
+
children: [e.note && /* @__PURE__ */ E("span", {
|
|
327
356
|
className: "max-w-[16rem] truncate text-xs text-text-tertiary",
|
|
328
357
|
children: [
|
|
329
358
|
"“",
|
|
330
359
|
e.note,
|
|
331
360
|
"”"
|
|
332
361
|
]
|
|
333
|
-
}), /* @__PURE__ */
|
|
362
|
+
}), /* @__PURE__ */ T(h, { status: e.status })]
|
|
334
363
|
})]
|
|
335
364
|
}, e.id))
|
|
336
365
|
})]
|