@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.
Files changed (70) hide show
  1. package/README.md +12 -0
  2. package/dist/dev/main.d.ts +2 -0
  3. package/dist/dev/main.d.ts.map +1 -0
  4. package/dist/ecoimpacthub/EcoImpactHubRoot.d.ts +5 -0
  5. package/dist/ecoimpacthub/EcoImpactHubRoot.d.ts.map +1 -0
  6. package/dist/ecoimpacthub/EcoImpactHubRoot.js +126 -0
  7. package/dist/ecoimpacthub/EcoImpactHubRoot.js.map +1 -0
  8. package/dist/ecoimpacthub/EcoImpactHubRoutes.d.ts +2 -0
  9. package/dist/ecoimpacthub/EcoImpactHubRoutes.d.ts.map +1 -0
  10. package/dist/ecoimpacthub/EcoImpactHubRoutes.js +55 -0
  11. package/dist/ecoimpacthub/EcoImpactHubRoutes.js.map +1 -0
  12. package/dist/ecoimpacthub/index.d.ts +5 -0
  13. package/dist/ecoimpacthub/index.d.ts.map +1 -0
  14. package/dist/ecoimpacthub/index.js +3 -0
  15. package/dist/ecoimpacthub/pages/ActionTrackerPage.d.ts +2 -0
  16. package/dist/ecoimpacthub/pages/ActionTrackerPage.d.ts.map +1 -0
  17. package/dist/ecoimpacthub/pages/ActionTrackerPage.js +449 -0
  18. package/dist/ecoimpacthub/pages/ActionTrackerPage.js.map +1 -0
  19. package/dist/ecoimpacthub/pages/ChallengesPage.d.ts +2 -0
  20. package/dist/ecoimpacthub/pages/ChallengesPage.d.ts.map +1 -0
  21. package/dist/ecoimpacthub/pages/ChallengesPage.js +242 -0
  22. package/dist/ecoimpacthub/pages/ChallengesPage.js.map +1 -0
  23. package/dist/ecoimpacthub/pages/CitizenSciencePage.d.ts +2 -0
  24. package/dist/ecoimpacthub/pages/CitizenSciencePage.d.ts.map +1 -0
  25. package/dist/ecoimpacthub/pages/CitizenSciencePage.js +443 -0
  26. package/dist/ecoimpacthub/pages/CitizenSciencePage.js.map +1 -0
  27. package/dist/ecoimpacthub/pages/CommunityPage.d.ts +2 -0
  28. package/dist/ecoimpacthub/pages/CommunityPage.d.ts.map +1 -0
  29. package/dist/ecoimpacthub/pages/CommunityPage.js +377 -0
  30. package/dist/ecoimpacthub/pages/CommunityPage.js.map +1 -0
  31. package/dist/ecoimpacthub/pages/DashboardPage.d.ts +2 -0
  32. package/dist/ecoimpacthub/pages/DashboardPage.d.ts.map +1 -0
  33. package/dist/ecoimpacthub/pages/DashboardPage.js +380 -0
  34. package/dist/ecoimpacthub/pages/DashboardPage.js.map +1 -0
  35. package/dist/ecoimpacthub/pages/LearningPage.d.ts +2 -0
  36. package/dist/ecoimpacthub/pages/LearningPage.d.ts.map +1 -0
  37. package/dist/ecoimpacthub/pages/LearningPage.js +276 -0
  38. package/dist/ecoimpacthub/pages/LearningPage.js.map +1 -0
  39. package/dist/ecoimpacthub/providers/EcoImpactHubProvider.d.ts +6 -0
  40. package/dist/ecoimpacthub/providers/EcoImpactHubProvider.d.ts.map +1 -0
  41. package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js +27 -0
  42. package/dist/ecoimpacthub/providers/EcoImpactHubProvider.js.map +1 -0
  43. package/dist/ecoimpacthub/store/ecoimpacthubStore.d.ts +135 -0
  44. package/dist/ecoimpacthub/store/ecoimpacthubStore.d.ts.map +1 -0
  45. package/dist/ecoimpacthub/store/ecoimpacthubStore.js +551 -0
  46. package/dist/ecoimpacthub/store/ecoimpacthubStore.js.map +1 -0
  47. package/dist/ecoimpacthub/types/index.d.ts +51 -0
  48. package/dist/ecoimpacthub/types/index.d.ts.map +1 -0
  49. package/dist/ecoimpacthub/utils/cn.d.ts +4 -0
  50. package/dist/ecoimpacthub/utils/cn.d.ts.map +1 -0
  51. package/dist/ecoimpacthub/utils/i18n.d.ts +6 -0
  52. package/dist/ecoimpacthub/utils/i18n.d.ts.map +1 -0
  53. package/dist/ecoimpacthub/utils/i18n.js +15 -0
  54. package/dist/ecoimpacthub/utils/i18n.js.map +1 -0
  55. package/dist/ecoimpacthub/utils/navigation.d.ts +2 -0
  56. package/dist/ecoimpacthub/utils/navigation.d.ts.map +1 -0
  57. package/dist/ecoimpacthub/utils/navigation.js +8 -0
  58. package/dist/ecoimpacthub/utils/navigation.js.map +1 -0
  59. package/dist/generated/global-operations.d.ts +2 -0
  60. package/dist/generated/global-operations.d.ts.map +1 -0
  61. package/dist/generated/global-types.d.ts +18199 -0
  62. package/dist/generated/global-types.d.ts.map +1 -0
  63. package/dist/generated/wspace-operations.d.ts +2 -0
  64. package/dist/generated/wspace-operations.d.ts.map +1 -0
  65. package/dist/generated/wspace-types.d.ts +43046 -0
  66. package/dist/generated/wspace-types.d.ts.map +1 -0
  67. package/dist/index.d.ts +2 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +5 -0
  70. package/package.json +107 -0
