@burdenoff/microfe-cosmicintersection 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 (86) hide show
  1. package/README.md +12 -0
  2. package/dist/cosmicintersection/CosmicIntersectionRoot.d.ts +5 -0
  3. package/dist/cosmicintersection/CosmicIntersectionRoot.d.ts.map +1 -0
  4. package/dist/cosmicintersection/CosmicIntersectionRoot.js +121 -0
  5. package/dist/cosmicintersection/CosmicIntersectionRoot.js.map +1 -0
  6. package/dist/cosmicintersection/CosmicIntersectionRoutes.d.ts +2 -0
  7. package/dist/cosmicintersection/CosmicIntersectionRoutes.d.ts.map +1 -0
  8. package/dist/cosmicintersection/CosmicIntersectionRoutes.js +71 -0
  9. package/dist/cosmicintersection/CosmicIntersectionRoutes.js.map +1 -0
  10. package/dist/cosmicintersection/index.d.ts +5 -0
  11. package/dist/cosmicintersection/index.d.ts.map +1 -0
  12. package/dist/cosmicintersection/index.js +3 -0
  13. package/dist/cosmicintersection/pages/AiDiscoveryPage.d.ts +2 -0
  14. package/dist/cosmicintersection/pages/AiDiscoveryPage.d.ts.map +1 -0
  15. package/dist/cosmicintersection/pages/AiDiscoveryPage.js +363 -0
  16. package/dist/cosmicintersection/pages/AiDiscoveryPage.js.map +1 -0
  17. package/dist/cosmicintersection/pages/DashboardPage.d.ts +2 -0
  18. package/dist/cosmicintersection/pages/DashboardPage.d.ts.map +1 -0
  19. package/dist/cosmicintersection/pages/DashboardPage.js +306 -0
  20. package/dist/cosmicintersection/pages/DashboardPage.js.map +1 -0
  21. package/dist/cosmicintersection/pages/SpaceScienceCitizenPage.d.ts +2 -0
  22. package/dist/cosmicintersection/pages/SpaceScienceCitizenPage.d.ts.map +1 -0
  23. package/dist/cosmicintersection/pages/SpaceScienceCitizenPage.js +287 -0
  24. package/dist/cosmicintersection/pages/SpaceScienceCitizenPage.js.map +1 -0
  25. package/dist/cosmicintersection/pages/SpaceScienceDataPage.d.ts +2 -0
  26. package/dist/cosmicintersection/pages/SpaceScienceDataPage.d.ts.map +1 -0
  27. package/dist/cosmicintersection/pages/SpaceScienceDataPage.js +385 -0
  28. package/dist/cosmicintersection/pages/SpaceScienceDataPage.js.map +1 -0
  29. package/dist/cosmicintersection/pages/SpaceScienceDataPage1.d.ts +2 -0
  30. package/dist/cosmicintersection/pages/SpaceScienceDataPage1.d.ts.map +1 -0
  31. package/dist/cosmicintersection/pages/SpaceScienceDataPage1.js +420 -0
  32. package/dist/cosmicintersection/pages/SpaceScienceDataPage1.js.map +1 -0
  33. package/dist/cosmicintersection/pages/SpaceScienceLearningPage.d.ts +2 -0
  34. package/dist/cosmicintersection/pages/SpaceScienceLearningPage.d.ts.map +1 -0
  35. package/dist/cosmicintersection/pages/SpaceScienceLearningPage.js +309 -0
  36. package/dist/cosmicintersection/pages/SpaceScienceLearningPage.js.map +1 -0
  37. package/dist/cosmicintersection/pages/SpaceScienceLearningPage1.d.ts +2 -0
  38. package/dist/cosmicintersection/pages/SpaceScienceLearningPage1.d.ts.map +1 -0
  39. package/dist/cosmicintersection/pages/SpaceScienceLearningPage1.js +361 -0
  40. package/dist/cosmicintersection/pages/SpaceScienceLearningPage1.js.map +1 -0
  41. package/dist/cosmicintersection/pages/SpaceSciencePage.d.ts +2 -0
  42. package/dist/cosmicintersection/pages/SpaceSciencePage.d.ts.map +1 -0
  43. package/dist/cosmicintersection/pages/SpaceSciencePage.js +194 -0
  44. package/dist/cosmicintersection/pages/SpaceSciencePage.js.map +1 -0
  45. package/dist/cosmicintersection/pages/SpaceScienceResearchPage.d.ts +2 -0
  46. package/dist/cosmicintersection/pages/SpaceScienceResearchPage.d.ts.map +1 -0
  47. package/dist/cosmicintersection/pages/SpaceScienceResearchPage.js +290 -0
  48. package/dist/cosmicintersection/pages/SpaceScienceResearchPage.js.map +1 -0
  49. package/dist/cosmicintersection/pages/SpaceScienceSimulationPage.d.ts +2 -0
  50. package/dist/cosmicintersection/pages/SpaceScienceSimulationPage.d.ts.map +1 -0
  51. package/dist/cosmicintersection/pages/SpaceScienceSimulationPage.js +279 -0
  52. package/dist/cosmicintersection/pages/SpaceScienceSimulationPage.js.map +1 -0
  53. package/dist/cosmicintersection/providers/CosmicIntersectionProvider.d.ts +6 -0
  54. package/dist/cosmicintersection/providers/CosmicIntersectionProvider.d.ts.map +1 -0
  55. package/dist/cosmicintersection/providers/CosmicIntersectionProvider.js +27 -0
  56. package/dist/cosmicintersection/providers/CosmicIntersectionProvider.js.map +1 -0
  57. package/dist/cosmicintersection/store/cosmicintersectionStore.d.ts +18 -0
  58. package/dist/cosmicintersection/store/cosmicintersectionStore.d.ts.map +1 -0
  59. package/dist/cosmicintersection/store/cosmicintersectionStore.js +478 -0
  60. package/dist/cosmicintersection/store/cosmicintersectionStore.js.map +1 -0
  61. package/dist/cosmicintersection/types/index.d.ts +109 -0
  62. package/dist/cosmicintersection/types/index.d.ts.map +1 -0
  63. package/dist/cosmicintersection/utils/cn.d.ts +4 -0
  64. package/dist/cosmicintersection/utils/cn.d.ts.map +1 -0
  65. package/dist/cosmicintersection/utils/i18n.d.ts +6 -0
  66. package/dist/cosmicintersection/utils/i18n.d.ts.map +1 -0
  67. package/dist/cosmicintersection/utils/i18n.js +15 -0
  68. package/dist/cosmicintersection/utils/i18n.js.map +1 -0
  69. package/dist/cosmicintersection/utils/navigation.d.ts +2 -0
  70. package/dist/cosmicintersection/utils/navigation.d.ts.map +1 -0
  71. package/dist/cosmicintersection/utils/navigation.js +8 -0
  72. package/dist/cosmicintersection/utils/navigation.js.map +1 -0
  73. package/dist/dev/main.d.ts +2 -0
  74. package/dist/dev/main.d.ts.map +1 -0
  75. package/dist/generated/global-operations.d.ts +2 -0
  76. package/dist/generated/global-operations.d.ts.map +1 -0
  77. package/dist/generated/global-types.d.ts +18199 -0
  78. package/dist/generated/global-types.d.ts.map +1 -0
  79. package/dist/generated/wspace-operations.d.ts +2 -0
  80. package/dist/generated/wspace-operations.d.ts.map +1 -0
  81. package/dist/generated/wspace-types.d.ts +43046 -0
  82. package/dist/generated/wspace-types.d.ts.map +1 -0
  83. package/dist/index.d.ts +2 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +5 -0
  86. package/package.json +107 -0
