@burdenoff/microfe-ecoimpacthub 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.
- package/README.md +12 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/ecoimpacthub/EcoImpactHubRoot.d.ts +5 -0
- package/dist/ecoimpacthub/EcoImpactHubRoot.d.ts.map +1 -0
- package/dist/ecoimpacthub/EcoImpactHubRoot.js +126 -0
- package/dist/ecoimpacthub/EcoImpactHubRoot.js.map +1 -0
- package/dist/ecoimpacthub/EcoImpactHubRoutes.d.ts +2 -0
- package/dist/ecoimpacthub/EcoImpactHubRoutes.d.ts.map +1 -0
- package/dist/ecoimpacthub/EcoImpactHubRoutes.js +55 -0
- package/dist/ecoimpacthub/EcoImpactHubRoutes.js.map +1 -0
- package/dist/ecoimpacthub/index.d.ts +5 -0
- package/dist/ecoimpacthub/index.d.ts.map +1 -0
- package/dist/ecoimpacthub/index.js +3 -0
- package/dist/ecoimpacthub/pages/ActionTrackerPage.d.ts +2 -0
- package/dist/ecoimpacthub/pages/ActionTrackerPage.d.ts.map +1 -0
- package/dist/ecoimpacthub/pages/ActionTrackerPage.js +449 -0
- package/dist/ecoimpacthub/pages/ActionTrackerPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/ChallengesPage.d.ts +2 -0
- package/dist/ecoimpacthub/pages/ChallengesPage.d.ts.map +1 -0
- package/dist/ecoimpacthub/pages/ChallengesPage.js +242 -0
- package/dist/ecoimpacthub/pages/ChallengesPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/CitizenSciencePage.d.ts +2 -0
- package/dist/ecoimpacthub/pages/CitizenSciencePage.d.ts.map +1 -0
- package/dist/ecoimpacthub/pages/CitizenSciencePage.js +443 -0
- package/dist/ecoimpacthub/pages/CitizenSciencePage.js.map +1 -0
- package/dist/ecoimpacthub/pages/CommunityPage.d.ts +2 -0
- package/dist/ecoimpacthub/pages/CommunityPage.d.ts.map +1 -0
- package/dist/ecoimpacthub/pages/CommunityPage.js +377 -0
- package/dist/ecoimpacthub/pages/CommunityPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/DashboardPage.d.ts +2 -0
- package/dist/ecoimpacthub/pages/DashboardPage.d.ts.map +1 -0
- package/dist/ecoimpacthub/pages/DashboardPage.js +380 -0
- package/dist/ecoimpacthub/pages/DashboardPage.js.map +1 -0
- package/dist/ecoimpacthub/pages/LearningPage.d.ts +2 -0
- package/dist/ecoimpacthub/pages/LearningPage.d.ts.map +1 -0
- package/dist/ecoimpacthub/pages/LearningPage.js +276 -0
- package/dist/ecoimpacthub/pages/LearningPage.js.map +1 -0
- package/dist/ecoimpacthub/providers/EcoImpactHubProvider.d.ts +6 -0
- package/dist/ecoimpacthub/providers/EcoImpactHubProvider.d.ts.map +1 -0
- package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js +27 -0
- package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js.map +1 -0
- package/dist/ecoimpacthub/store/ecoimpacthubStore.d.ts +135 -0
- package/dist/ecoimpacthub/store/ecoimpacthubStore.d.ts.map +1 -0
- package/dist/ecoimpacthub/store/ecoimpacthubStore.js +551 -0
- package/dist/ecoimpacthub/store/ecoimpacthubStore.js.map +1 -0
- package/dist/ecoimpacthub/types/index.d.ts +51 -0
- package/dist/ecoimpacthub/types/index.d.ts.map +1 -0
- package/dist/ecoimpacthub/utils/cn.d.ts +4 -0
- package/dist/ecoimpacthub/utils/cn.d.ts.map +1 -0
- package/dist/ecoimpacthub/utils/i18n.d.ts +6 -0
- package/dist/ecoimpacthub/utils/i18n.d.ts.map +1 -0
- package/dist/ecoimpacthub/utils/i18n.js +15 -0
- package/dist/ecoimpacthub/utils/i18n.js.map +1 -0
- package/dist/ecoimpacthub/utils/navigation.d.ts +2 -0
- package/dist/ecoimpacthub/utils/navigation.d.ts.map +1 -0
- package/dist/ecoimpacthub/utils/navigation.js +8 -0
- package/dist/ecoimpacthub/utils/navigation.js.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +18199 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +43046 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +107 -0
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import { useEcoImpactHubStore as e } from "../store/ecoimpacthubStore.js";
|
|
2
|
+
import { tWithFallback as t } from "../utils/i18n.js";
|
|
3
|
+
import { useState as n } from "react";
|
|
4
|
+
import { Award as r, Calendar as i, Camera as a, ChevronRight as o, Heart as s, MapPin as c, MessageSquare as l, Plus as u, Search as d, Share2 as f, TrendingUp as p, Users as m } from "lucide-react";
|
|
5
|
+
import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
6
|
+
import { Badge as g, Button as _, Card as v, CardContent as y, CardHeader as b, CardTitle as x, Input as S } from "@burdenoff/fe-libs/ui";
|
|
7
|
+
import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
8
|
+
//#region src/ecoimpacthub/pages/CommunityPage.tsx
|
|
9
|
+
function E() {
|
|
10
|
+
let { t: E } = h(), { communityPosts: D, communityGroups: O } = e(), [k, A] = n("feed"), [j, M] = n(""), N = (e, n, r) => t(E, e, n, r), P = (e) => {
|
|
11
|
+
switch (e) {
|
|
12
|
+
case "achievement": return "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300";
|
|
13
|
+
case "question": return "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300";
|
|
14
|
+
case "event": return "bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300";
|
|
15
|
+
case "tip": return "bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300";
|
|
16
|
+
default: return "bg-muted text-muted-foreground";
|
|
17
|
+
}
|
|
18
|
+
}, F = (e) => {
|
|
19
|
+
switch (e) {
|
|
20
|
+
case "high": return "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300";
|
|
21
|
+
case "medium": return "bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300";
|
|
22
|
+
case "low": return "bg-muted text-muted-foreground";
|
|
23
|
+
default: return "bg-muted text-muted-foreground";
|
|
24
|
+
}
|
|
25
|
+
}, I = (e) => {
|
|
26
|
+
switch (e) {
|
|
27
|
+
case "feed": return N("ecoimpacthub.community.tabs.feed", "Feed");
|
|
28
|
+
case "groups": return N("ecoimpacthub.community.tabs.groups", "Groups");
|
|
29
|
+
case "events": return N("ecoimpacthub.community.tabs.events", "Events");
|
|
30
|
+
default: return e;
|
|
31
|
+
}
|
|
32
|
+
}, L = [
|
|
33
|
+
{
|
|
34
|
+
label: N("ecoimpacthub.community.stats.communitySize.label", "Community Size"),
|
|
35
|
+
value: "45.2K",
|
|
36
|
+
sub: N("ecoimpacthub.community.stats.communitySize.sub", "active members"),
|
|
37
|
+
icon: m,
|
|
38
|
+
color: "text-primary"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: N("ecoimpacthub.community.stats.myPosts.label", "My Posts"),
|
|
42
|
+
value: "12",
|
|
43
|
+
sub: N("ecoimpacthub.community.stats.myPosts.sub", "this month"),
|
|
44
|
+
icon: l,
|
|
45
|
+
color: "text-green-600"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: N("ecoimpacthub.community.stats.groupsJoined.label", "Groups Joined"),
|
|
49
|
+
value: "8",
|
|
50
|
+
sub: N("ecoimpacthub.community.stats.groupsJoined.sub", "active groups"),
|
|
51
|
+
icon: m,
|
|
52
|
+
color: "text-blue-600"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
label: N("ecoimpacthub.community.stats.influenceScore.label", "Influence Score"),
|
|
56
|
+
value: "8.7",
|
|
57
|
+
sub: N("ecoimpacthub.community.stats.influenceScore.sub", "community impact"),
|
|
58
|
+
icon: r,
|
|
59
|
+
color: "text-purple-600"
|
|
60
|
+
}
|
|
61
|
+
];
|
|
62
|
+
return /* @__PURE__ */ w("div", {
|
|
63
|
+
className: "min-h-screen p-4",
|
|
64
|
+
children: /* @__PURE__ */ T("div", {
|
|
65
|
+
className: "mx-auto max-w-7xl space-y-8",
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ T("div", {
|
|
68
|
+
className: "space-y-4 text-center",
|
|
69
|
+
children: [/* @__PURE__ */ w("h1", {
|
|
70
|
+
className: "text-4xl font-bold",
|
|
71
|
+
children: N("ecoimpacthub.community.title", "Community Hub")
|
|
72
|
+
}), /* @__PURE__ */ w("p", {
|
|
73
|
+
className: "mx-auto max-w-3xl text-xl text-muted-foreground",
|
|
74
|
+
children: N("ecoimpacthub.community.subtitle", "Connect with fellow environmental advocates, share experiences, and collaborate on local initiatives.")
|
|
75
|
+
})]
|
|
76
|
+
}),
|
|
77
|
+
/* @__PURE__ */ w("div", {
|
|
78
|
+
className: "grid grid-cols-1 gap-6 md:grid-cols-4",
|
|
79
|
+
children: L.map((e) => {
|
|
80
|
+
let t = e.icon;
|
|
81
|
+
return /* @__PURE__ */ w(v, { children: /* @__PURE__ */ T(y, {
|
|
82
|
+
className: "space-y-2 p-6",
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ T("div", {
|
|
85
|
+
className: `flex items-center gap-2 ${e.color}`,
|
|
86
|
+
children: [/* @__PURE__ */ w(t, { className: "h-5 w-5" }), /* @__PURE__ */ w("span", {
|
|
87
|
+
className: "font-semibold",
|
|
88
|
+
children: e.label
|
|
89
|
+
})]
|
|
90
|
+
}),
|
|
91
|
+
/* @__PURE__ */ w("div", {
|
|
92
|
+
className: "text-3xl font-bold",
|
|
93
|
+
children: e.value
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ w("div", {
|
|
96
|
+
className: "text-sm text-muted-foreground",
|
|
97
|
+
children: e.sub
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
}) }, e.label);
|
|
101
|
+
})
|
|
102
|
+
}),
|
|
103
|
+
/* @__PURE__ */ w("div", {
|
|
104
|
+
className: "flex gap-2 border-b",
|
|
105
|
+
children: [
|
|
106
|
+
"feed",
|
|
107
|
+
"groups",
|
|
108
|
+
"events"
|
|
109
|
+
].map((e) => /* @__PURE__ */ T(_, {
|
|
110
|
+
variant: k === e ? "default" : "ghost",
|
|
111
|
+
onClick: () => A(e),
|
|
112
|
+
children: [
|
|
113
|
+
e === "feed" && /* @__PURE__ */ w(p, { className: "mr-2 h-4 w-4" }),
|
|
114
|
+
e === "groups" && /* @__PURE__ */ w(m, { className: "mr-2 h-4 w-4" }),
|
|
115
|
+
e === "events" && /* @__PURE__ */ w(i, { className: "mr-2 h-4 w-4" }),
|
|
116
|
+
I(e)
|
|
117
|
+
]
|
|
118
|
+
}, e))
|
|
119
|
+
}),
|
|
120
|
+
/* @__PURE__ */ T("div", {
|
|
121
|
+
className: "grid grid-cols-1 gap-8 lg:grid-cols-3",
|
|
122
|
+
children: [/* @__PURE__ */ T("div", {
|
|
123
|
+
className: "space-y-6 lg:col-span-2",
|
|
124
|
+
children: [
|
|
125
|
+
k === "feed" && /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(v, { children: /* @__PURE__ */ T(y, {
|
|
126
|
+
className: "p-6",
|
|
127
|
+
children: [/* @__PURE__ */ T("div", {
|
|
128
|
+
className: "mb-4 flex items-center gap-4",
|
|
129
|
+
children: [/* @__PURE__ */ w("div", {
|
|
130
|
+
className: "text-2xl",
|
|
131
|
+
children: "👤"
|
|
132
|
+
}), /* @__PURE__ */ w(S, {
|
|
133
|
+
placeholder: N("ecoimpacthub.community.composer.placeholder", "Share your environmental journey..."),
|
|
134
|
+
className: "flex-1"
|
|
135
|
+
})]
|
|
136
|
+
}), /* @__PURE__ */ T("div", {
|
|
137
|
+
className: "flex items-center justify-between",
|
|
138
|
+
children: [/* @__PURE__ */ T("div", {
|
|
139
|
+
className: "flex gap-2",
|
|
140
|
+
children: [/* @__PURE__ */ T(_, {
|
|
141
|
+
variant: "outline",
|
|
142
|
+
size: "sm",
|
|
143
|
+
children: [/* @__PURE__ */ w(a, { className: "mr-2 h-4 w-4" }), N("ecoimpacthub.community.actions.photo", "Photo")]
|
|
144
|
+
}), /* @__PURE__ */ T(_, {
|
|
145
|
+
variant: "outline",
|
|
146
|
+
size: "sm",
|
|
147
|
+
children: [/* @__PURE__ */ w(c, { className: "mr-2 h-4 w-4" }), N("ecoimpacthub.community.actions.location", "Location")]
|
|
148
|
+
})]
|
|
149
|
+
}), /* @__PURE__ */ w(_, {
|
|
150
|
+
size: "sm",
|
|
151
|
+
children: N("ecoimpacthub.community.actions.post", "Post")
|
|
152
|
+
})]
|
|
153
|
+
})]
|
|
154
|
+
}) }), /* @__PURE__ */ w("div", {
|
|
155
|
+
className: "space-y-6",
|
|
156
|
+
children: D.map((e) => /* @__PURE__ */ w(v, { children: /* @__PURE__ */ T(y, {
|
|
157
|
+
className: "space-y-4 p-6",
|
|
158
|
+
children: [
|
|
159
|
+
/* @__PURE__ */ T("div", {
|
|
160
|
+
className: "flex items-start justify-between",
|
|
161
|
+
children: [/* @__PURE__ */ T("div", {
|
|
162
|
+
className: "flex items-center gap-3",
|
|
163
|
+
children: [/* @__PURE__ */ w("div", {
|
|
164
|
+
className: "text-2xl",
|
|
165
|
+
children: e.author.avatar
|
|
166
|
+
}), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("div", {
|
|
167
|
+
className: "flex items-center gap-2",
|
|
168
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
169
|
+
className: "font-semibold",
|
|
170
|
+
children: e.author.name
|
|
171
|
+
}), /* @__PURE__ */ w(g, {
|
|
172
|
+
variant: "secondary",
|
|
173
|
+
className: "text-xs",
|
|
174
|
+
children: e.author.level
|
|
175
|
+
})]
|
|
176
|
+
}), /* @__PURE__ */ T("div", {
|
|
177
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
178
|
+
children: [
|
|
179
|
+
/* @__PURE__ */ w(c, { className: "h-3 w-3" }),
|
|
180
|
+
/* @__PURE__ */ w("span", { children: e.author.location }),
|
|
181
|
+
/* @__PURE__ */ w("span", { children: "-" }),
|
|
182
|
+
/* @__PURE__ */ w("span", { children: e.timestamp })
|
|
183
|
+
]
|
|
184
|
+
})] })]
|
|
185
|
+
}), /* @__PURE__ */ w(g, {
|
|
186
|
+
className: P(e.category),
|
|
187
|
+
children: e.category
|
|
188
|
+
})]
|
|
189
|
+
}),
|
|
190
|
+
/* @__PURE__ */ w("p", {
|
|
191
|
+
className: "text-sm leading-relaxed",
|
|
192
|
+
children: e.content
|
|
193
|
+
}),
|
|
194
|
+
/* @__PURE__ */ w("div", {
|
|
195
|
+
className: "flex flex-wrap gap-1",
|
|
196
|
+
children: e.tags.map((e) => /* @__PURE__ */ T("span", {
|
|
197
|
+
className: "rounded bg-muted px-2 py-1 text-xs text-muted-foreground",
|
|
198
|
+
children: ["#", e]
|
|
199
|
+
}, e))
|
|
200
|
+
}),
|
|
201
|
+
/* @__PURE__ */ w("div", {
|
|
202
|
+
className: "flex items-center justify-between border-t pt-2",
|
|
203
|
+
children: /* @__PURE__ */ T("div", {
|
|
204
|
+
className: "flex gap-6 text-sm text-muted-foreground",
|
|
205
|
+
children: [
|
|
206
|
+
/* @__PURE__ */ T(_, {
|
|
207
|
+
variant: "ghost",
|
|
208
|
+
size: "sm",
|
|
209
|
+
className: "h-8 p-0",
|
|
210
|
+
children: [/* @__PURE__ */ w(s, { className: "mr-1 h-4 w-4" }), e.likes]
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ T(_, {
|
|
213
|
+
variant: "ghost",
|
|
214
|
+
size: "sm",
|
|
215
|
+
className: "h-8 p-0",
|
|
216
|
+
children: [/* @__PURE__ */ w(l, { className: "mr-1 h-4 w-4" }), e.comments]
|
|
217
|
+
}),
|
|
218
|
+
/* @__PURE__ */ T(_, {
|
|
219
|
+
variant: "ghost",
|
|
220
|
+
size: "sm",
|
|
221
|
+
className: "h-8 p-0",
|
|
222
|
+
children: [/* @__PURE__ */ w(f, { className: "mr-1 h-4 w-4" }), e.shares]
|
|
223
|
+
})
|
|
224
|
+
]
|
|
225
|
+
})
|
|
226
|
+
})
|
|
227
|
+
]
|
|
228
|
+
}) }, e.id))
|
|
229
|
+
})] }),
|
|
230
|
+
k === "groups" && /* @__PURE__ */ T("div", {
|
|
231
|
+
className: "space-y-6",
|
|
232
|
+
children: [/* @__PURE__ */ T("div", {
|
|
233
|
+
className: "flex items-center justify-between",
|
|
234
|
+
children: [/* @__PURE__ */ w("h2", {
|
|
235
|
+
className: "text-2xl font-bold",
|
|
236
|
+
children: N("ecoimpacthub.community.groups.title", "Environmental Groups")
|
|
237
|
+
}), /* @__PURE__ */ T(_, { children: [/* @__PURE__ */ w(u, { className: "mr-2 h-4 w-4" }), N("ecoimpacthub.community.actions.createGroup", "Create Group")] })]
|
|
238
|
+
}), /* @__PURE__ */ w("div", {
|
|
239
|
+
className: "grid gap-4",
|
|
240
|
+
children: O.map((e) => /* @__PURE__ */ w(v, { children: /* @__PURE__ */ w(y, {
|
|
241
|
+
className: "p-6",
|
|
242
|
+
children: /* @__PURE__ */ T("div", {
|
|
243
|
+
className: "flex items-center justify-between",
|
|
244
|
+
children: [/* @__PURE__ */ T("div", {
|
|
245
|
+
className: "flex items-center gap-4",
|
|
246
|
+
children: [/* @__PURE__ */ w("div", {
|
|
247
|
+
className: "text-3xl",
|
|
248
|
+
children: e.avatar
|
|
249
|
+
}), /* @__PURE__ */ T("div", { children: [
|
|
250
|
+
/* @__PURE__ */ w("h3", {
|
|
251
|
+
className: "text-lg font-semibold",
|
|
252
|
+
children: e.name
|
|
253
|
+
}),
|
|
254
|
+
/* @__PURE__ */ w("p", {
|
|
255
|
+
className: "line-clamp-2 text-sm text-muted-foreground",
|
|
256
|
+
children: e.description
|
|
257
|
+
}),
|
|
258
|
+
/* @__PURE__ */ T("div", {
|
|
259
|
+
className: "mt-2 flex items-center gap-4 text-sm text-muted-foreground",
|
|
260
|
+
children: [/* @__PURE__ */ T("div", {
|
|
261
|
+
className: "flex items-center gap-1",
|
|
262
|
+
children: [/* @__PURE__ */ w(m, { className: "h-4 w-4" }), /* @__PURE__ */ w("span", { children: N("ecoimpacthub.community.groups.members", "{{count}} members", { count: e.members.toLocaleString() }) })]
|
|
263
|
+
}), /* @__PURE__ */ w(g, {
|
|
264
|
+
className: F(e.activity),
|
|
265
|
+
children: N("ecoimpacthub.community.groups.activity", "{{level}} activity", { level: e.activity })
|
|
266
|
+
})]
|
|
267
|
+
})
|
|
268
|
+
] })]
|
|
269
|
+
}), /* @__PURE__ */ w(_, {
|
|
270
|
+
variant: e.isJoined ? "outline" : "default",
|
|
271
|
+
size: "sm",
|
|
272
|
+
children: e.isJoined ? N("ecoimpacthub.community.actions.joined", "Joined") : N("ecoimpacthub.community.actions.joinGroup", "Join Group")
|
|
273
|
+
})]
|
|
274
|
+
})
|
|
275
|
+
}) }, e.id))
|
|
276
|
+
})]
|
|
277
|
+
}),
|
|
278
|
+
k === "events" && /* @__PURE__ */ T("div", {
|
|
279
|
+
className: "space-y-6",
|
|
280
|
+
children: [/* @__PURE__ */ T("div", {
|
|
281
|
+
className: "flex items-center justify-between",
|
|
282
|
+
children: [/* @__PURE__ */ w("h2", {
|
|
283
|
+
className: "text-2xl font-bold",
|
|
284
|
+
children: N("ecoimpacthub.community.events.title", "Upcoming Events")
|
|
285
|
+
}), /* @__PURE__ */ T(_, { children: [/* @__PURE__ */ w(u, { className: "mr-2 h-4 w-4" }), N("ecoimpacthub.community.actions.createEvent", "Create Event")] })]
|
|
286
|
+
}), /* @__PURE__ */ T("div", {
|
|
287
|
+
className: "py-12 text-center",
|
|
288
|
+
children: [
|
|
289
|
+
/* @__PURE__ */ w(i, { className: "mx-auto mb-4 h-16 w-16 text-muted-foreground" }),
|
|
290
|
+
/* @__PURE__ */ w("h3", {
|
|
291
|
+
className: "mb-2 text-xl font-semibold",
|
|
292
|
+
children: N("ecoimpacthub.community.events.empty.title", "Events coming soon!")
|
|
293
|
+
}),
|
|
294
|
+
/* @__PURE__ */ w("p", {
|
|
295
|
+
className: "text-muted-foreground",
|
|
296
|
+
children: N("ecoimpacthub.community.events.empty.description", "Community events feature is under development. Check back soon!")
|
|
297
|
+
})
|
|
298
|
+
]
|
|
299
|
+
})]
|
|
300
|
+
})
|
|
301
|
+
]
|
|
302
|
+
}), /* @__PURE__ */ T("div", {
|
|
303
|
+
className: "space-y-6",
|
|
304
|
+
children: [
|
|
305
|
+
/* @__PURE__ */ w(v, { children: /* @__PURE__ */ T(y, {
|
|
306
|
+
className: "p-6",
|
|
307
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
308
|
+
className: "mb-3 font-semibold",
|
|
309
|
+
children: N("ecoimpacthub.community.search.title", "Search Community")
|
|
310
|
+
}), /* @__PURE__ */ T("div", {
|
|
311
|
+
className: "relative",
|
|
312
|
+
children: [/* @__PURE__ */ w(d, { className: "absolute left-3 top-3 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ w(S, {
|
|
313
|
+
placeholder: N("ecoimpacthub.community.search.placeholder", "Search posts, groups, people..."),
|
|
314
|
+
value: j,
|
|
315
|
+
onChange: (e) => M(e.target.value),
|
|
316
|
+
className: "pl-10"
|
|
317
|
+
})]
|
|
318
|
+
})]
|
|
319
|
+
}) }),
|
|
320
|
+
/* @__PURE__ */ T(v, { children: [/* @__PURE__ */ w(b, { children: /* @__PURE__ */ w(x, {
|
|
321
|
+
className: "text-base",
|
|
322
|
+
children: N("ecoimpacthub.community.suggestedGroups.title", "Suggested Groups")
|
|
323
|
+
}) }), /* @__PURE__ */ w(y, {
|
|
324
|
+
className: "space-y-3",
|
|
325
|
+
children: O.filter((e) => !e.isJoined).slice(0, 3).map((e) => /* @__PURE__ */ T("div", {
|
|
326
|
+
className: "flex items-center justify-between",
|
|
327
|
+
children: [/* @__PURE__ */ T("div", {
|
|
328
|
+
className: "flex items-center gap-3",
|
|
329
|
+
children: [/* @__PURE__ */ w("div", {
|
|
330
|
+
className: "text-xl",
|
|
331
|
+
children: e.avatar
|
|
332
|
+
}), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h4", {
|
|
333
|
+
className: "text-sm font-medium",
|
|
334
|
+
children: e.name
|
|
335
|
+
}), /* @__PURE__ */ w("p", {
|
|
336
|
+
className: "text-xs text-muted-foreground",
|
|
337
|
+
children: N("ecoimpacthub.community.groups.members", "{{count}} members", { count: e.members.toLocaleString() })
|
|
338
|
+
})] })]
|
|
339
|
+
}), /* @__PURE__ */ w(_, {
|
|
340
|
+
size: "sm",
|
|
341
|
+
variant: "outline",
|
|
342
|
+
children: N("ecoimpacthub.community.actions.join", "Join")
|
|
343
|
+
})]
|
|
344
|
+
}, e.id))
|
|
345
|
+
})] }),
|
|
346
|
+
/* @__PURE__ */ w(v, { children: /* @__PURE__ */ T(y, {
|
|
347
|
+
className: "p-6",
|
|
348
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
349
|
+
className: "mb-3 font-semibold",
|
|
350
|
+
children: N("ecoimpacthub.community.guidelines.title", "Community Guidelines")
|
|
351
|
+
}), /* @__PURE__ */ T("div", {
|
|
352
|
+
className: "space-y-2 text-sm text-muted-foreground",
|
|
353
|
+
children: [
|
|
354
|
+
/* @__PURE__ */ w("p", { children: N("ecoimpacthub.community.guidelines.respect", "- Be respectful and constructive") }),
|
|
355
|
+
/* @__PURE__ */ w("p", { children: N("ecoimpacthub.community.guidelines.accuracy", "- Share accurate information") }),
|
|
356
|
+
/* @__PURE__ */ w("p", { children: N("ecoimpacthub.community.guidelines.support", "- Support fellow eco-warriors") }),
|
|
357
|
+
/* @__PURE__ */ w("p", { children: N("ecoimpacthub.community.guidelines.noSpam", "- No spam or self-promotion") }),
|
|
358
|
+
/* @__PURE__ */ T(_, {
|
|
359
|
+
variant: "outline",
|
|
360
|
+
size: "sm",
|
|
361
|
+
className: "mt-3",
|
|
362
|
+
children: [N("ecoimpacthub.community.actions.readGuidelines", "Read Full Guidelines"), /* @__PURE__ */ w(o, { className: "ml-2 h-4 w-4" })]
|
|
363
|
+
})
|
|
364
|
+
]
|
|
365
|
+
})]
|
|
366
|
+
}) })
|
|
367
|
+
]
|
|
368
|
+
})]
|
|
369
|
+
})
|
|
370
|
+
]
|
|
371
|
+
})
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
//#endregion
|
|
375
|
+
export { E as CommunityPage };
|
|
376
|
+
|
|
377
|
+
//# sourceMappingURL=CommunityPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunityPage.js","names":[],"sources":["../../../src/ecoimpacthub/pages/CommunityPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n Users,\n MessageSquare,\n Heart,\n Share2,\n MapPin,\n Calendar,\n Search,\n Plus,\n TrendingUp,\n Camera,\n Award,\n ChevronRight,\n} from 'lucide-react';\nimport { useEcoImpactHubStore } from '../store/ecoimpacthubStore';\nimport { tWithFallback } from '../utils/i18n';\n\nexport function CommunityPage() {\n const { t } = useI18n();\n const { communityPosts, communityGroups } = useEcoImpactHubStore();\n const [activeTab, setActiveTab] = useState<'feed' | 'groups' | 'events'>('feed');\n const [searchTerm, setSearchTerm] = useState('');\n const translate = (key: string, fallback: string, params?: Record<string, string | number>) =>\n tWithFallback(t, key, fallback, params);\n\n const getCategoryColor = (category: string) => {\n switch (category) {\n case 'achievement':\n return 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300';\n case 'question':\n return 'bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300';\n case 'event':\n return 'bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300';\n case 'tip':\n return 'bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300';\n default:\n return 'bg-muted text-muted-foreground';\n }\n };\n\n const getActivityColor = (activity: string) => {\n switch (activity) {\n case 'high':\n return 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300';\n case 'medium':\n return 'bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300';\n case 'low':\n return 'bg-muted text-muted-foreground';\n default:\n return 'bg-muted text-muted-foreground';\n }\n };\n\n const getTabLabel = (tab: 'feed' | 'groups' | 'events') => {\n switch (tab) {\n case 'feed':\n return translate('ecoimpacthub.community.tabs.feed', 'Feed');\n case 'groups':\n return translate('ecoimpacthub.community.tabs.groups', 'Groups');\n case 'events':\n return translate('ecoimpacthub.community.tabs.events', 'Events');\n default:\n return tab;\n }\n };\n\n const stats = [\n {\n label: translate('ecoimpacthub.community.stats.communitySize.label', 'Community Size'),\n value: '45.2K',\n sub: translate('ecoimpacthub.community.stats.communitySize.sub', 'active members'),\n icon: Users,\n color: 'text-primary',\n },\n {\n label: translate('ecoimpacthub.community.stats.myPosts.label', 'My Posts'),\n value: '12',\n sub: translate('ecoimpacthub.community.stats.myPosts.sub', 'this month'),\n icon: MessageSquare,\n color: 'text-green-600',\n },\n {\n label: translate('ecoimpacthub.community.stats.groupsJoined.label', 'Groups Joined'),\n value: '8',\n sub: translate('ecoimpacthub.community.stats.groupsJoined.sub', 'active groups'),\n icon: Users,\n color: 'text-blue-600',\n },\n {\n label: translate('ecoimpacthub.community.stats.influenceScore.label', 'Influence Score'),\n value: '8.7',\n sub: translate('ecoimpacthub.community.stats.influenceScore.sub', 'community impact'),\n icon: Award,\n color: 'text-purple-600',\n },\n ];\n\n return (\n <div className=\"min-h-screen p-4\">\n <div className=\"mx-auto max-w-7xl space-y-8\">\n <div className=\"space-y-4 text-center\">\n <h1 className=\"text-4xl font-bold\">\n {translate('ecoimpacthub.community.title', 'Community Hub')}\n </h1>\n <p className=\"mx-auto max-w-3xl text-xl text-muted-foreground\">\n {translate(\n 'ecoimpacthub.community.subtitle',\n 'Connect with fellow environmental advocates, share experiences, and collaborate on local initiatives.'\n )}\n </p>\n </div>\n\n <div className=\"grid grid-cols-1 gap-6 md:grid-cols-4\">\n {stats.map((stat) => {\n const Icon = stat.icon;\n return (\n <Card key={stat.label}>\n <CardContent className=\"space-y-2 p-6\">\n <div className={`flex items-center gap-2 ${stat.color}`}>\n <Icon className=\"h-5 w-5\" />\n <span className=\"font-semibold\">{stat.label}</span>\n </div>\n <div className=\"text-3xl font-bold\">{stat.value}</div>\n <div className=\"text-sm text-muted-foreground\">{stat.sub}</div>\n </CardContent>\n </Card>\n );\n })}\n </div>\n\n <div className=\"flex gap-2 border-b\">\n {(['feed', 'groups', 'events'] as const).map((tab) => (\n <Button\n key={tab}\n variant={activeTab === tab ? 'default' : 'ghost'}\n onClick={() => setActiveTab(tab)}\n >\n {tab === 'feed' && <TrendingUp className=\"mr-2 h-4 w-4\" />}\n {tab === 'groups' && <Users className=\"mr-2 h-4 w-4\" />}\n {tab === 'events' && <Calendar className=\"mr-2 h-4 w-4\" />}\n {getTabLabel(tab)}\n </Button>\n ))}\n </div>\n\n <div className=\"grid grid-cols-1 gap-8 lg:grid-cols-3\">\n <div className=\"space-y-6 lg:col-span-2\">\n {activeTab === 'feed' && (\n <>\n <Card>\n <CardContent className=\"p-6\">\n <div className=\"mb-4 flex items-center gap-4\">\n <div className=\"text-2xl\">👤</div>\n <Input\n placeholder={translate(\n 'ecoimpacthub.community.composer.placeholder',\n 'Share your environmental journey...'\n )}\n className=\"flex-1\"\n />\n </div>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Camera className=\"mr-2 h-4 w-4\" />\n {translate('ecoimpacthub.community.actions.photo', 'Photo')}\n </Button>\n <Button variant=\"outline\" size=\"sm\">\n <MapPin className=\"mr-2 h-4 w-4\" />\n {translate('ecoimpacthub.community.actions.location', 'Location')}\n </Button>\n </div>\n <Button size=\"sm\">\n {translate('ecoimpacthub.community.actions.post', 'Post')}\n </Button>\n </div>\n </CardContent>\n </Card>\n\n <div className=\"space-y-6\">\n {communityPosts.map((post) => (\n <Card key={post.id}>\n <CardContent className=\"space-y-4 p-6\">\n <div className=\"flex items-start justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"text-2xl\">{post.author.avatar}</div>\n <div>\n <div className=\"flex items-center gap-2\">\n <h3 className=\"font-semibold\">{post.author.name}</h3>\n <Badge variant=\"secondary\" className=\"text-xs\">\n {post.author.level}\n </Badge>\n </div>\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <MapPin className=\"h-3 w-3\" />\n <span>{post.author.location}</span>\n <span>-</span>\n <span>{post.timestamp}</span>\n </div>\n </div>\n </div>\n <Badge className={getCategoryColor(post.category)}>{post.category}</Badge>\n </div>\n\n <p className=\"text-sm leading-relaxed\">{post.content}</p>\n\n <div className=\"flex flex-wrap gap-1\">\n {post.tags.map((tag) => (\n <span\n key={tag}\n className=\"rounded bg-muted px-2 py-1 text-xs text-muted-foreground\"\n >\n #{tag}\n </span>\n ))}\n </div>\n\n <div className=\"flex items-center justify-between border-t pt-2\">\n <div className=\"flex gap-6 text-sm text-muted-foreground\">\n <Button variant=\"ghost\" size=\"sm\" className=\"h-8 p-0\">\n <Heart className=\"mr-1 h-4 w-4\" />\n {post.likes}\n </Button>\n <Button variant=\"ghost\" size=\"sm\" className=\"h-8 p-0\">\n <MessageSquare className=\"mr-1 h-4 w-4\" />\n {post.comments}\n </Button>\n <Button variant=\"ghost\" size=\"sm\" className=\"h-8 p-0\">\n <Share2 className=\"mr-1 h-4 w-4\" />\n {post.shares}\n </Button>\n </div>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </>\n )}\n\n {activeTab === 'groups' && (\n <div className=\"space-y-6\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-2xl font-bold\">\n {translate('ecoimpacthub.community.groups.title', 'Environmental Groups')}\n </h2>\n <Button>\n <Plus className=\"mr-2 h-4 w-4\" />\n {translate('ecoimpacthub.community.actions.createGroup', 'Create Group')}\n </Button>\n </div>\n <div className=\"grid gap-4\">\n {communityGroups.map((group) => (\n <Card key={group.id}>\n <CardContent className=\"p-6\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <div className=\"text-3xl\">{group.avatar}</div>\n <div>\n <h3 className=\"text-lg font-semibold\">{group.name}</h3>\n <p className=\"line-clamp-2 text-sm text-muted-foreground\">\n {group.description}\n </p>\n <div className=\"mt-2 flex items-center gap-4 text-sm text-muted-foreground\">\n <div className=\"flex items-center gap-1\">\n <Users className=\"h-4 w-4\" />\n <span>\n {translate(\n 'ecoimpacthub.community.groups.members',\n '{{count}} members',\n {\n count: group.members.toLocaleString(),\n }\n )}\n </span>\n </div>\n <Badge className={getActivityColor(group.activity)}>\n {translate(\n 'ecoimpacthub.community.groups.activity',\n '{{level}} activity',\n {\n level: group.activity,\n }\n )}\n </Badge>\n </div>\n </div>\n </div>\n <Button variant={group.isJoined ? 'outline' : 'default'} size=\"sm\">\n {group.isJoined\n ? translate('ecoimpacthub.community.actions.joined', 'Joined')\n : translate('ecoimpacthub.community.actions.joinGroup', 'Join Group')}\n </Button>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n )}\n\n {activeTab === 'events' && (\n <div className=\"space-y-6\">\n <div className=\"flex items-center justify-between\">\n <h2 className=\"text-2xl font-bold\">\n {translate('ecoimpacthub.community.events.title', 'Upcoming Events')}\n </h2>\n <Button>\n <Plus className=\"mr-2 h-4 w-4\" />\n {translate('ecoimpacthub.community.actions.createEvent', 'Create Event')}\n </Button>\n </div>\n <div className=\"py-12 text-center\">\n <Calendar className=\"mx-auto mb-4 h-16 w-16 text-muted-foreground\" />\n <h3 className=\"mb-2 text-xl font-semibold\">\n {translate('ecoimpacthub.community.events.empty.title', 'Events coming soon!')}\n </h3>\n <p className=\"text-muted-foreground\">\n {translate(\n 'ecoimpacthub.community.events.empty.description',\n 'Community events feature is under development. Check back soon!'\n )}\n </p>\n </div>\n </div>\n )}\n </div>\n\n <div className=\"space-y-6\">\n <Card>\n <CardContent className=\"p-6\">\n <h3 className=\"mb-3 font-semibold\">\n {translate('ecoimpacthub.community.search.title', 'Search Community')}\n </h3>\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-3 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder={translate(\n 'ecoimpacthub.community.search.placeholder',\n 'Search posts, groups, people...'\n )}\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n className=\"pl-10\"\n />\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">\n {translate('ecoimpacthub.community.suggestedGroups.title', 'Suggested Groups')}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {communityGroups\n .filter((g) => !g.isJoined)\n .slice(0, 3)\n .map((group) => (\n <div key={group.id} className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"text-xl\">{group.avatar}</div>\n <div>\n <h4 className=\"text-sm font-medium\">{group.name}</h4>\n <p className=\"text-xs text-muted-foreground\">\n {translate(\n 'ecoimpacthub.community.groups.members',\n '{{count}} members',\n {\n count: group.members.toLocaleString(),\n }\n )}\n </p>\n </div>\n </div>\n <Button size=\"sm\" variant=\"outline\">\n {translate('ecoimpacthub.community.actions.join', 'Join')}\n </Button>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardContent className=\"p-6\">\n <h3 className=\"mb-3 font-semibold\">\n {translate('ecoimpacthub.community.guidelines.title', 'Community Guidelines')}\n </h3>\n <div className=\"space-y-2 text-sm text-muted-foreground\">\n <p>\n {translate(\n 'ecoimpacthub.community.guidelines.respect',\n '- Be respectful and constructive'\n )}\n </p>\n <p>\n {translate(\n 'ecoimpacthub.community.guidelines.accuracy',\n '- Share accurate information'\n )}\n </p>\n <p>\n {translate(\n 'ecoimpacthub.community.guidelines.support',\n '- Support fellow eco-warriors'\n )}\n </p>\n <p>\n {translate(\n 'ecoimpacthub.community.guidelines.noSpam',\n '- No spam or self-promotion'\n )}\n </p>\n <Button variant=\"outline\" size=\"sm\" className=\"mt-3\">\n {translate(\n 'ecoimpacthub.community.actions.readGuidelines',\n 'Read Full Guidelines'\n )}\n <ChevronRight className=\"ml-2 h-4 w-4\" />\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../src/ecoimpacthub/pages/DashboardPage.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,aAAa,4CAkb5B"}
|