@@ -0,0 +1,551 @@
1
+ import { create as e } from "zustand";
2
+ //#region src/ecoimpacthub/store/ecoimpacthubStore.ts
3
+ var t = e((e) => ({
4
+ metrics: [
5
+ {
6
+ label: "Carbon Saved",
7
+ value: "788 kg",
8
+ trend: "-15% footprint"
9
+ },
10
+ {
11
+ label: "Actions Completed",
12
+ value: "28",
13
+ trend: "+12 this week"
14
+ },
15
+ {
16
+ label: "Community Rank",
17
+ value: "#147",
18
+ trend: "+23 positions"
19
+ },
20
+ {
21
+ label: "Impact Score",
22
+ value: "87",
23
+ trend: "+5 points"
24
+ }
25
+ ],
26
+ workItems: [
27
+ {
28
+ id: "w1",
29
+ title: "Complete Zero Waste September challenge",
30
+ status: "active",
31
+ owner: "Sustainability",
32
+ updatedAt: "2h ago"
33
+ },
34
+ {
35
+ id: "w2",
36
+ title: "Submit water quality observations",
37
+ status: "planned",
38
+ owner: "Citizen Science",
39
+ updatedAt: "5h ago"
40
+ },
41
+ {
42
+ id: "w3",
43
+ title: "Renewable energy course certification",
44
+ status: "at_risk",
45
+ owner: "Learning",
46
+ updatedAt: "1d ago"
47
+ },
48
+ {
49
+ id: "w4",
50
+ title: "Bike-to-work streak - 12 days",
51
+ status: "completed",
52
+ owner: "Action Tracker",
53
+ updatedAt: "2d ago"
54
+ }
55
+ ],
56
+ selectedView: "overview",
57
+ totalCarbonSaved: 788,
58
+ carbonBreakdown: [
59
+ {
60
+ id: "c1",
61
+ category: "transportation",
62
+ value: 35,
63
+ label: "Transportation",
64
+ color: "bg-blue-500"
65
+ },
66
+ {
67
+ id: "c2",
68
+ category: "energy",
69
+ value: 28,
70
+ label: "Energy",
71
+ color: "bg-green-500"
72
+ },
73
+ {
74
+ id: "c3",
75
+ category: "waste",
76
+ value: 20,
77
+ label: "Waste",
78
+ color: "bg-amber-500"
79
+ },
80
+ {
81
+ id: "c4",
82
+ category: "water",
83
+ value: 12,
84
+ label: "Water",
85
+ color: "bg-cyan-500"
86
+ },
87
+ {
88
+ id: "c5",
89
+ category: "consumption",
90
+ value: 5,
91
+ label: "Other",
92
+ color: "bg-gray-400"
93
+ }
94
+ ],
95
+ challenges: [
96
+ {
97
+ id: "ch1",
98
+ title: "Plastic-Free Week",
99
+ description: "Go completely plastic-free for one week. Document your journey and share tips with the community.",
100
+ category: "individual",
101
+ difficulty: "medium",
102
+ points: 250,
103
+ participants: 1247,
104
+ endDate: "2026-03-20",
105
+ progress: 65,
106
+ status: "active",
107
+ icon: "🌊"
108
+ },
109
+ {
110
+ id: "ch2",
111
+ title: "Community Tree Planting",
112
+ description: "Organize or participate in a local tree planting event. Help restore urban forests in your area.",
113
+ category: "community",
114
+ difficulty: "easy",
115
+ points: 150,
116
+ participants: 89,
117
+ endDate: "2026-03-25",
118
+ status: "active",
119
+ icon: "🌳"
120
+ },
121
+ {
122
+ id: "ch3",
123
+ title: "Zero Waste Month",
124
+ description: "Reduce your household waste to near-zero for the entire month. Share your strategies and results.",
125
+ category: "individual",
126
+ difficulty: "hard",
127
+ points: 500,
128
+ participants: 567,
129
+ endDate: "2026-03-31",
130
+ progress: 23,
131
+ status: "active",
132
+ icon: "♻️"
133
+ },
134
+ {
135
+ id: "ch4",
136
+ title: "Global Climate Action Day",
137
+ description: "Join millions worldwide in coordinated climate action. Choose from multiple activities to participate.",
138
+ category: "global",
139
+ difficulty: "easy",
140
+ points: 100,
141
+ participants: 25430,
142
+ endDate: "2026-04-15",
143
+ status: "upcoming",
144
+ icon: "🌍"
145
+ }
146
+ ],
147
+ scienceProjects: [
148
+ {
149
+ id: "sp1",
150
+ title: "Urban Wildlife Census",
151
+ description: "Document and track urban wildlife populations across major cities. Help scientists understand how animals adapt to city environments.",
152
+ category: "biodiversity",
153
+ difficulty: "beginner",
154
+ contributors: 2341,
155
+ observations: 12450,
156
+ status: "active",
157
+ icon: "🦌",
158
+ location: "Global",
159
+ endDate: "2026-12-31",
160
+ requiredSkills: [
161
+ "Photography",
162
+ "Species identification",
163
+ "GPS usage"
164
+ ]
165
+ },
166
+ {
167
+ id: "sp2",
168
+ title: "Water Quality Monitoring",
169
+ description: "Test and report on local water quality in rivers, lakes, and streams. Critical data for understanding ecosystem health.",
170
+ category: "water-quality",
171
+ difficulty: "intermediate",
172
+ contributors: 867,
173
+ observations: 3420,
174
+ status: "active",
175
+ icon: "💧",
176
+ location: "North America",
177
+ endDate: "2026-11-30",
178
+ requiredSkills: [
179
+ "Water testing",
180
+ "Data recording",
181
+ "Lab techniques"
182
+ ]
183
+ },
184
+ {
185
+ id: "sp3",
186
+ title: "Air Pollution Tracking",
187
+ description: "Measure air quality using portable sensors and report pollution hotspots in your community.",
188
+ category: "pollution",
189
+ difficulty: "advanced",
190
+ contributors: 456,
191
+ observations: 1890,
192
+ status: "active",
193
+ icon: "🌫️",
194
+ location: "Urban Areas",
195
+ endDate: "2026-10-31",
196
+ requiredSkills: [
197
+ "Sensor operation",
198
+ "Data analysis",
199
+ "Environmental science"
200
+ ]
201
+ },
202
+ {
203
+ id: "sp4",
204
+ title: "Pollinator Survey",
205
+ description: "Track bee, butterfly, and other pollinator populations. Essential for understanding ecosystem changes.",
206
+ category: "biodiversity",
207
+ difficulty: "beginner",
208
+ contributors: 1567,
209
+ observations: 8920,
210
+ status: "active",
211
+ icon: "🦋",
212
+ location: "Global",
213
+ endDate: "2026-09-30",
214
+ requiredSkills: [
215
+ "Insect identification",
216
+ "Field observation",
217
+ "Photography"
218
+ ]
219
+ }
220
+ ],
221
+ observations: [
222
+ {
223
+ id: "ob1",
224
+ title: "Red-tailed Hawk",
225
+ category: "animal",
226
+ location: "Central Park, NYC",
227
+ date: "2026-02-10",
228
+ status: "verified",
229
+ contributor: "Sarah Chen",
230
+ image: "🦅",
231
+ description: "Adult red-tailed hawk observed hunting near the reservoir.",
232
+ confidence: 95
233
+ },
234
+ {
235
+ id: "ob2",
236
+ title: "Japanese Maple",
237
+ category: "plant",
238
+ location: "Golden Gate Park, SF",
239
+ date: "2026-02-09",
240
+ status: "pending",
241
+ contributor: "Mike Torres",
242
+ image: "🍁",
243
+ description: "Large Japanese maple showing early fall coloration.",
244
+ confidence: 87
245
+ },
246
+ {
247
+ id: "ob3",
248
+ title: "Plastic Debris",
249
+ category: "pollution",
250
+ location: "Santa Monica Beach, CA",
251
+ date: "2026-02-08",
252
+ status: "needs-review",
253
+ contributor: "Luna Patel",
254
+ image: "🗑️",
255
+ description: "Significant plastic waste accumulation near high tide line.",
256
+ confidence: 92
257
+ }
258
+ ],
259
+ communityPosts: [
260
+ {
261
+ id: "cp1",
262
+ author: {
263
+ name: "Sarah Green",
264
+ avatar: "🌱",
265
+ location: "San Francisco, CA",
266
+ level: "Eco Warrior"
267
+ },
268
+ content: "Just completed my first zero-waste week challenge! Reduced my household waste by 85%. Here are my top 3 tips: 1) Meal planning prevents food waste, 2) Reusable containers for everything, 3) Composting makes a huge difference.",
269
+ timestamp: "2 hours ago",
270
+ likes: 45,
271
+ comments: 12,
272
+ shares: 8,
273
+ tags: [
274
+ "zero-waste",
275
+ "challenge",
276
+ "tips"
277
+ ],
278
+ category: "achievement"
279
+ },
280
+ {
281
+ id: "cp2",
282
+ author: {
283
+ name: "Mike Chen",
284
+ avatar: "🌊",
285
+ location: "Seattle, WA",
286
+ level: "Ocean Guardian"
287
+ },
288
+ content: "Question for the community: What's the best way to organize a beach cleanup event? Looking to coordinate one for next month and would love to hear from anyone with experience!",
289
+ timestamp: "4 hours ago",
290
+ likes: 23,
291
+ comments: 18,
292
+ shares: 5,
293
+ tags: [
294
+ "beach-cleanup",
295
+ "event-planning",
296
+ "help-needed"
297
+ ],
298
+ category: "question"
299
+ },
300
+ {
301
+ id: "cp3",
302
+ author: {
303
+ name: "Luna Patel",
304
+ avatar: "🦋",
305
+ location: "Austin, TX",
306
+ level: "Biodiversity Champion"
307
+ },
308
+ content: "Amazing news! Our local pollinator garden project just got approved by the city council! We'll be planting native flowers across 5 city parks. Looking for volunteers to help with planting this Saturday!",
309
+ timestamp: "6 hours ago",
310
+ likes: 67,
311
+ comments: 25,
312
+ shares: 15,
313
+ tags: [
314
+ "pollinator-garden",
315
+ "volunteer",
316
+ "native-plants"
317
+ ],
318
+ category: "event"
319
+ }
320
+ ],
321
+ communityGroups: [
322
+ {
323
+ id: "cg1",
324
+ name: "Zero Waste Living",
325
+ description: "Tips, tricks, and support for living a zero-waste lifestyle",
326
+ members: 12450,
327
+ category: "Lifestyle",
328
+ avatar: "♻️",
329
+ isJoined: !0,
330
+ activity: "high"
331
+ },
332
+ {
333
+ id: "cg2",
334
+ name: "Urban Gardeners",
335
+ description: "Growing food and plants in city environments",
336
+ members: 8920,
337
+ category: "Gardening",
338
+ avatar: "🌱",
339
+ isJoined: !0,
340
+ activity: "high"
341
+ },
342
+ {
343
+ id: "cg3",
344
+ name: "Climate Action Network",
345
+ description: "Coordinating climate action in local communities",
346
+ members: 15670,
347
+ category: "Activism",
348
+ avatar: "🌍",
349
+ isJoined: !1,
350
+ activity: "medium"
351
+ },
352
+ {
353
+ id: "cg4",
354
+ name: "Renewable Energy Enthusiasts",
355
+ description: "Discussing solar, wind, and other renewable technologies",
356
+ members: 6543,
357
+ category: "Technology",
358
+ avatar: "⚡",
359
+ isJoined: !1,
360
+ activity: "medium"
361
+ }
362
+ ],
363
+ actions: [
364
+ {
365
+ id: "a1",
366
+ title: "Switch to LED Bulbs",
367
+ description: "Replace all incandescent bulbs with LED alternatives",
368
+ category: "energy",
369
+ impact: "medium",
370
+ carbonSaved: 145,
371
+ status: "completed",
372
+ startDate: "2026-01-01",
373
+ completedDate: "2026-01-15",
374
+ frequency: "once",
375
+ points: 250
376
+ },
377
+ {
378
+ id: "a2",
379
+ title: "Bike to Work",
380
+ description: "Use bicycle for daily commute instead of driving",
381
+ category: "transportation",
382
+ impact: "high",
383
+ carbonSaved: 520,
384
+ status: "in-progress",
385
+ startDate: "2026-02-01",
386
+ targetDate: "2026-06-30",
387
+ frequency: "daily",
388
+ streak: 12,
389
+ points: 50
390
+ },
391
+ {
392
+ id: "a3",
393
+ title: "Start Composting",
394
+ description: "Set up home composting system for organic waste",
395
+ category: "waste",
396
+ impact: "medium",
397
+ carbonSaved: 89,
398
+ status: "in-progress",
399
+ startDate: "2026-01-20",
400
+ frequency: "daily",
401
+ streak: 22,
402
+ points: 30
403
+ },
404
+ {
405
+ id: "a4",
406
+ title: "Install Low-Flow Showerhead",
407
+ description: "Replace current showerhead with water-saving alternative",
408
+ category: "water",
409
+ impact: "low",
410
+ carbonSaved: 34,
411
+ status: "planned",
412
+ startDate: "2026-02-20",
413
+ frequency: "once",
414
+ points: 100
415
+ }
416
+ ],
417
+ goals: [
418
+ {
419
+ id: "g1",
420
+ title: "Reduce Carbon Footprint",
421
+ description: "Reduce personal carbon emissions by 30% this year",
422
+ targetValue: 30,
423
+ currentValue: 18,
424
+ unit: "% reduction",
425
+ category: "climate",
426
+ deadline: "2026-12-31",
427
+ status: "active"
428
+ },
429
+ {
430
+ id: "g2",
431
+ title: "Zero Waste Goal",
432
+ description: "Achieve zero waste to landfill for household",
433
+ targetValue: 0,
434
+ currentValue: 15,
435
+ unit: "kg/month",
436
+ category: "waste",
437
+ deadline: "2026-11-30",
438
+ status: "active"
439
+ },
440
+ {
441
+ id: "g3",
442
+ title: "Water Conservation",
443
+ description: "Reduce household water usage by 25%",
444
+ targetValue: 25,
445
+ currentValue: 12,
446
+ unit: "% reduction",
447
+ category: "water",
448
+ deadline: "2026-10-31",
449
+ status: "active"
450
+ }
451
+ ],
452
+ courses: [
453
+ {
454
+ id: "lr1",
455
+ title: "Climate Change Fundamentals",
456
+ description: "Understand the science behind climate change, its causes, effects, and what we can do about it.",
457
+ category: "climate",
458
+ level: "beginner",
459
+ duration: 180,
460
+ enrolled: 2341,
461
+ rating: 4.8,
462
+ progress: 65,
463
+ instructor: "Dr. Sarah Chen",
464
+ thumbnail: "🌍",
465
+ type: "course",
466
+ tags: [
467
+ "climate science",
468
+ "global warming",
469
+ "greenhouse gases"
470
+ ]
471
+ },
472
+ {
473
+ id: "lr2",
474
+ title: "Sustainable Living Workshop",
475
+ description: "Learn practical ways to reduce your environmental footprint and live more sustainably.",
476
+ category: "sustainability",
477
+ level: "beginner",
478
+ duration: 120,
479
+ enrolled: 1567,
480
+ rating: 4.6,
481
+ instructor: "Maria Rodriguez",
482
+ thumbnail: "♻️",
483
+ type: "workshop",
484
+ tags: [
485
+ "zero waste",
486
+ "sustainable lifestyle",
487
+ "eco-friendly"
488
+ ]
489
+ },
490
+ {
491
+ id: "lr3",
492
+ title: "Biodiversity Conservation",
493
+ description: "Explore the importance of biodiversity and learn conservation strategies.",
494
+ category: "biodiversity",
495
+ level: "intermediate",
496
+ duration: 240,
497
+ enrolled: 892,
498
+ rating: 4.9,
499
+ instructor: "Prof. Michael Thompson",
500
+ thumbnail: "🦋",
501
+ type: "course",
502
+ tags: [
503
+ "ecosystem",
504
+ "species protection",
505
+ "habitat conservation"
506
+ ]
507
+ },
508
+ {
509
+ id: "lr4",
510
+ title: "Renewable Energy Systems",
511
+ description: "Deep dive into solar, wind, and other renewable energy technologies.",
512
+ category: "renewable-energy",
513
+ level: "advanced",
514
+ duration: 300,
515
+ enrolled: 645,
516
+ rating: 4.7,
517
+ instructor: "Dr. James Kumar",
518
+ thumbnail: "⚡",
519
+ type: "certification",
520
+ tags: [
521
+ "solar energy",
522
+ "wind power",
523
+ "energy storage"
524
+ ]
525
+ },
526
+ {
527
+ id: "lr5",
528
+ title: "Ocean Conservation Webinar",
529
+ description: "Live discussion on marine ecosystem protection and ocean cleanup initiatives.",
530
+ category: "conservation",
531
+ level: "intermediate",
532
+ duration: 90,
533
+ enrolled: 1234,
534
+ rating: 4.5,
535
+ instructor: "Dr. Lisa Ocean",
536
+ thumbnail: "🌊",
537
+ type: "webinar",
538
+ tags: [
539
+ "marine life",
540
+ "ocean cleanup",
541
+ "plastic pollution"
542
+ ]
543
+ }
544
+ ],
545
+ setSelectedView: (t) => e({ selectedView: t }),
546
+ setWorkItems: (t) => e({ workItems: t })
547
+ }));
548
+ //#endregion
549
+ export { t as useEcoImpactHubStore };
550
+
551
+ //# sourceMappingURL=ecoimpacthubStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecoimpacthubStore.js","names":[],"sources":["../../../src/ecoimpacthub/store/ecoimpacthubStore.ts"],"sourcesContent":["import { create } from 'zustand';\nimport type { OverviewMetric, WorkItem } from '../types';\n\n// --- Carbon Footprint Types ---\nexport interface CarbonEntry {\n id: string;\n category: 'transportation' | 'energy' | 'waste' | 'water' | 'consumption';\n value: number; // kg CO2\n label: string;\n color: string;\n}\n\n// --- Eco Challenge Types ---\nexport interface EcoChallenge {\n id: string;\n title: string;\n description: string;\n category: 'individual' | 'community' | 'global';\n difficulty: 'easy' | 'medium' | 'hard';\n points: number;\n participants: number;\n endDate: string;\n progress?: number;\n status: 'active' | 'completed' | 'upcoming';\n icon: string;\n}\n\n// --- Citizen Science Types ---\nexport interface CitizenScienceProject {\n id: string;\n title: string;\n description: string;\n category: 'biodiversity' | 'pollution' | 'climate' | 'conservation' | 'water-quality';\n difficulty: 'beginner' | 'intermediate' | 'advanced';\n contributors: number;\n observations: number;\n status: 'active' | 'completed' | 'upcoming';\n icon: string;\n location: string;\n endDate: string;\n requiredSkills: string[];\n}\n\nexport interface Observation {\n id: string;\n title: string;\n category: 'plant' | 'animal' | 'pollution' | 'weather' | 'water';\n location: string;\n date: string;\n status: 'pending' | 'verified' | 'needs-review';\n contributor: string;\n image: string;\n description: string;\n confidence: number;\n}\n\n// --- Community Types ---\nexport interface CommunityPost {\n id: string;\n author: { name: string; avatar: string; location: string; level: string };\n content: string;\n timestamp: string;\n likes: number;\n comments: number;\n shares: number;\n tags: string[];\n category: 'update' | 'question' | 'achievement' | 'event' | 'tip';\n}\n\nexport interface CommunityGroup {\n id: string;\n name: string;\n description: string;\n members: number;\n category: string;\n avatar: string;\n isJoined: boolean;\n activity: 'high' | 'medium' | 'low';\n}\n\n// --- Action Tracker Types ---\nexport interface EcoAction {\n id: string;\n title: string;\n description: string;\n category: 'energy' | 'transportation' | 'waste' | 'water' | 'consumption' | 'advocacy';\n impact: 'low' | 'medium' | 'high';\n carbonSaved: number;\n status: 'planned' | 'in-progress' | 'completed' | 'paused';\n startDate: string;\n targetDate?: string;\n completedDate?: string;\n frequency: 'once' | 'daily' | 'weekly' | 'monthly';\n streak?: number;\n points: number;\n}\n\nexport interface EcoGoal {\n id: string;\n title: string;\n description: string;\n targetValue: number;\n currentValue: number;\n unit: string;\n category: string;\n deadline: string;\n status: 'active' | 'completed' | 'overdue';\n}\n\n// --- Learning Types ---\nexport interface LearningCourse {\n id: string;\n title: string;\n description: string;\n category: 'climate' | 'biodiversity' | 'sustainability' | 'renewable-energy' | 'conservation';\n level: 'beginner' | 'intermediate' | 'advanced';\n duration: number;\n enrolled: number;\n rating: number;\n progress?: number;\n instructor: string;\n thumbnail: string;\n type: 'course' | 'workshop' | 'webinar' | 'certification';\n tags: string[];\n}\n\n// --- Store State ---\ninterface EcoImpactHubState {\n metrics: OverviewMetric[];\n workItems: WorkItem[];\n selectedView: string;\n\n // Carbon footprint\n carbonBreakdown: CarbonEntry[];\n totalCarbonSaved: number;\n\n // Eco challenges\n challenges: EcoChallenge[];\n\n // Citizen science\n scienceProjects: CitizenScienceProject[];\n observations: Observation[];\n\n // Community\n communityPosts: CommunityPost[];\n communityGroups: CommunityGroup[];\n\n // Action tracker\n actions: EcoAction[];\n goals: EcoGoal[];\n\n // Learning\n courses: LearningCourse[];\n\n // Actions\n setSelectedView: (view: string) => void;\n setWorkItems: (items: WorkItem[]) => void;\n}\n\nexport const useEcoImpactHubStore = create<EcoImpactHubState>((set) => ({\n // --- Overview Metrics ---\n metrics: [\n { label: 'Carbon Saved', value: '788 kg', trend: '-15% footprint' },\n { label: 'Actions Completed', value: '28', trend: '+12 this week' },\n { label: 'Community Rank', value: '#147', trend: '+23 positions' },\n { label: 'Impact Score', value: '87', trend: '+5 points' },\n ],\n\n workItems: [\n {\n id: 'w1',\n title: 'Complete Zero Waste September challenge',\n status: 'active',\n owner: 'Sustainability',\n updatedAt: '2h ago',\n },\n {\n id: 'w2',\n title: 'Submit water quality observations',\n status: 'planned',\n owner: 'Citizen Science',\n updatedAt: '5h ago',\n },\n {\n id: 'w3',\n title: 'Renewable energy course certification',\n status: 'at_risk',\n owner: 'Learning',\n updatedAt: '1d ago',\n },\n {\n id: 'w4',\n title: 'Bike-to-work streak - 12 days',\n status: 'completed',\n owner: 'Action Tracker',\n updatedAt: '2d ago',\n },\n ],\n\n selectedView: 'overview',\n\n // --- Carbon Footprint ---\n totalCarbonSaved: 788,\n carbonBreakdown: [\n {\n id: 'c1',\n category: 'transportation',\n value: 35,\n label: 'Transportation',\n color: 'bg-blue-500',\n },\n { id: 'c2', category: 'energy', value: 28, label: 'Energy', color: 'bg-green-500' },\n { id: 'c3', category: 'waste', value: 20, label: 'Waste', color: 'bg-amber-500' },\n { id: 'c4', category: 'water', value: 12, label: 'Water', color: 'bg-cyan-500' },\n { id: 'c5', category: 'consumption', value: 5, label: 'Other', color: 'bg-gray-400' },\n ],\n\n // --- Eco Challenges ---\n challenges: [\n {\n id: 'ch1',\n title: 'Plastic-Free Week',\n description:\n 'Go completely plastic-free for one week. Document your journey and share tips with the community.',\n category: 'individual',\n difficulty: 'medium',\n points: 250,\n participants: 1247,\n endDate: '2026-03-20',\n progress: 65,\n status: 'active',\n icon: '🌊',\n },\n {\n id: 'ch2',\n title: 'Community Tree Planting',\n description:\n 'Organize or participate in a local tree planting event. Help restore urban forests in your area.',\n category: 'community',\n difficulty: 'easy',\n points: 150,\n participants: 89,\n endDate: '2026-03-25',\n status: 'active',\n icon: '🌳',\n },\n {\n id: 'ch3',\n title: 'Zero Waste Month',\n description:\n 'Reduce your household waste to near-zero for the entire month. Share your strategies and results.',\n category: 'individual',\n difficulty: 'hard',\n points: 500,\n participants: 567,\n endDate: '2026-03-31',\n progress: 23,\n status: 'active',\n icon: '♻️',\n },\n {\n id: 'ch4',\n title: 'Global Climate Action Day',\n description:\n 'Join millions worldwide in coordinated climate action. Choose from multiple activities to participate.',\n category: 'global',\n difficulty: 'easy',\n points: 100,\n participants: 25430,\n endDate: '2026-04-15',\n status: 'upcoming',\n icon: '🌍',\n },\n ],\n\n // --- Citizen Science Projects ---\n scienceProjects: [\n {\n id: 'sp1',\n title: 'Urban Wildlife Census',\n description:\n 'Document and track urban wildlife populations across major cities. Help scientists understand how animals adapt to city environments.',\n category: 'biodiversity',\n difficulty: 'beginner',\n contributors: 2341,\n observations: 12450,\n status: 'active',\n icon: '🦌',\n location: 'Global',\n endDate: '2026-12-31',\n requiredSkills: ['Photography', 'Species identification', 'GPS usage'],\n },\n {\n id: 'sp2',\n title: 'Water Quality Monitoring',\n description:\n 'Test and report on local water quality in rivers, lakes, and streams. Critical data for understanding ecosystem health.',\n category: 'water-quality',\n difficulty: 'intermediate',\n contributors: 867,\n observations: 3420,\n status: 'active',\n icon: '💧',\n location: 'North America',\n endDate: '2026-11-30',\n requiredSkills: ['Water testing', 'Data recording', 'Lab techniques'],\n },\n {\n id: 'sp3',\n title: 'Air Pollution Tracking',\n description:\n 'Measure air quality using portable sensors and report pollution hotspots in your community.',\n category: 'pollution',\n difficulty: 'advanced',\n contributors: 456,\n observations: 1890,\n status: 'active',\n icon: '🌫️',\n location: 'Urban Areas',\n endDate: '2026-10-31',\n requiredSkills: ['Sensor operation', 'Data analysis', 'Environmental science'],\n },\n {\n id: 'sp4',\n title: 'Pollinator Survey',\n description:\n 'Track bee, butterfly, and other pollinator populations. Essential for understanding ecosystem changes.',\n category: 'biodiversity',\n difficulty: 'beginner',\n contributors: 1567,\n observations: 8920,\n status: 'active',\n icon: '🦋',\n location: 'Global',\n endDate: '2026-09-30',\n requiredSkills: ['Insect identification', 'Field observation', 'Photography'],\n },\n ],\n\n observations: [\n {\n id: 'ob1',\n title: 'Red-tailed Hawk',\n category: 'animal',\n location: 'Central Park, NYC',\n date: '2026-02-10',\n status: 'verified',\n contributor: 'Sarah Chen',\n image: '🦅',\n description: 'Adult red-tailed hawk observed hunting near the reservoir.',\n confidence: 95,\n },\n {\n id: 'ob2',\n title: 'Japanese Maple',\n category: 'plant',\n location: 'Golden Gate Park, SF',\n date: '2026-02-09',\n status: 'pending',\n contributor: 'Mike Torres',\n image: '🍁',\n description: 'Large Japanese maple showing early fall coloration.',\n confidence: 87,\n },\n {\n id: 'ob3',\n title: 'Plastic Debris',\n category: 'pollution',\n location: 'Santa Monica Beach, CA',\n date: '2026-02-08',\n status: 'needs-review',\n contributor: 'Luna Patel',\n image: '🗑️',\n description: 'Significant plastic waste accumulation near high tide line.',\n confidence: 92,\n },\n ],\n\n // --- Community ---\n communityPosts: [\n {\n id: 'cp1',\n author: {\n name: 'Sarah Green',\n avatar: '🌱',\n location: 'San Francisco, CA',\n level: 'Eco Warrior',\n },\n content:\n 'Just completed my first zero-waste week challenge! Reduced my household waste by 85%. Here are my top 3 tips: 1) Meal planning prevents food waste, 2) Reusable containers for everything, 3) Composting makes a huge difference.',\n timestamp: '2 hours ago',\n likes: 45,\n comments: 12,\n shares: 8,\n tags: ['zero-waste', 'challenge', 'tips'],\n category: 'achievement',\n },\n {\n id: 'cp2',\n author: { name: 'Mike Chen', avatar: '🌊', location: 'Seattle, WA', level: 'Ocean Guardian' },\n content:\n \"Question for the community: What's the best way to organize a beach cleanup event? Looking to coordinate one for next month and would love to hear from anyone with experience!\",\n timestamp: '4 hours ago',\n likes: 23,\n comments: 18,\n shares: 5,\n tags: ['beach-cleanup', 'event-planning', 'help-needed'],\n category: 'question',\n },\n {\n id: 'cp3',\n author: {\n name: 'Luna Patel',\n avatar: '🦋',\n location: 'Austin, TX',\n level: 'Biodiversity Champion',\n },\n content:\n \"Amazing news! Our local pollinator garden project just got approved by the city council! We'll be planting native flowers across 5 city parks. Looking for volunteers to help with planting this Saturday!\",\n timestamp: '6 hours ago',\n likes: 67,\n comments: 25,\n shares: 15,\n tags: ['pollinator-garden', 'volunteer', 'native-plants'],\n category: 'event',\n },\n ],\n\n communityGroups: [\n {\n id: 'cg1',\n name: 'Zero Waste Living',\n description: 'Tips, tricks, and support for living a zero-waste lifestyle',\n members: 12450,\n category: 'Lifestyle',\n avatar: '♻️',\n isJoined: true,\n activity: 'high',\n },\n {\n id: 'cg2',\n name: 'Urban Gardeners',\n description: 'Growing food and plants in city environments',\n members: 8920,\n category: 'Gardening',\n avatar: '🌱',\n isJoined: true,\n activity: 'high',\n },\n {\n id: 'cg3',\n name: 'Climate Action Network',\n description: 'Coordinating climate action in local communities',\n members: 15670,\n category: 'Activism',\n avatar: '🌍',\n isJoined: false,\n activity: 'medium',\n },\n {\n id: 'cg4',\n name: 'Renewable Energy Enthusiasts',\n description: 'Discussing solar, wind, and other renewable technologies',\n members: 6543,\n category: 'Technology',\n avatar: '⚡',\n isJoined: false,\n activity: 'medium',\n },\n ],\n\n // --- Action Tracker ---\n actions: [\n {\n id: 'a1',\n title: 'Switch to LED Bulbs',\n description: 'Replace all incandescent bulbs with LED alternatives',\n category: 'energy',\n impact: 'medium',\n carbonSaved: 145,\n status: 'completed',\n startDate: '2026-01-01',\n completedDate: '2026-01-15',\n frequency: 'once',\n points: 250,\n },\n {\n id: 'a2',\n title: 'Bike to Work',\n description: 'Use bicycle for daily commute instead of driving',\n category: 'transportation',\n impact: 'high',\n carbonSaved: 520,\n status: 'in-progress',\n startDate: '2026-02-01',\n targetDate: '2026-06-30',\n frequency: 'daily',\n streak: 12,\n points: 50,\n },\n {\n id: 'a3',\n title: 'Start Composting',\n description: 'Set up home composting system for organic waste',\n category: 'waste',\n impact: 'medium',\n carbonSaved: 89,\n status: 'in-progress',\n startDate: '2026-01-20',\n frequency: 'daily',\n streak: 22,\n points: 30,\n },\n {\n id: 'a4',\n title: 'Install Low-Flow Showerhead',\n description: 'Replace current showerhead with water-saving alternative',\n category: 'water',\n impact: 'low',\n carbonSaved: 34,\n status: 'planned',\n startDate: '2026-02-20',\n frequency: 'once',\n points: 100,\n },\n ],\n\n goals: [\n {\n id: 'g1',\n title: 'Reduce Carbon Footprint',\n description: 'Reduce personal carbon emissions by 30% this year',\n targetValue: 30,\n currentValue: 18,\n unit: '% reduction',\n category: 'climate',\n deadline: '2026-12-31',\n status: 'active',\n },\n {\n id: 'g2',\n title: 'Zero Waste Goal',\n description: 'Achieve zero waste to landfill for household',\n targetValue: 0,\n currentValue: 15,\n unit: 'kg/month',\n category: 'waste',\n deadline: '2026-11-30',\n status: 'active',\n },\n {\n id: 'g3',\n title: 'Water Conservation',\n description: 'Reduce household water usage by 25%',\n targetValue: 25,\n currentValue: 12,\n unit: '% reduction',\n category: 'water',\n deadline: '2026-10-31',\n status: 'active',\n },\n ],\n\n // --- Learning Resources ---\n courses: [\n {\n id: 'lr1',\n title: 'Climate Change Fundamentals',\n description:\n 'Understand the science behind climate change, its causes, effects, and what we can do about it.',\n category: 'climate',\n level: 'beginner',\n duration: 180,\n enrolled: 2341,\n rating: 4.8,\n progress: 65,\n instructor: 'Dr. Sarah Chen',\n thumbnail: '🌍',\n type: 'course',\n tags: ['climate science', 'global warming', 'greenhouse gases'],\n },\n {\n id: 'lr2',\n title: 'Sustainable Living Workshop',\n description:\n 'Learn practical ways to reduce your environmental footprint and live more sustainably.',\n category: 'sustainability',\n level: 'beginner',\n duration: 120,\n enrolled: 1567,\n rating: 4.6,\n instructor: 'Maria Rodriguez',\n thumbnail: '♻️',\n type: 'workshop',\n tags: ['zero waste', 'sustainable lifestyle', 'eco-friendly'],\n },\n {\n id: 'lr3',\n title: 'Biodiversity Conservation',\n description: 'Explore the importance of biodiversity and learn conservation strategies.',\n category: 'biodiversity',\n level: 'intermediate',\n duration: 240,\n enrolled: 892,\n rating: 4.9,\n instructor: 'Prof. Michael Thompson',\n thumbnail: '🦋',\n type: 'course',\n tags: ['ecosystem', 'species protection', 'habitat conservation'],\n },\n {\n id: 'lr4',\n title: 'Renewable Energy Systems',\n description: 'Deep dive into solar, wind, and other renewable energy technologies.',\n category: 'renewable-energy',\n level: 'advanced',\n duration: 300,\n enrolled: 645,\n rating: 4.7,\n instructor: 'Dr. James Kumar',\n thumbnail: '⚡',\n type: 'certification',\n tags: ['solar energy', 'wind power', 'energy storage'],\n },\n {\n id: 'lr5',\n title: 'Ocean Conservation Webinar',\n description: 'Live discussion on marine ecosystem protection and ocean cleanup initiatives.',\n category: 'conservation',\n level: 'intermediate',\n duration: 90,\n enrolled: 1234,\n rating: 4.5,\n instructor: 'Dr. Lisa Ocean',\n thumbnail: '🌊',\n type: 'webinar',\n tags: ['marine life', 'ocean cleanup', 'plastic pollution'],\n },\n ],\n\n // --- Actions ---\n setSelectedView: (view) => set({ selectedView: view }),\n setWorkItems: (items) => set({ workItems: items }),\n}));\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface NavItem {
4
+ id: string;
5
+ label: string;
6
+ path: string;
7
+ icon?: React.ReactNode;
8
+ order?: number;
9
+ group?: string;
10
+ children?: NavItem[];
11
+ }
12
+ export interface FooterItem {
13
+ id: string;
14
+ label: string;
15
+ type: 'status' | 'action';
16
+ order?: number;
17
+ section: 'left' | 'center' | 'right';
18
+ }
19
+ export interface EcoImpactHubRootProps {
20
+ basePath?: string;
21
+ workspaceId?: string;
22
+ tenantId?: string;
23
+ apiGatewayUrl?: string;
24
+ authToken?: string;
25
+ navigate?: (path: string) => void;
26
+ currentUser?: {
27
+ id: string;
28
+ email: string;
29
+ firstName?: string;
30
+ lastName?: string;
31
+ avatar?: string;
32
+ username?: string;
33
+ name?: string;
34
+ role?: string;
35
+ } | null;
36
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
37
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
38
+ }
39
+ export interface OverviewMetric {
40
+ label: string;
41
+ value: string;
42
+ trend: string;
43
+ }
44
+ export interface WorkItem {
45
+ id: string;
46
+ title: string;
47
+ status: 'active' | 'planned' | 'at_risk' | 'completed';
48
+ owner: string;
49
+ updatedAt: string;
50
+ }
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ecoimpacthub/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/ecoimpacthub/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,6 @@
1
+ import { I18nContextValue } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';
2
+
3
+ type TranslationParams = Record<string, string | number>;
4
+ export declare function tWithFallback(t: I18nContextValue['t'], key: string, fallback: string, params?: TranslationParams): string;
5
+ export {};
6
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/ecoimpacthub/utils/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAazD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,GACzB,MAAM,CAOR"}