@burdenoff/microfe-comradecircle 2026.509.101

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 (54) hide show
  1. package/README.md +12 -0
  2. package/dist/comradecircle/ComradeCircleRoot.d.ts +5 -0
  3. package/dist/comradecircle/ComradeCircleRoot.d.ts.map +1 -0
  4. package/dist/comradecircle/ComradeCircleRoot.js +111 -0
  5. package/dist/comradecircle/ComradeCircleRoot.js.map +1 -0
  6. package/dist/comradecircle/ComradeCircleRoutes.d.ts +2 -0
  7. package/dist/comradecircle/ComradeCircleRoutes.d.ts.map +1 -0
  8. package/dist/comradecircle/ComradeCircleRoutes.js +43 -0
  9. package/dist/comradecircle/ComradeCircleRoutes.js.map +1 -0
  10. package/dist/comradecircle/index.d.ts +5 -0
  11. package/dist/comradecircle/index.d.ts.map +1 -0
  12. package/dist/comradecircle/index.js +3 -0
  13. package/dist/comradecircle/pages/CommunitiesPage.d.ts +2 -0
  14. package/dist/comradecircle/pages/CommunitiesPage.d.ts.map +1 -0
  15. package/dist/comradecircle/pages/CommunitiesPage.js +299 -0
  16. package/dist/comradecircle/pages/CommunitiesPage.js.map +1 -0
  17. package/dist/comradecircle/pages/CreatorPage.d.ts +2 -0
  18. package/dist/comradecircle/pages/CreatorPage.d.ts.map +1 -0
  19. package/dist/comradecircle/pages/CreatorPage.js +399 -0
  20. package/dist/comradecircle/pages/CreatorPage.js.map +1 -0
  21. package/dist/comradecircle/pages/DashboardPage.d.ts +2 -0
  22. package/dist/comradecircle/pages/DashboardPage.d.ts.map +1 -0
  23. package/dist/comradecircle/pages/DashboardPage.js +265 -0
  24. package/dist/comradecircle/pages/DashboardPage.js.map +1 -0
  25. package/dist/comradecircle/providers/ComradeCircleProvider.d.ts +6 -0
  26. package/dist/comradecircle/providers/ComradeCircleProvider.d.ts.map +1 -0
  27. package/dist/comradecircle/providers/ComradeCircleProvider.js +27 -0
  28. package/dist/comradecircle/providers/ComradeCircleProvider.js.map +1 -0
  29. package/dist/comradecircle/store/comradecircleStore.d.ts +28 -0
  30. package/dist/comradecircle/store/comradecircleStore.d.ts.map +1 -0
  31. package/dist/comradecircle/store/comradecircleStore.js +345 -0
  32. package/dist/comradecircle/store/comradecircleStore.js.map +1 -0
  33. package/dist/comradecircle/types/index.d.ts +162 -0
  34. package/dist/comradecircle/types/index.d.ts.map +1 -0
  35. package/dist/comradecircle/utils/cn.d.ts +4 -0
  36. package/dist/comradecircle/utils/cn.d.ts.map +1 -0
  37. package/dist/comradecircle/utils/navigation.d.ts +2 -0
  38. package/dist/comradecircle/utils/navigation.d.ts.map +1 -0
  39. package/dist/comradecircle/utils/navigation.js +8 -0
  40. package/dist/comradecircle/utils/navigation.js.map +1 -0
  41. package/dist/dev/main.d.ts +2 -0
  42. package/dist/dev/main.d.ts.map +1 -0
  43. package/dist/generated/global-operations.d.ts +2 -0
  44. package/dist/generated/global-operations.d.ts.map +1 -0
  45. package/dist/generated/global-types.d.ts +18199 -0
  46. package/dist/generated/global-types.d.ts.map +1 -0
  47. package/dist/generated/wspace-operations.d.ts +2 -0
  48. package/dist/generated/wspace-operations.d.ts.map +1 -0
  49. package/dist/generated/wspace-types.d.ts +43046 -0
  50. package/dist/generated/wspace-types.d.ts.map +1 -0
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +5 -0
  54. package/package.json +107 -0
