@burdenoff/microfe-technospam 2026.801.1 → 2026.827.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -1
- package/dist/node_modules/sonner/dist/index.js.map +1 -1
- package/dist/technospam/api/technospamApi.d.ts +19 -0
- package/dist/technospam/api/technospamApi.d.ts.map +1 -1
- package/dist/technospam/api/technospamApi.js +171 -150
- package/dist/technospam/api/technospamApi.js.map +1 -1
- package/dist/technospam/components/SubmissionViews.d.ts +31 -0
- package/dist/technospam/components/SubmissionViews.d.ts.map +1 -0
- package/dist/technospam/components/SubmissionViews.js +149 -0
- package/dist/technospam/components/SubmissionViews.js.map +1 -0
- package/dist/technospam/components/index.d.ts +1 -0
- package/dist/technospam/components/index.d.ts.map +1 -1
- package/dist/technospam/components/index.js +1 -0
- package/dist/technospam/pages/AdminAdminDashboardPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/AdminAdminDashboardPagePage.js +725 -500
- package/dist/technospam/pages/AdminAdminDashboardPagePage.js.map +1 -1
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js +343 -262
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
- package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js +97 -235
- package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js.map +1 -1
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +293 -202
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
- package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/CoursesMyLearningPagePage.js +2 -2
- package/dist/technospam/pages/CoursesMyLearningPagePage.js.map +1 -1
- package/dist/technospam/pages/MentorshipMentorProfilePagePage.js +1 -2
- package/dist/technospam/pages/MentorshipMentorProfilePagePage.js.map +1 -1
- package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.js +180 -121
- package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.js.map +1 -1
- package/package.json +2 -2
|
@@ -20,9 +20,9 @@ import { BarChart as fe } from "../../node_modules/recharts/es6/chart/BarChart.j
|
|
|
20
20
|
import { PieChart as pe } from "../../node_modules/recharts/es6/chart/PieChart.js";
|
|
21
21
|
import { AreaChart as me } from "../../node_modules/recharts/es6/chart/AreaChart.js";
|
|
22
22
|
import { useMemo as h, useState as g } from "react";
|
|
23
|
-
import { Activity as _, Award as he, BarChart3 as ge, BookOpen as v, CalendarRange as y, Code2 as b, GraduationCap as x, Library as _e, Percent as ve, TrendingUp as ye, Trophy as be, Users as xe, X as
|
|
24
|
-
import { jsx as
|
|
25
|
-
import { Button as
|
|
23
|
+
import { Activity as _, Award as he, BarChart3 as ge, BookOpen as v, CalendarRange as y, Code2 as b, GraduationCap as x, Library as _e, Percent as ve, Target as S, TrendingUp as ye, Trophy as be, Users as xe, X as C } from "lucide-react";
|
|
24
|
+
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
25
|
+
import { Button as E, GlassCard as D, Input as O } from "@burdenoff/fe-libs/ui";
|
|
26
26
|
//#region src/technospam/pages/AnalyticsAnalyticsPagePage.tsx
|
|
27
27
|
var Se = [
|
|
28
28
|
"ENROLLED",
|
|
@@ -55,13 +55,13 @@ var Se = [
|
|
|
55
55
|
RUNTIME_ERROR: "var(--color-status-error)",
|
|
56
56
|
COMPILE_ERROR: "var(--color-status-error)",
|
|
57
57
|
PENDING: "var(--color-text-muted)"
|
|
58
|
-
},
|
|
58
|
+
}, k = {
|
|
59
59
|
background: "var(--color-bg-surface)",
|
|
60
60
|
border: "1px solid var(--color-border-seam)",
|
|
61
61
|
borderRadius: 12,
|
|
62
62
|
color: "var(--color-text-primary)",
|
|
63
63
|
fontSize: 12
|
|
64
|
-
},
|
|
64
|
+
}, A = { color: "var(--color-text-secondary)" }, j = {
|
|
65
65
|
fill: "var(--color-text-muted)",
|
|
66
66
|
fontSize: 12
|
|
67
67
|
};
|
|
@@ -80,72 +80,135 @@ function De(e) {
|
|
|
80
80
|
})
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
-
var
|
|
83
|
+
var M = {
|
|
84
84
|
blue: "bg-accent-primary/15 text-accent-primary ring-accent-primary/20",
|
|
85
85
|
teal: "bg-accent-teal/15 text-accent-teal ring-accent-teal/20",
|
|
86
86
|
purple: "bg-accent-purple/15 text-accent-purple ring-accent-purple/20",
|
|
87
87
|
indigo: "bg-accent-indigo/15 text-accent-indigo ring-accent-indigo/20"
|
|
88
88
|
};
|
|
89
|
-
function
|
|
90
|
-
return /* @__PURE__ */
|
|
89
|
+
function N({ icon: e, title: t, subtitle: r, tone: i }) {
|
|
90
|
+
return /* @__PURE__ */ T("div", {
|
|
91
91
|
className: "mb-4 flex items-center gap-3",
|
|
92
|
-
children: [/* @__PURE__ */
|
|
93
|
-
className: n("flex h-9 w-9 shrink-0 items-center justify-center rounded-xl ring-1",
|
|
94
|
-
children: /* @__PURE__ */
|
|
95
|
-
}), /* @__PURE__ */
|
|
92
|
+
children: [/* @__PURE__ */ w("span", {
|
|
93
|
+
className: n("flex h-9 w-9 shrink-0 items-center justify-center rounded-xl ring-1", M[i]),
|
|
94
|
+
children: /* @__PURE__ */ w(e, { size: 17 })
|
|
95
|
+
}), /* @__PURE__ */ T("div", {
|
|
96
96
|
className: "min-w-0",
|
|
97
|
-
children: [/* @__PURE__ */
|
|
97
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
98
98
|
className: "truncate text-sm font-semibold text-text-primary",
|
|
99
99
|
children: t
|
|
100
|
-
}), r ? /* @__PURE__ */
|
|
100
|
+
}), r ? /* @__PURE__ */ w("p", {
|
|
101
101
|
className: "truncate text-xs text-text-muted",
|
|
102
102
|
children: r
|
|
103
103
|
}) : null]
|
|
104
104
|
})]
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
function
|
|
108
|
-
return /* @__PURE__ */
|
|
107
|
+
function P({ title: e, subtitle: t, icon: n, tone: r = "teal", isEmpty: i, emptyLabel: a, children: o }) {
|
|
108
|
+
return /* @__PURE__ */ T(D, {
|
|
109
109
|
className: "p-5 transition-shadow duration-200 hover:shadow-lg",
|
|
110
|
-
children: [/* @__PURE__ */
|
|
110
|
+
children: [/* @__PURE__ */ w(N, {
|
|
111
111
|
icon: n,
|
|
112
112
|
title: e,
|
|
113
113
|
subtitle: t,
|
|
114
114
|
tone: r
|
|
115
|
-
}), i ? /* @__PURE__ */
|
|
115
|
+
}), i ? /* @__PURE__ */ w("div", {
|
|
116
116
|
className: "flex h-[240px] items-center justify-center text-center text-sm text-text-muted",
|
|
117
117
|
children: a
|
|
118
|
-
}) : /* @__PURE__ */
|
|
118
|
+
}) : /* @__PURE__ */ w(l, {
|
|
119
119
|
width: "100%",
|
|
120
120
|
height: 260,
|
|
121
121
|
children: o
|
|
122
122
|
})]
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
|
-
function Oe(e) {
|
|
126
|
-
|
|
125
|
+
function Oe({ data: e }) {
|
|
126
|
+
let t = e.length > 1 ? e[e.length - 1] : void 0;
|
|
127
|
+
return /* @__PURE__ */ T(D, {
|
|
128
|
+
className: "p-5 transition-shadow duration-200 hover:shadow-lg",
|
|
129
|
+
children: [/* @__PURE__ */ w(N, {
|
|
130
|
+
icon: S,
|
|
131
|
+
title: "Accepted rate by topic",
|
|
132
|
+
subtitle: "Where your solutions land, and where they don't",
|
|
133
|
+
tone: "indigo"
|
|
134
|
+
}), e.length === 0 ? /* @__PURE__ */ w("div", {
|
|
135
|
+
className: "flex h-[240px] items-center justify-center text-center text-sm text-text-muted",
|
|
136
|
+
children: "Solve a practice problem and your per-topic rate builds here"
|
|
137
|
+
}) : /* @__PURE__ */ T("div", {
|
|
138
|
+
className: "space-y-3",
|
|
139
|
+
children: [e.map((e) => {
|
|
140
|
+
let r = t?.topic === e.topic;
|
|
141
|
+
return /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("div", {
|
|
142
|
+
className: "mb-1 flex flex-wrap items-baseline gap-x-2",
|
|
143
|
+
children: [
|
|
144
|
+
/* @__PURE__ */ w("span", {
|
|
145
|
+
className: "truncate text-sm font-medium text-text-primary",
|
|
146
|
+
children: e.topic
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ T("span", {
|
|
149
|
+
className: n("text-sm font-semibold tabular-nums", r ? "text-status-warning-text" : "text-text-secondary"),
|
|
150
|
+
children: [e.rate, "%"]
|
|
151
|
+
}),
|
|
152
|
+
/* @__PURE__ */ T("span", {
|
|
153
|
+
className: "ml-auto shrink-0 rounded-full bg-bg-sunken px-2 py-0.5 text-xs text-text-muted",
|
|
154
|
+
children: [
|
|
155
|
+
e.accepted,
|
|
156
|
+
" of ",
|
|
157
|
+
e.attempted,
|
|
158
|
+
" accepted"
|
|
159
|
+
]
|
|
160
|
+
})
|
|
161
|
+
]
|
|
162
|
+
}), /* @__PURE__ */ w("div", {
|
|
163
|
+
className: "h-2.5 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
164
|
+
children: /* @__PURE__ */ w("div", {
|
|
165
|
+
className: n("h-full rounded-full transition-all duration-500", r ? "bg-status-warning-text" : "bg-accent-primary"),
|
|
166
|
+
style: { width: `${e.rate}%` }
|
|
167
|
+
})
|
|
168
|
+
})] }, e.topic);
|
|
169
|
+
}), t ? /* @__PURE__ */ T("p", {
|
|
170
|
+
className: "pt-1 text-xs text-text-muted",
|
|
171
|
+
children: [
|
|
172
|
+
"Lowest measured rate: ",
|
|
173
|
+
/* @__PURE__ */ w("span", {
|
|
174
|
+
className: "text-text-secondary",
|
|
175
|
+
children: t.topic
|
|
176
|
+
}),
|
|
177
|
+
" —",
|
|
178
|
+
" ",
|
|
179
|
+
t.accepted,
|
|
180
|
+
" of ",
|
|
181
|
+
t.attempted,
|
|
182
|
+
" attempts accepted in the loaded range."
|
|
183
|
+
]
|
|
184
|
+
}) : null]
|
|
185
|
+
})]
|
|
186
|
+
});
|
|
127
187
|
}
|
|
128
188
|
function ke(e) {
|
|
189
|
+
return e ? `${e}T00:00:00.000Z` : void 0;
|
|
190
|
+
}
|
|
191
|
+
function Ae(e) {
|
|
129
192
|
return e ? `${e}T23:59:59.999Z` : void 0;
|
|
130
193
|
}
|
|
131
|
-
function
|
|
132
|
-
return /* @__PURE__ */
|
|
194
|
+
function je({ start: e, end: t, onStart: n, onEnd: r, onPreset: i, onClear: a }) {
|
|
195
|
+
return /* @__PURE__ */ T(D, {
|
|
133
196
|
className: "mb-6 flex flex-col gap-3 p-4 lg:flex-row lg:items-end lg:justify-between",
|
|
134
|
-
children: [/* @__PURE__ */
|
|
197
|
+
children: [/* @__PURE__ */ T("div", {
|
|
135
198
|
className: "flex flex-wrap items-end gap-3",
|
|
136
199
|
children: [
|
|
137
|
-
/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ T("div", {
|
|
138
201
|
className: "flex items-center gap-2 self-center text-sm font-medium text-text-secondary",
|
|
139
|
-
children: [/* @__PURE__ */
|
|
202
|
+
children: [/* @__PURE__ */ w(y, {
|
|
140
203
|
size: 16,
|
|
141
204
|
className: "text-accent-teal"
|
|
142
205
|
}), "Date range"]
|
|
143
206
|
}),
|
|
144
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("label", {
|
|
145
208
|
className: "mb-1 block text-xs font-medium text-text-muted",
|
|
146
209
|
htmlFor: "tec-range-from",
|
|
147
210
|
children: "From"
|
|
148
|
-
}), /* @__PURE__ */
|
|
211
|
+
}), /* @__PURE__ */ w(O, {
|
|
149
212
|
id: "tec-range-from",
|
|
150
213
|
type: "date",
|
|
151
214
|
value: e,
|
|
@@ -153,11 +216,11 @@ function Ae({ start: e, end: t, onStart: n, onEnd: r, onPreset: i, onClear: a })
|
|
|
153
216
|
onChange: (e) => n(e.target.value),
|
|
154
217
|
className: "w-40"
|
|
155
218
|
})] }),
|
|
156
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("label", {
|
|
157
220
|
className: "mb-1 block text-xs font-medium text-text-muted",
|
|
158
221
|
htmlFor: "tec-range-to",
|
|
159
222
|
children: "To"
|
|
160
|
-
}), /* @__PURE__ */
|
|
223
|
+
}), /* @__PURE__ */ w(O, {
|
|
161
224
|
id: "tec-range-to",
|
|
162
225
|
type: "date",
|
|
163
226
|
value: t,
|
|
@@ -165,29 +228,29 @@ function Ae({ start: e, end: t, onStart: n, onEnd: r, onPreset: i, onClear: a })
|
|
|
165
228
|
onChange: (e) => r(e.target.value),
|
|
166
229
|
className: "w-40"
|
|
167
230
|
})] }),
|
|
168
|
-
e || t ? /* @__PURE__ */
|
|
231
|
+
e || t ? /* @__PURE__ */ T(E, {
|
|
169
232
|
variant: "ghost",
|
|
170
233
|
size: "sm",
|
|
171
234
|
onClick: a,
|
|
172
|
-
children: [/* @__PURE__ */ C
|
|
235
|
+
children: [/* @__PURE__ */ w(C, { size: 14 }), " Clear"]
|
|
173
236
|
}) : null
|
|
174
237
|
]
|
|
175
|
-
}), /* @__PURE__ */
|
|
238
|
+
}), /* @__PURE__ */ T("div", {
|
|
176
239
|
className: "flex flex-wrap gap-2",
|
|
177
240
|
children: [
|
|
178
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ w(E, {
|
|
179
242
|
variant: "outline",
|
|
180
243
|
size: "sm",
|
|
181
244
|
onClick: () => i(7),
|
|
182
245
|
children: "Last 7 days"
|
|
183
246
|
}),
|
|
184
|
-
/* @__PURE__ */
|
|
247
|
+
/* @__PURE__ */ w(E, {
|
|
185
248
|
variant: "outline",
|
|
186
249
|
size: "sm",
|
|
187
250
|
onClick: () => i(30),
|
|
188
251
|
children: "Last 30 days"
|
|
189
252
|
}),
|
|
190
|
-
/* @__PURE__ */
|
|
253
|
+
/* @__PURE__ */ w(E, {
|
|
191
254
|
variant: "outline",
|
|
192
255
|
size: "sm",
|
|
193
256
|
onClick: () => i(90),
|
|
@@ -197,12 +260,12 @@ function Ae({ start: e, end: t, onStart: n, onEnd: r, onPreset: i, onClear: a })
|
|
|
197
260
|
})]
|
|
198
261
|
});
|
|
199
262
|
}
|
|
200
|
-
function
|
|
201
|
-
let n = t(), { currentUser: y } = e(), S = y?.id, [
|
|
263
|
+
function F() {
|
|
264
|
+
let n = t(), { currentUser: y } = e(), S = y?.id, [C, O] = g(""), [M, F] = g(""), I = ke(C), L = Ae(M), Me = (e) => {
|
|
202
265
|
let t = /* @__PURE__ */ new Date(), n = /* @__PURE__ */ new Date();
|
|
203
|
-
n.setDate(n.getDate() - e),
|
|
204
|
-
},
|
|
205
|
-
|
|
266
|
+
n.setDate(n.getDate() - e), O(n.toISOString().slice(0, 10)), F(t.toISOString().slice(0, 10));
|
|
267
|
+
}, Ne = () => {
|
|
268
|
+
O(""), F("");
|
|
206
269
|
}, R = I || L ? {
|
|
207
270
|
startDate: I,
|
|
208
271
|
endDate: L
|
|
@@ -212,7 +275,7 @@ function P() {
|
|
|
212
275
|
} : {}), B = le(S ? {
|
|
213
276
|
learnerId: S,
|
|
214
277
|
...R
|
|
215
|
-
} : {}), V = ce(S ? { menteeId: S } : {}), H = re(S ? { learnerId: S } : {}),
|
|
278
|
+
} : {}), V = ce(S ? { menteeId: S } : {}), H = re(S ? { learnerId: S } : {}), Pe = ie({ status: "PUBLISHED" }), Fe = se({ status: "PUBLISHED" }), Ie = oe({}), U = h(() => z.data?.tecListEnrollments.items ?? [], [z.data]), W = h(() => B.data?.tecListSubmissions.items ?? [], [B.data]), G = V.data?.tecListSessions.items ?? [], K = H.data?.tecListCertificates ?? [], Le = Pe.data?.tecListCourses.items.length ?? 0, Re = Fe.data?.tecListProblems.items.length ?? 0, ze = Ie.data?.tecListHackathons.items.length ?? 0, q = h(() => {
|
|
216
279
|
let e = U.filter((e) => e.status === "COMPLETED").length, t = U.length ? Math.round(U.reduce((e, t) => e + t.progressPct, 0) / U.length) : 0, n = W.filter((e) => e.verdict === "ACCEPTED");
|
|
217
280
|
return {
|
|
218
281
|
coursesCompleted: e,
|
|
@@ -228,7 +291,21 @@ function P() {
|
|
|
228
291
|
label: Te[e],
|
|
229
292
|
count: W.filter((t) => t.verdict === e).length,
|
|
230
293
|
color: Ee[e]
|
|
231
|
-
})).filter((e) => e.count > 0), [W]),
|
|
294
|
+
})).filter((e) => e.count > 0), [W]), Be = h(() => {
|
|
295
|
+
let e = /* @__PURE__ */ new Map();
|
|
296
|
+
return W.forEach((t) => {
|
|
297
|
+
let n = t.problem?.topic?.trim() || "Untagged", r = e.get(n) ?? {
|
|
298
|
+
accepted: 0,
|
|
299
|
+
attempted: 0
|
|
300
|
+
};
|
|
301
|
+
r.attempted += 1, t.verdict === "ACCEPTED" && (r.accepted += 1), e.set(n, r);
|
|
302
|
+
}), [...e.entries()].map(([e, t]) => ({
|
|
303
|
+
topic: e,
|
|
304
|
+
accepted: t.accepted,
|
|
305
|
+
attempted: t.attempted,
|
|
306
|
+
rate: Math.round(t.accepted / t.attempted * 100)
|
|
307
|
+
})).sort((e, t) => t.rate - e.rate || t.attempted - e.attempted);
|
|
308
|
+
}, [W]), X = h(() => {
|
|
232
309
|
let e = /* @__PURE__ */ new Map(), t = (t, n) => {
|
|
233
310
|
let { key: r, label: i } = De(t), a = e.get(r) ?? {
|
|
234
311
|
label: i,
|
|
@@ -238,111 +315,111 @@ function P() {
|
|
|
238
315
|
a[n] += 1, e.set(r, a);
|
|
239
316
|
};
|
|
240
317
|
return W.forEach((e) => t(e.createdAt, "submissions")), U.forEach((e) => t(e.createdAt, "enrollments")), [...e.entries()].sort((e, t) => e[0] - t[0]).slice(-8).map(([, e]) => e);
|
|
241
|
-
}, [W, U]), Z = U.length > 0 || W.length > 0 || G.length > 0 || K.length > 0,
|
|
242
|
-
/* @__PURE__ */
|
|
318
|
+
}, [W, U]), Z = U.length > 0 || W.length > 0 || G.length > 0 || K.length > 0, Ve = z.loading || B.loading || V.loading || H.loading, Q = z.error || B.error || V.error || H.error, He = Ve && !Z, $ = /* @__PURE__ */ T("div", { children: [
|
|
319
|
+
/* @__PURE__ */ w("h2", {
|
|
243
320
|
className: "mb-3 text-base font-semibold text-text-primary",
|
|
244
321
|
children: "Workspace overview"
|
|
245
322
|
}),
|
|
246
|
-
/* @__PURE__ */
|
|
323
|
+
/* @__PURE__ */ w("p", {
|
|
247
324
|
className: "mb-4 max-w-2xl text-sm text-text-secondary",
|
|
248
325
|
children: "Live content available across the TechnoSpam learning workspace right now."
|
|
249
326
|
}),
|
|
250
|
-
/* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ T("div", {
|
|
251
328
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-3",
|
|
252
329
|
children: [
|
|
253
|
-
/* @__PURE__ */
|
|
330
|
+
/* @__PURE__ */ w(i, {
|
|
254
331
|
label: "Published courses",
|
|
255
|
-
value:
|
|
332
|
+
value: Le,
|
|
256
333
|
icon: _e,
|
|
257
334
|
tone: "blue"
|
|
258
335
|
}),
|
|
259
|
-
/* @__PURE__ */
|
|
336
|
+
/* @__PURE__ */ w(i, {
|
|
260
337
|
label: "Published problems",
|
|
261
|
-
value:
|
|
338
|
+
value: Re,
|
|
262
339
|
icon: b,
|
|
263
340
|
tone: "indigo"
|
|
264
341
|
}),
|
|
265
|
-
/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ w(i, {
|
|
266
343
|
label: "Hackathons",
|
|
267
|
-
value:
|
|
344
|
+
value: ze,
|
|
268
345
|
icon: be,
|
|
269
346
|
tone: "purple"
|
|
270
347
|
})
|
|
271
348
|
]
|
|
272
349
|
})
|
|
273
350
|
] });
|
|
274
|
-
return /* @__PURE__ */
|
|
351
|
+
return /* @__PURE__ */ w(r, {
|
|
275
352
|
hero: !0,
|
|
276
353
|
title: "Analytics",
|
|
277
354
|
description: "Your real learning performance across courses, problems, mentoring and certificates.",
|
|
278
|
-
actions: /* @__PURE__ */
|
|
355
|
+
actions: /* @__PURE__ */ T(E, {
|
|
279
356
|
variant: "outline",
|
|
280
357
|
onClick: () => n("/courses/my-learning-page"),
|
|
281
|
-
children: [/* @__PURE__ */
|
|
358
|
+
children: [/* @__PURE__ */ w(x, { size: 16 }), " My Learning"]
|
|
282
359
|
}),
|
|
283
|
-
children: S ?
|
|
360
|
+
children: S ? He ? /* @__PURE__ */ T("div", {
|
|
284
361
|
className: "space-y-6",
|
|
285
|
-
children: [/* @__PURE__ */
|
|
362
|
+
children: [/* @__PURE__ */ w(te, {
|
|
286
363
|
count: 4,
|
|
287
364
|
height: "h-24"
|
|
288
|
-
}), /* @__PURE__ */
|
|
365
|
+
}), /* @__PURE__ */ w(ne, {
|
|
289
366
|
count: 2,
|
|
290
367
|
height: "h-72"
|
|
291
368
|
})]
|
|
292
|
-
}) : Q && !Z ? /* @__PURE__ */
|
|
369
|
+
}) : Q && !Z ? /* @__PURE__ */ w(ee, {
|
|
293
370
|
title: "Couldn't load your analytics",
|
|
294
371
|
error: Q
|
|
295
|
-
}) : /* @__PURE__ */
|
|
372
|
+
}) : /* @__PURE__ */ T("div", {
|
|
296
373
|
className: "space-y-8",
|
|
297
374
|
children: [
|
|
298
|
-
/* @__PURE__ */
|
|
299
|
-
start:
|
|
300
|
-
end:
|
|
301
|
-
onStart:
|
|
375
|
+
/* @__PURE__ */ w(je, {
|
|
376
|
+
start: C,
|
|
377
|
+
end: M,
|
|
378
|
+
onStart: O,
|
|
302
379
|
onEnd: F,
|
|
303
|
-
onPreset:
|
|
304
|
-
onClear:
|
|
380
|
+
onPreset: Me,
|
|
381
|
+
onClear: Ne
|
|
305
382
|
}),
|
|
306
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ T("div", {
|
|
307
384
|
className: "grid grid-cols-2 gap-3 sm:grid-cols-3 xl:grid-cols-4",
|
|
308
385
|
children: [
|
|
309
|
-
/* @__PURE__ */
|
|
386
|
+
/* @__PURE__ */ w(i, {
|
|
310
387
|
label: "Courses enrolled",
|
|
311
388
|
value: U.length,
|
|
312
389
|
icon: v,
|
|
313
390
|
tone: "blue"
|
|
314
391
|
}),
|
|
315
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ w(i, {
|
|
316
393
|
label: "Courses completed",
|
|
317
394
|
value: q.coursesCompleted,
|
|
318
395
|
icon: x,
|
|
319
396
|
tone: "green"
|
|
320
397
|
}),
|
|
321
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ w(i, {
|
|
322
399
|
label: "Avg progress",
|
|
323
400
|
value: `${q.avgProgress}%`,
|
|
324
401
|
icon: ye,
|
|
325
402
|
tone: "purple"
|
|
326
403
|
}),
|
|
327
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ w(i, {
|
|
328
405
|
label: "Problems solved",
|
|
329
406
|
value: q.problemsSolved,
|
|
330
407
|
icon: b,
|
|
331
408
|
tone: "indigo"
|
|
332
409
|
}),
|
|
333
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ w(i, {
|
|
334
411
|
label: "Acceptance rate",
|
|
335
412
|
value: `${q.acceptanceRate}%`,
|
|
336
413
|
icon: ve,
|
|
337
414
|
tone: "teal"
|
|
338
415
|
}),
|
|
339
|
-
/* @__PURE__ */
|
|
416
|
+
/* @__PURE__ */ w(i, {
|
|
340
417
|
label: "Mentor sessions",
|
|
341
418
|
value: G.length,
|
|
342
419
|
icon: xe,
|
|
343
420
|
tone: "blue"
|
|
344
421
|
}),
|
|
345
|
-
/* @__PURE__ */
|
|
422
|
+
/* @__PURE__ */ w(i, {
|
|
346
423
|
label: "Certificates",
|
|
347
424
|
value: K.length,
|
|
348
425
|
icon: he,
|
|
@@ -350,207 +427,211 @@ function P() {
|
|
|
350
427
|
})
|
|
351
428
|
]
|
|
352
429
|
}),
|
|
353
|
-
Z ? /* @__PURE__ */
|
|
430
|
+
Z ? /* @__PURE__ */ T("div", {
|
|
354
431
|
className: "space-y-4",
|
|
355
|
-
children: [
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
/* @__PURE__ */
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
/* @__PURE__ */ C(c, {
|
|
377
|
-
contentStyle: O,
|
|
378
|
-
labelStyle: k
|
|
379
|
-
}),
|
|
380
|
-
/* @__PURE__ */ C(s, {
|
|
381
|
-
iconType: "circle",
|
|
382
|
-
wrapperStyle: { fontSize: 12 }
|
|
383
|
-
})
|
|
384
|
-
] })
|
|
385
|
-
}), /* @__PURE__ */ C(N, {
|
|
386
|
-
title: "Submissions by verdict",
|
|
387
|
-
subtitle: "Outcomes across your attempts",
|
|
388
|
-
icon: b,
|
|
389
|
-
tone: "purple",
|
|
390
|
-
isEmpty: Y.length === 0,
|
|
391
|
-
emptyLabel: "No submissions yet",
|
|
392
|
-
children: /* @__PURE__ */ w(fe, {
|
|
393
|
-
data: Y,
|
|
394
|
-
margin: {
|
|
395
|
-
top: 8,
|
|
396
|
-
right: 8,
|
|
397
|
-
left: -18,
|
|
398
|
-
bottom: 0
|
|
399
|
-
},
|
|
400
|
-
children: [
|
|
401
|
-
/* @__PURE__ */ C(d, {
|
|
402
|
-
strokeDasharray: "3 3",
|
|
403
|
-
stroke: "var(--color-border-seam)",
|
|
404
|
-
vertical: !1
|
|
405
|
-
}),
|
|
406
|
-
/* @__PURE__ */ C(p, {
|
|
407
|
-
dataKey: "label",
|
|
408
|
-
tick: A,
|
|
409
|
-
axisLine: { stroke: "var(--color-border-seam)" },
|
|
410
|
-
tickLine: !1
|
|
411
|
-
}),
|
|
412
|
-
/* @__PURE__ */ C(m, {
|
|
413
|
-
allowDecimals: !1,
|
|
414
|
-
tick: A,
|
|
415
|
-
axisLine: !1,
|
|
416
|
-
tickLine: !1
|
|
417
|
-
}),
|
|
418
|
-
/* @__PURE__ */ C(c, {
|
|
419
|
-
contentStyle: O,
|
|
420
|
-
labelStyle: k,
|
|
421
|
-
cursor: {
|
|
422
|
-
fill: "var(--color-accent-primary)",
|
|
423
|
-
fillOpacity: .08
|
|
424
|
-
}
|
|
425
|
-
}),
|
|
426
|
-
/* @__PURE__ */ C(de, {
|
|
427
|
-
dataKey: "count",
|
|
428
|
-
name: "Submissions",
|
|
429
|
-
radius: [
|
|
430
|
-
6,
|
|
431
|
-
6,
|
|
432
|
-
0,
|
|
433
|
-
0
|
|
434
|
-
],
|
|
435
|
-
maxBarSize: 56,
|
|
436
|
-
children: Y.map((e) => /* @__PURE__ */ C(u, { fill: e.color }, e.label))
|
|
437
|
-
})
|
|
438
|
-
]
|
|
439
|
-
})
|
|
440
|
-
})]
|
|
441
|
-
}), /* @__PURE__ */ w(E, {
|
|
442
|
-
className: "p-5 transition-shadow duration-200 hover:shadow-lg",
|
|
443
|
-
children: [/* @__PURE__ */ C(M, {
|
|
444
|
-
icon: _,
|
|
445
|
-
title: "Learning activity over time",
|
|
446
|
-
subtitle: "Submissions and enrollments per week",
|
|
447
|
-
tone: "teal"
|
|
448
|
-
}), X.length === 0 ? /* @__PURE__ */ C("div", {
|
|
449
|
-
className: "flex h-[240px] items-center justify-center text-sm text-text-muted",
|
|
450
|
-
children: "No dated activity yet"
|
|
451
|
-
}) : /* @__PURE__ */ C(l, {
|
|
452
|
-
width: "100%",
|
|
453
|
-
height: 280,
|
|
454
|
-
children: /* @__PURE__ */ w(me, {
|
|
455
|
-
data: X,
|
|
456
|
-
margin: {
|
|
457
|
-
top: 8,
|
|
458
|
-
right: 12,
|
|
459
|
-
left: -18,
|
|
460
|
-
bottom: 0
|
|
461
|
-
},
|
|
462
|
-
children: [
|
|
463
|
-
/* @__PURE__ */ w("defs", { children: [/* @__PURE__ */ w("linearGradient", {
|
|
464
|
-
id: "tec-grad-submissions",
|
|
465
|
-
x1: "0",
|
|
466
|
-
y1: "0",
|
|
467
|
-
x2: "0",
|
|
468
|
-
y2: "1",
|
|
469
|
-
children: [/* @__PURE__ */ C("stop", {
|
|
470
|
-
offset: "0%",
|
|
471
|
-
stopColor: "var(--color-accent-primary)",
|
|
472
|
-
stopOpacity: .35
|
|
473
|
-
}), /* @__PURE__ */ C("stop", {
|
|
474
|
-
offset: "100%",
|
|
475
|
-
stopColor: "var(--color-accent-primary)",
|
|
476
|
-
stopOpacity: 0
|
|
477
|
-
})]
|
|
478
|
-
}), /* @__PURE__ */ w("linearGradient", {
|
|
479
|
-
id: "tec-grad-enrollments",
|
|
480
|
-
x1: "0",
|
|
481
|
-
y1: "0",
|
|
482
|
-
x2: "0",
|
|
483
|
-
y2: "1",
|
|
484
|
-
children: [/* @__PURE__ */ C("stop", {
|
|
485
|
-
offset: "0%",
|
|
486
|
-
stopColor: "var(--color-accent-teal)",
|
|
487
|
-
stopOpacity: .35
|
|
488
|
-
}), /* @__PURE__ */ C("stop", {
|
|
489
|
-
offset: "100%",
|
|
490
|
-
stopColor: "var(--color-accent-teal)",
|
|
491
|
-
stopOpacity: 0
|
|
492
|
-
})]
|
|
493
|
-
})] }),
|
|
494
|
-
/* @__PURE__ */ C(d, {
|
|
495
|
-
strokeDasharray: "3 3",
|
|
496
|
-
stroke: "var(--color-border-seam)",
|
|
497
|
-
vertical: !1
|
|
498
|
-
}),
|
|
499
|
-
/* @__PURE__ */ C(p, {
|
|
500
|
-
dataKey: "label",
|
|
501
|
-
tick: A,
|
|
502
|
-
axisLine: { stroke: "var(--color-border-seam)" },
|
|
503
|
-
tickLine: !1
|
|
504
|
-
}),
|
|
505
|
-
/* @__PURE__ */ C(m, {
|
|
506
|
-
allowDecimals: !1,
|
|
507
|
-
tick: A,
|
|
508
|
-
axisLine: !1,
|
|
509
|
-
tickLine: !1
|
|
432
|
+
children: [
|
|
433
|
+
/* @__PURE__ */ T("div", {
|
|
434
|
+
className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
|
|
435
|
+
children: [/* @__PURE__ */ w(P, {
|
|
436
|
+
title: "Enrollments by status",
|
|
437
|
+
subtitle: "How your courses are progressing",
|
|
438
|
+
icon: v,
|
|
439
|
+
tone: "blue",
|
|
440
|
+
isEmpty: J.length === 0,
|
|
441
|
+
emptyLabel: "No enrollments yet",
|
|
442
|
+
children: /* @__PURE__ */ T(pe, { children: [
|
|
443
|
+
/* @__PURE__ */ w(ue, {
|
|
444
|
+
data: J,
|
|
445
|
+
dataKey: "value",
|
|
446
|
+
nameKey: "name",
|
|
447
|
+
innerRadius: 60,
|
|
448
|
+
outerRadius: 92,
|
|
449
|
+
paddingAngle: 2,
|
|
450
|
+
stroke: "var(--color-bg-surface)",
|
|
451
|
+
strokeWidth: 2,
|
|
452
|
+
children: J.map((e) => /* @__PURE__ */ w(u, { fill: e.color }, e.name))
|
|
510
453
|
}),
|
|
511
|
-
/* @__PURE__ */
|
|
512
|
-
contentStyle:
|
|
513
|
-
labelStyle:
|
|
454
|
+
/* @__PURE__ */ w(c, {
|
|
455
|
+
contentStyle: k,
|
|
456
|
+
labelStyle: A
|
|
514
457
|
}),
|
|
515
|
-
/* @__PURE__ */
|
|
458
|
+
/* @__PURE__ */ w(s, {
|
|
516
459
|
iconType: "circle",
|
|
517
460
|
wrapperStyle: { fontSize: 12 }
|
|
518
|
-
}),
|
|
519
|
-
/* @__PURE__ */ C(f, {
|
|
520
|
-
type: "monotone",
|
|
521
|
-
dataKey: "submissions",
|
|
522
|
-
name: "Submissions",
|
|
523
|
-
stroke: "var(--color-accent-primary)",
|
|
524
|
-
strokeWidth: 2,
|
|
525
|
-
fill: "url(#tec-grad-submissions)"
|
|
526
|
-
}),
|
|
527
|
-
/* @__PURE__ */ C(f, {
|
|
528
|
-
type: "monotone",
|
|
529
|
-
dataKey: "enrollments",
|
|
530
|
-
name: "Enrollments",
|
|
531
|
-
stroke: "var(--color-accent-teal)",
|
|
532
|
-
strokeWidth: 2,
|
|
533
|
-
fill: "url(#tec-grad-enrollments)"
|
|
534
461
|
})
|
|
535
|
-
]
|
|
536
|
-
})
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
462
|
+
] })
|
|
463
|
+
}), /* @__PURE__ */ w(P, {
|
|
464
|
+
title: "Submissions by verdict",
|
|
465
|
+
subtitle: "Outcomes across your attempts",
|
|
466
|
+
icon: b,
|
|
467
|
+
tone: "purple",
|
|
468
|
+
isEmpty: Y.length === 0,
|
|
469
|
+
emptyLabel: "No submissions yet",
|
|
470
|
+
children: /* @__PURE__ */ T(fe, {
|
|
471
|
+
data: Y,
|
|
472
|
+
margin: {
|
|
473
|
+
top: 8,
|
|
474
|
+
right: 8,
|
|
475
|
+
left: -18,
|
|
476
|
+
bottom: 0
|
|
477
|
+
},
|
|
478
|
+
children: [
|
|
479
|
+
/* @__PURE__ */ w(d, {
|
|
480
|
+
strokeDasharray: "3 3",
|
|
481
|
+
stroke: "var(--color-border-seam)",
|
|
482
|
+
vertical: !1
|
|
483
|
+
}),
|
|
484
|
+
/* @__PURE__ */ w(p, {
|
|
485
|
+
dataKey: "label",
|
|
486
|
+
tick: j,
|
|
487
|
+
axisLine: { stroke: "var(--color-border-seam)" },
|
|
488
|
+
tickLine: !1
|
|
489
|
+
}),
|
|
490
|
+
/* @__PURE__ */ w(m, {
|
|
491
|
+
allowDecimals: !1,
|
|
492
|
+
tick: j,
|
|
493
|
+
axisLine: !1,
|
|
494
|
+
tickLine: !1
|
|
495
|
+
}),
|
|
496
|
+
/* @__PURE__ */ w(c, {
|
|
497
|
+
contentStyle: k,
|
|
498
|
+
labelStyle: A,
|
|
499
|
+
cursor: {
|
|
500
|
+
fill: "var(--color-accent-primary)",
|
|
501
|
+
fillOpacity: .08
|
|
502
|
+
}
|
|
503
|
+
}),
|
|
504
|
+
/* @__PURE__ */ w(de, {
|
|
505
|
+
dataKey: "count",
|
|
506
|
+
name: "Submissions",
|
|
507
|
+
radius: [
|
|
508
|
+
6,
|
|
509
|
+
6,
|
|
510
|
+
0,
|
|
511
|
+
0
|
|
512
|
+
],
|
|
513
|
+
maxBarSize: 56,
|
|
514
|
+
children: Y.map((e) => /* @__PURE__ */ w(u, { fill: e.color }, e.label))
|
|
515
|
+
})
|
|
516
|
+
]
|
|
517
|
+
})
|
|
518
|
+
})]
|
|
519
|
+
}),
|
|
520
|
+
/* @__PURE__ */ w(Oe, { data: Be }),
|
|
521
|
+
/* @__PURE__ */ T(D, {
|
|
522
|
+
className: "p-5 transition-shadow duration-200 hover:shadow-lg",
|
|
523
|
+
children: [/* @__PURE__ */ w(N, {
|
|
524
|
+
icon: _,
|
|
525
|
+
title: "Learning activity over time",
|
|
526
|
+
subtitle: "Submissions and enrollments per week",
|
|
527
|
+
tone: "teal"
|
|
528
|
+
}), X.length === 0 ? /* @__PURE__ */ w("div", {
|
|
529
|
+
className: "flex h-[240px] items-center justify-center text-sm text-text-muted",
|
|
530
|
+
children: "No dated activity yet"
|
|
531
|
+
}) : /* @__PURE__ */ w(l, {
|
|
532
|
+
width: "100%",
|
|
533
|
+
height: 280,
|
|
534
|
+
children: /* @__PURE__ */ T(me, {
|
|
535
|
+
data: X,
|
|
536
|
+
margin: {
|
|
537
|
+
top: 8,
|
|
538
|
+
right: 12,
|
|
539
|
+
left: -18,
|
|
540
|
+
bottom: 0
|
|
541
|
+
},
|
|
542
|
+
children: [
|
|
543
|
+
/* @__PURE__ */ T("defs", { children: [/* @__PURE__ */ T("linearGradient", {
|
|
544
|
+
id: "tec-grad-submissions",
|
|
545
|
+
x1: "0",
|
|
546
|
+
y1: "0",
|
|
547
|
+
x2: "0",
|
|
548
|
+
y2: "1",
|
|
549
|
+
children: [/* @__PURE__ */ w("stop", {
|
|
550
|
+
offset: "0%",
|
|
551
|
+
stopColor: "var(--color-accent-primary)",
|
|
552
|
+
stopOpacity: .35
|
|
553
|
+
}), /* @__PURE__ */ w("stop", {
|
|
554
|
+
offset: "100%",
|
|
555
|
+
stopColor: "var(--color-accent-primary)",
|
|
556
|
+
stopOpacity: 0
|
|
557
|
+
})]
|
|
558
|
+
}), /* @__PURE__ */ T("linearGradient", {
|
|
559
|
+
id: "tec-grad-enrollments",
|
|
560
|
+
x1: "0",
|
|
561
|
+
y1: "0",
|
|
562
|
+
x2: "0",
|
|
563
|
+
y2: "1",
|
|
564
|
+
children: [/* @__PURE__ */ w("stop", {
|
|
565
|
+
offset: "0%",
|
|
566
|
+
stopColor: "var(--color-accent-teal)",
|
|
567
|
+
stopOpacity: .35
|
|
568
|
+
}), /* @__PURE__ */ w("stop", {
|
|
569
|
+
offset: "100%",
|
|
570
|
+
stopColor: "var(--color-accent-teal)",
|
|
571
|
+
stopOpacity: 0
|
|
572
|
+
})]
|
|
573
|
+
})] }),
|
|
574
|
+
/* @__PURE__ */ w(d, {
|
|
575
|
+
strokeDasharray: "3 3",
|
|
576
|
+
stroke: "var(--color-border-seam)",
|
|
577
|
+
vertical: !1
|
|
578
|
+
}),
|
|
579
|
+
/* @__PURE__ */ w(p, {
|
|
580
|
+
dataKey: "label",
|
|
581
|
+
tick: j,
|
|
582
|
+
axisLine: { stroke: "var(--color-border-seam)" },
|
|
583
|
+
tickLine: !1
|
|
584
|
+
}),
|
|
585
|
+
/* @__PURE__ */ w(m, {
|
|
586
|
+
allowDecimals: !1,
|
|
587
|
+
tick: j,
|
|
588
|
+
axisLine: !1,
|
|
589
|
+
tickLine: !1
|
|
590
|
+
}),
|
|
591
|
+
/* @__PURE__ */ w(c, {
|
|
592
|
+
contentStyle: k,
|
|
593
|
+
labelStyle: A
|
|
594
|
+
}),
|
|
595
|
+
/* @__PURE__ */ w(s, {
|
|
596
|
+
iconType: "circle",
|
|
597
|
+
wrapperStyle: { fontSize: 12 }
|
|
598
|
+
}),
|
|
599
|
+
/* @__PURE__ */ w(f, {
|
|
600
|
+
type: "monotone",
|
|
601
|
+
dataKey: "submissions",
|
|
602
|
+
name: "Submissions",
|
|
603
|
+
stroke: "var(--color-accent-primary)",
|
|
604
|
+
strokeWidth: 2,
|
|
605
|
+
fill: "url(#tec-grad-submissions)"
|
|
606
|
+
}),
|
|
607
|
+
/* @__PURE__ */ w(f, {
|
|
608
|
+
type: "monotone",
|
|
609
|
+
dataKey: "enrollments",
|
|
610
|
+
name: "Enrollments",
|
|
611
|
+
stroke: "var(--color-accent-teal)",
|
|
612
|
+
strokeWidth: 2,
|
|
613
|
+
fill: "url(#tec-grad-enrollments)"
|
|
614
|
+
})
|
|
615
|
+
]
|
|
616
|
+
})
|
|
617
|
+
})]
|
|
618
|
+
})
|
|
619
|
+
]
|
|
620
|
+
}) : /* @__PURE__ */ w(o, {
|
|
621
|
+
icon: /* @__PURE__ */ w(_, { size: 26 }),
|
|
541
622
|
title: "No learning activity yet",
|
|
542
623
|
description: "Enroll in a course or solve a problem and your progress charts will build here. TechnoSpam is pre-launch — start learning to see your data.",
|
|
543
|
-
action: /* @__PURE__ */
|
|
624
|
+
action: /* @__PURE__ */ w(E, {
|
|
544
625
|
onClick: () => n("/courses/courses-page"),
|
|
545
626
|
children: "Browse courses"
|
|
546
627
|
})
|
|
547
628
|
}),
|
|
548
629
|
$
|
|
549
630
|
]
|
|
550
|
-
}) : /* @__PURE__ */
|
|
631
|
+
}) : /* @__PURE__ */ T("div", {
|
|
551
632
|
className: "space-y-8",
|
|
552
|
-
children: [/* @__PURE__ */
|
|
553
|
-
icon: /* @__PURE__ */
|
|
633
|
+
children: [/* @__PURE__ */ w(o, {
|
|
634
|
+
icon: /* @__PURE__ */ w(ge, { size: 26 }),
|
|
554
635
|
title: "Sign in to view your analytics",
|
|
555
636
|
description: "Your personal learning metrics appear here once you're signed in."
|
|
556
637
|
}), $]
|
|
@@ -558,6 +639,6 @@ function P() {
|
|
|
558
639
|
});
|
|
559
640
|
}
|
|
560
641
|
//#endregion
|
|
561
|
-
export {
|
|
642
|
+
export { F as AnalyticsAnalyticsPagePage };
|
|
562
643
|
|
|
563
644
|
//# sourceMappingURL=AnalyticsAnalyticsPagePage.js.map
|