@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,239 @@
|
|
|
1
|
+
import { useState as e } from "react";
|
|
2
|
+
import { AlertCircle as t, BookOpen as n, Calendar as r, CheckCircle as i, Eye as a, Save as o, Tag as s, Users as c } from "lucide-react";
|
|
3
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as d, Button as f, Card as p, CardContent as m, CardHeader as h, CardTitle as g, Input as _, Label as v, Tabs as y, TabsContent as b, TabsList as x, TabsTrigger as S, Textarea as C } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/buildmyiq/pages/CoursesCourseCreatePagePage.tsx
|
|
6
|
+
function w() {
|
|
7
|
+
let [w, T] = e(""), [E, D] = e(""), [O, k] = e(""), [A, j] = e(!0);
|
|
8
|
+
return /* @__PURE__ */ u("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [/* @__PURE__ */ u("div", {
|
|
11
|
+
className: "flex items-center justify-between",
|
|
12
|
+
children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h1", {
|
|
13
|
+
className: "text-2xl font-semibold",
|
|
14
|
+
children: "Create New Course"
|
|
15
|
+
}), /* @__PURE__ */ l("p", {
|
|
16
|
+
className: "text-sm text-muted-foreground",
|
|
17
|
+
children: "Build your course from scratch"
|
|
18
|
+
})] }), /* @__PURE__ */ u("div", {
|
|
19
|
+
className: "flex gap-2",
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ u(f, {
|
|
22
|
+
variant: "outline",
|
|
23
|
+
size: "sm",
|
|
24
|
+
children: [/* @__PURE__ */ l(a, { className: "mr-2 h-4 w-4" }), "Preview"]
|
|
25
|
+
}),
|
|
26
|
+
/* @__PURE__ */ u(f, {
|
|
27
|
+
variant: "outline",
|
|
28
|
+
size: "sm",
|
|
29
|
+
children: [/* @__PURE__ */ l(o, { className: "mr-2 h-4 w-4" }), "Save Draft"]
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ u(f, {
|
|
32
|
+
size: "sm",
|
|
33
|
+
children: [/* @__PURE__ */ l(i, { className: "mr-2 h-4 w-4" }), A ? "Publish" : "Update"]
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
})]
|
|
37
|
+
}), /* @__PURE__ */ u("div", {
|
|
38
|
+
className: "grid grid-cols-1 lg:grid-cols-4 gap-6",
|
|
39
|
+
children: [/* @__PURE__ */ l("div", {
|
|
40
|
+
className: "lg:col-span-3",
|
|
41
|
+
children: /* @__PURE__ */ u(y, {
|
|
42
|
+
defaultValue: "basic",
|
|
43
|
+
className: "w-full",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ u(x, {
|
|
46
|
+
className: "grid w-full grid-cols-4",
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ l(S, {
|
|
49
|
+
value: "basic",
|
|
50
|
+
children: "Basic Info"
|
|
51
|
+
}),
|
|
52
|
+
/* @__PURE__ */ l(S, {
|
|
53
|
+
value: "content",
|
|
54
|
+
children: "Content"
|
|
55
|
+
}),
|
|
56
|
+
/* @__PURE__ */ l(S, {
|
|
57
|
+
value: "media",
|
|
58
|
+
children: "Media"
|
|
59
|
+
}),
|
|
60
|
+
/* @__PURE__ */ l(S, {
|
|
61
|
+
value: "settings",
|
|
62
|
+
children: "Settings"
|
|
63
|
+
})
|
|
64
|
+
]
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ l(b, {
|
|
67
|
+
value: "basic",
|
|
68
|
+
className: "mt-4",
|
|
69
|
+
children: /* @__PURE__ */ l(p, { children: /* @__PURE__ */ u(m, {
|
|
70
|
+
className: "pt-6 space-y-4",
|
|
71
|
+
children: [
|
|
72
|
+
/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l(v, { children: "Course Title" }), /* @__PURE__ */ l(_, {
|
|
73
|
+
value: w,
|
|
74
|
+
onChange: (e) => T(e.target.value),
|
|
75
|
+
placeholder: "e.g., Advanced Mathematics: Calculus I",
|
|
76
|
+
className: "mt-1"
|
|
77
|
+
})] }),
|
|
78
|
+
/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l(v, { children: "Description" }), /* @__PURE__ */ l(C, {
|
|
79
|
+
value: E,
|
|
80
|
+
onChange: (e) => D(e.target.value),
|
|
81
|
+
placeholder: "Describe your course...",
|
|
82
|
+
className: "mt-1",
|
|
83
|
+
rows: 4
|
|
84
|
+
})] }),
|
|
85
|
+
/* @__PURE__ */ u("div", {
|
|
86
|
+
className: "grid grid-cols-2 gap-4",
|
|
87
|
+
children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l(v, { children: "Category" }), /* @__PURE__ */ l(_, {
|
|
88
|
+
value: O,
|
|
89
|
+
onChange: (e) => k(e.target.value),
|
|
90
|
+
placeholder: "e.g., Mathematics",
|
|
91
|
+
className: "mt-1"
|
|
92
|
+
})] }), /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l(v, { children: "Level" }), /* @__PURE__ */ l(_, {
|
|
93
|
+
placeholder: "e.g., Advanced",
|
|
94
|
+
className: "mt-1"
|
|
95
|
+
})] })]
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ u("div", {
|
|
98
|
+
className: "grid grid-cols-2 gap-4",
|
|
99
|
+
children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l(v, { children: "Price ($)" }), /* @__PURE__ */ l(_, {
|
|
100
|
+
type: "number",
|
|
101
|
+
placeholder: "299",
|
|
102
|
+
className: "mt-1"
|
|
103
|
+
})] }), /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l(v, { children: "Duration" }), /* @__PURE__ */ l(_, {
|
|
104
|
+
placeholder: "e.g., 12 weeks",
|
|
105
|
+
className: "mt-1"
|
|
106
|
+
})] })]
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
}) })
|
|
110
|
+
}),
|
|
111
|
+
/* @__PURE__ */ l(b, {
|
|
112
|
+
value: "content",
|
|
113
|
+
className: "mt-4",
|
|
114
|
+
children: /* @__PURE__ */ l(p, { children: /* @__PURE__ */ u(m, {
|
|
115
|
+
className: "pt-6 text-center py-12 border-2 border-dashed rounded-lg",
|
|
116
|
+
children: [
|
|
117
|
+
/* @__PURE__ */ l(n, { className: "h-12 w-12 text-muted-foreground mx-auto mb-4" }),
|
|
118
|
+
/* @__PURE__ */ l("h3", {
|
|
119
|
+
className: "text-lg font-medium mb-2",
|
|
120
|
+
children: "Build Your Curriculum"
|
|
121
|
+
}),
|
|
122
|
+
/* @__PURE__ */ l("p", {
|
|
123
|
+
className: "text-muted-foreground mb-4",
|
|
124
|
+
children: "Add modules, lessons, and assessments."
|
|
125
|
+
}),
|
|
126
|
+
/* @__PURE__ */ u(f, { children: [/* @__PURE__ */ l(n, { className: "mr-2 h-4 w-4" }), "Add Module"] })
|
|
127
|
+
]
|
|
128
|
+
}) })
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ l(b, {
|
|
131
|
+
value: "media",
|
|
132
|
+
className: "mt-4",
|
|
133
|
+
children: /* @__PURE__ */ l(p, { children: /* @__PURE__ */ l(m, {
|
|
134
|
+
className: "pt-6 text-center py-12",
|
|
135
|
+
children: /* @__PURE__ */ l("p", {
|
|
136
|
+
className: "text-muted-foreground",
|
|
137
|
+
children: "Upload course thumbnail, videos, and supporting materials."
|
|
138
|
+
})
|
|
139
|
+
}) })
|
|
140
|
+
}),
|
|
141
|
+
/* @__PURE__ */ l(b, {
|
|
142
|
+
value: "settings",
|
|
143
|
+
className: "mt-4",
|
|
144
|
+
children: /* @__PURE__ */ l(p, { children: /* @__PURE__ */ l(m, {
|
|
145
|
+
className: "pt-6 text-center py-12",
|
|
146
|
+
children: /* @__PURE__ */ l("p", {
|
|
147
|
+
className: "text-muted-foreground",
|
|
148
|
+
children: "Configure enrollment, visibility, and notification settings."
|
|
149
|
+
})
|
|
150
|
+
}) })
|
|
151
|
+
})
|
|
152
|
+
]
|
|
153
|
+
})
|
|
154
|
+
}), /* @__PURE__ */ u("div", {
|
|
155
|
+
className: "space-y-4",
|
|
156
|
+
children: [
|
|
157
|
+
/* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(h, { children: /* @__PURE__ */ l(g, {
|
|
158
|
+
className: "text-base",
|
|
159
|
+
children: "Course Status"
|
|
160
|
+
}) }), /* @__PURE__ */ l(m, {
|
|
161
|
+
className: "space-y-3",
|
|
162
|
+
children: /* @__PURE__ */ u("div", {
|
|
163
|
+
className: "flex items-center justify-between",
|
|
164
|
+
children: [/* @__PURE__ */ l("span", {
|
|
165
|
+
className: "text-sm",
|
|
166
|
+
children: "Status"
|
|
167
|
+
}), /* @__PURE__ */ l(d, {
|
|
168
|
+
variant: A ? "secondary" : "default",
|
|
169
|
+
children: A ? "Draft" : "Published"
|
|
170
|
+
})]
|
|
171
|
+
})
|
|
172
|
+
})] }),
|
|
173
|
+
/* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(h, { children: /* @__PURE__ */ l(g, {
|
|
174
|
+
className: "text-base",
|
|
175
|
+
children: "Publication Checklist"
|
|
176
|
+
}) }), /* @__PURE__ */ l(m, {
|
|
177
|
+
className: "space-y-3",
|
|
178
|
+
children: [
|
|
179
|
+
{
|
|
180
|
+
label: "Course title",
|
|
181
|
+
done: !!w
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
label: "Course description",
|
|
185
|
+
done: !!E
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
label: "Course category",
|
|
189
|
+
done: !!O
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
label: "Course thumbnail",
|
|
193
|
+
done: !1
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
label: "At least one module",
|
|
197
|
+
done: !1
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
label: "Course pricing",
|
|
201
|
+
done: !1
|
|
202
|
+
}
|
|
203
|
+
].map((e) => /* @__PURE__ */ u("div", {
|
|
204
|
+
className: "flex items-center gap-2",
|
|
205
|
+
children: [e.done ? /* @__PURE__ */ l(i, { className: "h-4 w-4 text-green-500" }) : /* @__PURE__ */ l(t, { className: "h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ l("span", {
|
|
206
|
+
className: `text-sm ${e.done ? "" : "text-muted-foreground"}`,
|
|
207
|
+
children: e.label
|
|
208
|
+
})]
|
|
209
|
+
}, e.label))
|
|
210
|
+
})] }),
|
|
211
|
+
/* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(h, { children: /* @__PURE__ */ l(g, {
|
|
212
|
+
className: "text-base",
|
|
213
|
+
children: "Tips for Success"
|
|
214
|
+
}) }), /* @__PURE__ */ u(m, {
|
|
215
|
+
className: "space-y-3 text-sm text-muted-foreground",
|
|
216
|
+
children: [
|
|
217
|
+
/* @__PURE__ */ u("div", {
|
|
218
|
+
className: "flex items-start gap-2",
|
|
219
|
+
children: [/* @__PURE__ */ l(c, { className: "h-4 w-4 mt-0.5 text-primary shrink-0" }), /* @__PURE__ */ l("p", { children: "Engage students with interactive content." })]
|
|
220
|
+
}),
|
|
221
|
+
/* @__PURE__ */ u("div", {
|
|
222
|
+
className: "flex items-start gap-2",
|
|
223
|
+
children: [/* @__PURE__ */ l(r, { className: "h-4 w-4 mt-0.5 text-green-500 shrink-0" }), /* @__PURE__ */ l("p", { children: "Structure with clear learning objectives." })]
|
|
224
|
+
}),
|
|
225
|
+
/* @__PURE__ */ u("div", {
|
|
226
|
+
className: "flex items-start gap-2",
|
|
227
|
+
children: [/* @__PURE__ */ l(s, { className: "h-4 w-4 mt-0.5 text-primary shrink-0" }), /* @__PURE__ */ l("p", { children: "Use relevant tags for discoverability." })]
|
|
228
|
+
})
|
|
229
|
+
]
|
|
230
|
+
})] })
|
|
231
|
+
]
|
|
232
|
+
})]
|
|
233
|
+
})]
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
//#endregion
|
|
237
|
+
export { w as CoursesCourseCreatePagePage };
|
|
238
|
+
|
|
239
|
+
//# sourceMappingURL=CoursesCourseCreatePagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoursesCourseCreatePagePage.js","names":[],"sources":["../../../src/buildmyiq/pages/CoursesCourseCreatePagePage.tsx"],"sourcesContent":["import {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Badge,\n Button,\n Input,\n Label,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Textarea,\n} from '@burdenoff/fe-libs/ui';\nimport {\n Save,\n Eye,\n BookOpen,\n CheckCircle,\n AlertCircle,\n Clock,\n Users,\n Calendar,\n Tag,\n} from 'lucide-react';\nimport { useState } from 'react';\n\nexport function CoursesCourseCreatePagePage() {\n const [title, setTitle] = useState('');\n const [description, setDescription] = useState('');\n const [category, setCategory] = useState('');\n const [isDraft, setIsDraft] = useState(true);\n\n const checklist = [\n { label: 'Course title', done: !!title },\n { label: 'Course description', done: !!description },\n { label: 'Course category', done: !!category },\n { label: 'Course thumbnail', done: false },\n { label: 'At least one module', done: false },\n { label: 'Course pricing', done: false },\n ];\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\">Create New Course</h1>\n <p className=\"text-sm text-muted-foreground\">Build your course from scratch</p>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Eye className=\"mr-2 h-4 w-4\" />\n Preview\n </Button>\n <Button variant=\"outline\" size=\"sm\">\n <Save className=\"mr-2 h-4 w-4\" />\n Save Draft\n </Button>\n <Button size=\"sm\">\n <CheckCircle className=\"mr-2 h-4 w-4\" />\n {isDraft ? 'Publish' : 'Update'}\n </Button>\n </div>\n </div>\n\n <div className=\"grid grid-cols-1 lg:grid-cols-4 gap-6\">\n <div className=\"lg:col-span-3\">\n <Tabs defaultValue=\"basic\" className=\"w-full\">\n <TabsList className=\"grid w-full grid-cols-4\">\n <TabsTrigger value=\"basic\">Basic Info</TabsTrigger>\n <TabsTrigger value=\"content\">Content</TabsTrigger>\n <TabsTrigger value=\"media\">Media</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"basic\" className=\"mt-4\">\n <Card>\n <CardContent className=\"pt-6 space-y-4\">\n <div>\n <Label>Course Title</Label>\n <Input\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n placeholder=\"e.g., Advanced Mathematics: Calculus I\"\n className=\"mt-1\"\n />\n </div>\n <div>\n <Label>Description</Label>\n <Textarea\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder=\"Describe your course...\"\n className=\"mt-1\"\n rows={4}\n />\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label>Category</Label>\n <Input\n value={category}\n onChange={(e) => setCategory(e.target.value)}\n placeholder=\"e.g., Mathematics\"\n className=\"mt-1\"\n />\n </div>\n <div>\n <Label>Level</Label>\n <Input placeholder=\"e.g., Advanced\" className=\"mt-1\" />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label>Price ($)</Label>\n <Input type=\"number\" placeholder=\"299\" className=\"mt-1\" />\n </div>\n <div>\n <Label>Duration</Label>\n <Input placeholder=\"e.g., 12 weeks\" className=\"mt-1\" />\n </div>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n <TabsContent value=\"content\" className=\"mt-4\">\n <Card>\n <CardContent className=\"pt-6 text-center py-12 border-2 border-dashed rounded-lg\">\n <BookOpen className=\"h-12 w-12 text-muted-foreground mx-auto mb-4\" />\n <h3 className=\"text-lg font-medium mb-2\">Build Your Curriculum</h3>\n <p className=\"text-muted-foreground mb-4\">\n Add modules, lessons, and assessments.\n </p>\n <Button>\n <BookOpen className=\"mr-2 h-4 w-4\" />\n Add Module\n </Button>\n </CardContent>\n </Card>\n </TabsContent>\n <TabsContent value=\"media\" className=\"mt-4\">\n <Card>\n <CardContent className=\"pt-6 text-center py-12\">\n <p className=\"text-muted-foreground\">\n Upload course thumbnail, videos, and supporting materials.\n </p>\n </CardContent>\n </Card>\n </TabsContent>\n <TabsContent value=\"settings\" className=\"mt-4\">\n <Card>\n <CardContent className=\"pt-6 text-center py-12\">\n <p className=\"text-muted-foreground\">\n Configure enrollment, visibility, and notification settings.\n </p>\n </CardContent>\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n\n <div className=\"space-y-4\">\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Course Status</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-sm\">Status</span>\n <Badge variant={isDraft ? 'secondary' : 'default'}>\n {isDraft ? 'Draft' : 'Published'}\n </Badge>\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Publication Checklist</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {checklist.map((item) => (\n <div key={item.label} className=\"flex items-center gap-2\">\n {item.done ? (\n <CheckCircle className=\"h-4 w-4 text-green-500\" />\n ) : (\n <AlertCircle className=\"h-4 w-4 text-muted-foreground\" />\n )}\n <span className={`text-sm ${item.done ? '' : 'text-muted-foreground'}`}>\n {item.label}\n </span>\n </div>\n ))}\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle className=\"text-base\">Tips for Success</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3 text-sm text-muted-foreground\">\n <div className=\"flex items-start gap-2\">\n <Users className=\"h-4 w-4 mt-0.5 text-primary shrink-0\" />\n <p>Engage students with interactive content.</p>\n </div>\n <div className=\"flex items-start gap-2\">\n <Calendar className=\"h-4 w-4 mt-0.5 text-green-500 shrink-0\" />\n <p>Structure with clear learning objectives.</p>\n </div>\n <div className=\"flex items-start gap-2\">\n <Tag className=\"h-4 w-4 mt-0.5 text-primary shrink-0\" />\n <p>Use relevant tags for discoverability.</p>\n </div>\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoursesCourseDashboardPagePage.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/pages/CoursesCourseDashboardPagePage.tsx"],"names":[],"mappings":"AA8BA,wBAAgB,8BAA8B,4CA2U7C"}
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import { useBuildMyIQStore as e } from "../store/buildmyiqStore.js";
|
|
2
|
+
import { AlertCircle as t, Award as n, BarChart3 as r, BookOpen as i, Calendar as a, Download as o, Edit as s, Eye as c, FileText as l, MessageSquare as u, Plus as d, TrendingUp as f, Users as p } from "lucide-react";
|
|
3
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as g, Button as _, Card as v, CardContent 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
|
+
import { useI18n as E } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
6
|
+
//#region src/buildmyiq/pages/CoursesCourseDashboardPagePage.tsx
|
|
7
|
+
function D() {
|
|
8
|
+
let { t: D } = E(), O = (e, t) => {
|
|
9
|
+
let n = D(e);
|
|
10
|
+
return n === e ? t : n;
|
|
11
|
+
}, { courses: k, grades: A } = e(), j = k[0], M = A.filter((e) => e.status === "pending").length;
|
|
12
|
+
return /* @__PURE__ */ h("div", {
|
|
13
|
+
className: "space-y-6 p-6",
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ h("div", {
|
|
16
|
+
className: "flex items-center justify-between",
|
|
17
|
+
children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("h1", {
|
|
18
|
+
className: "text-2xl font-semibold",
|
|
19
|
+
children: O("buildmyiq.courseDashboard.title", "Course Dashboard")
|
|
20
|
+
}), /* @__PURE__ */ h("p", {
|
|
21
|
+
className: "text-sm text-muted-foreground",
|
|
22
|
+
children: [
|
|
23
|
+
O("buildmyiq.courseDashboard.subtitlePrefix", "Managing"),
|
|
24
|
+
" ",
|
|
25
|
+
j.title
|
|
26
|
+
]
|
|
27
|
+
})] }), /* @__PURE__ */ h("div", {
|
|
28
|
+
className: "flex gap-2",
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ h(_, {
|
|
31
|
+
variant: "outline",
|
|
32
|
+
size: "sm",
|
|
33
|
+
children: [/* @__PURE__ */ m(o, { className: "mr-2 h-4 w-4" }), O("buildmyiq.courseDashboard.actions.export", "Export")]
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ h(_, {
|
|
36
|
+
variant: "outline",
|
|
37
|
+
size: "sm",
|
|
38
|
+
children: [/* @__PURE__ */ m(c, { className: "mr-2 h-4 w-4" }), O("buildmyiq.courseDashboard.actions.viewCourse", "View Course")]
|
|
39
|
+
}),
|
|
40
|
+
/* @__PURE__ */ h(_, {
|
|
41
|
+
size: "sm",
|
|
42
|
+
children: [/* @__PURE__ */ m(s, { className: "mr-2 h-4 w-4" }), O("buildmyiq.courseDashboard.actions.editCourse", "Edit Course")]
|
|
43
|
+
})
|
|
44
|
+
]
|
|
45
|
+
})]
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ h("div", {
|
|
48
|
+
className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ h(v, { children: [/* @__PURE__ */ h(b, {
|
|
51
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
52
|
+
children: [/* @__PURE__ */ m(x, {
|
|
53
|
+
className: "text-sm font-medium",
|
|
54
|
+
children: O("buildmyiq.courseDashboard.stats.totalStudents.title", "Total Students")
|
|
55
|
+
}), /* @__PURE__ */ m(p, { className: "h-4 w-4 text-muted-foreground" })]
|
|
56
|
+
}), /* @__PURE__ */ h(y, { children: [/* @__PURE__ */ m("div", {
|
|
57
|
+
className: "text-2xl font-bold",
|
|
58
|
+
children: j.students
|
|
59
|
+
}), /* @__PURE__ */ m("p", {
|
|
60
|
+
className: "text-xs text-muted-foreground",
|
|
61
|
+
children: O("buildmyiq.courseDashboard.stats.totalStudents.change", "+12 this month")
|
|
62
|
+
})] })] }),
|
|
63
|
+
/* @__PURE__ */ h(v, { children: [/* @__PURE__ */ h(b, {
|
|
64
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
65
|
+
children: [/* @__PURE__ */ m(x, {
|
|
66
|
+
className: "text-sm font-medium",
|
|
67
|
+
children: O("buildmyiq.courseDashboard.stats.completionRate.title", "Completion Rate")
|
|
68
|
+
}), /* @__PURE__ */ m(n, { className: "h-4 w-4 text-muted-foreground" })]
|
|
69
|
+
}), /* @__PURE__ */ h(y, { children: [/* @__PURE__ */ m("div", {
|
|
70
|
+
className: "text-2xl font-bold",
|
|
71
|
+
children: "73%"
|
|
72
|
+
}), /* @__PURE__ */ m("p", {
|
|
73
|
+
className: "text-xs text-muted-foreground",
|
|
74
|
+
children: O("buildmyiq.courseDashboard.stats.completionRate.change", "+5% vs last month")
|
|
75
|
+
})] })] }),
|
|
76
|
+
/* @__PURE__ */ h(v, { children: [/* @__PURE__ */ h(b, {
|
|
77
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
78
|
+
children: [/* @__PURE__ */ m(x, {
|
|
79
|
+
className: "text-sm font-medium",
|
|
80
|
+
children: O("buildmyiq.courseDashboard.stats.totalRevenue.title", "Total Revenue")
|
|
81
|
+
}), /* @__PURE__ */ m(f, { className: "h-4 w-4 text-muted-foreground" })]
|
|
82
|
+
}), /* @__PURE__ */ h(y, { children: [/* @__PURE__ */ h("div", {
|
|
83
|
+
className: "text-2xl font-bold",
|
|
84
|
+
children: ["$", (j.students * j.price).toLocaleString()]
|
|
85
|
+
}), /* @__PURE__ */ m("p", {
|
|
86
|
+
className: "text-xs text-muted-foreground",
|
|
87
|
+
children: O("buildmyiq.courseDashboard.stats.totalRevenue.change", "+$5,940 this month")
|
|
88
|
+
})] })] }),
|
|
89
|
+
/* @__PURE__ */ h(v, { children: [/* @__PURE__ */ h(b, {
|
|
90
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
91
|
+
children: [/* @__PURE__ */ m(x, {
|
|
92
|
+
className: "text-sm font-medium",
|
|
93
|
+
children: O("buildmyiq.courseDashboard.stats.courseRating.title", "Course Rating")
|
|
94
|
+
}), /* @__PURE__ */ m(r, { className: "h-4 w-4 text-muted-foreground" })]
|
|
95
|
+
}), /* @__PURE__ */ h(y, { children: [/* @__PURE__ */ h("div", {
|
|
96
|
+
className: "text-2xl font-bold",
|
|
97
|
+
children: [j.rating, "/5"]
|
|
98
|
+
}), /* @__PURE__ */ m("p", {
|
|
99
|
+
className: "text-xs text-muted-foreground",
|
|
100
|
+
children: O("buildmyiq.courseDashboard.stats.courseRating.reviews", "89 reviews")
|
|
101
|
+
})] })] })
|
|
102
|
+
]
|
|
103
|
+
}),
|
|
104
|
+
/* @__PURE__ */ h(S, {
|
|
105
|
+
defaultValue: "overview",
|
|
106
|
+
className: "w-full",
|
|
107
|
+
children: [
|
|
108
|
+
/* @__PURE__ */ h(w, {
|
|
109
|
+
className: "grid w-full grid-cols-4",
|
|
110
|
+
children: [
|
|
111
|
+
/* @__PURE__ */ m(T, {
|
|
112
|
+
value: "overview",
|
|
113
|
+
children: O("buildmyiq.courseDashboard.tabs.overview", "Overview")
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ m(T, {
|
|
116
|
+
value: "students",
|
|
117
|
+
children: O("buildmyiq.courseDashboard.tabs.students", "Students")
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ m(T, {
|
|
120
|
+
value: "content",
|
|
121
|
+
children: O("buildmyiq.courseDashboard.tabs.content", "Content")
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ m(T, {
|
|
124
|
+
value: "analytics",
|
|
125
|
+
children: O("buildmyiq.courseDashboard.tabs.analytics", "Analytics")
|
|
126
|
+
})
|
|
127
|
+
]
|
|
128
|
+
}),
|
|
129
|
+
/* @__PURE__ */ m(C, {
|
|
130
|
+
value: "overview",
|
|
131
|
+
className: "mt-4",
|
|
132
|
+
children: /* @__PURE__ */ h("div", {
|
|
133
|
+
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
134
|
+
children: [/* @__PURE__ */ m("div", {
|
|
135
|
+
className: "lg:col-span-2",
|
|
136
|
+
children: /* @__PURE__ */ h(v, { children: [/* @__PURE__ */ m(b, { children: /* @__PURE__ */ m(x, { children: O("buildmyiq.courseDashboard.recentActivity.title", "Recent Activity") }) }), /* @__PURE__ */ m(y, {
|
|
137
|
+
className: "space-y-3",
|
|
138
|
+
children: [
|
|
139
|
+
O("buildmyiq.courseDashboard.recentActivity.item1", "Alice Martinez completed Module 2"),
|
|
140
|
+
O("buildmyiq.courseDashboard.recentActivity.item2", "Brian Kim submitted midterm exam"),
|
|
141
|
+
O("buildmyiq.courseDashboard.recentActivity.item3", "New forum post: Help with derivatives")
|
|
142
|
+
].map((e, t) => /* @__PURE__ */ h("div", {
|
|
143
|
+
className: "flex items-center justify-between rounded border p-3",
|
|
144
|
+
children: [/* @__PURE__ */ m("span", {
|
|
145
|
+
className: "text-sm",
|
|
146
|
+
children: e
|
|
147
|
+
}), /* @__PURE__ */ m(g, {
|
|
148
|
+
variant: "secondary",
|
|
149
|
+
children: O("buildmyiq.courseDashboard.recentActivity.new", "New")
|
|
150
|
+
})]
|
|
151
|
+
}, t))
|
|
152
|
+
})] })
|
|
153
|
+
}), /* @__PURE__ */ h("div", {
|
|
154
|
+
className: "space-y-4",
|
|
155
|
+
children: [/* @__PURE__ */ h(v, { children: [/* @__PURE__ */ m(b, { children: /* @__PURE__ */ m(x, {
|
|
156
|
+
className: "text-base",
|
|
157
|
+
children: O("buildmyiq.courseDashboard.quickActions.title", "Quick Actions")
|
|
158
|
+
}) }), /* @__PURE__ */ h(y, {
|
|
159
|
+
className: "space-y-2",
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ h(_, {
|
|
162
|
+
variant: "outline",
|
|
163
|
+
className: "w-full justify-start",
|
|
164
|
+
size: "sm",
|
|
165
|
+
children: [/* @__PURE__ */ m(u, { className: "mr-2 h-4 w-4" }), O("buildmyiq.courseDashboard.quickActions.makeAnnouncement", "Make Announcement")]
|
|
166
|
+
}),
|
|
167
|
+
/* @__PURE__ */ h(_, {
|
|
168
|
+
variant: "outline",
|
|
169
|
+
className: "w-full justify-start",
|
|
170
|
+
size: "sm",
|
|
171
|
+
children: [/* @__PURE__ */ m(d, { className: "mr-2 h-4 w-4" }), O("buildmyiq.courseDashboard.quickActions.createAssessment", "Create Assessment")]
|
|
172
|
+
}),
|
|
173
|
+
/* @__PURE__ */ h(_, {
|
|
174
|
+
variant: "outline",
|
|
175
|
+
className: "w-full justify-start",
|
|
176
|
+
size: "sm",
|
|
177
|
+
children: [/* @__PURE__ */ m(i, { className: "mr-2 h-4 w-4" }), O("buildmyiq.courseDashboard.quickActions.addContent", "Add Content")]
|
|
178
|
+
})
|
|
179
|
+
]
|
|
180
|
+
})] }), /* @__PURE__ */ h(v, { children: [/* @__PURE__ */ m(b, { children: /* @__PURE__ */ m(x, {
|
|
181
|
+
className: "text-base",
|
|
182
|
+
children: O("buildmyiq.courseDashboard.pendingTasks.title", "Pending Tasks")
|
|
183
|
+
}) }), /* @__PURE__ */ h(y, {
|
|
184
|
+
className: "space-y-2",
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ h("div", {
|
|
187
|
+
className: "flex items-center justify-between rounded border border-orange-200 bg-orange-50 p-2 dark:border-orange-900 dark:bg-orange-950/30",
|
|
188
|
+
children: [/* @__PURE__ */ h("div", {
|
|
189
|
+
className: "flex items-center gap-2",
|
|
190
|
+
children: [/* @__PURE__ */ m(t, { className: "h-4 w-4 text-orange-500" }), /* @__PURE__ */ m("span", {
|
|
191
|
+
className: "text-sm",
|
|
192
|
+
children: O("buildmyiq.courseDashboard.pendingTasks.gradingRequired", "Grading Required")
|
|
193
|
+
})]
|
|
194
|
+
}), /* @__PURE__ */ m(g, {
|
|
195
|
+
variant: "secondary",
|
|
196
|
+
children: M
|
|
197
|
+
})]
|
|
198
|
+
}),
|
|
199
|
+
/* @__PURE__ */ h("div", {
|
|
200
|
+
className: "flex items-center justify-between rounded border p-2",
|
|
201
|
+
children: [/* @__PURE__ */ h("div", {
|
|
202
|
+
className: "flex items-center gap-2",
|
|
203
|
+
children: [/* @__PURE__ */ m(u, { className: "h-4 w-4 text-primary" }), /* @__PURE__ */ m("span", {
|
|
204
|
+
className: "text-sm",
|
|
205
|
+
children: O("buildmyiq.courseDashboard.pendingTasks.forumPosts", "Forum Posts")
|
|
206
|
+
})]
|
|
207
|
+
}), /* @__PURE__ */ m(g, {
|
|
208
|
+
variant: "secondary",
|
|
209
|
+
children: "5"
|
|
210
|
+
})]
|
|
211
|
+
}),
|
|
212
|
+
/* @__PURE__ */ h("div", {
|
|
213
|
+
className: "flex items-center justify-between rounded border p-2",
|
|
214
|
+
children: [/* @__PURE__ */ h("div", {
|
|
215
|
+
className: "flex items-center gap-2",
|
|
216
|
+
children: [/* @__PURE__ */ m(a, { className: "h-4 w-4 text-green-500" }), /* @__PURE__ */ m("span", {
|
|
217
|
+
className: "text-sm",
|
|
218
|
+
children: O("buildmyiq.courseDashboard.pendingTasks.scheduledContent", "Scheduled Content")
|
|
219
|
+
})]
|
|
220
|
+
}), /* @__PURE__ */ m(g, {
|
|
221
|
+
variant: "secondary",
|
|
222
|
+
children: "2"
|
|
223
|
+
})]
|
|
224
|
+
})
|
|
225
|
+
]
|
|
226
|
+
})] })]
|
|
227
|
+
})]
|
|
228
|
+
})
|
|
229
|
+
}),
|
|
230
|
+
/* @__PURE__ */ m(C, {
|
|
231
|
+
value: "students",
|
|
232
|
+
className: "mt-4",
|
|
233
|
+
children: /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
|
|
234
|
+
className: "pt-6 text-center text-muted-foreground",
|
|
235
|
+
children: O("buildmyiq.courseDashboard.students.emptyState", "Student management interface - view enrolled students, progress, and engagement.")
|
|
236
|
+
}) })
|
|
237
|
+
}),
|
|
238
|
+
/* @__PURE__ */ m(C, {
|
|
239
|
+
value: "content",
|
|
240
|
+
className: "mt-4",
|
|
241
|
+
children: /* @__PURE__ */ m(v, { children: /* @__PURE__ */ m(y, {
|
|
242
|
+
className: "pt-6",
|
|
243
|
+
children: /* @__PURE__ */ h("div", {
|
|
244
|
+
className: "grid grid-cols-3 gap-4 text-center",
|
|
245
|
+
children: [
|
|
246
|
+
/* @__PURE__ */ h("div", {
|
|
247
|
+
className: "rounded border p-4",
|
|
248
|
+
children: [
|
|
249
|
+
/* @__PURE__ */ m(i, { className: "h-8 w-8 text-primary mx-auto mb-2" }),
|
|
250
|
+
/* @__PURE__ */ m("div", {
|
|
251
|
+
className: "text-2xl font-bold",
|
|
252
|
+
children: j.lessons
|
|
253
|
+
}),
|
|
254
|
+
/* @__PURE__ */ m("div", {
|
|
255
|
+
className: "text-sm text-muted-foreground",
|
|
256
|
+
children: O("buildmyiq.courseDashboard.content.lessons", "Lessons")
|
|
257
|
+
})
|
|
258
|
+
]
|
|
259
|
+
}),
|
|
260
|
+
/* @__PURE__ */ h("div", {
|
|
261
|
+
className: "rounded border p-4",
|
|
262
|
+
children: [
|
|
263
|
+
/* @__PURE__ */ m(l, { className: "h-8 w-8 text-green-500 mx-auto mb-2" }),
|
|
264
|
+
/* @__PURE__ */ m("div", {
|
|
265
|
+
className: "text-2xl font-bold",
|
|
266
|
+
children: j.assessments
|
|
267
|
+
}),
|
|
268
|
+
/* @__PURE__ */ m("div", {
|
|
269
|
+
className: "text-sm text-muted-foreground",
|
|
270
|
+
children: O("buildmyiq.courseDashboard.content.assessments", "Assessments")
|
|
271
|
+
})
|
|
272
|
+
]
|
|
273
|
+
}),
|
|
274
|
+
/* @__PURE__ */ h("div", {
|
|
275
|
+
className: "rounded border p-4",
|
|
276
|
+
children: [
|
|
277
|
+
/* @__PURE__ */ m(u, { className: "h-8 w-8 text-primary mx-auto mb-2" }),
|
|
278
|
+
/* @__PURE__ */ m("div", {
|
|
279
|
+
className: "text-2xl font-bold",
|
|
280
|
+
children: "45"
|
|
281
|
+
}),
|
|
282
|
+
/* @__PURE__ */ m("div", {
|
|
283
|
+
className: "text-sm text-muted-foreground",
|
|
284
|
+
children: O("buildmyiq.courseDashboard.content.discussions", "Discussions")
|
|
285
|
+
})
|
|
286
|
+
]
|
|
287
|
+
})
|
|
288
|
+
]
|
|
289
|
+
})
|
|
290
|
+
}) })
|
|
291
|
+
}),
|
|
292
|
+
/* @__PURE__ */ m(C, {
|
|
293
|
+
value: "analytics",
|
|
294
|
+
className: "mt-4",
|
|
295
|
+
children: /* @__PURE__ */ h("div", {
|
|
296
|
+
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
297
|
+
children: [/* @__PURE__ */ h(v, { children: [/* @__PURE__ */ m(b, { children: /* @__PURE__ */ m(x, {
|
|
298
|
+
className: "text-base",
|
|
299
|
+
children: O("buildmyiq.courseDashboard.analytics.studentProgressDistribution", "Student Progress Distribution")
|
|
300
|
+
}) }), /* @__PURE__ */ m(y, {
|
|
301
|
+
className: "space-y-3",
|
|
302
|
+
children: [
|
|
303
|
+
{
|
|
304
|
+
range: "0-25%",
|
|
305
|
+
count: 23,
|
|
306
|
+
pct: 15
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
range: "26-50%",
|
|
310
|
+
count: 45,
|
|
311
|
+
pct: 29
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
range: "51-75%",
|
|
315
|
+
count: 52,
|
|
316
|
+
pct: 33
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
range: "76-100%",
|
|
320
|
+
count: 36,
|
|
321
|
+
pct: 23
|
|
322
|
+
}
|
|
323
|
+
].map((e) => /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("div", {
|
|
324
|
+
className: "flex justify-between text-sm mb-1",
|
|
325
|
+
children: [/* @__PURE__ */ m("span", { children: e.range }), /* @__PURE__ */ h("span", { children: [
|
|
326
|
+
e.count,
|
|
327
|
+
" ",
|
|
328
|
+
O("buildmyiq.courseDashboard.analytics.students", "students")
|
|
329
|
+
] })]
|
|
330
|
+
}), /* @__PURE__ */ m("div", {
|
|
331
|
+
className: "h-2 bg-muted rounded-full overflow-hidden",
|
|
332
|
+
children: /* @__PURE__ */ m("div", {
|
|
333
|
+
className: "h-2 bg-primary rounded-full",
|
|
334
|
+
style: { width: `${e.pct}%` }
|
|
335
|
+
})
|
|
336
|
+
})] }, e.range))
|
|
337
|
+
})] }), /* @__PURE__ */ h(v, { children: [/* @__PURE__ */ m(b, { children: /* @__PURE__ */ m(x, {
|
|
338
|
+
className: "text-base",
|
|
339
|
+
children: O("buildmyiq.courseDashboard.analytics.engagementMetrics", "Engagement Metrics")
|
|
340
|
+
}) }), /* @__PURE__ */ m(y, {
|
|
341
|
+
className: "space-y-4",
|
|
342
|
+
children: [
|
|
343
|
+
[O("buildmyiq.courseDashboard.analytics.avgSessionDuration", "Avg Session Duration"), "24 min"],
|
|
344
|
+
[O("buildmyiq.courseDashboard.analytics.forumParticipation", "Forum Participation"), "68%"],
|
|
345
|
+
[O("buildmyiq.courseDashboard.analytics.submissionRate", "Submission Rate"), "89%"],
|
|
346
|
+
[O("buildmyiq.courseDashboard.analytics.averageScore", "Average Score"), "85%"]
|
|
347
|
+
].map(([e, t]) => /* @__PURE__ */ h("div", {
|
|
348
|
+
className: "flex justify-between items-center",
|
|
349
|
+
children: [/* @__PURE__ */ m("span", {
|
|
350
|
+
className: "text-sm",
|
|
351
|
+
children: e
|
|
352
|
+
}), /* @__PURE__ */ m("span", {
|
|
353
|
+
className: "font-medium",
|
|
354
|
+
children: t
|
|
355
|
+
})]
|
|
356
|
+
}, e))
|
|
357
|
+
})] })]
|
|
358
|
+
})
|
|
359
|
+
})
|
|
360
|
+
]
|
|
361
|
+
})
|
|
362
|
+
]
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
//#endregion
|
|
366
|
+
export { D as CoursesCourseDashboardPagePage };
|
|
367
|
+
|
|
368
|
+
//# sourceMappingURL=CoursesCourseDashboardPagePage.js.map
|