@burdenoff/microfe-buildmyiq 2026.509.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/buildmyiq/BuildMyIQRoot.d.ts +5 -0
- package/dist/buildmyiq/BuildMyIQRoot.d.ts.map +1 -0
- package/dist/buildmyiq/BuildMyIQRoot.js +329 -0
- package/dist/buildmyiq/BuildMyIQRoot.js.map +1 -0
- package/dist/buildmyiq/BuildMyIQRoutes.d.ts +2 -0
- package/dist/buildmyiq/BuildMyIQRoutes.d.ts.map +1 -0
- package/dist/buildmyiq/BuildMyIQRoutes.js +171 -0
- package/dist/buildmyiq/BuildMyIQRoutes.js.map +1 -0
- package/dist/buildmyiq/index.d.ts +5 -0
- package/dist/buildmyiq/index.d.ts.map +1 -0
- package/dist/buildmyiq/index.js +3 -0
- package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.js +271 -0
- package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.js +212 -0
- package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AdminAdminUsersPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AdminAdminUsersPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AdminAdminUsersPagePage.js +235 -0
- package/dist/buildmyiq/pages/AdminAdminUsersPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AdminIndexPage.d.ts +2 -0
- package/dist/buildmyiq/pages/AdminIndexPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AdminIndexPage.js +274 -0
- package/dist/buildmyiq/pages/AdminIndexPage.js.map +1 -0
- package/dist/buildmyiq/pages/AiAichatPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AiAichatPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AiAichatPagePage.js +209 -0
- package/dist/buildmyiq/pages/AiAichatPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.js +318 -0
- package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AiAitutoringPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AiAitutoringPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AiAitutoringPagePage.js +290 -0
- package/dist/buildmyiq/pages/AiAitutoringPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AiIndexPage.d.ts +2 -0
- package/dist/buildmyiq/pages/AiIndexPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AiIndexPage.js +191 -0
- package/dist/buildmyiq/pages/AiIndexPage.js.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.js +290 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.js +215 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.js +224 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.js +174 -0
- package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.js.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsIndexPage.d.ts +2 -0
- package/dist/buildmyiq/pages/AssessmentsIndexPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/AssessmentsIndexPage.js +174 -0
- package/dist/buildmyiq/pages/AssessmentsIndexPage.js.map +1 -0
- package/dist/buildmyiq/pages/CalendarPage.d.ts +2 -0
- package/dist/buildmyiq/pages/CalendarPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CalendarPage.js +242 -0
- package/dist/buildmyiq/pages/CalendarPage.js.map +1 -0
- package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.js +180 -0
- package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CommunicationForumsPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CommunicationForumsPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CommunicationForumsPagePage.js +154 -0
- package/dist/buildmyiq/pages/CommunicationForumsPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CommunicationIndexPage.d.ts +2 -0
- package/dist/buildmyiq/pages/CommunicationIndexPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CommunicationIndexPage.js +191 -0
- package/dist/buildmyiq/pages/CommunicationIndexPage.js.map +1 -0
- package/dist/buildmyiq/pages/CommunicationMessagesPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CommunicationMessagesPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CommunicationMessagesPagePage.js +261 -0
- package/dist/buildmyiq/pages/CommunicationMessagesPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseContentPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CoursesCourseContentPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseContentPagePage.js +164 -0
- package/dist/buildmyiq/pages/CoursesCourseContentPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.js +239 -0
- package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.js +368 -0
- package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.js +219 -0
- package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseListPagePage.d.ts +2 -0
- package/dist/buildmyiq/pages/CoursesCourseListPagePage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CoursesCourseListPagePage.js +153 -0
- package/dist/buildmyiq/pages/CoursesCourseListPagePage.js.map +1 -0
- package/dist/buildmyiq/pages/CoursesIndexPage.d.ts +2 -0
- package/dist/buildmyiq/pages/CoursesIndexPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/CoursesIndexPage.js +138 -0
- package/dist/buildmyiq/pages/CoursesIndexPage.js.map +1 -0
- package/dist/buildmyiq/pages/DashboardPage.d.ts +2 -0
- package/dist/buildmyiq/pages/DashboardPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/DashboardPage.js +264 -0
- package/dist/buildmyiq/pages/DashboardPage.js.map +1 -0
- package/dist/buildmyiq/pages/MessagesPage.d.ts +2 -0
- package/dist/buildmyiq/pages/MessagesPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/MessagesPage.js +261 -0
- package/dist/buildmyiq/pages/MessagesPage.js.map +1 -0
- package/dist/buildmyiq/pages/ProfileProgressPage.d.ts +2 -0
- package/dist/buildmyiq/pages/ProfileProgressPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/ProfileProgressPage.js +194 -0
- package/dist/buildmyiq/pages/ProfileProgressPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingAnalyticsPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingAnalyticsPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingAnalyticsPage.js +243 -0
- package/dist/buildmyiq/pages/TeachingAnalyticsPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingContentPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingContentPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingContentPage.js +165 -0
- package/dist/buildmyiq/pages/TeachingContentPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingCoursesPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingCoursesPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingCoursesPage.js +151 -0
- package/dist/buildmyiq/pages/TeachingCoursesPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingGradingPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingGradingPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingGradingPage.js +204 -0
- package/dist/buildmyiq/pages/TeachingGradingPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingIndexPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingIndexPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingIndexPage.js +220 -0
- package/dist/buildmyiq/pages/TeachingIndexPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingLessonPlansPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingLessonPlansPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingLessonPlansPage.js +157 -0
- package/dist/buildmyiq/pages/TeachingLessonPlansPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingQuestionsPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingQuestionsPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingQuestionsPage.js +184 -0
- package/dist/buildmyiq/pages/TeachingQuestionsPage.js.map +1 -0
- package/dist/buildmyiq/pages/TeachingStudentsPage.d.ts +2 -0
- package/dist/buildmyiq/pages/TeachingStudentsPage.d.ts.map +1 -0
- package/dist/buildmyiq/pages/TeachingStudentsPage.js +204 -0
- package/dist/buildmyiq/pages/TeachingStudentsPage.js.map +1 -0
- package/dist/buildmyiq/providers/BuildMyIQProvider.d.ts +6 -0
- package/dist/buildmyiq/providers/BuildMyIQProvider.d.ts.map +1 -0
- package/dist/buildmyiq/providers/BuildMyIQProvider.js +27 -0
- package/dist/buildmyiq/providers/BuildMyIQProvider.js.map +1 -0
- package/dist/buildmyiq/store/buildmyiqStore.d.ts +189 -0
- package/dist/buildmyiq/store/buildmyiqStore.d.ts.map +1 -0
- package/dist/buildmyiq/store/buildmyiqStore.js +1160 -0
- package/dist/buildmyiq/store/buildmyiqStore.js.map +1 -0
- package/dist/buildmyiq/types/index.d.ts +51 -0
- package/dist/buildmyiq/types/index.d.ts.map +1 -0
- package/dist/buildmyiq/utils/cn.d.ts +4 -0
- package/dist/buildmyiq/utils/cn.d.ts.map +1 -0
- package/dist/buildmyiq/utils/navigation.d.ts +2 -0
- package/dist/buildmyiq/utils/navigation.d.ts.map +1 -0
- package/dist/buildmyiq/utils/navigation.js +8 -0
- package/dist/buildmyiq/utils/navigation.js.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +18199 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +43046 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +107 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { useBuildMyIQStore as e } from "../store/buildmyiqStore.js";
|
|
2
|
+
import { useState as t } from "react";
|
|
3
|
+
import { Download as n, MoreHorizontal as r, Plus as i, Search as a } from "lucide-react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
import { Badge as c, Button as l, Card as u, CardContent as d, Input as f } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region src/buildmyiq/pages/AdminAdminUsersPagePage.tsx
|
|
7
|
+
var p = {
|
|
8
|
+
active: "bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400",
|
|
9
|
+
inactive: "bg-gray-100 text-gray-700 dark:bg-gray-900/30 dark:text-gray-400",
|
|
10
|
+
at_risk: "bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400"
|
|
11
|
+
};
|
|
12
|
+
function m() {
|
|
13
|
+
let { students: m, instructors: h } = e(), [g, _] = t(""), [v, y] = t("all"), b = [...m.map((e) => ({
|
|
14
|
+
id: e.id,
|
|
15
|
+
name: e.name,
|
|
16
|
+
email: e.email,
|
|
17
|
+
role: "student",
|
|
18
|
+
status: e.status,
|
|
19
|
+
courses: e.enrolledCourses,
|
|
20
|
+
lastActive: e.lastActive,
|
|
21
|
+
avatar: e.avatar
|
|
22
|
+
})), ...h.map((e) => ({
|
|
23
|
+
id: e.id,
|
|
24
|
+
name: e.name,
|
|
25
|
+
email: e.email,
|
|
26
|
+
role: "instructor",
|
|
27
|
+
status: "active",
|
|
28
|
+
courses: e.courses,
|
|
29
|
+
lastActive: "Recently",
|
|
30
|
+
avatar: e.name.split(" ").map((e) => e[0]).join("")
|
|
31
|
+
}))], x = b.filter((e) => {
|
|
32
|
+
let t = e.name.toLowerCase().includes(g.toLowerCase()) || e.email.toLowerCase().includes(g.toLowerCase()), n = v === "all" || e.role === v;
|
|
33
|
+
return t && n;
|
|
34
|
+
}), S = b.filter((e) => e.status === "active").length, C = b.filter((e) => e.status === "at_risk").length;
|
|
35
|
+
return /* @__PURE__ */ s("div", {
|
|
36
|
+
className: "space-y-6 p-6",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ s("div", {
|
|
39
|
+
className: "flex items-center justify-between",
|
|
40
|
+
children: [/* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h1", {
|
|
41
|
+
className: "text-2xl font-semibold",
|
|
42
|
+
children: "User Management"
|
|
43
|
+
}), /* @__PURE__ */ o("p", {
|
|
44
|
+
className: "text-sm text-muted-foreground",
|
|
45
|
+
children: "Manage students and instructors on the platform"
|
|
46
|
+
})] }), /* @__PURE__ */ s("div", {
|
|
47
|
+
className: "flex gap-2",
|
|
48
|
+
children: [/* @__PURE__ */ s(l, {
|
|
49
|
+
variant: "outline",
|
|
50
|
+
size: "sm",
|
|
51
|
+
children: [/* @__PURE__ */ o(n, { className: "mr-2 h-4 w-4" }), "Export"]
|
|
52
|
+
}), /* @__PURE__ */ s(l, {
|
|
53
|
+
size: "sm",
|
|
54
|
+
children: [/* @__PURE__ */ o(i, { className: "mr-2 h-4 w-4" }), "Add User"]
|
|
55
|
+
})]
|
|
56
|
+
})]
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ s("div", {
|
|
59
|
+
className: "grid grid-cols-1 md:grid-cols-5 gap-4",
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
62
|
+
className: "pt-6",
|
|
63
|
+
children: [/* @__PURE__ */ o("p", {
|
|
64
|
+
className: "text-sm text-muted-foreground",
|
|
65
|
+
children: "Total Users"
|
|
66
|
+
}), /* @__PURE__ */ o("p", {
|
|
67
|
+
className: "text-2xl font-bold",
|
|
68
|
+
children: b.length
|
|
69
|
+
})]
|
|
70
|
+
}) }),
|
|
71
|
+
/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
72
|
+
className: "pt-6",
|
|
73
|
+
children: [/* @__PURE__ */ o("p", {
|
|
74
|
+
className: "text-sm text-muted-foreground",
|
|
75
|
+
children: "Students"
|
|
76
|
+
}), /* @__PURE__ */ o("p", {
|
|
77
|
+
className: "text-2xl font-bold text-blue-600",
|
|
78
|
+
children: m.length
|
|
79
|
+
})]
|
|
80
|
+
}) }),
|
|
81
|
+
/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
82
|
+
className: "pt-6",
|
|
83
|
+
children: [/* @__PURE__ */ o("p", {
|
|
84
|
+
className: "text-sm text-muted-foreground",
|
|
85
|
+
children: "Instructors"
|
|
86
|
+
}), /* @__PURE__ */ o("p", {
|
|
87
|
+
className: "text-2xl font-bold text-purple-600",
|
|
88
|
+
children: h.length
|
|
89
|
+
})]
|
|
90
|
+
}) }),
|
|
91
|
+
/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
92
|
+
className: "pt-6",
|
|
93
|
+
children: [/* @__PURE__ */ o("p", {
|
|
94
|
+
className: "text-sm text-muted-foreground",
|
|
95
|
+
children: "Active"
|
|
96
|
+
}), /* @__PURE__ */ o("p", {
|
|
97
|
+
className: "text-2xl font-bold text-green-600",
|
|
98
|
+
children: S
|
|
99
|
+
})]
|
|
100
|
+
}) }),
|
|
101
|
+
/* @__PURE__ */ o(u, { children: /* @__PURE__ */ s(d, {
|
|
102
|
+
className: "pt-6",
|
|
103
|
+
children: [/* @__PURE__ */ o("p", {
|
|
104
|
+
className: "text-sm text-muted-foreground",
|
|
105
|
+
children: "At Risk"
|
|
106
|
+
}), /* @__PURE__ */ o("p", {
|
|
107
|
+
className: "text-2xl font-bold text-yellow-600",
|
|
108
|
+
children: C
|
|
109
|
+
})]
|
|
110
|
+
}) })
|
|
111
|
+
]
|
|
112
|
+
}),
|
|
113
|
+
/* @__PURE__ */ s("div", {
|
|
114
|
+
className: "flex flex-col sm:flex-row gap-3",
|
|
115
|
+
children: [/* @__PURE__ */ s("div", {
|
|
116
|
+
className: "relative flex-1",
|
|
117
|
+
children: [/* @__PURE__ */ o(a, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ o(f, {
|
|
118
|
+
placeholder: "Search users by name or email...",
|
|
119
|
+
value: g,
|
|
120
|
+
onChange: (e) => _(e.target.value),
|
|
121
|
+
className: "pl-10"
|
|
122
|
+
})]
|
|
123
|
+
}), /* @__PURE__ */ o("div", {
|
|
124
|
+
className: "flex gap-1",
|
|
125
|
+
children: [
|
|
126
|
+
"all",
|
|
127
|
+
"student",
|
|
128
|
+
"instructor"
|
|
129
|
+
].map((e) => /* @__PURE__ */ o(l, {
|
|
130
|
+
variant: v === e ? "default" : "outline",
|
|
131
|
+
size: "sm",
|
|
132
|
+
className: "capitalize",
|
|
133
|
+
onClick: () => y(e),
|
|
134
|
+
children: e === "all" ? "All Roles" : `${e}s`
|
|
135
|
+
}, e))
|
|
136
|
+
})]
|
|
137
|
+
}),
|
|
138
|
+
/* @__PURE__ */ o(u, { children: /* @__PURE__ */ o(d, {
|
|
139
|
+
className: "p-0",
|
|
140
|
+
children: /* @__PURE__ */ o("div", {
|
|
141
|
+
className: "overflow-x-auto",
|
|
142
|
+
children: /* @__PURE__ */ s("table", {
|
|
143
|
+
className: "w-full",
|
|
144
|
+
children: [/* @__PURE__ */ o("thead", { children: /* @__PURE__ */ s("tr", {
|
|
145
|
+
className: "border-b bg-muted/50",
|
|
146
|
+
children: [
|
|
147
|
+
/* @__PURE__ */ o("th", {
|
|
148
|
+
className: "text-left text-xs font-medium text-muted-foreground p-3",
|
|
149
|
+
children: "User"
|
|
150
|
+
}),
|
|
151
|
+
/* @__PURE__ */ o("th", {
|
|
152
|
+
className: "text-left text-xs font-medium text-muted-foreground p-3",
|
|
153
|
+
children: "Email"
|
|
154
|
+
}),
|
|
155
|
+
/* @__PURE__ */ o("th", {
|
|
156
|
+
className: "text-left text-xs font-medium text-muted-foreground p-3",
|
|
157
|
+
children: "Role"
|
|
158
|
+
}),
|
|
159
|
+
/* @__PURE__ */ o("th", {
|
|
160
|
+
className: "text-left text-xs font-medium text-muted-foreground p-3",
|
|
161
|
+
children: "Status"
|
|
162
|
+
}),
|
|
163
|
+
/* @__PURE__ */ o("th", {
|
|
164
|
+
className: "text-left text-xs font-medium text-muted-foreground p-3",
|
|
165
|
+
children: "Courses"
|
|
166
|
+
}),
|
|
167
|
+
/* @__PURE__ */ o("th", {
|
|
168
|
+
className: "text-left text-xs font-medium text-muted-foreground p-3",
|
|
169
|
+
children: "Last Active"
|
|
170
|
+
}),
|
|
171
|
+
/* @__PURE__ */ o("th", { className: "text-left text-xs font-medium text-muted-foreground p-3" })
|
|
172
|
+
]
|
|
173
|
+
}) }), /* @__PURE__ */ o("tbody", { children: x.map((e) => /* @__PURE__ */ s("tr", {
|
|
174
|
+
className: "border-b hover:bg-muted/30 transition-colors",
|
|
175
|
+
children: [
|
|
176
|
+
/* @__PURE__ */ o("td", {
|
|
177
|
+
className: "p-3",
|
|
178
|
+
children: /* @__PURE__ */ s("div", {
|
|
179
|
+
className: "flex items-center gap-2",
|
|
180
|
+
children: [/* @__PURE__ */ o("div", {
|
|
181
|
+
className: "w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-bold",
|
|
182
|
+
children: e.avatar
|
|
183
|
+
}), /* @__PURE__ */ o("span", {
|
|
184
|
+
className: "text-sm font-medium",
|
|
185
|
+
children: e.name
|
|
186
|
+
})]
|
|
187
|
+
})
|
|
188
|
+
}),
|
|
189
|
+
/* @__PURE__ */ o("td", {
|
|
190
|
+
className: "p-3 text-sm text-muted-foreground",
|
|
191
|
+
children: e.email
|
|
192
|
+
}),
|
|
193
|
+
/* @__PURE__ */ o("td", {
|
|
194
|
+
className: "p-3",
|
|
195
|
+
children: /* @__PURE__ */ o(c, {
|
|
196
|
+
variant: e.role === "instructor" ? "default" : "secondary",
|
|
197
|
+
className: "text-xs capitalize",
|
|
198
|
+
children: e.role
|
|
199
|
+
})
|
|
200
|
+
}),
|
|
201
|
+
/* @__PURE__ */ o("td", {
|
|
202
|
+
className: "p-3",
|
|
203
|
+
children: /* @__PURE__ */ o(c, {
|
|
204
|
+
className: `text-xs ${p[e.status]}`,
|
|
205
|
+
children: e.status.replace("_", " ")
|
|
206
|
+
})
|
|
207
|
+
}),
|
|
208
|
+
/* @__PURE__ */ o("td", {
|
|
209
|
+
className: "p-3 text-sm",
|
|
210
|
+
children: e.courses
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ o("td", {
|
|
213
|
+
className: "p-3 text-sm text-muted-foreground",
|
|
214
|
+
children: e.lastActive
|
|
215
|
+
}),
|
|
216
|
+
/* @__PURE__ */ o("td", {
|
|
217
|
+
className: "p-3",
|
|
218
|
+
children: /* @__PURE__ */ o(l, {
|
|
219
|
+
variant: "ghost",
|
|
220
|
+
size: "sm",
|
|
221
|
+
children: /* @__PURE__ */ o(r, { className: "h-4 w-4" })
|
|
222
|
+
})
|
|
223
|
+
})
|
|
224
|
+
]
|
|
225
|
+
}, e.id)) })]
|
|
226
|
+
})
|
|
227
|
+
})
|
|
228
|
+
}) })
|
|
229
|
+
]
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
//#endregion
|
|
233
|
+
export { m as AdminAdminUsersPagePage };
|
|
234
|
+
|
|
235
|
+
//# sourceMappingURL=AdminAdminUsersPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminAdminUsersPagePage.js","names":[],"sources":["../../../src/buildmyiq/pages/AdminAdminUsersPagePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Badge, Button, Card, CardContent, Input } from '@burdenoff/fe-libs/ui';\nimport { Users, Search, Plus, Download, MoreHorizontal } from 'lucide-react';\nimport { useBuildMyIQStore } from '../store/buildmyiqStore';\n\nconst statusColors: Record<string, string> = {\n active: 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400',\n inactive: 'bg-gray-100 text-gray-700 dark:bg-gray-900/30 dark:text-gray-400',\n at_risk: 'bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400',\n};\n\nexport function AdminAdminUsersPagePage() {\n const { students, instructors } = useBuildMyIQStore();\n const [search, setSearch] = useState('');\n const [roleFilter, setRoleFilter] = useState('all');\n\n const allUsers = [\n ...students.map((s) => ({\n id: s.id,\n name: s.name,\n email: s.email,\n role: 'student' as const,\n status: s.status,\n courses: s.enrolledCourses,\n lastActive: s.lastActive,\n avatar: s.avatar,\n })),\n ...instructors.map((i) => ({\n id: i.id,\n name: i.name,\n email: i.email,\n role: 'instructor' as const,\n status: 'active' as const,\n courses: i.courses,\n lastActive: 'Recently',\n avatar: i.name\n .split(' ')\n .map((n) => n[0])\n .join(''),\n })),\n ];\n\n const filtered = allUsers.filter((u) => {\n const matchesSearch =\n u.name.toLowerCase().includes(search.toLowerCase()) ||\n u.email.toLowerCase().includes(search.toLowerCase());\n const matchesRole = roleFilter === 'all' || u.role === roleFilter;\n return matchesSearch && matchesRole;\n });\n\n const activeCount = allUsers.filter((u) => u.status === 'active').length;\n const atRiskCount = allUsers.filter((u) => u.status === 'at_risk').length;\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">User Management</h1>\n <p className=\"text-sm text-muted-foreground\">\n Manage students and instructors on the platform\n </p>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Download className=\"mr-2 h-4 w-4\" />\n Export\n </Button>\n <Button size=\"sm\">\n <Plus className=\"mr-2 h-4 w-4\" />\n Add User\n </Button>\n </div>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-5 gap-4\">\n <Card>\n <CardContent className=\"pt-6\">\n <p className=\"text-sm text-muted-foreground\">Total Users</p>\n <p className=\"text-2xl font-bold\">{allUsers.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <p className=\"text-sm text-muted-foreground\">Students</p>\n <p className=\"text-2xl font-bold text-blue-600\">{students.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <p className=\"text-sm text-muted-foreground\">Instructors</p>\n <p className=\"text-2xl font-bold text-purple-600\">{instructors.length}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <p className=\"text-sm text-muted-foreground\">Active</p>\n <p className=\"text-2xl font-bold text-green-600\">{activeCount}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <p className=\"text-sm text-muted-foreground\">At Risk</p>\n <p className=\"text-2xl font-bold text-yellow-600\">{atRiskCount}</p>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"flex flex-col sm:flex-row gap-3\">\n <div className=\"relative flex-1\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder=\"Search users by name or email...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-10\"\n />\n </div>\n <div className=\"flex gap-1\">\n {['all', 'student', 'instructor'].map((r) => (\n <Button\n key={r}\n variant={roleFilter === r ? 'default' : 'outline'}\n size=\"sm\"\n className=\"capitalize\"\n onClick={() => setRoleFilter(r)}\n >\n {r === 'all' ? 'All Roles' : `${r}s`}\n </Button>\n ))}\n </div>\n </div>\n\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\">User</th>\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\">Email</th>\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\">Role</th>\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\">\n Status\n </th>\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\">\n Courses\n </th>\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\">\n Last Active\n </th>\n <th className=\"text-left text-xs font-medium text-muted-foreground p-3\"></th>\n </tr>\n </thead>\n <tbody>\n {filtered.map((user) => (\n <tr key={user.id} className=\"border-b hover:bg-muted/30 transition-colors\">\n <td className=\"p-3\">\n <div className=\"flex items-center gap-2\">\n <div className=\"w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center text-xs font-bold\">\n {user.avatar}\n </div>\n <span className=\"text-sm font-medium\">{user.name}</span>\n </div>\n </td>\n <td className=\"p-3 text-sm text-muted-foreground\">{user.email}</td>\n <td className=\"p-3\">\n <Badge\n variant={user.role === 'instructor' ? 'default' : 'secondary'}\n className=\"text-xs capitalize\"\n >\n {user.role}\n </Badge>\n </td>\n <td className=\"p-3\">\n <Badge className={`text-xs ${statusColors[user.status]}`}>\n {user.status.replace('_', ' ')}\n </Badge>\n </td>\n <td className=\"p-3 text-sm\">{user.courses}</td>\n <td className=\"p-3 text-sm text-muted-foreground\">{user.lastActive}</td>\n <td className=\"p-3\">\n <Button variant=\"ghost\" size=\"sm\">\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminIndexPage.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/pages/AdminIndexPage.tsx"],"names":[],"mappings":"AAqDA,wBAAgB,cAAc,4CAyJ7B"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { useBuildMyIQStore as e } from "../store/buildmyiqStore.js";
|
|
2
|
+
import { Activity as t, ArrowRight as n, BarChart3 as r, BookOpen as i, Clock as a, DollarSign as o, Settings as s, Shield as c, Users as l } from "lucide-react";
|
|
3
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as f, Button as p, Card as m, CardContent as h, CardHeader as g, CardTitle as _ } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/buildmyiq/pages/AdminIndexPage.tsx
|
|
6
|
+
var v = [
|
|
7
|
+
{
|
|
8
|
+
id: 1,
|
|
9
|
+
action: "Course published",
|
|
10
|
+
detail: "Data Structures & Algorithms by Dr. James Park",
|
|
11
|
+
time: "2 hours ago",
|
|
12
|
+
type: "course"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 2,
|
|
16
|
+
action: "User registered",
|
|
17
|
+
detail: "New student: Henry Patel (henry.p@university.edu)",
|
|
18
|
+
time: "5 hours ago",
|
|
19
|
+
type: "user"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: 3,
|
|
23
|
+
action: "Assessment graded",
|
|
24
|
+
detail: "Calculus I Midterm - 42 submissions graded",
|
|
25
|
+
time: "1 day ago",
|
|
26
|
+
type: "assessment"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 4,
|
|
30
|
+
action: "System backup completed",
|
|
31
|
+
detail: "Full database backup successful",
|
|
32
|
+
time: "1 day ago",
|
|
33
|
+
type: "system"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 5,
|
|
37
|
+
action: "User role updated",
|
|
38
|
+
detail: "Prof. Amara Osei promoted to Department Head",
|
|
39
|
+
time: "2 days ago",
|
|
40
|
+
type: "user"
|
|
41
|
+
}
|
|
42
|
+
];
|
|
43
|
+
function y() {
|
|
44
|
+
let { courses: y, students: b, instructors: x } = e(), S = b.length + x.length, C = y.filter((e) => e.status === "published").length, w = y.reduce((e, t) => e + t.price * t.students, 0);
|
|
45
|
+
return /* @__PURE__ */ d("div", {
|
|
46
|
+
className: "space-y-6 p-6",
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ d("div", {
|
|
49
|
+
className: "flex items-center justify-between",
|
|
50
|
+
children: [/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h1", {
|
|
51
|
+
className: "text-2xl font-semibold",
|
|
52
|
+
children: "Admin Dashboard"
|
|
53
|
+
}), /* @__PURE__ */ u("p", {
|
|
54
|
+
className: "text-sm text-muted-foreground",
|
|
55
|
+
children: "Platform administration and management"
|
|
56
|
+
})] }), /* @__PURE__ */ d(p, {
|
|
57
|
+
size: "sm",
|
|
58
|
+
variant: "outline",
|
|
59
|
+
children: [/* @__PURE__ */ u(s, { className: "mr-2 h-4 w-4" }), "System Settings"]
|
|
60
|
+
})]
|
|
61
|
+
}),
|
|
62
|
+
/* @__PURE__ */ d("div", {
|
|
63
|
+
className: "grid grid-cols-1 md:grid-cols-4 gap-4",
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ u(m, { children: /* @__PURE__ */ u(h, {
|
|
66
|
+
className: "pt-6",
|
|
67
|
+
children: /* @__PURE__ */ d("div", {
|
|
68
|
+
className: "flex items-center gap-3",
|
|
69
|
+
children: [/* @__PURE__ */ u(l, { className: "h-5 w-5 text-blue-600" }), /* @__PURE__ */ d("div", { children: [
|
|
70
|
+
/* @__PURE__ */ u("p", {
|
|
71
|
+
className: "text-sm text-muted-foreground",
|
|
72
|
+
children: "Total Users"
|
|
73
|
+
}),
|
|
74
|
+
/* @__PURE__ */ u("p", {
|
|
75
|
+
className: "text-2xl font-bold",
|
|
76
|
+
children: S
|
|
77
|
+
}),
|
|
78
|
+
/* @__PURE__ */ u("p", {
|
|
79
|
+
className: "text-xs text-green-600",
|
|
80
|
+
children: "+12 this week"
|
|
81
|
+
})
|
|
82
|
+
] })]
|
|
83
|
+
})
|
|
84
|
+
}) }),
|
|
85
|
+
/* @__PURE__ */ u(m, { children: /* @__PURE__ */ u(h, {
|
|
86
|
+
className: "pt-6",
|
|
87
|
+
children: /* @__PURE__ */ d("div", {
|
|
88
|
+
className: "flex items-center gap-3",
|
|
89
|
+
children: [/* @__PURE__ */ u(i, { className: "h-5 w-5 text-purple-600" }), /* @__PURE__ */ d("div", { children: [
|
|
90
|
+
/* @__PURE__ */ u("p", {
|
|
91
|
+
className: "text-sm text-muted-foreground",
|
|
92
|
+
children: "Active Courses"
|
|
93
|
+
}),
|
|
94
|
+
/* @__PURE__ */ u("p", {
|
|
95
|
+
className: "text-2xl font-bold",
|
|
96
|
+
children: C
|
|
97
|
+
}),
|
|
98
|
+
/* @__PURE__ */ u("p", {
|
|
99
|
+
className: "text-xs text-green-600",
|
|
100
|
+
children: "+2 this month"
|
|
101
|
+
})
|
|
102
|
+
] })]
|
|
103
|
+
})
|
|
104
|
+
}) }),
|
|
105
|
+
/* @__PURE__ */ u(m, { children: /* @__PURE__ */ u(h, {
|
|
106
|
+
className: "pt-6",
|
|
107
|
+
children: /* @__PURE__ */ d("div", {
|
|
108
|
+
className: "flex items-center gap-3",
|
|
109
|
+
children: [/* @__PURE__ */ u(o, { className: "h-5 w-5 text-green-600" }), /* @__PURE__ */ d("div", { children: [
|
|
110
|
+
/* @__PURE__ */ u("p", {
|
|
111
|
+
className: "text-sm text-muted-foreground",
|
|
112
|
+
children: "Total Revenue"
|
|
113
|
+
}),
|
|
114
|
+
/* @__PURE__ */ d("p", {
|
|
115
|
+
className: "text-2xl font-bold",
|
|
116
|
+
children: ["$", w.toLocaleString()]
|
|
117
|
+
}),
|
|
118
|
+
/* @__PURE__ */ u("p", {
|
|
119
|
+
className: "text-xs text-green-600",
|
|
120
|
+
children: "+8.3% vs last month"
|
|
121
|
+
})
|
|
122
|
+
] })]
|
|
123
|
+
})
|
|
124
|
+
}) }),
|
|
125
|
+
/* @__PURE__ */ u(m, { children: /* @__PURE__ */ u(h, {
|
|
126
|
+
className: "pt-6",
|
|
127
|
+
children: /* @__PURE__ */ d("div", {
|
|
128
|
+
className: "flex items-center gap-3",
|
|
129
|
+
children: [/* @__PURE__ */ u(t, { className: "h-5 w-5 text-orange-600" }), /* @__PURE__ */ d("div", { children: [
|
|
130
|
+
/* @__PURE__ */ u("p", {
|
|
131
|
+
className: "text-sm text-muted-foreground",
|
|
132
|
+
children: "Active Sessions"
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ u("p", {
|
|
135
|
+
className: "text-2xl font-bold",
|
|
136
|
+
children: "234"
|
|
137
|
+
}),
|
|
138
|
+
/* @__PURE__ */ u("p", {
|
|
139
|
+
className: "text-xs text-muted-foreground",
|
|
140
|
+
children: "Currently online"
|
|
141
|
+
})
|
|
142
|
+
] })]
|
|
143
|
+
})
|
|
144
|
+
}) })
|
|
145
|
+
]
|
|
146
|
+
}),
|
|
147
|
+
/* @__PURE__ */ d("div", {
|
|
148
|
+
className: "grid grid-cols-1 md:grid-cols-2 gap-4",
|
|
149
|
+
children: [/* @__PURE__ */ d(m, { children: [/* @__PURE__ */ u(g, { children: /* @__PURE__ */ u(_, {
|
|
150
|
+
className: "text-lg",
|
|
151
|
+
children: "System Health"
|
|
152
|
+
}) }), /* @__PURE__ */ u(h, {
|
|
153
|
+
className: "space-y-3",
|
|
154
|
+
children: [
|
|
155
|
+
{
|
|
156
|
+
name: "API Server",
|
|
157
|
+
status: "Operational",
|
|
158
|
+
color: "bg-green-500"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "Database",
|
|
162
|
+
status: "Operational",
|
|
163
|
+
color: "bg-green-500"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: "File Storage",
|
|
167
|
+
status: "Operational",
|
|
168
|
+
color: "bg-green-500"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: "AI Services",
|
|
172
|
+
status: "Degraded",
|
|
173
|
+
color: "bg-yellow-500"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: "Email Service",
|
|
177
|
+
status: "Operational",
|
|
178
|
+
color: "bg-green-500"
|
|
179
|
+
}
|
|
180
|
+
].map((e) => /* @__PURE__ */ d("div", {
|
|
181
|
+
className: "flex items-center justify-between",
|
|
182
|
+
children: [/* @__PURE__ */ d("div", {
|
|
183
|
+
className: "flex items-center gap-2",
|
|
184
|
+
children: [/* @__PURE__ */ u("div", { className: `h-2 w-2 rounded-full ${e.color}` }), /* @__PURE__ */ u("span", {
|
|
185
|
+
className: "text-sm",
|
|
186
|
+
children: e.name
|
|
187
|
+
})]
|
|
188
|
+
}), /* @__PURE__ */ u(f, {
|
|
189
|
+
variant: "outline",
|
|
190
|
+
className: "text-xs",
|
|
191
|
+
children: e.status
|
|
192
|
+
})]
|
|
193
|
+
}, e.name))
|
|
194
|
+
})] }), /* @__PURE__ */ d(m, { children: [/* @__PURE__ */ u(g, { children: /* @__PURE__ */ u(_, {
|
|
195
|
+
className: "text-lg",
|
|
196
|
+
children: "Quick Actions"
|
|
197
|
+
}) }), /* @__PURE__ */ u(h, {
|
|
198
|
+
className: "space-y-2",
|
|
199
|
+
children: [
|
|
200
|
+
{
|
|
201
|
+
label: "Manage Users",
|
|
202
|
+
desc: "View and manage all platform users",
|
|
203
|
+
icon: l
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
label: "Manage Courses",
|
|
207
|
+
desc: "Course approval and administration",
|
|
208
|
+
icon: i
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
label: "View Reports",
|
|
212
|
+
desc: "Platform analytics and reports",
|
|
213
|
+
icon: r
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
label: "Security Settings",
|
|
217
|
+
desc: "Access controls and policies",
|
|
218
|
+
icon: c
|
|
219
|
+
}
|
|
220
|
+
].map((e) => /* @__PURE__ */ d("button", {
|
|
221
|
+
className: "w-full flex items-center gap-3 rounded-lg border p-3 hover:bg-muted/50 transition-colors text-left",
|
|
222
|
+
children: [
|
|
223
|
+
/* @__PURE__ */ u(e.icon, { className: "h-5 w-5 text-muted-foreground shrink-0" }),
|
|
224
|
+
/* @__PURE__ */ d("div", {
|
|
225
|
+
className: "flex-1",
|
|
226
|
+
children: [/* @__PURE__ */ u("p", {
|
|
227
|
+
className: "text-sm font-medium",
|
|
228
|
+
children: e.label
|
|
229
|
+
}), /* @__PURE__ */ u("p", {
|
|
230
|
+
className: "text-xs text-muted-foreground",
|
|
231
|
+
children: e.desc
|
|
232
|
+
})]
|
|
233
|
+
}),
|
|
234
|
+
/* @__PURE__ */ u(n, { className: "h-4 w-4 text-muted-foreground" })
|
|
235
|
+
]
|
|
236
|
+
}, e.label))
|
|
237
|
+
})] })]
|
|
238
|
+
}),
|
|
239
|
+
/* @__PURE__ */ d(m, { children: [/* @__PURE__ */ u(g, { children: /* @__PURE__ */ u(_, {
|
|
240
|
+
className: "text-lg",
|
|
241
|
+
children: "Recent Admin Activity"
|
|
242
|
+
}) }), /* @__PURE__ */ u(h, { children: /* @__PURE__ */ u("div", {
|
|
243
|
+
className: "space-y-3",
|
|
244
|
+
children: v.map((e) => /* @__PURE__ */ d("div", {
|
|
245
|
+
className: "flex items-center gap-3 rounded-lg border p-3",
|
|
246
|
+
children: [
|
|
247
|
+
/* @__PURE__ */ u("div", {
|
|
248
|
+
className: "rounded-lg bg-muted p-2",
|
|
249
|
+
children: /* @__PURE__ */ u(t, { className: "h-4 w-4 text-muted-foreground" })
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ d("div", {
|
|
252
|
+
className: "flex-1",
|
|
253
|
+
children: [/* @__PURE__ */ u("p", {
|
|
254
|
+
className: "text-sm font-medium",
|
|
255
|
+
children: e.action
|
|
256
|
+
}), /* @__PURE__ */ u("p", {
|
|
257
|
+
className: "text-xs text-muted-foreground",
|
|
258
|
+
children: e.detail
|
|
259
|
+
})]
|
|
260
|
+
}),
|
|
261
|
+
/* @__PURE__ */ d("div", {
|
|
262
|
+
className: "flex items-center gap-1 text-xs text-muted-foreground",
|
|
263
|
+
children: [/* @__PURE__ */ u(a, { className: "h-3 w-3" }), e.time]
|
|
264
|
+
})
|
|
265
|
+
]
|
|
266
|
+
}, e.id))
|
|
267
|
+
}) })] })
|
|
268
|
+
]
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
//#endregion
|
|
272
|
+
export { y as AdminIndexPage };
|
|
273
|
+
|
|
274
|
+
//# sourceMappingURL=AdminIndexPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminIndexPage.js","names":[],"sources":["../../../src/buildmyiq/pages/AdminIndexPage.tsx"],"sourcesContent":["import { Badge, Button, Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport {\n Settings,\n Users,\n BookOpen,\n BarChart3,\n Shield,\n Activity,\n DollarSign,\n Server,\n ArrowRight,\n Clock,\n} from 'lucide-react';\nimport { useBuildMyIQStore } from '../store/buildmyiqStore';\n\nconst recentAdminActivity = [\n {\n id: 1,\n action: 'Course published',\n detail: 'Data Structures & Algorithms by Dr. James Park',\n time: '2 hours ago',\n type: 'course',\n },\n {\n id: 2,\n action: 'User registered',\n detail: 'New student: Henry Patel (henry.p@university.edu)',\n time: '5 hours ago',\n type: 'user',\n },\n {\n id: 3,\n action: 'Assessment graded',\n detail: 'Calculus I Midterm - 42 submissions graded',\n time: '1 day ago',\n type: 'assessment',\n },\n {\n id: 4,\n action: 'System backup completed',\n detail: 'Full database backup successful',\n time: '1 day ago',\n type: 'system',\n },\n {\n id: 5,\n action: 'User role updated',\n detail: 'Prof. Amara Osei promoted to Department Head',\n time: '2 days ago',\n type: 'user',\n },\n];\n\nexport function AdminIndexPage() {\n const { courses, students, instructors } = useBuildMyIQStore();\n const totalUsers = students.length + instructors.length;\n const publishedCourses = courses.filter((c) => c.status === 'published').length;\n const totalRevenue = courses.reduce((sum, c) => sum + c.price * c.students, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Admin Dashboard</h1>\n <p className=\"text-sm text-muted-foreground\">Platform administration and management</p>\n </div>\n <Button size=\"sm\" variant=\"outline\">\n <Settings className=\"mr-2 h-4 w-4\" />\n System Settings\n </Button>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-4 gap-4\">\n <Card>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center gap-3\">\n <Users className=\"h-5 w-5 text-blue-600\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Total Users</p>\n <p className=\"text-2xl font-bold\">{totalUsers}</p>\n <p className=\"text-xs text-green-600\">+12 this week</p>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center gap-3\">\n <BookOpen className=\"h-5 w-5 text-purple-600\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Active Courses</p>\n <p className=\"text-2xl font-bold\">{publishedCourses}</p>\n <p className=\"text-xs text-green-600\">+2 this month</p>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center gap-3\">\n <DollarSign className=\"h-5 w-5 text-green-600\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Total Revenue</p>\n <p className=\"text-2xl font-bold\">${totalRevenue.toLocaleString()}</p>\n <p className=\"text-xs text-green-600\">+8.3% vs last month</p>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center gap-3\">\n <Activity className=\"h-5 w-5 text-orange-600\" />\n <div>\n <p className=\"text-sm text-muted-foreground\">Active Sessions</p>\n <p className=\"text-2xl font-bold\">234</p>\n <p className=\"text-xs text-muted-foreground\">Currently online</p>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-lg\">System Health</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {[\n { name: 'API Server', status: 'Operational', color: 'bg-green-500' },\n { name: 'Database', status: 'Operational', color: 'bg-green-500' },\n { name: 'File Storage', status: 'Operational', color: 'bg-green-500' },\n { name: 'AI Services', status: 'Degraded', color: 'bg-yellow-500' },\n { name: 'Email Service', status: 'Operational', color: 'bg-green-500' },\n ].map((s) => (\n <div key={s.name} className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <div className={`h-2 w-2 rounded-full ${s.color}`} />\n <span className=\"text-sm\">{s.name}</span>\n </div>\n <Badge variant=\"outline\" className=\"text-xs\">\n {s.status}\n </Badge>\n </div>\n ))}\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-lg\">Quick Actions</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {[\n { label: 'Manage Users', desc: 'View and manage all platform users', icon: Users },\n {\n label: 'Manage Courses',\n desc: 'Course approval and administration',\n icon: BookOpen,\n },\n { label: 'View Reports', desc: 'Platform analytics and reports', icon: BarChart3 },\n { label: 'Security Settings', desc: 'Access controls and policies', icon: Shield },\n ].map((action) => (\n <button\n key={action.label}\n className=\"w-full flex items-center gap-3 rounded-lg border p-3 hover:bg-muted/50 transition-colors text-left\"\n >\n <action.icon className=\"h-5 w-5 text-muted-foreground shrink-0\" />\n <div className=\"flex-1\">\n <p className=\"text-sm font-medium\">{action.label}</p>\n <p className=\"text-xs text-muted-foreground\">{action.desc}</p>\n </div>\n <ArrowRight className=\"h-4 w-4 text-muted-foreground\" />\n </button>\n ))}\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"text-lg\">Recent Admin Activity</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {recentAdminActivity.map((item) => (\n <div key={item.id} className=\"flex items-center gap-3 rounded-lg border p-3\">\n <div className=\"rounded-lg bg-muted p-2\">\n <Activity className=\"h-4 w-4 text-muted-foreground\" />\n </div>\n <div className=\"flex-1\">\n <p className=\"text-sm font-medium\">{item.action}</p>\n <p className=\"text-xs text-muted-foreground\">{item.detail}</p>\n </div>\n <div className=\"flex items-center gap-1 text-xs text-muted-foreground\">\n <Clock className=\"h-3 w-3\" />\n {item.time}\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiAichatPagePage.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/pages/AiAichatPagePage.tsx"],"names":[],"mappings":"AAgEA,wBAAgB,gBAAgB,4CAkJ/B"}
|