@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.
Files changed (182) hide show
  1. package/README.md +12 -0
  2. package/dist/buildmyiq/BuildMyIQRoot.d.ts +5 -0
  3. package/dist/buildmyiq/BuildMyIQRoot.d.ts.map +1 -0
  4. package/dist/buildmyiq/BuildMyIQRoot.js +329 -0
  5. package/dist/buildmyiq/BuildMyIQRoot.js.map +1 -0
  6. package/dist/buildmyiq/BuildMyIQRoutes.d.ts +2 -0
  7. package/dist/buildmyiq/BuildMyIQRoutes.d.ts.map +1 -0
  8. package/dist/buildmyiq/BuildMyIQRoutes.js +171 -0
  9. package/dist/buildmyiq/BuildMyIQRoutes.js.map +1 -0
  10. package/dist/buildmyiq/index.d.ts +5 -0
  11. package/dist/buildmyiq/index.d.ts.map +1 -0
  12. package/dist/buildmyiq/index.js +3 -0
  13. package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.d.ts +2 -0
  14. package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.d.ts.map +1 -0
  15. package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.js +271 -0
  16. package/dist/buildmyiq/pages/AdminAdminAnalyticsPagePage.js.map +1 -0
  17. package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.d.ts +2 -0
  18. package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.d.ts.map +1 -0
  19. package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.js +212 -0
  20. package/dist/buildmyiq/pages/AdminAdminCoursesPagePage.js.map +1 -0
  21. package/dist/buildmyiq/pages/AdminAdminUsersPagePage.d.ts +2 -0
  22. package/dist/buildmyiq/pages/AdminAdminUsersPagePage.d.ts.map +1 -0
  23. package/dist/buildmyiq/pages/AdminAdminUsersPagePage.js +235 -0
  24. package/dist/buildmyiq/pages/AdminAdminUsersPagePage.js.map +1 -0
  25. package/dist/buildmyiq/pages/AdminIndexPage.d.ts +2 -0
  26. package/dist/buildmyiq/pages/AdminIndexPage.d.ts.map +1 -0
  27. package/dist/buildmyiq/pages/AdminIndexPage.js +274 -0
  28. package/dist/buildmyiq/pages/AdminIndexPage.js.map +1 -0
  29. package/dist/buildmyiq/pages/AiAichatPagePage.d.ts +2 -0
  30. package/dist/buildmyiq/pages/AiAichatPagePage.d.ts.map +1 -0
  31. package/dist/buildmyiq/pages/AiAichatPagePage.js +209 -0
  32. package/dist/buildmyiq/pages/AiAichatPagePage.js.map +1 -0
  33. package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.d.ts +2 -0
  34. package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.d.ts.map +1 -0
  35. package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.js +318 -0
  36. package/dist/buildmyiq/pages/AiAicontentGenerationPagePage.js.map +1 -0
  37. package/dist/buildmyiq/pages/AiAitutoringPagePage.d.ts +2 -0
  38. package/dist/buildmyiq/pages/AiAitutoringPagePage.d.ts.map +1 -0
  39. package/dist/buildmyiq/pages/AiAitutoringPagePage.js +290 -0
  40. package/dist/buildmyiq/pages/AiAitutoringPagePage.js.map +1 -0
  41. package/dist/buildmyiq/pages/AiIndexPage.d.ts +2 -0
  42. package/dist/buildmyiq/pages/AiIndexPage.d.ts.map +1 -0
  43. package/dist/buildmyiq/pages/AiIndexPage.js +191 -0
  44. package/dist/buildmyiq/pages/AiIndexPage.js.map +1 -0
  45. package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.d.ts +2 -0
  46. package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.d.ts.map +1 -0
  47. package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.js +290 -0
  48. package/dist/buildmyiq/pages/AssessmentsAssessmentBuilderPagePage.js.map +1 -0
  49. package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.d.ts +2 -0
  50. package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.d.ts.map +1 -0
  51. package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.js +215 -0
  52. package/dist/buildmyiq/pages/AssessmentsAssessmentGradingPagePage.js.map +1 -0
  53. package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.d.ts +2 -0
  54. package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.d.ts.map +1 -0
  55. package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.js +224 -0
  56. package/dist/buildmyiq/pages/AssessmentsAssessmentResultsPagePage.js.map +1 -0
  57. package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.d.ts +2 -0
  58. package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.d.ts.map +1 -0
  59. package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.js +174 -0
  60. package/dist/buildmyiq/pages/AssessmentsAssessmentTakePagePage.js.map +1 -0
  61. package/dist/buildmyiq/pages/AssessmentsIndexPage.d.ts +2 -0
  62. package/dist/buildmyiq/pages/AssessmentsIndexPage.d.ts.map +1 -0
  63. package/dist/buildmyiq/pages/AssessmentsIndexPage.js +174 -0
  64. package/dist/buildmyiq/pages/AssessmentsIndexPage.js.map +1 -0
  65. package/dist/buildmyiq/pages/CalendarPage.d.ts +2 -0
  66. package/dist/buildmyiq/pages/CalendarPage.d.ts.map +1 -0
  67. package/dist/buildmyiq/pages/CalendarPage.js +242 -0
  68. package/dist/buildmyiq/pages/CalendarPage.js.map +1 -0
  69. package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.d.ts +2 -0
  70. package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.d.ts.map +1 -0
  71. package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.js +180 -0
  72. package/dist/buildmyiq/pages/CommunicationAnnouncementsPagePage.js.map +1 -0
  73. package/dist/buildmyiq/pages/CommunicationForumsPagePage.d.ts +2 -0
  74. package/dist/buildmyiq/pages/CommunicationForumsPagePage.d.ts.map +1 -0
  75. package/dist/buildmyiq/pages/CommunicationForumsPagePage.js +154 -0
  76. package/dist/buildmyiq/pages/CommunicationForumsPagePage.js.map +1 -0
  77. package/dist/buildmyiq/pages/CommunicationIndexPage.d.ts +2 -0
  78. package/dist/buildmyiq/pages/CommunicationIndexPage.d.ts.map +1 -0
  79. package/dist/buildmyiq/pages/CommunicationIndexPage.js +191 -0
  80. package/dist/buildmyiq/pages/CommunicationIndexPage.js.map +1 -0
  81. package/dist/buildmyiq/pages/CommunicationMessagesPagePage.d.ts +2 -0
  82. package/dist/buildmyiq/pages/CommunicationMessagesPagePage.d.ts.map +1 -0
  83. package/dist/buildmyiq/pages/CommunicationMessagesPagePage.js +261 -0
  84. package/dist/buildmyiq/pages/CommunicationMessagesPagePage.js.map +1 -0
  85. package/dist/buildmyiq/pages/CoursesCourseContentPagePage.d.ts +2 -0
  86. package/dist/buildmyiq/pages/CoursesCourseContentPagePage.d.ts.map +1 -0
  87. package/dist/buildmyiq/pages/CoursesCourseContentPagePage.js +164 -0
  88. package/dist/buildmyiq/pages/CoursesCourseContentPagePage.js.map +1 -0
  89. package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.d.ts +2 -0
  90. package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.d.ts.map +1 -0
  91. package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.js +239 -0
  92. package/dist/buildmyiq/pages/CoursesCourseCreatePagePage.js.map +1 -0
  93. package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.d.ts +2 -0
  94. package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.d.ts.map +1 -0
  95. package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.js +368 -0
  96. package/dist/buildmyiq/pages/CoursesCourseDashboardPagePage.js.map +1 -0
  97. package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.d.ts +2 -0
  98. package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.d.ts.map +1 -0
  99. package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.js +219 -0
  100. package/dist/buildmyiq/pages/CoursesCourseDetailPagePage.js.map +1 -0
  101. package/dist/buildmyiq/pages/CoursesCourseListPagePage.d.ts +2 -0
  102. package/dist/buildmyiq/pages/CoursesCourseListPagePage.d.ts.map +1 -0
  103. package/dist/buildmyiq/pages/CoursesCourseListPagePage.js +153 -0
  104. package/dist/buildmyiq/pages/CoursesCourseListPagePage.js.map +1 -0
  105. package/dist/buildmyiq/pages/CoursesIndexPage.d.ts +2 -0
  106. package/dist/buildmyiq/pages/CoursesIndexPage.d.ts.map +1 -0
  107. package/dist/buildmyiq/pages/CoursesIndexPage.js +138 -0
  108. package/dist/buildmyiq/pages/CoursesIndexPage.js.map +1 -0
  109. package/dist/buildmyiq/pages/DashboardPage.d.ts +2 -0
  110. package/dist/buildmyiq/pages/DashboardPage.d.ts.map +1 -0
  111. package/dist/buildmyiq/pages/DashboardPage.js +264 -0
  112. package/dist/buildmyiq/pages/DashboardPage.js.map +1 -0
  113. package/dist/buildmyiq/pages/MessagesPage.d.ts +2 -0
  114. package/dist/buildmyiq/pages/MessagesPage.d.ts.map +1 -0
  115. package/dist/buildmyiq/pages/MessagesPage.js +261 -0
  116. package/dist/buildmyiq/pages/MessagesPage.js.map +1 -0
  117. package/dist/buildmyiq/pages/ProfileProgressPage.d.ts +2 -0
  118. package/dist/buildmyiq/pages/ProfileProgressPage.d.ts.map +1 -0
  119. package/dist/buildmyiq/pages/ProfileProgressPage.js +194 -0
  120. package/dist/buildmyiq/pages/ProfileProgressPage.js.map +1 -0
  121. package/dist/buildmyiq/pages/TeachingAnalyticsPage.d.ts +2 -0
  122. package/dist/buildmyiq/pages/TeachingAnalyticsPage.d.ts.map +1 -0
  123. package/dist/buildmyiq/pages/TeachingAnalyticsPage.js +243 -0
  124. package/dist/buildmyiq/pages/TeachingAnalyticsPage.js.map +1 -0
  125. package/dist/buildmyiq/pages/TeachingContentPage.d.ts +2 -0
  126. package/dist/buildmyiq/pages/TeachingContentPage.d.ts.map +1 -0
  127. package/dist/buildmyiq/pages/TeachingContentPage.js +165 -0
  128. package/dist/buildmyiq/pages/TeachingContentPage.js.map +1 -0
  129. package/dist/buildmyiq/pages/TeachingCoursesPage.d.ts +2 -0
  130. package/dist/buildmyiq/pages/TeachingCoursesPage.d.ts.map +1 -0
  131. package/dist/buildmyiq/pages/TeachingCoursesPage.js +151 -0
  132. package/dist/buildmyiq/pages/TeachingCoursesPage.js.map +1 -0
  133. package/dist/buildmyiq/pages/TeachingGradingPage.d.ts +2 -0
  134. package/dist/buildmyiq/pages/TeachingGradingPage.d.ts.map +1 -0
  135. package/dist/buildmyiq/pages/TeachingGradingPage.js +204 -0
  136. package/dist/buildmyiq/pages/TeachingGradingPage.js.map +1 -0
  137. package/dist/buildmyiq/pages/TeachingIndexPage.d.ts +2 -0
  138. package/dist/buildmyiq/pages/TeachingIndexPage.d.ts.map +1 -0
  139. package/dist/buildmyiq/pages/TeachingIndexPage.js +220 -0
  140. package/dist/buildmyiq/pages/TeachingIndexPage.js.map +1 -0
  141. package/dist/buildmyiq/pages/TeachingLessonPlansPage.d.ts +2 -0
  142. package/dist/buildmyiq/pages/TeachingLessonPlansPage.d.ts.map +1 -0
  143. package/dist/buildmyiq/pages/TeachingLessonPlansPage.js +157 -0
  144. package/dist/buildmyiq/pages/TeachingLessonPlansPage.js.map +1 -0
  145. package/dist/buildmyiq/pages/TeachingQuestionsPage.d.ts +2 -0
  146. package/dist/buildmyiq/pages/TeachingQuestionsPage.d.ts.map +1 -0
  147. package/dist/buildmyiq/pages/TeachingQuestionsPage.js +184 -0
  148. package/dist/buildmyiq/pages/TeachingQuestionsPage.js.map +1 -0
  149. package/dist/buildmyiq/pages/TeachingStudentsPage.d.ts +2 -0
  150. package/dist/buildmyiq/pages/TeachingStudentsPage.d.ts.map +1 -0
  151. package/dist/buildmyiq/pages/TeachingStudentsPage.js +204 -0
  152. package/dist/buildmyiq/pages/TeachingStudentsPage.js.map +1 -0
  153. package/dist/buildmyiq/providers/BuildMyIQProvider.d.ts +6 -0
  154. package/dist/buildmyiq/providers/BuildMyIQProvider.d.ts.map +1 -0
  155. package/dist/buildmyiq/providers/BuildMyIQProvider.js +27 -0
  156. package/dist/buildmyiq/providers/BuildMyIQProvider.js.map +1 -0
  157. package/dist/buildmyiq/store/buildmyiqStore.d.ts +189 -0
  158. package/dist/buildmyiq/store/buildmyiqStore.d.ts.map +1 -0
  159. package/dist/buildmyiq/store/buildmyiqStore.js +1160 -0
  160. package/dist/buildmyiq/store/buildmyiqStore.js.map +1 -0
  161. package/dist/buildmyiq/types/index.d.ts +51 -0
  162. package/dist/buildmyiq/types/index.d.ts.map +1 -0
  163. package/dist/buildmyiq/utils/cn.d.ts +4 -0
  164. package/dist/buildmyiq/utils/cn.d.ts.map +1 -0
  165. package/dist/buildmyiq/utils/navigation.d.ts +2 -0
  166. package/dist/buildmyiq/utils/navigation.d.ts.map +1 -0
  167. package/dist/buildmyiq/utils/navigation.js +8 -0
  168. package/dist/buildmyiq/utils/navigation.js.map +1 -0
  169. package/dist/dev/main.d.ts +2 -0
  170. package/dist/dev/main.d.ts.map +1 -0
  171. package/dist/generated/global-operations.d.ts +2 -0
  172. package/dist/generated/global-operations.d.ts.map +1 -0
  173. package/dist/generated/global-types.d.ts +18199 -0
  174. package/dist/generated/global-types.d.ts.map +1 -0
  175. package/dist/generated/wspace-operations.d.ts +2 -0
  176. package/dist/generated/wspace-operations.d.ts.map +1 -0
  177. package/dist/generated/wspace-types.d.ts +43046 -0
  178. package/dist/generated/wspace-types.d.ts.map +1 -0
  179. package/dist/index.d.ts +2 -0
  180. package/dist/index.d.ts.map +1 -0
  181. package/dist/index.js +5 -0
  182. package/package.json +107 -0
