@magmamath/students-features 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/chatbot/constants.js +21 -12
- package/dist/commonjs/features/chatbot/constants.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/api.js +21 -1
- package/dist/commonjs/features/chatbot/model/api.js.map +1 -1
- package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js +1 -1
- package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +1 -2
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
- package/dist/commonjs/features/feedback/constants.js +6 -9
- package/dist/commonjs/features/feedback/constants.js.map +1 -1
- package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +6 -5
- package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +1 -1
- package/dist/commonjs/features/feedback/types/teacherFeedback.types.js.map +1 -1
- package/dist/module/features/chatbot/constants.js +20 -11
- package/dist/module/features/chatbot/constants.js.map +1 -1
- package/dist/module/features/chatbot/model/api.js +21 -1
- package/dist/module/features/chatbot/model/api.js.map +1 -1
- package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js +2 -2
- package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +1 -2
- package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
- package/dist/module/features/feedback/constants.js +5 -8
- package/dist/module/features/feedback/constants.js.map +1 -1
- package/dist/module/features/feedback/model/teacherFeedback.model.js +6 -5
- package/dist/module/features/feedback/model/teacherFeedback.model.js.map +1 -1
- package/dist/module/features/feedback/types/teacherFeedback.types.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts +6 -0
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/constants.d.ts +4 -3
- package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts +9 -3
- package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts +0 -6
- package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/constants.d.ts +6 -0
- package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/api.d.ts +1 -0
- package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/constants.d.ts +4 -3
- package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts +9 -3
- package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts +0 -6
- package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/constants.ts +30 -22
- package/src/features/chatbot/model/api.ts +47 -17
- package/src/features/feedback/components/EmptyComment/EmptyComment.tsx +2 -2
- package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +26 -12
- package/src/features/feedback/constants.ts +7 -10
- package/src/features/feedback/model/teacherFeedback.model.ts +18 -10
- package/src/features/feedback/types/teacherFeedback.types.ts +0 -5
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
CommentsEntity,
|
|
12
12
|
GetCommentsByIdProps,
|
|
13
|
-
GetCommentsByIdResponse,
|
|
14
13
|
Locale,
|
|
15
14
|
TeacherComment,
|
|
16
15
|
UpdateCommentSeenStatusProps,
|
|
@@ -31,20 +30,28 @@ type TeacherFeedbackModelProps = {
|
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
|
|
33
|
+
type CommentsMap = Map<string, Record<string, CommentsEntity>>
|
|
34
|
+
|
|
34
35
|
export class TeacherFeedbackModel {
|
|
35
36
|
$assignmentId: StoreWritable<string>
|
|
36
37
|
$currentProblemId: StoreWritable<string>
|
|
37
38
|
$locale: StoreWritable<Locale | null>
|
|
38
39
|
|
|
39
40
|
setCommentsSeen = createEvent<{ ids: string[]; currentProblemId: string; assignmentId: string }>()
|
|
40
|
-
$comments = createStore<
|
|
41
|
+
$comments = createStore<CommentsMap>(new Map())
|
|
41
42
|
|
|
42
43
|
setIsOpened = createEvent<boolean>()
|
|
43
44
|
$isOpened = restore(this.setIsOpened, false)
|
|
44
45
|
setIsVisible = createEvent<boolean>()
|
|
45
46
|
$isVisible = restore(this.setIsVisible, false)
|
|
46
47
|
|
|
47
|
-
getCommentsByAssignmentIdFx: Effect<
|
|
48
|
+
getCommentsByAssignmentIdFx: Effect<
|
|
49
|
+
GetCommentsByIdProps,
|
|
50
|
+
{
|
|
51
|
+
data: Record<string, { comments: TeacherComment[] }>
|
|
52
|
+
assignmentId: string
|
|
53
|
+
}
|
|
54
|
+
>
|
|
48
55
|
updateCommentSeenFx: Effect<UpdateCommentSeenStatusProps, void>
|
|
49
56
|
|
|
50
57
|
sockets = {
|
|
@@ -53,7 +60,7 @@ export class TeacherFeedbackModel {
|
|
|
53
60
|
}
|
|
54
61
|
|
|
55
62
|
constructor({ api, credits }: TeacherFeedbackModelProps) {
|
|
56
|
-
this.getCommentsByAssignmentIdFx = createEffect(async ({ id }:
|
|
63
|
+
this.getCommentsByAssignmentIdFx = createEffect(async ({ id }: { id: string }) => {
|
|
57
64
|
const response = await api.getCommentsByAssignmentId({ id })
|
|
58
65
|
return {
|
|
59
66
|
data: response,
|
|
@@ -195,9 +202,10 @@ export class TeacherFeedbackModel {
|
|
|
195
202
|
: feedback.unreadMessagesCount,
|
|
196
203
|
}
|
|
197
204
|
|
|
205
|
+
const isOpen = this.$isOpened.getState()
|
|
206
|
+
|
|
198
207
|
if (updatedFeedback.comments.length === 0) {
|
|
199
208
|
const updatedAssignmentComments = { ...assignmentComments }
|
|
200
|
-
const isOpen = this.$isOpened.getState()
|
|
201
209
|
|
|
202
210
|
if (!isOpen) {
|
|
203
211
|
delete updatedAssignmentComments[payload.problemId]
|
|
@@ -207,11 +215,11 @@ export class TeacherFeedbackModel {
|
|
|
207
215
|
updatedState.delete(assignmentId)
|
|
208
216
|
return updatedState
|
|
209
217
|
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
218
|
+
} else {
|
|
219
|
+
updatedAssignmentComments[payload.problemId] = {
|
|
220
|
+
...updatedFeedback,
|
|
221
|
+
comments: [getEmptyComment(payload.problemId, this.$locale.getState())],
|
|
222
|
+
}
|
|
215
223
|
}
|
|
216
224
|
|
|
217
225
|
const updatedState = new Map(state)
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
export type GetCommentsByIdProps = { id: string }
|
|
2
|
-
export type GetCommentsByIdResponse = {
|
|
3
|
-
data: Record<string, { comments: TeacherComment[] }>
|
|
4
|
-
assignmentId: string
|
|
5
|
-
}
|
|
6
|
-
|
|
7
2
|
export type UpdateCommentSeenStatusProps = { ids: string[] }
|
|
8
3
|
|
|
9
4
|
export type TeacherComment = {
|