@@ -0,0 +1,265 @@
1
+ import { useComradeCircleStore as e } from "../store/comradecircleStore.js";
2
+ import { useI18n as t } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
3
+ import { Activity as n, Bell as r, Calendar as i, DollarSign as a, Eye as o, Heart as s, MessageCircle as c, Plus as l, Share as u, TrendingUp as d, Users as f } from "lucide-react";
4
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
5
+ import { Badge as h, Button as g, Card as _, CardContent as v, CardDescription as y, CardHeader as b, CardTitle as x } from "@burdenoff/fe-libs/ui";
6
+ //#region src/comradecircle/pages/DashboardPage.tsx
7
+ function S() {
8
+ let { t: S } = t(), { metrics: C, recentActivity: w, communities: T, upcomingEvents: E } = e(), D = [
9
+ {
10
+ label: S("comradecircle.dashboard.contentMetrics.views", { defaultValue: "Views" }),
11
+ value: "12.5K",
12
+ icon: o
13
+ },
14
+ {
15
+ label: S("comradecircle.dashboard.contentMetrics.likes", { defaultValue: "Likes" }),
16
+ value: "2.3K",
17
+ icon: s
18
+ },
19
+ {
20
+ label: S("comradecircle.dashboard.contentMetrics.shares", { defaultValue: "Shares" }),
21
+ value: "456",
22
+ icon: u
23
+ },
24
+ {
25
+ label: S("comradecircle.dashboard.contentMetrics.engagement", { defaultValue: "Engagement" }),
26
+ value: "18.2%",
27
+ icon: n
28
+ }
29
+ ], O = {
30
+ Communities: S("comradecircle.dashboard.stats.communities.title", { defaultValue: "Communities" }),
31
+ Followers: S("comradecircle.dashboard.stats.followers.title", { defaultValue: "Followers" }),
32
+ Revenue: S("comradecircle.dashboard.stats.revenue.title", { defaultValue: "Revenue" }),
33
+ Engagement: S("comradecircle.dashboard.stats.engagement.title", { defaultValue: "Engagement" })
34
+ }, k = {
35
+ 1: S("comradecircle.dashboard.activity.newMemberJoined", { defaultValue: "New member joined \"React Developers\"" }),
36
+ 2: S("comradecircle.dashboard.activity.newMessages", { defaultValue: "You have 3 new messages" }),
37
+ 3: S("comradecircle.dashboard.activity.subscriptionPaymentReceived", { defaultValue: "Subscription payment received" }),
38
+ 4: S("comradecircle.dashboard.activity.upcomingWeeklyStandup", { defaultValue: "Upcoming event \"Weekly Standup\" in 2 hours" }),
39
+ 5: S("comradecircle.dashboard.activity.newFollowersToday", { defaultValue: "15 new followers today" }),
40
+ 6: S("comradecircle.dashboard.activity.postReachedViews", { defaultValue: "Your post reached 1K views" })
41
+ }, A = {
42
+ virtual: S("comradecircle.dashboard.eventType.virtual", { defaultValue: "virtual" }),
43
+ hybrid: S("comradecircle.dashboard.eventType.hybrid", { defaultValue: "hybrid" }),
44
+ "in-person": S("comradecircle.dashboard.eventType.inPerson", { defaultValue: "in-person" })
45
+ }, j = {
46
+ upcoming: S("comradecircle.dashboard.eventStatus.upcoming", { defaultValue: "upcoming" }),
47
+ live: S("comradecircle.dashboard.eventStatus.live", { defaultValue: "live" }),
48
+ completed: S("comradecircle.dashboard.eventStatus.completed", { defaultValue: "completed" })
49
+ }, M = [
50
+ f,
51
+ c,
52
+ a,
53
+ i
54
+ ];
55
+ return /* @__PURE__ */ m("div", {
56
+ className: "p-6 space-y-8",
57
+ children: [
58
+ /* @__PURE__ */ m("div", {
59
+ className: "flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4",
60
+ children: [/* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h1", {
61
+ className: "text-3xl font-bold",
62
+ children: S("comradecircle.dashboard.title", { defaultValue: "Welcome back!" })
63
+ }), /* @__PURE__ */ p("p", {
64
+ className: "text-muted-foreground",
65
+ children: S("comradecircle.dashboard.subtitle", { defaultValue: "Here's what's happening with your communities today." })
66
+ })] }), /* @__PURE__ */ m("div", {
67
+ className: "flex gap-2",
68
+ children: [/* @__PURE__ */ p(g, {
69
+ variant: "outline",
70
+ size: "icon",
71
+ children: /* @__PURE__ */ p(r, { className: "w-4 h-4" })
72
+ }), /* @__PURE__ */ m(g, { children: [/* @__PURE__ */ p(l, { className: "w-4 h-4 mr-2" }), S("comradecircle.dashboard.actions.createCommunity", { defaultValue: "Create Community" })] })]
73
+ })]
74
+ }),
75
+ /* @__PURE__ */ p("div", {
76
+ className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",
77
+ children: C.map((e, t) => {
78
+ let n = M[t % M.length];
79
+ return /* @__PURE__ */ p(_, { children: /* @__PURE__ */ p(v, {
80
+ className: "p-6",
81
+ children: /* @__PURE__ */ m("div", {
82
+ className: "flex items-center justify-between",
83
+ children: [/* @__PURE__ */ m("div", { children: [
84
+ /* @__PURE__ */ p("p", {
85
+ className: "text-sm font-medium text-muted-foreground",
86
+ children: O[e.label] ?? e.label
87
+ }),
88
+ /* @__PURE__ */ p("p", {
89
+ className: "text-3xl font-bold",
90
+ children: e.value
91
+ }),
92
+ /* @__PURE__ */ m("p", {
93
+ className: "text-sm text-emerald-600",
94
+ children: [
95
+ e.trend,
96
+ " ",
97
+ S("comradecircle.dashboard.stats.trendSuffix", { defaultValue: "from last month" })
98
+ ]
99
+ })
100
+ ] }), /* @__PURE__ */ p("div", {
101
+ className: "p-3 rounded-full bg-muted",
102
+ children: /* @__PURE__ */ p(n, { className: "w-6 h-6 text-primary" })
103
+ })]
104
+ })
105
+ }) }, e.label);
106
+ })
107
+ }),
108
+ /* @__PURE__ */ m("div", {
109
+ className: "grid grid-cols-1 lg:grid-cols-2 gap-8",
110
+ children: [/* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ p(x, { children: S("comradecircle.dashboard.sections.recentActivity.title", { defaultValue: "Recent Activity" }) }), /* @__PURE__ */ p(y, { children: S("comradecircle.dashboard.sections.recentActivity.description", { defaultValue: "Stay updated with your latest community interactions" }) })] }), /* @__PURE__ */ m(v, {
111
+ className: "space-y-4",
112
+ children: [w.map((e) => /* @__PURE__ */ m("div", {
113
+ className: "flex items-center space-x-3 p-3 rounded-lg hover:bg-muted/50",
114
+ children: [/* @__PURE__ */ m("div", {
115
+ className: "p-2 rounded-full bg-primary/10",
116
+ children: [
117
+ e.type === "community" && /* @__PURE__ */ p(f, { className: "w-4 h-4 text-primary" }),
118
+ e.type === "message" && /* @__PURE__ */ p(c, { className: "w-4 h-4 text-primary" }),
119
+ e.type === "revenue" && /* @__PURE__ */ p(a, { className: "w-4 h-4 text-primary" }),
120
+ e.type === "event" && /* @__PURE__ */ p(i, { className: "w-4 h-4 text-primary" }),
121
+ e.type === "member" && /* @__PURE__ */ p(f, { className: "w-4 h-4 text-primary" }),
122
+ e.type === "content" && /* @__PURE__ */ p(o, { className: "w-4 h-4 text-primary" })
123
+ ]
124
+ }), /* @__PURE__ */ m("div", {
125
+ className: "flex-1",
126
+ children: [/* @__PURE__ */ p("p", {
127
+ className: "text-sm font-medium",
128
+ children: k[e.id] ?? e.message
129
+ }), /* @__PURE__ */ p("p", {
130
+ className: "text-xs text-muted-foreground",
131
+ children: e.time
132
+ })]
133
+ })]
134
+ }, e.id)), /* @__PURE__ */ p(g, {
135
+ variant: "ghost",
136
+ className: "w-full mt-4",
137
+ children: S("comradecircle.dashboard.actions.viewAllActivity", { defaultValue: "View All Activity" })
138
+ })]
139
+ })] }), /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ p(x, { children: S("comradecircle.dashboard.sections.yourCommunities.title", { defaultValue: "Your Communities" }) }), /* @__PURE__ */ p(y, { children: S("comradecircle.dashboard.sections.yourCommunities.description", { defaultValue: "Manage your most active communities" }) })] }), /* @__PURE__ */ m(v, {
140
+ className: "space-y-4",
141
+ children: [T.slice(0, 3).map((e) => /* @__PURE__ */ m("div", {
142
+ className: "flex items-center justify-between p-3 rounded-lg hover:bg-muted/50",
143
+ children: [/* @__PURE__ */ m("div", {
144
+ className: "flex items-center space-x-3",
145
+ children: [/* @__PURE__ */ p("div", {
146
+ className: "w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-sm font-bold text-primary",
147
+ children: e.name.charAt(0)
148
+ }), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("h4", {
149
+ className: "text-sm font-medium",
150
+ children: e.name
151
+ }), /* @__PURE__ */ m("p", {
152
+ className: "text-xs text-muted-foreground",
153
+ children: [
154
+ e.memberCount.toLocaleString(),
155
+ " ",
156
+ S("comradecircle.dashboard.community.members", { defaultValue: "members" })
157
+ ]
158
+ })] })]
159
+ }), /* @__PURE__ */ p(g, {
160
+ variant: "ghost",
161
+ size: "sm",
162
+ children: S("comradecircle.dashboard.actions.manage", { defaultValue: "Manage" })
163
+ })]
164
+ }, e.id)), /* @__PURE__ */ p(g, {
165
+ variant: "ghost",
166
+ className: "w-full mt-4",
167
+ children: S("comradecircle.dashboard.actions.viewAllCommunities", { defaultValue: "View All Communities" })
168
+ })]
169
+ })] })]
170
+ }),
171
+ /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ m(x, {
172
+ className: "flex items-center space-x-2",
173
+ children: [/* @__PURE__ */ p(i, { className: "w-5 h-5" }), /* @__PURE__ */ p("span", { children: S("comradecircle.dashboard.sections.upcomingEvents.title", { defaultValue: "Upcoming Events" }) })]
174
+ }), /* @__PURE__ */ p(y, { children: S("comradecircle.dashboard.sections.upcomingEvents.description", { defaultValue: "Events across your communities" }) })] }), /* @__PURE__ */ p(v, { children: /* @__PURE__ */ p("div", {
175
+ className: "grid grid-cols-1 md:grid-cols-3 gap-4",
176
+ children: E.map((e) => /* @__PURE__ */ m("div", {
177
+ className: "p-4 bg-muted/50 rounded-lg",
178
+ children: [
179
+ /* @__PURE__ */ m("div", {
180
+ className: "flex items-center justify-between mb-2",
181
+ children: [/* @__PURE__ */ p(h, {
182
+ variant: "secondary",
183
+ children: A[e.type] ?? e.type
184
+ }), /* @__PURE__ */ p(h, {
185
+ variant: "outline",
186
+ children: j[e.status] ?? e.status
187
+ })]
188
+ }),
189
+ /* @__PURE__ */ p("h4", {
190
+ className: "font-medium text-sm",
191
+ children: e.title
192
+ }),
193
+ /* @__PURE__ */ p("p", {
194
+ className: "text-xs text-muted-foreground mt-1",
195
+ children: e.communityName
196
+ }),
197
+ /* @__PURE__ */ m("p", {
198
+ className: "text-xs text-muted-foreground mt-1",
199
+ children: [
200
+ e.attendees,
201
+ " ",
202
+ S("comradecircle.dashboard.events.attendees", { defaultValue: "attendees" })
203
+ ]
204
+ })
205
+ ]
206
+ }, e.id))
207
+ }) })] }),
208
+ /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ m(x, {
209
+ className: "flex items-center space-x-2",
210
+ children: [/* @__PURE__ */ p(d, { className: "w-5 h-5" }), /* @__PURE__ */ p("span", { children: S("comradecircle.dashboard.sections.contentPerformance.title", { defaultValue: "Content Performance" }) })]
211
+ }), /* @__PURE__ */ p(y, { children: S("comradecircle.dashboard.sections.contentPerformance.description", { defaultValue: "Your content engagement metrics for the past 30 days" }) })] }), /* @__PURE__ */ p(v, { children: /* @__PURE__ */ p("div", {
212
+ className: "grid grid-cols-2 lg:grid-cols-4 gap-6",
213
+ children: D.map((e) => /* @__PURE__ */ m("div", {
214
+ className: "text-center",
215
+ children: [
216
+ /* @__PURE__ */ p("div", {
217
+ className: "flex justify-center mb-2",
218
+ children: /* @__PURE__ */ p("div", {
219
+ className: "p-3 rounded-full bg-primary/10",
220
+ children: /* @__PURE__ */ p(e.icon, { className: "w-5 h-5 text-primary" })
221
+ })
222
+ }),
223
+ /* @__PURE__ */ p("p", {
224
+ className: "text-2xl font-bold",
225
+ children: e.value
226
+ }),
227
+ /* @__PURE__ */ p("p", {
228
+ className: "text-sm text-muted-foreground",
229
+ children: e.label
230
+ })
231
+ ]
232
+ }, e.label))
233
+ }) })] }),
234
+ /* @__PURE__ */ m(_, { children: [/* @__PURE__ */ m(b, { children: [/* @__PURE__ */ p(x, { children: S("comradecircle.dashboard.sections.quickActions.title", { defaultValue: "Quick Actions" }) }), /* @__PURE__ */ p(y, { children: S("comradecircle.dashboard.sections.quickActions.description", { defaultValue: "Common tasks to help you manage your community" }) })] }), /* @__PURE__ */ p(v, { children: /* @__PURE__ */ m("div", {
235
+ className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",
236
+ children: [
237
+ /* @__PURE__ */ m(g, {
238
+ variant: "outline",
239
+ className: "h-auto p-4 flex flex-col items-center space-y-2",
240
+ children: [/* @__PURE__ */ p(f, { className: "w-6 h-6" }), /* @__PURE__ */ p("span", { children: S("comradecircle.dashboard.quickActions.createCommunity", { defaultValue: "Create Community" }) })]
241
+ }),
242
+ /* @__PURE__ */ m(g, {
243
+ variant: "outline",
244
+ className: "h-auto p-4 flex flex-col items-center space-y-2",
245
+ children: [/* @__PURE__ */ p(i, { className: "w-6 h-6" }), /* @__PURE__ */ p("span", { children: S("comradecircle.dashboard.quickActions.scheduleEvent", { defaultValue: "Schedule Event" }) })]
246
+ }),
247
+ /* @__PURE__ */ m(g, {
248
+ variant: "outline",
249
+ className: "h-auto p-4 flex flex-col items-center space-y-2",
250
+ children: [/* @__PURE__ */ p(l, { className: "w-6 h-6" }), /* @__PURE__ */ p("span", { children: S("comradecircle.dashboard.quickActions.createContent", { defaultValue: "Create Content" }) })]
251
+ }),
252
+ /* @__PURE__ */ m(g, {
253
+ variant: "outline",
254
+ className: "h-auto p-4 flex flex-col items-center space-y-2",
255
+ children: [/* @__PURE__ */ p(d, { className: "w-6 h-6" }), /* @__PURE__ */ p("span", { children: S("comradecircle.dashboard.quickActions.viewAnalytics", { defaultValue: "View Analytics" }) })]
256
+ })
257
+ ]
258
+ }) })] })
259
+ ]
260
+ });
261
+ }
262
+ //#endregion
263
+ export { S as DashboardPage };
264
+
265
+ //# sourceMappingURL=DashboardPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardPage.js","names":[],"sources":["../../../src/comradecircle/pages/DashboardPage.tsx"],"sourcesContent":["import {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Badge,\n Button,\n} from '@burdenoff/fe-libs/ui';\nimport {\n Users,\n MessageCircle,\n DollarSign,\n Calendar,\n TrendingUp,\n Plus,\n Bell,\n Eye,\n Heart,\n Share,\n Activity,\n} from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useComradeCircleStore } from '../store/comradecircleStore';\n\nexport function DashboardPage() {\n const { t } = useI18n();\n const { metrics, recentActivity, communities, upcomingEvents } = useComradeCircleStore();\n\n const contentMetrics = [\n {\n label: t('comradecircle.dashboard.contentMetrics.views', { defaultValue: 'Views' }),\n value: '12.5K',\n icon: Eye,\n },\n {\n label: t('comradecircle.dashboard.contentMetrics.likes', { defaultValue: 'Likes' }),\n value: '2.3K',\n icon: Heart,\n },\n {\n label: t('comradecircle.dashboard.contentMetrics.shares', { defaultValue: 'Shares' }),\n value: '456',\n icon: Share,\n },\n {\n label: t('comradecircle.dashboard.contentMetrics.engagement', {\n defaultValue: 'Engagement',\n }),\n value: '18.2%',\n icon: Activity,\n },\n ];\n\n const metricLabelByName: Record<string, string> = {\n Communities: t('comradecircle.dashboard.stats.communities.title', {\n defaultValue: 'Communities',\n }),\n Followers: t('comradecircle.dashboard.stats.followers.title', { defaultValue: 'Followers' }),\n Revenue: t('comradecircle.dashboard.stats.revenue.title', { defaultValue: 'Revenue' }),\n Engagement: t('comradecircle.dashboard.stats.engagement.title', {\n defaultValue: 'Engagement',\n }),\n };\n\n const activityMessageById: Record<string, string> = {\n '1': t('comradecircle.dashboard.activity.newMemberJoined', {\n defaultValue: 'New member joined \"React Developers\"',\n }),\n '2': t('comradecircle.dashboard.activity.newMessages', {\n defaultValue: 'You have 3 new messages',\n }),\n '3': t('comradecircle.dashboard.activity.subscriptionPaymentReceived', {\n defaultValue: 'Subscription payment received',\n }),\n '4': t('comradecircle.dashboard.activity.upcomingWeeklyStandup', {\n defaultValue: 'Upcoming event \"Weekly Standup\" in 2 hours',\n }),\n '5': t('comradecircle.dashboard.activity.newFollowersToday', {\n defaultValue: '15 new followers today',\n }),\n '6': t('comradecircle.dashboard.activity.postReachedViews', {\n defaultValue: 'Your post reached 1K views',\n }),\n };\n\n const eventTypeLabelByName: Record<string, string> = {\n virtual: t('comradecircle.dashboard.eventType.virtual', { defaultValue: 'virtual' }),\n hybrid: t('comradecircle.dashboard.eventType.hybrid', { defaultValue: 'hybrid' }),\n 'in-person': t('comradecircle.dashboard.eventType.inPerson', { defaultValue: 'in-person' }),\n };\n\n const eventStatusLabelByName: Record<string, string> = {\n upcoming: t('comradecircle.dashboard.eventStatus.upcoming', { defaultValue: 'upcoming' }),\n live: t('comradecircle.dashboard.eventStatus.live', { defaultValue: 'live' }),\n completed: t('comradecircle.dashboard.eventStatus.completed', { defaultValue: 'completed' }),\n };\n\n const statIcons = [Users, MessageCircle, DollarSign, Calendar];\n\n return (\n <div className=\"p-6 space-y-8\">\n {/* Header */}\n <div className=\"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4\">\n <div>\n <h1 className=\"text-3xl font-bold\">\n {t('comradecircle.dashboard.title', { defaultValue: 'Welcome back!' })}\n </h1>\n <p className=\"text-muted-foreground\">\n {t('comradecircle.dashboard.subtitle', {\n defaultValue: \"Here's what's happening with your communities today.\",\n })}\n </p>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"icon\">\n <Bell className=\"w-4 h-4\" />\n </Button>\n <Button>\n <Plus className=\"w-4 h-4 mr-2\" />\n {t('comradecircle.dashboard.actions.createCommunity', {\n defaultValue: 'Create Community',\n })}\n </Button>\n </div>\n </div>\n\n {/* Stats Cards */}\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6\">\n {metrics.map((stat, idx) => {\n const Icon = statIcons[idx % statIcons.length];\n return (\n <Card key={stat.label}>\n <CardContent className=\"p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium text-muted-foreground\">\n {metricLabelByName[stat.label] ?? stat.label}\n </p>\n <p className=\"text-3xl font-bold\">{stat.value}</p>\n <p className=\"text-sm text-emerald-600\">\n {stat.trend}{' '}\n {t('comradecircle.dashboard.stats.trendSuffix', {\n defaultValue: 'from last month',\n })}\n </p>\n </div>\n <div className=\"p-3 rounded-full bg-muted\">\n <Icon className=\"w-6 h-6 text-primary\" />\n </div>\n </div>\n </CardContent>\n </Card>\n );\n })}\n </div>\n\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-8\">\n {/* Recent Activity */}\n <Card>\n <CardHeader>\n <CardTitle>\n {t('comradecircle.dashboard.sections.recentActivity.title', {\n defaultValue: 'Recent Activity',\n })}\n </CardTitle>\n <CardDescription>\n {t('comradecircle.dashboard.sections.recentActivity.description', {\n defaultValue: 'Stay updated with your latest community interactions',\n })}\n </CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n {recentActivity.map((item) => (\n <div\n key={item.id}\n className=\"flex items-center space-x-3 p-3 rounded-lg hover:bg-muted/50\"\n >\n <div className=\"p-2 rounded-full bg-primary/10\">\n {item.type === 'community' && <Users className=\"w-4 h-4 text-primary\" />}\n {item.type === 'message' && <MessageCircle className=\"w-4 h-4 text-primary\" />}\n {item.type === 'revenue' && <DollarSign className=\"w-4 h-4 text-primary\" />}\n {item.type === 'event' && <Calendar className=\"w-4 h-4 text-primary\" />}\n {item.type === 'member' && <Users className=\"w-4 h-4 text-primary\" />}\n {item.type === 'content' && <Eye className=\"w-4 h-4 text-primary\" />}\n </div>\n <div className=\"flex-1\">\n <p className=\"text-sm font-medium\">\n {activityMessageById[item.id] ?? item.message}\n </p>\n <p className=\"text-xs text-muted-foreground\">{item.time}</p>\n </div>\n </div>\n ))}\n <Button variant=\"ghost\" className=\"w-full mt-4\">\n {t('comradecircle.dashboard.actions.viewAllActivity', {\n defaultValue: 'View All Activity',\n })}\n </Button>\n </CardContent>\n </Card>\n\n {/* Top Communities */}\n <Card>\n <CardHeader>\n <CardTitle>\n {t('comradecircle.dashboard.sections.yourCommunities.title', {\n defaultValue: 'Your Communities',\n })}\n </CardTitle>\n <CardDescription>\n {t('comradecircle.dashboard.sections.yourCommunities.description', {\n defaultValue: 'Manage your most active communities',\n })}\n </CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n {communities.slice(0, 3).map((community) => (\n <div\n key={community.id}\n className=\"flex items-center justify-between p-3 rounded-lg hover:bg-muted/50\"\n >\n <div className=\"flex items-center space-x-3\">\n <div className=\"w-10 h-10 rounded-full bg-primary/10 flex items-center justify-center text-sm font-bold text-primary\">\n {community.name.charAt(0)}\n </div>\n <div>\n <h4 className=\"text-sm font-medium\">{community.name}</h4>\n <p className=\"text-xs text-muted-foreground\">\n {community.memberCount.toLocaleString()}{' '}\n {t('comradecircle.dashboard.community.members', { defaultValue: 'members' })}\n </p>\n </div>\n </div>\n <Button variant=\"ghost\" size=\"sm\">\n {t('comradecircle.dashboard.actions.manage', { defaultValue: 'Manage' })}\n </Button>\n </div>\n ))}\n <Button variant=\"ghost\" className=\"w-full mt-4\">\n {t('comradecircle.dashboard.actions.viewAllCommunities', {\n defaultValue: 'View All Communities',\n })}\n </Button>\n </CardContent>\n </Card>\n </div>\n\n {/* Upcoming Events */}\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center space-x-2\">\n <Calendar className=\"w-5 h-5\" />\n <span>\n {t('comradecircle.dashboard.sections.upcomingEvents.title', {\n defaultValue: 'Upcoming Events',\n })}\n </span>\n </CardTitle>\n <CardDescription>\n {t('comradecircle.dashboard.sections.upcomingEvents.description', {\n defaultValue: 'Events across your communities',\n })}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n {upcomingEvents.map((event) => (\n <div key={event.id} className=\"p-4 bg-muted/50 rounded-lg\">\n <div className=\"flex items-center justify-between mb-2\">\n <Badge variant=\"secondary\">\n {eventTypeLabelByName[event.type] ?? event.type}\n </Badge>\n <Badge variant=\"outline\">\n {eventStatusLabelByName[event.status] ?? event.status}\n </Badge>\n </div>\n <h4 className=\"font-medium text-sm\">{event.title}</h4>\n <p className=\"text-xs text-muted-foreground mt-1\">{event.communityName}</p>\n <p className=\"text-xs text-muted-foreground mt-1\">\n {event.attendees}{' '}\n {t('comradecircle.dashboard.events.attendees', { defaultValue: 'attendees' })}\n </p>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n\n {/* Content Performance */}\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center space-x-2\">\n <TrendingUp className=\"w-5 h-5\" />\n <span>\n {t('comradecircle.dashboard.sections.contentPerformance.title', {\n defaultValue: 'Content Performance',\n })}\n </span>\n </CardTitle>\n <CardDescription>\n {t('comradecircle.dashboard.sections.contentPerformance.description', {\n defaultValue: 'Your content engagement metrics for the past 30 days',\n })}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-2 lg:grid-cols-4 gap-6\">\n {contentMetrics.map((metric) => (\n <div key={metric.label} className=\"text-center\">\n <div className=\"flex justify-center mb-2\">\n <div className=\"p-3 rounded-full bg-primary/10\">\n <metric.icon className=\"w-5 h-5 text-primary\" />\n </div>\n </div>\n <p className=\"text-2xl font-bold\">{metric.value}</p>\n <p className=\"text-sm text-muted-foreground\">{metric.label}</p>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n\n {/* Quick Actions */}\n <Card>\n <CardHeader>\n <CardTitle>\n {t('comradecircle.dashboard.sections.quickActions.title', {\n defaultValue: 'Quick Actions',\n })}\n </CardTitle>\n <CardDescription>\n {t('comradecircle.dashboard.sections.quickActions.description', {\n defaultValue: 'Common tasks to help you manage your community',\n })}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4\">\n <Button variant=\"outline\" className=\"h-auto p-4 flex flex-col items-center space-y-2\">\n <Users className=\"w-6 h-6\" />\n <span>\n {t('comradecircle.dashboard.quickActions.createCommunity', {\n defaultValue: 'Create Community',\n })}\n </span>\n </Button>\n <Button variant=\"outline\" className=\"h-auto p-4 flex flex-col items-center space-y-2\">\n <Calendar className=\"w-6 h-6\" />\n <span>\n {t('comradecircle.dashboard.quickActions.scheduleEvent', {\n defaultValue: 'Schedule Event',\n })}\n </span>\n </Button>\n <Button variant=\"outline\" className=\"h-auto p-4 flex flex-col items-center space-y-2\">\n <Plus className=\"w-6 h-6\" />\n <span>\n {t('comradecircle.dashboard.quickActions.createContent', {\n defaultValue: 'Create Content',\n })}\n </span>\n </Button>\n <Button variant=\"outline\" className=\"h-auto p-4 flex flex-col items-center space-y-2\">\n <TrendingUp className=\"w-6 h-6\" />\n <span>\n {t('comradecircle.dashboard.quickActions.viewAnalytics', {\n defaultValue: 'View Analytics',\n })}\n </span>\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { ComradeCircleRootProps } from '../types';
3
+
4
+ export declare const useComradeCircle: () => ComradeCircleRootProps;
5
+ export declare const ComradeCircleProvider: FC<PropsWithChildren<ComradeCircleRootProps>>;
6
+ //# sourceMappingURL=ComradeCircleProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComradeCircleProvider.d.ts","sourceRoot":"","sources":["../../../src/comradecircle/providers/ComradeCircleProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAMvD,eAAO,MAAM,gBAAgB,8BAI5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAsB/E,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { createContext as e, useContext as t, useMemo as n } from "react";
2
+ import { MemoryRouter as r } from "react-router-dom";
3
+ import { QueryClient as i, QueryClientProvider as a } from "@tanstack/react-query";
4
+ import { jsx as o } from "react/jsx-runtime";
5
+ //#region src/comradecircle/providers/ComradeCircleProvider.tsx
6
+ var s = e(null), c = () => {
7
+ let e = t(s);
8
+ if (!e) throw Error("useComradeCircle must be used within ComradeCircleProvider");
9
+ return e;
10
+ }, l = ({ children: e, ...t }) => {
11
+ let c = /* @__PURE__ */ o(a, {
12
+ client: n(() => new i({ defaultOptions: { queries: {
13
+ retry: 1,
14
+ refetchOnWindowFocus: !1,
15
+ staleTime: 300 * 1e3
16
+ } } }), []),
17
+ children: /* @__PURE__ */ o(s.Provider, {
18
+ value: t,
19
+ children: e
20
+ })
21
+ });
22
+ return t.basePath ? c : /* @__PURE__ */ o(r, { children: c });
23
+ };
24
+ //#endregion
25
+ export { l as ComradeCircleProvider, c as useComradeCircle };
26
+
27
+ //# sourceMappingURL=ComradeCircleProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComradeCircleProvider.js","names":[],"sources":["../../../src/comradecircle/providers/ComradeCircleProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport { createContext, useContext, useMemo } from 'react';\nimport { MemoryRouter } from 'react-router-dom';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { ComradeCircleRootProps } from '../types';\n\ntype ComradeCircleContextValue = ComradeCircleRootProps;\n\nconst ComradeCircleContext = createContext<ComradeCircleContextValue | null>(null);\n\nexport const useComradeCircle = () => {\n const context = useContext(ComradeCircleContext);\n if (!context) throw new Error('useComradeCircle must be used within ComradeCircleProvider');\n return context;\n};\n\nexport const ComradeCircleProvider: FC<PropsWithChildren<ComradeCircleRootProps>> = ({\n children,\n ...props\n}) => {\n const queryClient = useMemo(\n () =>\n new QueryClient({\n defaultOptions: {\n queries: { retry: 1, refetchOnWindowFocus: false, staleTime: 5 * 60 * 1000 },\n },\n }),\n []\n );\n\n const content = (\n <QueryClientProvider client={queryClient}>\n <ComradeCircleContext.Provider value={props}>{children}</ComradeCircleContext.Provider>\n </QueryClientProvider>\n );\n\n if (props.basePath) return content;\n return <MemoryRouter>{content}</MemoryRouter>;\n};\n"],"mappings":";;;;;AAQA,IAAM,IAAuB,EAAgD,KAAK,EAErE,UAAyB;CACpC,IAAM,IAAU,EAAW,EAAqB;AAChD,KAAI,CAAC,EAAS,OAAU,MAAM,6DAA6D;AAC3F,QAAO;GAGI,KAAwE,EACnF,aACA,GAAG,QACC;CAWJ,IAAM,IACJ,kBAAC,GAAD;EAAqB,QAXH,QAEhB,IAAI,EAAY,EACd,gBAAgB,EACd,SAAS;GAAE,OAAO;GAAG,sBAAsB;GAAO,WAAW,MAAS;GAAM,EAC7E,EACF,CAAC,EACJ,EAAE,CACH;YAIG,kBAAC,EAAqB,UAAtB;GAA+B,OAAO;GAAQ;GAAyC,CAAA;EACnE,CAAA;AAIxB,QADI,EAAM,WAAiB,IACpB,kBAAC,GAAD,EAAA,UAAe,GAAuB,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { OverviewMetric, WorkItem, Community, CommunityStats, RevenueStats, SubscriptionTier, ContentPerformance, RevenueBreakdown, ActivityItem, CommunityEvent } from '../types';
2
+
3
+ interface ComradeCircleState {
4
+ metrics: OverviewMetric[];
5
+ workItems: WorkItem[];
6
+ selectedView: string;
7
+ communities: Community[];
8
+ communityStats: CommunityStats;
9
+ communityFilter: 'all' | 'owned' | 'moderated' | 'member';
10
+ communitySearchQuery: string;
11
+ revenueStats: RevenueStats;
12
+ subscriptionTiers: SubscriptionTier[];
13
+ topContent: ContentPerformance[];
14
+ revenueBreakdown: RevenueBreakdown;
15
+ creatorActiveTab: 'overview' | 'revenue' | 'analytics' | 'content';
16
+ creatorTimeRange: '7d' | '30d' | '90d' | '1y';
17
+ recentActivity: ActivityItem[];
18
+ upcomingEvents: CommunityEvent[];
19
+ setSelectedView: (view: string) => void;
20
+ setWorkItems: (items: WorkItem[]) => void;
21
+ setCommunityFilter: (filter: 'all' | 'owned' | 'moderated' | 'member') => void;
22
+ setCommunitySearchQuery: (query: string) => void;
23
+ setCreatorActiveTab: (tab: 'overview' | 'revenue' | 'analytics' | 'content') => void;
24
+ setCreatorTimeRange: (range: '7d' | '30d' | '90d' | '1y') => void;
25
+ }
26
+ export declare const useComradeCircleStore: import('zustand').UseBoundStore<import('zustand').StoreApi<ComradeCircleState>>;
27
+ export {};
28
+ //# sourceMappingURL=comradecircleStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comradecircleStore.d.ts","sourceRoot":"","sources":["../../../src/comradecircle/store/comradecircleStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,SAAS,EACT,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACf,MAAM,UAAU,CAAC;AAsOlB,UAAU,kBAAkB;IAE1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAGrB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1D,oBAAoB,EAAE,MAAM,CAAC;IAG7B,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACnE,gBAAgB,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAG9C,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,cAAc,EAAE,cAAc,EAAE,CAAC;IAGjC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC/E,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,mBAAmB,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC;IACrF,mBAAmB,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;CACnE;AAED,eAAO,MAAM,qBAAqB,iFAiE/B,CAAC"}