@@ -0,0 +1,309 @@
1
+ import { useCosmicIntersectionStore as e } from "../store/cosmicintersectionStore.js";
2
+ import { ArrowRight as t, Award as n, BookOpen as r, Brain as i, Globe as a, Microscope as o, Rocket as s, Sparkles as c, Star as l, TrendingUp as u, Users as d, Zap as f } from "lucide-react";
3
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
4
+ import { Badge as h, Button as g, Card as _, CardContent as v, CardDescription as y, CardHeader as b, CardTitle as x, Tabs as S, TabsContent as C, TabsList as w, TabsTrigger as T } from "@burdenoff/fe-libs/ui";
5
+ //#region src/cosmicintersection/pages/SpaceScienceLearningPage.tsx
6
+ function E() {
7
+ let { learningModules: E } = e(), D = E.filter((e) => e.level === "beginner"), O = E.filter((e) => e.level === "intermediate"), k = E.filter((e) => e.level === "advanced"), A = [{
8
+ icon: o,
9
+ title: "Virtual Observatory",
10
+ description: "Access real telescope data and analyze astronomical images.",
11
+ features: [
12
+ "Hubble Data",
13
+ "JWST Archives",
14
+ "Chandra X-ray",
15
+ "Ground Arrays"
16
+ ],
17
+ badge: "Popular"
18
+ }, {
19
+ icon: a,
20
+ title: "Physics Simulations",
21
+ description: "Visualize astrophysical processes with 3D simulations.",
22
+ features: [
23
+ "Orbital Mechanics",
24
+ "Stellar Evolution",
25
+ "Galaxy Collisions",
26
+ "Black Holes"
27
+ ],
28
+ badge: "Interactive"
29
+ }], j = (e) => /* @__PURE__ */ m(_, {
30
+ className: "transition-shadow hover:shadow-md",
31
+ children: [/* @__PURE__ */ m(b, { children: [
32
+ /* @__PURE__ */ m("div", {
33
+ className: "mb-2 flex items-start justify-between",
34
+ children: [/* @__PURE__ */ p("div", {
35
+ className: "flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-orange-500",
36
+ children: /* @__PURE__ */ p(r, { className: "h-5 w-5" })
37
+ }), /* @__PURE__ */ m(h, {
38
+ variant: "secondary",
39
+ className: "flex items-center gap-1",
40
+ children: [
41
+ /* @__PURE__ */ p(l, { className: "h-3 w-3" }),
42
+ " ",
43
+ e.rating
44
+ ]
45
+ })]
46
+ }),
47
+ /* @__PURE__ */ p(x, {
48
+ className: "text-lg",
49
+ children: e.title
50
+ }),
51
+ /* @__PURE__ */ m(y, { children: ["by ", e.instructor] })
52
+ ] }), /* @__PURE__ */ m(v, {
53
+ className: "space-y-3",
54
+ children: [
55
+ /* @__PURE__ */ m("div", {
56
+ className: "grid grid-cols-3 gap-2 text-center text-xs",
57
+ children: [
58
+ /* @__PURE__ */ m("div", {
59
+ className: "rounded-md bg-muted p-2",
60
+ children: [/* @__PURE__ */ p("div", {
61
+ className: "font-semibold",
62
+ children: e.duration
63
+ }), /* @__PURE__ */ p("div", {
64
+ className: "text-muted-foreground",
65
+ children: "Duration"
66
+ })]
67
+ }),
68
+ /* @__PURE__ */ m("div", {
69
+ className: "rounded-md bg-muted p-2",
70
+ children: [/* @__PURE__ */ p("div", {
71
+ className: "font-semibold text-orange-500",
72
+ children: e.students >= 1e3 ? `${String(Math.round(e.students / 1e3))}K` : e.students
73
+ }), /* @__PURE__ */ p("div", {
74
+ className: "text-muted-foreground",
75
+ children: "Students"
76
+ })]
77
+ }),
78
+ /* @__PURE__ */ m("div", {
79
+ className: "rounded-md bg-muted p-2",
80
+ children: [/* @__PURE__ */ p("div", {
81
+ className: "font-semibold text-blue-500",
82
+ children: e.lessons
83
+ }), /* @__PURE__ */ p("div", {
84
+ className: "text-muted-foreground",
85
+ children: "Lessons"
86
+ })]
87
+ })
88
+ ]
89
+ }),
90
+ /* @__PURE__ */ p("div", {
91
+ className: "flex flex-wrap gap-1",
92
+ children: e.topics.map((e) => /* @__PURE__ */ p("span", {
93
+ className: "rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",
94
+ children: e
95
+ }, e))
96
+ }),
97
+ /* @__PURE__ */ m(g, {
98
+ variant: "ghost",
99
+ className: "w-full justify-between",
100
+ size: "sm",
101
+ children: ["Start Learning ", /* @__PURE__ */ p(t, { className: "h-4 w-4" })]
102
+ })
103
+ ]
104
+ })]
105
+ }, e.id);
106
+ return /* @__PURE__ */ m("div", {
107
+ className: "space-y-10 p-6",
108
+ children: [
109
+ /* @__PURE__ */ m("section", {
110
+ className: "py-6 text-center",
111
+ children: [
112
+ /* @__PURE__ */ m(h, {
113
+ variant: "secondary",
114
+ className: "mb-4",
115
+ children: [/* @__PURE__ */ p(r, { className: "mr-1.5 h-3.5 w-3.5" }), "Learn from the Best"]
116
+ }),
117
+ /* @__PURE__ */ p("h1", {
118
+ className: "text-4xl font-bold tracking-tight",
119
+ children: "Learning Hub"
120
+ }),
121
+ /* @__PURE__ */ p("p", {
122
+ className: "mx-auto mt-4 max-w-2xl text-lg text-muted-foreground",
123
+ children: "Master space science through interactive simulations, virtual labs, and adaptive learning pathways designed by world-class experts."
124
+ }),
125
+ /* @__PURE__ */ m("div", {
126
+ className: "mt-6 flex items-center justify-center gap-3",
127
+ children: [/* @__PURE__ */ m(g, { children: [/* @__PURE__ */ p(r, { className: "mr-2 h-5 w-5" }), " Start Learning Free"] }), /* @__PURE__ */ m(g, {
128
+ variant: "outline",
129
+ children: [/* @__PURE__ */ p(l, { className: "mr-2 h-5 w-5" }), " Browse Courses"]
130
+ })]
131
+ }),
132
+ /* @__PURE__ */ p("div", {
133
+ className: "mx-auto mt-10 grid max-w-3xl grid-cols-2 gap-4 md:grid-cols-4",
134
+ children: [
135
+ {
136
+ label: "Students",
137
+ value: "847K",
138
+ icon: d,
139
+ color: "text-orange-500"
140
+ },
141
+ {
142
+ label: "Instructors",
143
+ value: "156",
144
+ icon: n,
145
+ color: "text-blue-500"
146
+ },
147
+ {
148
+ label: "Courses",
149
+ value: "500+",
150
+ icon: r,
151
+ color: "text-green-500"
152
+ },
153
+ {
154
+ label: "Completion",
155
+ value: "94%",
156
+ icon: u,
157
+ color: "text-purple-500"
158
+ }
159
+ ].map((e) => /* @__PURE__ */ p(_, { children: /* @__PURE__ */ m(v, {
160
+ className: "p-3 text-center",
161
+ children: [
162
+ /* @__PURE__ */ p(e.icon, { className: `mx-auto mb-1.5 h-5 w-5 ${e.color}` }),
163
+ /* @__PURE__ */ p("div", {
164
+ className: "text-xl font-bold",
165
+ children: e.value
166
+ }),
167
+ /* @__PURE__ */ p("div", {
168
+ className: "text-xs text-muted-foreground",
169
+ children: e.label
170
+ })
171
+ ]
172
+ }) }, e.label))
173
+ })
174
+ ]
175
+ }),
176
+ /* @__PURE__ */ m("section", { children: [/* @__PURE__ */ m("div", {
177
+ className: "mb-8 text-center",
178
+ children: [/* @__PURE__ */ p("h2", {
179
+ className: "text-2xl font-bold",
180
+ children: "Learning Pathways"
181
+ }), /* @__PURE__ */ p("p", {
182
+ className: "mt-1 text-muted-foreground",
183
+ children: "Choose your path from beginner to expert"
184
+ })]
185
+ }), /* @__PURE__ */ m(S, {
186
+ defaultValue: "beginner",
187
+ className: "w-full",
188
+ children: [
189
+ /* @__PURE__ */ m(w, {
190
+ className: "mb-6 grid w-full grid-cols-3",
191
+ children: [
192
+ /* @__PURE__ */ m(T, {
193
+ value: "beginner",
194
+ children: [/* @__PURE__ */ p(l, { className: "mr-1.5 h-4 w-4" }), " Beginner"]
195
+ }),
196
+ /* @__PURE__ */ m(T, {
197
+ value: "intermediate",
198
+ children: [/* @__PURE__ */ p(s, { className: "mr-1.5 h-4 w-4" }), " Intermediate"]
199
+ }),
200
+ /* @__PURE__ */ m(T, {
201
+ value: "advanced",
202
+ children: [/* @__PURE__ */ p(i, { className: "mr-1.5 h-4 w-4" }), " Advanced"]
203
+ })
204
+ ]
205
+ }),
206
+ /* @__PURE__ */ p(C, {
207
+ value: "beginner",
208
+ children: /* @__PURE__ */ p("div", {
209
+ className: "grid gap-4 md:grid-cols-2",
210
+ children: D.map(j)
211
+ })
212
+ }),
213
+ /* @__PURE__ */ p(C, {
214
+ value: "intermediate",
215
+ children: /* @__PURE__ */ p("div", {
216
+ className: "grid gap-4 md:grid-cols-2",
217
+ children: O.map(j)
218
+ })
219
+ }),
220
+ /* @__PURE__ */ p(C, {
221
+ value: "advanced",
222
+ children: /* @__PURE__ */ p("div", {
223
+ className: "grid gap-4 md:grid-cols-2",
224
+ children: k.map(j)
225
+ })
226
+ })
227
+ ]
228
+ })] }),
229
+ /* @__PURE__ */ m("section", { children: [/* @__PURE__ */ m("div", {
230
+ className: "mb-8 text-center",
231
+ children: [/* @__PURE__ */ p("h2", {
232
+ className: "text-2xl font-bold",
233
+ children: "Interactive Learning Tools"
234
+ }), /* @__PURE__ */ p("p", {
235
+ className: "mt-1 text-muted-foreground",
236
+ children: "Hands-on experience with professional-grade tools"
237
+ })]
238
+ }), /* @__PURE__ */ p("div", {
239
+ className: "grid gap-4 md:grid-cols-2",
240
+ children: A.map((e) => /* @__PURE__ */ m(_, {
241
+ className: "transition-shadow hover:shadow-md",
242
+ children: [/* @__PURE__ */ m(b, { children: [
243
+ /* @__PURE__ */ m("div", {
244
+ className: "mb-2 flex items-start justify-between",
245
+ children: [/* @__PURE__ */ p("div", {
246
+ className: "flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-blue-500",
247
+ children: /* @__PURE__ */ p(e.icon, { className: "h-5 w-5" })
248
+ }), /* @__PURE__ */ p(h, {
249
+ variant: "secondary",
250
+ children: e.badge
251
+ })]
252
+ }),
253
+ /* @__PURE__ */ p(x, {
254
+ className: "text-lg",
255
+ children: e.title
256
+ }),
257
+ /* @__PURE__ */ p(y, { children: e.description })
258
+ ] }), /* @__PURE__ */ m(v, {
259
+ className: "space-y-3",
260
+ children: [/* @__PURE__ */ p("div", {
261
+ className: "grid grid-cols-2 gap-2",
262
+ children: e.features.map((e) => /* @__PURE__ */ p("div", {
263
+ className: "rounded-md bg-muted p-2 text-center text-xs font-medium",
264
+ children: e
265
+ }, e))
266
+ }), /* @__PURE__ */ m(g, {
267
+ variant: "ghost",
268
+ className: "w-full justify-between",
269
+ size: "sm",
270
+ children: ["Launch Tool ", /* @__PURE__ */ p(f, { className: "h-4 w-4" })]
271
+ })]
272
+ })]
273
+ }, e.title))
274
+ })] }),
275
+ /* @__PURE__ */ p("section", { children: /* @__PURE__ */ p(_, {
276
+ className: "bg-muted/50",
277
+ children: /* @__PURE__ */ m(v, {
278
+ className: "py-10 text-center",
279
+ children: [
280
+ /* @__PURE__ */ m(h, {
281
+ variant: "secondary",
282
+ className: "mb-4",
283
+ children: [/* @__PURE__ */ p(c, { className: "mr-1.5 h-3.5 w-3.5" }), " Start Your Journey"]
284
+ }),
285
+ /* @__PURE__ */ p("h2", {
286
+ className: "text-2xl font-bold",
287
+ children: "Master Space Science Today"
288
+ }),
289
+ /* @__PURE__ */ p("p", {
290
+ className: "mt-2 text-muted-foreground",
291
+ children: "Join 847K+ learners exploring the wonders of the universe."
292
+ }),
293
+ /* @__PURE__ */ m("div", {
294
+ className: "mt-6 flex items-center justify-center gap-3",
295
+ children: [/* @__PURE__ */ p(g, { children: "Start Learning Free" }), /* @__PURE__ */ p(g, {
296
+ variant: "outline",
297
+ children: "Back to Hub"
298
+ })]
299
+ })
300
+ ]
301
+ })
302
+ }) })
303
+ ]
304
+ });
305
+ }
306
+ //#endregion
307
+ export { E as SpaceScienceLearningPage };
308
+
309
+ //# sourceMappingURL=SpaceScienceLearningPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpaceScienceLearningPage.js","names":[],"sources":["../../../src/cosmicintersection/pages/SpaceScienceLearningPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@burdenoff/fe-libs/ui';\nimport {\n BookOpen,\n Star,\n Rocket,\n Brain,\n Globe,\n Microscope,\n ArrowRight,\n Sparkles,\n Users,\n Award,\n TrendingUp,\n Zap,\n} from 'lucide-react';\nimport { useCosmicIntersectionStore } from '../store/cosmicintersectionStore';\n\nexport function SpaceScienceLearningPage() {\n const { learningModules } = useCosmicIntersectionStore();\n\n const beginnerModules = learningModules.filter((m) => m.level === 'beginner');\n const intermediateModules = learningModules.filter((m) => m.level === 'intermediate');\n const advancedModules = learningModules.filter((m) => m.level === 'advanced');\n\n const tools = [\n {\n icon: Microscope,\n title: 'Virtual Observatory',\n description: 'Access real telescope data and analyze astronomical images.',\n features: ['Hubble Data', 'JWST Archives', 'Chandra X-ray', 'Ground Arrays'],\n badge: 'Popular',\n },\n {\n icon: Globe,\n title: 'Physics Simulations',\n description: 'Visualize astrophysical processes with 3D simulations.',\n features: ['Orbital Mechanics', 'Stellar Evolution', 'Galaxy Collisions', 'Black Holes'],\n badge: 'Interactive',\n },\n ];\n\n const renderCourseCard = (mod: (typeof learningModules)[0]) => (\n <Card key={mod.id} className=\"transition-shadow hover:shadow-md\">\n <CardHeader>\n <div className=\"mb-2 flex items-start justify-between\">\n <div className=\"flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-orange-500\">\n <BookOpen className=\"h-5 w-5\" />\n </div>\n <Badge variant=\"secondary\" className=\"flex items-center gap-1\">\n <Star className=\"h-3 w-3\" /> {mod.rating}\n </Badge>\n </div>\n <CardTitle className=\"text-lg\">{mod.title}</CardTitle>\n <CardDescription>by {mod.instructor}</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"grid grid-cols-3 gap-2 text-center text-xs\">\n <div className=\"rounded-md bg-muted p-2\">\n <div className=\"font-semibold\">{mod.duration}</div>\n <div className=\"text-muted-foreground\">Duration</div>\n </div>\n <div className=\"rounded-md bg-muted p-2\">\n <div className=\"font-semibold text-orange-500\">\n {mod.students >= 1000 ? `${String(Math.round(mod.students / 1000))}K` : mod.students}\n </div>\n <div className=\"text-muted-foreground\">Students</div>\n </div>\n <div className=\"rounded-md bg-muted p-2\">\n <div className=\"font-semibold text-blue-500\">{mod.lessons}</div>\n <div className=\"text-muted-foreground\">Lessons</div>\n </div>\n </div>\n <div className=\"flex flex-wrap gap-1\">\n {mod.topics.map((topic) => (\n <span\n key={topic}\n className=\"rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\"\n >\n {topic}\n </span>\n ))}\n </div>\n <Button variant=\"ghost\" className=\"w-full justify-between\" size=\"sm\">\n Start Learning <ArrowRight className=\"h-4 w-4\" />\n </Button>\n </CardContent>\n </Card>\n );\n\n return (\n <div className=\"space-y-10 p-6\">\n {/* Hero */}\n <section className=\"py-6 text-center\">\n <Badge variant=\"secondary\" className=\"mb-4\">\n <BookOpen className=\"mr-1.5 h-3.5 w-3.5\" />\n Learn from the Best\n </Badge>\n <h1 className=\"text-4xl font-bold tracking-tight\">Learning Hub</h1>\n <p className=\"mx-auto mt-4 max-w-2xl text-lg text-muted-foreground\">\n Master space science through interactive simulations, virtual labs, and adaptive learning\n pathways designed by world-class experts.\n </p>\n <div className=\"mt-6 flex items-center justify-center gap-3\">\n <Button>\n <BookOpen className=\"mr-2 h-5 w-5\" /> Start Learning Free\n </Button>\n <Button variant=\"outline\">\n <Star className=\"mr-2 h-5 w-5\" /> Browse Courses\n </Button>\n </div>\n\n <div className=\"mx-auto mt-10 grid max-w-3xl grid-cols-2 gap-4 md:grid-cols-4\">\n {[\n { label: 'Students', value: '847K', icon: Users, color: 'text-orange-500' },\n { label: 'Instructors', value: '156', icon: Award, color: 'text-blue-500' },\n { label: 'Courses', value: '500+', icon: BookOpen, color: 'text-green-500' },\n { label: 'Completion', value: '94%', icon: TrendingUp, color: 'text-purple-500' },\n ].map((stat) => (\n <Card key={stat.label}>\n <CardContent className=\"p-3 text-center\">\n <stat.icon className={`mx-auto mb-1.5 h-5 w-5 ${stat.color}`} />\n <div className=\"text-xl font-bold\">{stat.value}</div>\n <div className=\"text-xs text-muted-foreground\">{stat.label}</div>\n </CardContent>\n </Card>\n ))}\n </div>\n </section>\n\n {/* Course Tabs */}\n <section>\n <div className=\"mb-8 text-center\">\n <h2 className=\"text-2xl font-bold\">Learning Pathways</h2>\n <p className=\"mt-1 text-muted-foreground\">Choose your path from beginner to expert</p>\n </div>\n\n <Tabs defaultValue=\"beginner\" className=\"w-full\">\n <TabsList className=\"mb-6 grid w-full grid-cols-3\">\n <TabsTrigger value=\"beginner\">\n <Star className=\"mr-1.5 h-4 w-4\" /> Beginner\n </TabsTrigger>\n <TabsTrigger value=\"intermediate\">\n <Rocket className=\"mr-1.5 h-4 w-4\" /> Intermediate\n </TabsTrigger>\n <TabsTrigger value=\"advanced\">\n <Brain className=\"mr-1.5 h-4 w-4\" /> Advanced\n </TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"beginner\">\n <div className=\"grid gap-4 md:grid-cols-2\">{beginnerModules.map(renderCourseCard)}</div>\n </TabsContent>\n <TabsContent value=\"intermediate\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n {intermediateModules.map(renderCourseCard)}\n </div>\n </TabsContent>\n <TabsContent value=\"advanced\">\n <div className=\"grid gap-4 md:grid-cols-2\">{advancedModules.map(renderCourseCard)}</div>\n </TabsContent>\n </Tabs>\n </section>\n\n {/* Learning Tools */}\n <section>\n <div className=\"mb-8 text-center\">\n <h2 className=\"text-2xl font-bold\">Interactive Learning Tools</h2>\n <p className=\"mt-1 text-muted-foreground\">\n Hands-on experience with professional-grade tools\n </p>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n {tools.map((tool) => (\n <Card key={tool.title} className=\"transition-shadow hover:shadow-md\">\n <CardHeader>\n <div className=\"mb-2 flex items-start justify-between\">\n <div className=\"flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-blue-500\">\n <tool.icon className=\"h-5 w-5\" />\n </div>\n <Badge variant=\"secondary\">{tool.badge}</Badge>\n </div>\n <CardTitle className=\"text-lg\">{tool.title}</CardTitle>\n <CardDescription>{tool.description}</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"grid grid-cols-2 gap-2\">\n {tool.features.map((f) => (\n <div\n key={f}\n className=\"rounded-md bg-muted p-2 text-center text-xs font-medium\"\n >\n {f}\n </div>\n ))}\n </div>\n <Button variant=\"ghost\" className=\"w-full justify-between\" size=\"sm\">\n Launch Tool <Zap className=\"h-4 w-4\" />\n </Button>\n </CardContent>\n </Card>\n ))}\n </div>\n </section>\n\n {/* CTA */}\n <section>\n <Card className=\"bg-muted/50\">\n <CardContent className=\"py-10 text-center\">\n <Badge variant=\"secondary\" className=\"mb-4\">\n <Sparkles className=\"mr-1.5 h-3.5 w-3.5\" /> Start Your Journey\n </Badge>\n <h2 className=\"text-2xl font-bold\">Master Space Science Today</h2>\n <p className=\"mt-2 text-muted-foreground\">\n Join 847K+ learners exploring the wonders of the universe.\n </p>\n <div className=\"mt-6 flex items-center justify-center gap-3\">\n <Button>Start Learning Free</Button>\n <Button variant=\"outline\">Back to Hub</Button>\n </div>\n </CardContent>\n </Card>\n </section>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function SpaceScienceLearningPage1(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=SpaceScienceLearningPage1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpaceScienceLearningPage1.d.ts","sourceRoot":"","sources":["../../../src/cosmicintersection/pages/SpaceScienceLearningPage1.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,yBAAyB,4CAuPxC"}