@@ -0,0 +1,209 @@
1
+ import { useState as e } from "react";
2
+ import { Bot as t, Plus as n, Send as r, Sparkles as i, User as a } from "lucide-react";
3
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
4
+ import { Badge as c, Button as l, Card as u, CardContent as d, CardHeader as f, CardTitle as p, Input as m } from "@burdenoff/fe-libs/ui";
5
+ import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
+ //#region src/buildmyiq/pages/AiAichatPagePage.tsx
7
+ var g = [
8
+ {
9
+ id: "1",
10
+ role: "user",
11
+ content: "Can you explain the chain rule in calculus?",
12
+ timestamp: "10:30 AM"
13
+ },
14
+ {
15
+ id: "2",
16
+ role: "assistant",
17
+ content: "The chain rule is a formula for computing the derivative of a composite function. If you have f(g(x)), the derivative is f'(g(x)) * g'(x).\n\nFor example, if h(x) = (3x + 1)^2:\n- Outer function: f(u) = u^2, so f'(u) = 2u\n- Inner function: g(x) = 3x + 1, so g'(x) = 3\n- Chain rule: h'(x) = 2(3x + 1) * 3 = 6(3x + 1)",
18
+ timestamp: "10:30 AM"
19
+ },
20
+ {
21
+ id: "3",
22
+ role: "user",
23
+ content: "What about when there are three nested functions?",
24
+ timestamp: "10:32 AM"
25
+ },
26
+ {
27
+ id: "4",
28
+ role: "assistant",
29
+ content: "Great question! When you have three nested functions f(g(h(x))), you just extend the chain rule:\n\nd/dx [f(g(h(x)))] = f'(g(h(x))) * g'(h(x)) * h'(x)\n\nExample: y = sin((2x+1)^3)\n- Outer: sin(u), derivative: cos(u)\n- Middle: u^3, derivative: 3u^2\n- Inner: 2x+1, derivative: 2\n\nResult: cos((2x+1)^3) * 3(2x+1)^2 * 2 = 6(2x+1)^2 * cos((2x+1)^3)",
30
+ timestamp: "10:32 AM"
31
+ }
32
+ ], _ = [
33
+ {
34
+ id: "c1",
35
+ title: "Chain rule explanation",
36
+ time: "Today"
37
+ },
38
+ {
39
+ id: "c2",
40
+ title: "Newton's second law problems",
41
+ time: "Yesterday"
42
+ },
43
+ {
44
+ id: "c3",
45
+ title: "Organic chemistry naming",
46
+ time: "2 days ago"
47
+ },
48
+ {
49
+ id: "c4",
50
+ title: "Binary search implementation",
51
+ time: "3 days ago"
52
+ },
53
+ {
54
+ id: "c5",
55
+ title: "Essay structure tips",
56
+ time: "1 week ago"
57
+ }
58
+ ], v = [
59
+ "Explain integration by parts",
60
+ "Help me solve a kinematics problem",
61
+ "What are functional groups in chemistry?",
62
+ "Compare BFS and DFS algorithms"
63
+ ];
64
+ function y() {
65
+ let { t: y } = h(), b = (e, t) => {
66
+ let n = y(e);
67
+ return n === e ? t : n;
68
+ }, [x, S] = e(g.map((e) => ({
69
+ ...e,
70
+ content: b(`buildmyiq.aiChat.messages.${e.id}.content`, e.content)
71
+ }))), [C, w] = e(""), T = () => {
72
+ if (!C.trim()) return;
73
+ let e = {
74
+ id: `u-${Date.now()}`,
75
+ role: "user",
76
+ content: C,
77
+ timestamp: (/* @__PURE__ */ new Date()).toLocaleTimeString([], {
78
+ hour: "2-digit",
79
+ minute: "2-digit"
80
+ })
81
+ };
82
+ S((t) => [...t, e]), w(""), setTimeout(() => {
83
+ let e = {
84
+ id: `a-${Date.now()}`,
85
+ role: "assistant",
86
+ content: b("buildmyiq.aiChat.autoReply", "I'd be happy to help with that! Let me think through this step by step..."),
87
+ timestamp: (/* @__PURE__ */ new Date()).toLocaleTimeString([], {
88
+ hour: "2-digit",
89
+ minute: "2-digit"
90
+ })
91
+ };
92
+ S((t) => [...t, e]);
93
+ }, 800);
94
+ };
95
+ return /* @__PURE__ */ s("div", {
96
+ className: "flex h-[calc(100vh-120px)] gap-4 p-6",
97
+ children: [/* @__PURE__ */ s(u, {
98
+ className: "w-64 shrink-0 flex flex-col overflow-hidden",
99
+ children: [/* @__PURE__ */ o(f, {
100
+ className: "pb-2",
101
+ children: /* @__PURE__ */ s("div", {
102
+ className: "flex items-center justify-between",
103
+ children: [/* @__PURE__ */ o(p, {
104
+ className: "text-sm",
105
+ children: b("buildmyiq.aiChat.conversations.title", "Conversations")
106
+ }), /* @__PURE__ */ o(l, {
107
+ size: "sm",
108
+ variant: "ghost",
109
+ children: /* @__PURE__ */ o(n, { className: "h-4 w-4" })
110
+ })]
111
+ })
112
+ }), /* @__PURE__ */ o(d, {
113
+ className: "flex-1 overflow-y-auto space-y-1 p-2",
114
+ children: _.map((e) => /* @__PURE__ */ s("button", {
115
+ className: "w-full text-left rounded-md px-3 py-2 hover:bg-muted transition-colors",
116
+ children: [/* @__PURE__ */ o("p", {
117
+ className: "text-sm font-medium truncate",
118
+ children: b(`buildmyiq.aiChat.pastChats.${e.id}.title`, e.title)
119
+ }), /* @__PURE__ */ o("p", {
120
+ className: "text-xs text-muted-foreground",
121
+ children: b(`buildmyiq.aiChat.pastChats.${e.id}.time`, e.time)
122
+ })]
123
+ }, e.id))
124
+ })]
125
+ }), /* @__PURE__ */ o("div", {
126
+ className: "flex-1 flex flex-col",
127
+ children: /* @__PURE__ */ s(u, {
128
+ className: "flex-1 flex flex-col overflow-hidden",
129
+ children: [
130
+ /* @__PURE__ */ o(f, {
131
+ className: "border-b pb-3",
132
+ children: /* @__PURE__ */ s("div", {
133
+ className: "flex items-center gap-2",
134
+ children: [
135
+ /* @__PURE__ */ o(t, { className: "h-5 w-5 text-primary" }),
136
+ /* @__PURE__ */ o(p, {
137
+ className: "text-lg",
138
+ children: b("buildmyiq.aiChat.title", "AI Chat Assistant")
139
+ }),
140
+ /* @__PURE__ */ s(c, {
141
+ variant: "secondary",
142
+ className: "gap-1",
143
+ children: [/* @__PURE__ */ o(i, { className: "h-3 w-3" }), "GPT-4"]
144
+ })
145
+ ]
146
+ })
147
+ }),
148
+ /* @__PURE__ */ o(d, {
149
+ className: "flex-1 overflow-y-auto p-4 space-y-4",
150
+ children: x.map((e) => /* @__PURE__ */ s("div", {
151
+ className: `flex gap-3 ${e.role === "user" ? "justify-end" : ""}`,
152
+ children: [
153
+ e.role === "assistant" && /* @__PURE__ */ o("div", {
154
+ className: "shrink-0 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center",
155
+ children: /* @__PURE__ */ o(t, { className: "h-4 w-4 text-primary" })
156
+ }),
157
+ /* @__PURE__ */ s("div", {
158
+ className: `max-w-[70%] rounded-lg px-4 py-3 ${e.role === "user" ? "bg-primary text-primary-foreground" : "bg-muted"}`,
159
+ children: [/* @__PURE__ */ o("p", {
160
+ className: "text-sm whitespace-pre-line",
161
+ children: e.content
162
+ }), /* @__PURE__ */ o("p", {
163
+ className: `text-xs mt-1 ${e.role === "user" ? "text-primary-foreground/70" : "text-muted-foreground"}`,
164
+ children: e.timestamp
165
+ })]
166
+ }),
167
+ e.role === "user" && /* @__PURE__ */ o("div", {
168
+ className: "shrink-0 w-8 h-8 rounded-full bg-primary flex items-center justify-center",
169
+ children: /* @__PURE__ */ o(a, { className: "h-4 w-4 text-primary-foreground" })
170
+ })
171
+ ]
172
+ }, e.id))
173
+ }),
174
+ /* @__PURE__ */ s("div", {
175
+ className: "border-t p-4",
176
+ children: [/* @__PURE__ */ o("div", {
177
+ className: "flex flex-wrap gap-2 mb-3",
178
+ children: v.map((e, t) => /* @__PURE__ */ o(l, {
179
+ variant: "outline",
180
+ size: "sm",
181
+ className: "text-xs",
182
+ onClick: () => w(e),
183
+ children: b(`buildmyiq.aiChat.suggestedPrompts.${t}`, e)
184
+ }, e))
185
+ }), /* @__PURE__ */ s("div", {
186
+ className: "flex gap-2",
187
+ children: [/* @__PURE__ */ o(m, {
188
+ value: C,
189
+ onChange: (e) => w(e.target.value),
190
+ placeholder: b("buildmyiq.aiChat.inputPlaceholder", "Ask anything about your courses..."),
191
+ className: "flex-1",
192
+ onKeyDown: (e) => {
193
+ e.key === "Enter" && T();
194
+ }
195
+ }), /* @__PURE__ */ o(l, {
196
+ onClick: T,
197
+ children: /* @__PURE__ */ o(r, { className: "h-4 w-4" })
198
+ })]
199
+ })]
200
+ })
201
+ ]
202
+ })
203
+ })]
204
+ });
205
+ }
206
+ //#endregion
207
+ export { y as AiAichatPagePage };
208
+
209
+ //# sourceMappingURL=AiAichatPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiAichatPagePage.js","names":[],"sources":["../../../src/buildmyiq/pages/AiAichatPagePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Bot, Send, Plus, Sparkles, User } from 'lucide-react';\n\ninterface ChatMessage {\n id: string;\n role: 'user' | 'assistant';\n content: string;\n timestamp: string;\n}\n\nconst mockConversation: ChatMessage[] = [\n {\n id: '1',\n role: 'user',\n content: 'Can you explain the chain rule in calculus?',\n timestamp: '10:30 AM',\n },\n {\n id: '2',\n role: 'assistant',\n content:\n \"The chain rule is a formula for computing the derivative of a composite function. If you have f(g(x)), the derivative is f'(g(x)) * g'(x).\\n\\nFor example, if h(x) = (3x + 1)^2:\\n- Outer function: f(u) = u^2, so f'(u) = 2u\\n- Inner function: g(x) = 3x + 1, so g'(x) = 3\\n- Chain rule: h'(x) = 2(3x + 1) * 3 = 6(3x + 1)\",\n timestamp: '10:30 AM',\n },\n {\n id: '3',\n role: 'user',\n content: 'What about when there are three nested functions?',\n timestamp: '10:32 AM',\n },\n {\n id: '4',\n role: 'assistant',\n content:\n \"Great question! When you have three nested functions f(g(h(x))), you just extend the chain rule:\\n\\nd/dx [f(g(h(x)))] = f'(g(h(x))) * g'(h(x)) * h'(x)\\n\\nExample: y = sin((2x+1)^3)\\n- Outer: sin(u), derivative: cos(u)\\n- Middle: u^3, derivative: 3u^2\\n- Inner: 2x+1, derivative: 2\\n\\nResult: cos((2x+1)^3) * 3(2x+1)^2 * 2 = 6(2x+1)^2 * cos((2x+1)^3)\",\n timestamp: '10:32 AM',\n },\n];\n\nconst pastChats = [\n { id: 'c1', title: 'Chain rule explanation', time: 'Today' },\n { id: 'c2', title: \"Newton's second law problems\", time: 'Yesterday' },\n { id: 'c3', title: 'Organic chemistry naming', time: '2 days ago' },\n { id: 'c4', title: 'Binary search implementation', time: '3 days ago' },\n { id: 'c5', title: 'Essay structure tips', time: '1 week ago' },\n];\n\nconst suggestedPrompts = [\n 'Explain integration by parts',\n 'Help me solve a kinematics problem',\n 'What are functional groups in chemistry?',\n 'Compare BFS and DFS algorithms',\n];\n\nexport function AiAichatPagePage() {\n const { t: translate } = useI18n();\n const t = (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n };\n const localizedMockConversation = mockConversation.map((message) => ({\n ...message,\n content: t(`buildmyiq.aiChat.messages.${message.id}.content`, message.content),\n }));\n const [messages, setMessages] = useState<ChatMessage[]>(localizedMockConversation);\n const [input, setInput] = useState('');\n\n const sendMessage = () => {\n if (!input.trim()) return;\n const userMsg: ChatMessage = {\n id: `u-${Date.now()}`,\n role: 'user',\n content: input,\n timestamp: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),\n };\n setMessages((prev) => [...prev, userMsg]);\n setInput('');\n setTimeout(() => {\n const aiMsg: ChatMessage = {\n id: `a-${Date.now()}`,\n role: 'assistant',\n content: t(\n 'buildmyiq.aiChat.autoReply',\n \"I'd be happy to help with that! Let me think through this step by step...\"\n ),\n timestamp: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),\n };\n setMessages((prev) => [...prev, aiMsg]);\n }, 800);\n };\n\n return (\n <div className=\"flex h-[calc(100vh-120px)] gap-4 p-6\">\n <Card className=\"w-64 shrink-0 flex flex-col overflow-hidden\">\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-sm\">\n {t('buildmyiq.aiChat.conversations.title', 'Conversations')}\n </CardTitle>\n <Button size=\"sm\" variant=\"ghost\">\n <Plus className=\"h-4 w-4\" />\n </Button>\n </div>\n </CardHeader>\n <CardContent className=\"flex-1 overflow-y-auto space-y-1 p-2\">\n {pastChats.map((chat) => (\n <button\n key={chat.id}\n className=\"w-full text-left rounded-md px-3 py-2 hover:bg-muted transition-colors\"\n >\n <p className=\"text-sm font-medium truncate\">\n {t(`buildmyiq.aiChat.pastChats.${chat.id}.title`, chat.title)}\n </p>\n <p className=\"text-xs text-muted-foreground\">\n {t(`buildmyiq.aiChat.pastChats.${chat.id}.time`, chat.time)}\n </p>\n </button>\n ))}\n </CardContent>\n </Card>\n\n <div className=\"flex-1 flex flex-col\">\n <Card className=\"flex-1 flex flex-col overflow-hidden\">\n <CardHeader className=\"border-b pb-3\">\n <div className=\"flex items-center gap-2\">\n <Bot className=\"h-5 w-5 text-primary\" />\n <CardTitle className=\"text-lg\">\n {t('buildmyiq.aiChat.title', 'AI Chat Assistant')}\n </CardTitle>\n <Badge variant=\"secondary\" className=\"gap-1\">\n <Sparkles className=\"h-3 w-3\" />\n GPT-4\n </Badge>\n </div>\n </CardHeader>\n <CardContent className=\"flex-1 overflow-y-auto p-4 space-y-4\">\n {messages.map((msg) => (\n <div\n key={msg.id}\n className={`flex gap-3 ${msg.role === 'user' ? 'justify-end' : ''}`}\n >\n {msg.role === 'assistant' && (\n <div className=\"shrink-0 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center\">\n <Bot className=\"h-4 w-4 text-primary\" />\n </div>\n )}\n <div\n className={`max-w-[70%] rounded-lg px-4 py-3 ${msg.role === 'user' ? 'bg-primary text-primary-foreground' : 'bg-muted'}`}\n >\n <p className=\"text-sm whitespace-pre-line\">{msg.content}</p>\n <p\n className={`text-xs mt-1 ${msg.role === 'user' ? 'text-primary-foreground/70' : 'text-muted-foreground'}`}\n >\n {msg.timestamp}\n </p>\n </div>\n {msg.role === 'user' && (\n <div className=\"shrink-0 w-8 h-8 rounded-full bg-primary flex items-center justify-center\">\n <User className=\"h-4 w-4 text-primary-foreground\" />\n </div>\n )}\n </div>\n ))}\n </CardContent>\n <div className=\"border-t p-4\">\n <div className=\"flex flex-wrap gap-2 mb-3\">\n {suggestedPrompts.map((prompt, index) => (\n <Button\n key={prompt}\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs\"\n onClick={() => setInput(prompt)}\n >\n {t(`buildmyiq.aiChat.suggestedPrompts.${index}`, prompt)}\n </Button>\n ))}\n </div>\n <div className=\"flex gap-2\">\n <Input\n value={input}\n onChange={(e) => setInput(e.target.value)}\n placeholder={t(\n 'buildmyiq.aiChat.inputPlaceholder',\n 'Ask anything about your courses...'\n )}\n className=\"flex-1\"\n onKeyDown={(e) => {\n if (e.key === 'Enter') sendMessage();\n }}\n />\n <Button onClick={sendMessage}>\n <Send className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function AiAicontentGenerationPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=AiAicontentGenerationPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiAicontentGenerationPagePage.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/pages/AiAicontentGenerationPagePage.tsx"],"names":[],"mappings":"AA6EA,wBAAgB,6BAA6B,4CA4M5C"}
@@ -0,0 +1,318 @@
1
+ import { useBuildMyIQStore as e } from "../store/buildmyiqStore.js";
2
+ import { useState as t } from "react";
3
+ import { BookOpen as n, Clock as r, FileCheck as i, FileText as a, HelpCircle as o, Sparkles as s, Wand2 as c } from "lucide-react";
4
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
5
+ import { Badge as d, Button as f, Card as p, CardContent as m, CardDescription as h, CardHeader as g, CardTitle as _, Input as v } from "@burdenoff/fe-libs/ui";
6
+ //#region src/buildmyiq/pages/AiAicontentGenerationPagePage.tsx
7
+ var y = [
8
+ {
9
+ id: "lesson-plan",
10
+ label: "Lesson Plan",
11
+ icon: n,
12
+ desc: "Generate structured lesson plans with objectives and activities"
13
+ },
14
+ {
15
+ id: "quiz",
16
+ label: "Quiz Questions",
17
+ icon: o,
18
+ desc: "Create multiple choice, short answer, and essay questions"
19
+ },
20
+ {
21
+ id: "study-guide",
22
+ label: "Study Guide",
23
+ icon: i,
24
+ desc: "Comprehensive study guides with key concepts and summaries"
25
+ },
26
+ {
27
+ id: "summary",
28
+ label: "Summary",
29
+ icon: a,
30
+ desc: "Concise summaries of topics, chapters, or lectures"
31
+ }
32
+ ], b = [
33
+ {
34
+ id: "h1",
35
+ type: "Quiz Questions",
36
+ topic: "Derivatives - Chain Rule",
37
+ course: "Calculus I",
38
+ time: "2 hours ago",
39
+ items: 10
40
+ },
41
+ {
42
+ id: "h2",
43
+ type: "Lesson Plan",
44
+ topic: "Newton's Laws of Motion",
45
+ course: "Physics",
46
+ time: "1 day ago",
47
+ items: 1
48
+ },
49
+ {
50
+ id: "h3",
51
+ type: "Study Guide",
52
+ topic: "Organic Functional Groups",
53
+ course: "Chemistry",
54
+ time: "2 days ago",
55
+ items: 1
56
+ },
57
+ {
58
+ id: "h4",
59
+ type: "Summary",
60
+ topic: "Binary Search Trees",
61
+ course: "Data Structures",
62
+ time: "3 days ago",
63
+ items: 1
64
+ }
65
+ ];
66
+ function x() {
67
+ let { courses: n } = e(), [i, o] = t("lesson-plan"), [x, S] = t(n[0]?.id || ""), [C, w] = t(""), [T, E] = t("Intermediate"), [D, O] = t(!1);
68
+ return /* @__PURE__ */ u("div", {
69
+ className: "space-y-6 p-6",
70
+ children: [/* @__PURE__ */ u("div", {
71
+ className: "flex items-center justify-between",
72
+ children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h1", {
73
+ className: "text-2xl font-semibold",
74
+ children: "AI Content Generation"
75
+ }), /* @__PURE__ */ l("p", {
76
+ className: "text-sm text-muted-foreground",
77
+ children: "Generate educational content with AI assistance"
78
+ })] }), /* @__PURE__ */ u(d, {
79
+ variant: "secondary",
80
+ className: "gap-1",
81
+ children: [/* @__PURE__ */ l(s, { className: "h-3 w-3" }), "AI Powered"]
82
+ })]
83
+ }), /* @__PURE__ */ u("div", {
84
+ className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
85
+ children: [/* @__PURE__ */ u("div", {
86
+ className: "lg:col-span-2 space-y-4",
87
+ children: [
88
+ /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ u(g, { children: [/* @__PURE__ */ l(_, { children: "Content Type" }), /* @__PURE__ */ l(h, { children: "Select the type of content to generate" })] }), /* @__PURE__ */ l(m, { children: /* @__PURE__ */ l("div", {
89
+ className: "grid grid-cols-2 gap-3",
90
+ children: y.map((e) => /* @__PURE__ */ u("button", {
91
+ onClick: () => {
92
+ o(e.id), O(!1);
93
+ },
94
+ className: `rounded-lg border p-4 text-left transition-colors hover:bg-muted/50 ${i === e.id ? "border-primary bg-primary/5" : ""}`,
95
+ children: [
96
+ /* @__PURE__ */ l(e.icon, { className: `h-5 w-5 mb-2 ${i === e.id ? "text-primary" : "text-muted-foreground"}` }),
97
+ /* @__PURE__ */ l("p", {
98
+ className: "text-sm font-medium",
99
+ children: e.label
100
+ }),
101
+ /* @__PURE__ */ l("p", {
102
+ className: "text-xs text-muted-foreground mt-1",
103
+ children: e.desc
104
+ })
105
+ ]
106
+ }, e.id))
107
+ }) })] }),
108
+ /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(g, { children: /* @__PURE__ */ l(_, { children: "Settings" }) }), /* @__PURE__ */ u(m, {
109
+ className: "space-y-4",
110
+ children: [
111
+ /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("label", {
112
+ className: "text-sm font-medium mb-2 block",
113
+ children: "Course"
114
+ }), /* @__PURE__ */ l("select", {
115
+ value: x,
116
+ onChange: (e) => S(e.target.value),
117
+ className: "w-full h-10 rounded-md border border-input bg-background px-3 text-sm",
118
+ children: n.map((e) => /* @__PURE__ */ l("option", {
119
+ value: e.id,
120
+ children: e.title
121
+ }, e.id))
122
+ })] }),
123
+ /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("label", {
124
+ className: "text-sm font-medium mb-2 block",
125
+ children: "Topic"
126
+ }), /* @__PURE__ */ l(v, {
127
+ value: C,
128
+ onChange: (e) => w(e.target.value),
129
+ placeholder: "e.g., Integration by Parts, Newton's Third Law..."
130
+ })] }),
131
+ /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("label", {
132
+ className: "text-sm font-medium mb-2 block",
133
+ children: "Difficulty Level"
134
+ }), /* @__PURE__ */ l("div", {
135
+ className: "flex gap-2",
136
+ children: [
137
+ "Beginner",
138
+ "Intermediate",
139
+ "Advanced"
140
+ ].map((e) => /* @__PURE__ */ l(f, {
141
+ variant: T === e ? "default" : "outline",
142
+ size: "sm",
143
+ onClick: () => E(e),
144
+ children: e
145
+ }, e))
146
+ })] }),
147
+ /* @__PURE__ */ u(f, {
148
+ className: "w-full",
149
+ onClick: () => {
150
+ C.trim() && O(!0);
151
+ },
152
+ disabled: !C.trim(),
153
+ children: [/* @__PURE__ */ l(c, { className: "mr-2 h-4 w-4" }), "Generate Content"]
154
+ })
155
+ ]
156
+ })] }),
157
+ D && /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(g, { children: /* @__PURE__ */ u("div", {
158
+ className: "flex items-center justify-between",
159
+ children: [/* @__PURE__ */ l(_, {
160
+ className: "text-lg",
161
+ children: "Generated Content"
162
+ }), /* @__PURE__ */ u("div", {
163
+ className: "flex gap-2",
164
+ children: [/* @__PURE__ */ l(f, {
165
+ size: "sm",
166
+ variant: "outline",
167
+ children: "Copy"
168
+ }), /* @__PURE__ */ l(f, {
169
+ size: "sm",
170
+ children: "Save to Course"
171
+ })]
172
+ })]
173
+ }) }), /* @__PURE__ */ l(m, { children: /* @__PURE__ */ u("div", {
174
+ className: "rounded-lg bg-muted p-4 space-y-3",
175
+ children: [
176
+ /* @__PURE__ */ u("h3", {
177
+ className: "font-semibold",
178
+ children: ["Lesson Plan: ", C]
179
+ }),
180
+ /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
181
+ className: "text-sm font-medium",
182
+ children: "Learning Objectives:"
183
+ }), /* @__PURE__ */ u("ul", {
184
+ className: "text-sm text-muted-foreground list-disc ml-4 mt-1",
185
+ children: [
186
+ /* @__PURE__ */ u("li", { children: ["Understand the core concepts of ", C] }),
187
+ /* @__PURE__ */ u("li", { children: [
188
+ "Apply ",
189
+ C,
190
+ " principles to solve problems"
191
+ ] }),
192
+ /* @__PURE__ */ u("li", { children: ["Analyze and evaluate results using ", C] })
193
+ ]
194
+ })] }),
195
+ /* @__PURE__ */ l("div", { children: /* @__PURE__ */ l("p", {
196
+ className: "text-sm font-medium",
197
+ children: "Duration: 90 minutes"
198
+ }) }),
199
+ /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
200
+ className: "text-sm font-medium",
201
+ children: "Activities:"
202
+ }), /* @__PURE__ */ u("ul", {
203
+ className: "text-sm text-muted-foreground list-disc ml-4 mt-1",
204
+ children: [
205
+ /* @__PURE__ */ l("li", { children: "Introduction and review (15 min)" }),
206
+ /* @__PURE__ */ l("li", { children: "Guided practice with examples (30 min)" }),
207
+ /* @__PURE__ */ l("li", { children: "Independent problem solving (25 min)" }),
208
+ /* @__PURE__ */ l("li", { children: "Discussion and wrap-up (20 min)" })
209
+ ]
210
+ })] })
211
+ ]
212
+ }) })] })
213
+ ]
214
+ }), /* @__PURE__ */ u("div", {
215
+ className: "space-y-4",
216
+ children: [/* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(g, {
217
+ className: "pb-2",
218
+ children: /* @__PURE__ */ l(_, {
219
+ className: "text-sm",
220
+ children: "Generation Stats"
221
+ })
222
+ }), /* @__PURE__ */ u(m, {
223
+ className: "space-y-3",
224
+ children: [
225
+ /* @__PURE__ */ u("div", {
226
+ className: "flex justify-between",
227
+ children: [/* @__PURE__ */ l("span", {
228
+ className: "text-sm text-muted-foreground",
229
+ children: "Total Generated"
230
+ }), /* @__PURE__ */ l("span", {
231
+ className: "font-bold",
232
+ children: "892"
233
+ })]
234
+ }),
235
+ /* @__PURE__ */ u("div", {
236
+ className: "flex justify-between",
237
+ children: [/* @__PURE__ */ l("span", {
238
+ className: "text-sm text-muted-foreground",
239
+ children: "Lesson Plans"
240
+ }), /* @__PURE__ */ l("span", {
241
+ className: "font-bold",
242
+ children: "156"
243
+ })]
244
+ }),
245
+ /* @__PURE__ */ u("div", {
246
+ className: "flex justify-between",
247
+ children: [/* @__PURE__ */ l("span", {
248
+ className: "text-sm text-muted-foreground",
249
+ children: "Quiz Questions"
250
+ }), /* @__PURE__ */ l("span", {
251
+ className: "font-bold",
252
+ children: "423"
253
+ })]
254
+ }),
255
+ /* @__PURE__ */ u("div", {
256
+ className: "flex justify-between",
257
+ children: [/* @__PURE__ */ l("span", {
258
+ className: "text-sm text-muted-foreground",
259
+ children: "Study Guides"
260
+ }), /* @__PURE__ */ l("span", {
261
+ className: "font-bold",
262
+ children: "189"
263
+ })]
264
+ }),
265
+ /* @__PURE__ */ u("div", {
266
+ className: "flex justify-between",
267
+ children: [/* @__PURE__ */ l("span", {
268
+ className: "text-sm text-muted-foreground",
269
+ children: "Summaries"
270
+ }), /* @__PURE__ */ l("span", {
271
+ className: "font-bold",
272
+ children: "124"
273
+ })]
274
+ })
275
+ ]
276
+ })] }), /* @__PURE__ */ u(p, { children: [/* @__PURE__ */ l(g, {
277
+ className: "pb-2",
278
+ children: /* @__PURE__ */ l(_, {
279
+ className: "text-sm",
280
+ children: "Recent Generations"
281
+ })
282
+ }), /* @__PURE__ */ l(m, {
283
+ className: "space-y-2",
284
+ children: b.map((e) => /* @__PURE__ */ u("div", {
285
+ className: "rounded-md border p-2 hover:bg-muted/50 cursor-pointer",
286
+ children: [/* @__PURE__ */ u("div", {
287
+ className: "flex items-center gap-2",
288
+ children: [/* @__PURE__ */ l(a, { className: "h-4 w-4 text-muted-foreground shrink-0" }), /* @__PURE__ */ u("div", {
289
+ className: "flex-1 min-w-0",
290
+ children: [/* @__PURE__ */ u("p", {
291
+ className: "text-sm font-medium truncate",
292
+ children: [
293
+ e.type,
294
+ ": ",
295
+ e.topic
296
+ ]
297
+ }), /* @__PURE__ */ l("p", {
298
+ className: "text-xs text-muted-foreground",
299
+ children: e.course
300
+ })]
301
+ })]
302
+ }), /* @__PURE__ */ u("div", {
303
+ className: "flex items-center gap-1 mt-1 ml-6",
304
+ children: [/* @__PURE__ */ l(r, { className: "h-3 w-3 text-muted-foreground" }), /* @__PURE__ */ l("span", {
305
+ className: "text-xs text-muted-foreground",
306
+ children: e.time
307
+ })]
308
+ })]
309
+ }, e.id))
310
+ })] })]
311
+ })]
312
+ })]
313
+ });
314
+ }
315
+ //#endregion
316
+ export { x as AiAicontentGenerationPagePage };
317
+
318
+ //# sourceMappingURL=AiAicontentGenerationPagePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiAicontentGenerationPagePage.js","names":[],"sources":["../../../src/buildmyiq/pages/AiAicontentGenerationPagePage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n CardDescription,\n Input,\n Textarea,\n} from '@burdenoff/fe-libs/ui';\nimport { FileText, Sparkles, BookOpen, HelpCircle, FileCheck, Clock, Wand2 } from 'lucide-react';\nimport { useBuildMyIQStore } from '../store/buildmyiqStore';\n\nconst contentTypes = [\n {\n id: 'lesson-plan',\n label: 'Lesson Plan',\n icon: BookOpen,\n desc: 'Generate structured lesson plans with objectives and activities',\n },\n {\n id: 'quiz',\n label: 'Quiz Questions',\n icon: HelpCircle,\n desc: 'Create multiple choice, short answer, and essay questions',\n },\n {\n id: 'study-guide',\n label: 'Study Guide',\n icon: FileCheck,\n desc: 'Comprehensive study guides with key concepts and summaries',\n },\n {\n id: 'summary',\n label: 'Summary',\n icon: FileText,\n desc: 'Concise summaries of topics, chapters, or lectures',\n },\n];\n\nconst generationHistory = [\n {\n id: 'h1',\n type: 'Quiz Questions',\n topic: 'Derivatives - Chain Rule',\n course: 'Calculus I',\n time: '2 hours ago',\n items: 10,\n },\n {\n id: 'h2',\n type: 'Lesson Plan',\n topic: \"Newton's Laws of Motion\",\n course: 'Physics',\n time: '1 day ago',\n items: 1,\n },\n {\n id: 'h3',\n type: 'Study Guide',\n topic: 'Organic Functional Groups',\n course: 'Chemistry',\n time: '2 days ago',\n items: 1,\n },\n {\n id: 'h4',\n type: 'Summary',\n topic: 'Binary Search Trees',\n course: 'Data Structures',\n time: '3 days ago',\n items: 1,\n },\n];\n\nexport function AiAicontentGenerationPagePage() {\n const { courses } = useBuildMyIQStore();\n const [selectedType, setSelectedType] = useState('lesson-plan');\n const [selectedCourse, setSelectedCourse] = useState(courses[0]?.id || '');\n const [topic, setTopic] = useState('');\n const [difficulty, setDifficulty] = useState('Intermediate');\n const [generated, setGenerated] = useState(false);\n\n const handleGenerate = () => {\n if (topic.trim()) setGenerated(true);\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\">AI Content Generation</h1>\n <p className=\"text-sm text-muted-foreground\">\n Generate educational content with AI assistance\n </p>\n </div>\n <Badge variant=\"secondary\" className=\"gap-1\">\n <Sparkles className=\"h-3 w-3\" />\n AI Powered\n </Badge>\n </div>\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n <div className=\"lg:col-span-2 space-y-4\">\n <Card>\n <CardHeader>\n <CardTitle>Content Type</CardTitle>\n <CardDescription>Select the type of content to generate</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-2 gap-3\">\n {contentTypes.map((ct) => (\n <button\n key={ct.id}\n onClick={() => {\n setSelectedType(ct.id);\n setGenerated(false);\n }}\n className={`rounded-lg border p-4 text-left transition-colors hover:bg-muted/50 ${selectedType === ct.id ? 'border-primary bg-primary/5' : ''}`}\n >\n <ct.icon\n className={`h-5 w-5 mb-2 ${selectedType === ct.id ? 'text-primary' : 'text-muted-foreground'}`}\n />\n <p className=\"text-sm font-medium\">{ct.label}</p>\n <p className=\"text-xs text-muted-foreground mt-1\">{ct.desc}</p>\n </button>\n ))}\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Settings</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <label className=\"text-sm font-medium mb-2 block\">Course</label>\n <select\n value={selectedCourse}\n onChange={(e) => setSelectedCourse(e.target.value)}\n className=\"w-full h-10 rounded-md border border-input bg-background px-3 text-sm\"\n >\n {courses.map((c) => (\n <option key={c.id} value={c.id}>\n {c.title}\n </option>\n ))}\n </select>\n </div>\n <div>\n <label className=\"text-sm font-medium mb-2 block\">Topic</label>\n <Input\n value={topic}\n onChange={(e) => setTopic(e.target.value)}\n placeholder=\"e.g., Integration by Parts, Newton's Third Law...\"\n />\n </div>\n <div>\n <label className=\"text-sm font-medium mb-2 block\">Difficulty Level</label>\n <div className=\"flex gap-2\">\n {['Beginner', 'Intermediate', 'Advanced'].map((d) => (\n <Button\n key={d}\n variant={difficulty === d ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setDifficulty(d)}\n >\n {d}\n </Button>\n ))}\n </div>\n </div>\n <Button className=\"w-full\" onClick={handleGenerate} disabled={!topic.trim()}>\n <Wand2 className=\"mr-2 h-4 w-4\" />\n Generate Content\n </Button>\n </CardContent>\n </Card>\n\n {generated && (\n <Card>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle className=\"text-lg\">Generated Content</CardTitle>\n <div className=\"flex gap-2\">\n <Button size=\"sm\" variant=\"outline\">\n Copy\n </Button>\n <Button size=\"sm\">Save to Course</Button>\n </div>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"rounded-lg bg-muted p-4 space-y-3\">\n <h3 className=\"font-semibold\">Lesson Plan: {topic}</h3>\n <div>\n <p className=\"text-sm font-medium\">Learning Objectives:</p>\n <ul className=\"text-sm text-muted-foreground list-disc ml-4 mt-1\">\n <li>Understand the core concepts of {topic}</li>\n <li>Apply {topic} principles to solve problems</li>\n <li>Analyze and evaluate results using {topic}</li>\n </ul>\n </div>\n <div>\n <p className=\"text-sm font-medium\">Duration: 90 minutes</p>\n </div>\n <div>\n <p className=\"text-sm font-medium\">Activities:</p>\n <ul className=\"text-sm text-muted-foreground list-disc ml-4 mt-1\">\n <li>Introduction and review (15 min)</li>\n <li>Guided practice with examples (30 min)</li>\n <li>Independent problem solving (25 min)</li>\n <li>Discussion and wrap-up (20 min)</li>\n </ul>\n </div>\n </div>\n </CardContent>\n </Card>\n )}\n </div>\n\n <div className=\"space-y-4\">\n <Card>\n <CardHeader className=\"pb-2\">\n <CardTitle className=\"text-sm\">Generation Stats</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"flex justify-between\">\n <span className=\"text-sm text-muted-foreground\">Total Generated</span>\n <span className=\"font-bold\">892</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-sm text-muted-foreground\">Lesson Plans</span>\n <span className=\"font-bold\">156</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-sm text-muted-foreground\">Quiz Questions</span>\n <span className=\"font-bold\">423</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-sm text-muted-foreground\">Study Guides</span>\n <span className=\"font-bold\">189</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-sm text-muted-foreground\">Summaries</span>\n <span className=\"font-bold\">124</span>\n </div>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader className=\"pb-2\">\n <CardTitle className=\"text-sm\">Recent Generations</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {generationHistory.map((h) => (\n <div key={h.id} className=\"rounded-md border p-2 hover:bg-muted/50 cursor-pointer\">\n <div className=\"flex items-center gap-2\">\n <FileText className=\"h-4 w-4 text-muted-foreground shrink-0\" />\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium truncate\">\n {h.type}: {h.topic}\n </p>\n <p className=\"text-xs text-muted-foreground\">{h.course}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-1 mt-1 ml-6\">\n <Clock className=\"h-3 w-3 text-muted-foreground\" />\n <span className=\"text-xs text-muted-foreground\">{h.time}</span>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function AiAitutoringPagePage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=AiAitutoringPagePage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiAitutoringPagePage.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/pages/AiAitutoringPagePage.tsx"],"names":[],"mappings":"AA8DA,wBAAgB,oBAAoB,4CAwLnC"}