@magmamath/students-features 0.2.2 → 0.2.4

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 (218) hide show
  1. package/dist/commonjs/features/chatbot/constants.js +21 -12
  2. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/model/api.js +21 -1
  4. package/dist/commonjs/features/chatbot/model/api.js.map +1 -1
  5. package/dist/commonjs/features/feedback/assets/icons/MessageBubbleIcon.js.map +1 -0
  6. package/dist/commonjs/features/feedback/assets/icons/XCloseIcon.js.map +1 -0
  7. package/dist/commonjs/features/feedback/components/{EmptyComment/EmptyComment.js → EmptyComment.js} +3 -3
  8. package/dist/commonjs/features/feedback/components/EmptyComment.js.map +1 -0
  9. package/dist/commonjs/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.js → ListCardCommentsCount.js} +2 -2
  10. package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js.map +1 -0
  11. package/dist/commonjs/features/feedback/components/TeacherFeedback.js +8 -8
  12. package/dist/commonjs/features/feedback/components/TeacherFeedback.js.map +1 -1
  13. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +2 -2
  14. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +3 -3
  15. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
  16. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +1 -1
  17. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
  18. package/dist/commonjs/features/feedback/components/index.js +1 -1
  19. package/dist/commonjs/features/feedback/constants.js +1 -18
  20. package/dist/commonjs/features/feedback/constants.js.map +1 -1
  21. package/dist/commonjs/features/feedback/helpers.js +22 -64
  22. package/dist/commonjs/features/feedback/helpers.js.map +1 -1
  23. package/dist/commonjs/features/feedback/index.js +8 -8
  24. package/dist/commonjs/features/feedback/index.js.map +1 -1
  25. package/dist/commonjs/features/feedback/model/api.js +15 -0
  26. package/dist/commonjs/features/feedback/model/api.js.map +1 -0
  27. package/dist/commonjs/features/feedback/model/comments.js +88 -0
  28. package/dist/commonjs/features/feedback/model/comments.js.map +1 -0
  29. package/dist/commonjs/features/feedback/model/model.js +104 -0
  30. package/dist/commonjs/features/feedback/model/model.js.map +1 -0
  31. package/dist/commonjs/features/feedback/model/sockets.js +25 -0
  32. package/dist/commonjs/features/feedback/model/sockets.js.map +1 -0
  33. package/dist/commonjs/features/feedback/types.js +12 -0
  34. package/dist/commonjs/features/feedback/types.js.map +1 -0
  35. package/dist/commonjs/lib/helpers/helpers.js +24 -1
  36. package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
  37. package/dist/commonjs/shared/translation/constants.js +42 -1
  38. package/dist/commonjs/shared/translation/constants.js.map +1 -1
  39. package/dist/module/features/chatbot/constants.js +20 -11
  40. package/dist/module/features/chatbot/constants.js.map +1 -1
  41. package/dist/module/features/chatbot/model/api.js +21 -1
  42. package/dist/module/features/chatbot/model/api.js.map +1 -1
  43. package/dist/module/features/feedback/assets/icons/MessageBubbleIcon.js.map +1 -0
  44. package/dist/module/features/feedback/assets/icons/XCloseIcon.js.map +1 -0
  45. package/dist/module/features/feedback/components/{EmptyComment/EmptyComment.js → EmptyComment.js} +3 -3
  46. package/dist/module/features/feedback/components/EmptyComment.js.map +1 -0
  47. package/dist/module/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.js → ListCardCommentsCount.js} +2 -2
  48. package/dist/module/features/feedback/components/ListCardCommentsCount.js.map +1 -0
  49. package/dist/module/features/feedback/components/TeacherFeedback.js +8 -8
  50. package/dist/module/features/feedback/components/TeacherFeedback.js.map +1 -1
  51. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +2 -2
  52. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
  53. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +3 -3
  54. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
  55. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +1 -1
  56. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
  57. package/dist/module/features/feedback/components/index.js +1 -1
  58. package/dist/module/features/feedback/components/index.js.map +1 -1
  59. package/dist/module/features/feedback/constants.js +0 -16
  60. package/dist/module/features/feedback/constants.js.map +1 -1
  61. package/dist/module/features/feedback/helpers.js +20 -62
  62. package/dist/module/features/feedback/helpers.js.map +1 -1
  63. package/dist/module/features/feedback/index.js +2 -2
  64. package/dist/module/features/feedback/index.js.map +1 -1
  65. package/dist/module/features/feedback/model/api.js +10 -0
  66. package/dist/module/features/feedback/model/api.js.map +1 -0
  67. package/dist/module/features/feedback/model/comments.js +83 -0
  68. package/dist/module/features/feedback/model/comments.js.map +1 -0
  69. package/dist/module/features/feedback/model/model.js +99 -0
  70. package/dist/module/features/feedback/model/model.js.map +1 -0
  71. package/dist/module/features/feedback/model/sockets.js +20 -0
  72. package/dist/module/features/feedback/model/sockets.js.map +1 -0
  73. package/dist/module/features/feedback/types.js +8 -0
  74. package/dist/module/features/feedback/types.js.map +1 -0
  75. package/dist/module/lib/helpers/helpers.js +22 -0
  76. package/dist/module/lib/helpers/helpers.js.map +1 -1
  77. package/dist/module/shared/translation/constants.js +41 -0
  78. package/dist/module/shared/translation/constants.js.map +1 -1
  79. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +6 -0
  80. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  81. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts +1 -0
  82. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -1
  83. package/dist/typescript/commonjs/features/feedback/assets/icons/MessageBubbleIcon.d.ts.map +1 -0
  84. package/dist/typescript/commonjs/features/feedback/assets/icons/XCloseIcon.d.ts.map +1 -0
  85. package/dist/typescript/commonjs/features/feedback/components/{EmptyComment/EmptyComment.d.ts → EmptyComment.d.ts} +1 -1
  86. package/dist/typescript/commonjs/features/feedback/components/EmptyComment.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -0
  88. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts +6 -2
  89. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
  90. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -2
  91. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
  92. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +3 -2
  93. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
  94. package/dist/typescript/commonjs/features/feedback/components/index.d.ts +1 -1
  95. package/dist/typescript/commonjs/features/feedback/components/index.d.ts.map +1 -1
  96. package/dist/typescript/commonjs/features/feedback/constants.d.ts +0 -14
  97. package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -1
  98. package/dist/typescript/commonjs/features/feedback/helpers.d.ts +9 -2
  99. package/dist/typescript/commonjs/features/feedback/helpers.d.ts.map +1 -1
  100. package/dist/typescript/commonjs/features/feedback/index.d.ts +2 -2
  101. package/dist/typescript/commonjs/features/feedback/index.d.ts.map +1 -1
  102. package/dist/typescript/commonjs/features/feedback/model/api.d.ts +9 -0
  103. package/dist/typescript/commonjs/features/feedback/model/api.d.ts.map +1 -0
  104. package/dist/typescript/commonjs/features/feedback/model/comments.d.ts +16 -0
  105. package/dist/typescript/commonjs/features/feedback/model/comments.d.ts.map +1 -0
  106. package/dist/typescript/commonjs/features/feedback/model/model.d.ts +27 -0
  107. package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -0
  108. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts +10 -0
  109. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -0
  110. package/dist/typescript/commonjs/features/feedback/types.d.ts +40 -0
  111. package/dist/typescript/commonjs/features/feedback/types.d.ts.map +1 -0
  112. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +2 -0
  113. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
  114. package/dist/typescript/commonjs/shared/translation/constants.d.ts +41 -0
  115. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  116. package/dist/typescript/module/features/chatbot/constants.d.ts +6 -0
  117. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  118. package/dist/typescript/module/features/chatbot/model/api.d.ts +1 -0
  119. package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -1
  120. package/dist/typescript/module/features/feedback/assets/icons/MessageBubbleIcon.d.ts.map +1 -0
  121. package/dist/typescript/module/features/feedback/assets/icons/XCloseIcon.d.ts.map +1 -0
  122. package/dist/typescript/module/features/feedback/components/{EmptyComment/EmptyComment.d.ts → EmptyComment.d.ts} +1 -1
  123. package/dist/typescript/module/features/feedback/components/EmptyComment.d.ts.map +1 -0
  124. package/dist/typescript/module/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -0
  125. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts +6 -2
  126. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
  127. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -2
  128. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
  129. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +3 -2
  130. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
  131. package/dist/typescript/module/features/feedback/components/index.d.ts +1 -1
  132. package/dist/typescript/module/features/feedback/components/index.d.ts.map +1 -1
  133. package/dist/typescript/module/features/feedback/constants.d.ts +0 -14
  134. package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -1
  135. package/dist/typescript/module/features/feedback/helpers.d.ts +9 -2
  136. package/dist/typescript/module/features/feedback/helpers.d.ts.map +1 -1
  137. package/dist/typescript/module/features/feedback/index.d.ts +2 -2
  138. package/dist/typescript/module/features/feedback/index.d.ts.map +1 -1
  139. package/dist/typescript/module/features/feedback/model/api.d.ts +9 -0
  140. package/dist/typescript/module/features/feedback/model/api.d.ts.map +1 -0
  141. package/dist/typescript/module/features/feedback/model/comments.d.ts +16 -0
  142. package/dist/typescript/module/features/feedback/model/comments.d.ts.map +1 -0
  143. package/dist/typescript/module/features/feedback/model/model.d.ts +27 -0
  144. package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -0
  145. package/dist/typescript/module/features/feedback/model/sockets.d.ts +10 -0
  146. package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -0
  147. package/dist/typescript/module/features/feedback/types.d.ts +40 -0
  148. package/dist/typescript/module/features/feedback/types.d.ts.map +1 -0
  149. package/dist/typescript/module/lib/helpers/helpers.d.ts +2 -0
  150. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
  151. package/dist/typescript/module/shared/translation/constants.d.ts +41 -0
  152. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  153. package/package.json +1 -1
  154. package/src/features/chatbot/constants.ts +30 -22
  155. package/src/features/chatbot/model/api.ts +47 -17
  156. package/src/features/feedback/components/{EmptyComment/EmptyComment.tsx → EmptyComment.tsx} +3 -3
  157. package/src/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.tsx → ListCardCommentsCount.tsx} +2 -2
  158. package/src/features/feedback/components/TeacherFeedback.tsx +21 -11
  159. package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +2 -2
  160. package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +10 -4
  161. package/src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx +4 -3
  162. package/src/features/feedback/components/index.ts +1 -1
  163. package/src/features/feedback/constants.ts +2 -18
  164. package/src/features/feedback/helpers.ts +27 -60
  165. package/src/features/feedback/index.ts +2 -2
  166. package/src/features/feedback/model/api.ts +13 -0
  167. package/src/features/feedback/model/comments.ts +82 -0
  168. package/src/features/feedback/model/model.ts +102 -0
  169. package/src/features/feedback/model/sockets.ts +22 -0
  170. package/src/features/feedback/types.ts +42 -0
  171. package/src/lib/helpers/helpers.ts +26 -0
  172. package/src/shared/translation/constants.ts +45 -3
  173. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js.map +0 -1
  174. package/dist/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js.map +0 -1
  175. package/dist/commonjs/features/feedback/components/icons/MessageBubbleIcon.js.map +0 -1
  176. package/dist/commonjs/features/feedback/components/icons/XCloseIcon.js.map +0 -1
  177. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +0 -215
  178. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +0 -1
  179. package/dist/commonjs/features/feedback/types/teacherFeedback.types.js +0 -18
  180. package/dist/commonjs/features/feedback/types/teacherFeedback.types.js.map +0 -1
  181. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js.map +0 -1
  182. package/dist/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js.map +0 -1
  183. package/dist/module/features/feedback/components/icons/MessageBubbleIcon.js.map +0 -1
  184. package/dist/module/features/feedback/components/icons/XCloseIcon.js.map +0 -1
  185. package/dist/module/features/feedback/model/teacherFeedback.model.js +0 -210
  186. package/dist/module/features/feedback/model/teacherFeedback.model.js.map +0 -1
  187. package/dist/module/features/feedback/types/teacherFeedback.types.js +0 -14
  188. package/dist/module/features/feedback/types/teacherFeedback.types.js.map +0 -1
  189. package/dist/typescript/commonjs/features/feedback/components/EmptyComment/EmptyComment.d.ts.map +0 -1
  190. package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts.map +0 -1
  191. package/dist/typescript/commonjs/features/feedback/components/icons/MessageBubbleIcon.d.ts.map +0 -1
  192. package/dist/typescript/commonjs/features/feedback/components/icons/XCloseIcon.d.ts.map +0 -1
  193. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts +0 -45
  194. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +0 -1
  195. package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts +0 -33
  196. package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts.map +0 -1
  197. package/dist/typescript/module/features/feedback/components/EmptyComment/EmptyComment.d.ts.map +0 -1
  198. package/dist/typescript/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts.map +0 -1
  199. package/dist/typescript/module/features/feedback/components/icons/MessageBubbleIcon.d.ts.map +0 -1
  200. package/dist/typescript/module/features/feedback/components/icons/XCloseIcon.d.ts.map +0 -1
  201. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts +0 -45
  202. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +0 -1
  203. package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts +0 -33
  204. package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts.map +0 -1
  205. package/src/features/feedback/model/teacherFeedback.model.ts +0 -255
  206. package/src/features/feedback/types/teacherFeedback.types.ts +0 -32
  207. /package/dist/commonjs/features/feedback/{components → assets}/icons/MessageBubbleIcon.js +0 -0
  208. /package/dist/commonjs/features/feedback/{components → assets}/icons/XCloseIcon.js +0 -0
  209. /package/dist/module/features/feedback/{components → assets}/icons/MessageBubbleIcon.js +0 -0
  210. /package/dist/module/features/feedback/{components → assets}/icons/XCloseIcon.js +0 -0
  211. /package/dist/typescript/commonjs/features/feedback/{components → assets}/icons/MessageBubbleIcon.d.ts +0 -0
  212. /package/dist/typescript/commonjs/features/feedback/{components → assets}/icons/XCloseIcon.d.ts +0 -0
  213. /package/dist/typescript/commonjs/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.d.ts → ListCardCommentsCount.d.ts} +0 -0
  214. /package/dist/typescript/module/features/feedback/{components → assets}/icons/MessageBubbleIcon.d.ts +0 -0
  215. /package/dist/typescript/module/features/feedback/{components → assets}/icons/XCloseIcon.d.ts +0 -0
  216. /package/dist/typescript/module/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.d.ts → ListCardCommentsCount.d.ts} +0 -0
  217. /package/src/features/feedback/{components → assets}/icons/MessageBubbleIcon.tsx +0 -0
  218. /package/src/features/feedback/{components → assets}/icons/XCloseIcon.tsx +0 -0
@@ -1,210 +0,0 @@
1
- "use strict";
2
-
3
- import { createEffect, createEvent, createStore, restore, sample } from 'effector';
4
- import { EMPTY_COMMENT_ID, getEmptyComment } from "../constants.js";
5
- export class TeacherFeedbackModel {
6
- setCommentsSeen = createEvent();
7
- $comments = createStore(new Map());
8
- setIsOpened = createEvent();
9
- $isOpened = restore(this.setIsOpened, false);
10
- setIsVisible = createEvent();
11
- $isVisible = restore(this.setIsVisible, false);
12
- sockets = {
13
- onCreate: createEvent(),
14
- onDeleted: createEvent()
15
- };
16
- constructor({
17
- api,
18
- credits
19
- }) {
20
- this.getCommentsByAssignmentIdFx = createEffect(async ({
21
- id
22
- }) => {
23
- const response = await api.getCommentsByAssignmentId({
24
- id
25
- });
26
- return {
27
- data: response,
28
- assignmentId: id
29
- };
30
- });
31
- this.updateCommentSeenFx = createEffect(api.updateCommentSeenStatus);
32
- this.$assignmentId = credits.assignmentId;
33
- this.$currentProblemId = credits.problemId;
34
- this.$locale = credits.locale;
35
- sample({
36
- clock: this.$currentProblemId,
37
- fn: () => false,
38
- target: this.setIsOpened
39
- });
40
- sample({
41
- clock: this.sockets.onCreate,
42
- source: [this.$isOpened, this.$currentProblemId, this.$assignmentId],
43
- filter: ([isOpen, currentProblemId], payload) => {
44
- return isOpen && currentProblemId === payload.problemId;
45
- },
46
- fn: ([_, currentProblemId, assignmentId], {
47
- _id
48
- }) => ({
49
- currentProblemId,
50
- assignmentId,
51
- ids: [_id]
52
- }),
53
- target: [this.setCommentsSeen, this.updateCommentSeenFx]
54
- });
55
- sample({
56
- clock: this.$isOpened,
57
- source: [this.$comments, this.$currentProblemId, this.$assignmentId],
58
- filter: ([feedback, currentProblemId, assignmentId], isOpen) => {
59
- const assignmentComments = feedback.get(assignmentId) || {};
60
- const comments = assignmentComments[currentProblemId]?.comments ?? [];
61
- const hasUnreadComments = comments.some(comment => !comment.isRead);
62
- return isOpen && hasUnreadComments;
63
- },
64
- fn: ([feedback, currentProblemId, assignmentId]) => {
65
- const assignmentComments = feedback.get(assignmentId) || {};
66
- const comments = assignmentComments[currentProblemId]?.comments ?? [];
67
- return {
68
- currentProblemId,
69
- assignmentId,
70
- ids: comments.filter(comment => !comment.isRead).map(comment => comment._id)
71
- };
72
- },
73
- target: [this.setCommentsSeen, this.updateCommentSeenFx]
74
- });
75
- this.$isVisible.on(this.getCommentsByAssignmentIdFx.doneData, (_, {
76
- data
77
- }) => {
78
- return Object.values(data).some(problemFeedback => problemFeedback.comments?.length > 0);
79
- });
80
- this.$comments.on(this.getCommentsByAssignmentIdFx.doneData, (state, {
81
- assignmentId,
82
- data
83
- }) => {
84
- const problemsMap = {};
85
- for (const [problemId, {
86
- comments
87
- }] of Object.entries(data)) {
88
- const unreadMessages = comments.filter(comment => !comment.isRead);
89
- problemsMap[problemId] = {
90
- comments,
91
- unreadMessagesCount: unreadMessages.length
92
- };
93
- }
94
- const updatedState = new Map(state);
95
- updatedState.set(assignmentId, problemsMap);
96
- return updatedState;
97
- }).on(this.setCommentsSeen, (state, {
98
- ids,
99
- currentProblemId,
100
- assignmentId
101
- }) => {
102
- const assignmentComments = state.get(assignmentId);
103
- if (!assignmentComments) return state;
104
- const feedback = assignmentComments[currentProblemId];
105
- if (!feedback) return state;
106
- const updatedComments = feedback.comments.map(comment => ids.includes(comment._id) ? {
107
- ...comment,
108
- isRead: true
109
- } : comment);
110
- const updatedFeedback = {
111
- ...feedback,
112
- comments: updatedComments,
113
- unreadMessagesCount: 0
114
- };
115
- const updatedAssignmentComments = {
116
- ...assignmentComments,
117
- [currentProblemId]: updatedFeedback
118
- };
119
- const updatedState = new Map(state);
120
- updatedState.set(assignmentId, updatedAssignmentComments);
121
- return updatedState;
122
- }).on(this.sockets.onCreate, (state, payload) => {
123
- const assignmentComments = state.get(payload.exerciseId) || {};
124
- const feedback = assignmentComments[payload.problemId] ?? {
125
- comments: [],
126
- unreadMessagesCount: 0
127
- };
128
- const updatedFeedback = {
129
- ...feedback,
130
- comments: [...feedback.comments, payload],
131
- unreadMessagesCount: feedback.unreadMessagesCount + 1
132
- };
133
- const updatedAssignmentComments = {
134
- ...assignmentComments,
135
- [payload.problemId]: updatedFeedback
136
- };
137
- const updatedState = new Map(state);
138
- updatedState.set(payload.exerciseId, updatedAssignmentComments);
139
- return updatedState;
140
- }).on(this.sockets.onDeleted, (state, payload) => {
141
- const assignmentId = this.$assignmentId.getState();
142
- const assignmentComments = state.get(assignmentId);
143
- if (!assignmentComments) return state;
144
- const feedback = assignmentComments[payload.problemId];
145
- if (!feedback) return state;
146
- const isDeleteMessageUnread = feedback.comments.some(comment => comment._id === payload._id && !comment.isRead);
147
- const updatedFeedback = {
148
- comments: feedback.comments.filter(comment => comment._id !== payload._id),
149
- unreadMessagesCount: isDeleteMessageUnread ? feedback.unreadMessagesCount - 1 : feedback.unreadMessagesCount
150
- };
151
- const isOpen = this.$isOpened.getState();
152
- if (updatedFeedback.comments.length === 0) {
153
- const updatedAssignmentComments = {
154
- ...assignmentComments
155
- };
156
- if (!isOpen) {
157
- delete updatedAssignmentComments[payload.problemId];
158
-
159
- // If no problems left, remove the assignment entirely
160
- if (Object.keys(updatedAssignmentComments).length === 0) {
161
- const updatedState = new Map(state);
162
- updatedState.delete(assignmentId);
163
- return updatedState;
164
- }
165
- } else {
166
- updatedAssignmentComments[payload.problemId] = {
167
- ...updatedFeedback,
168
- comments: [getEmptyComment(payload.problemId, this.$locale.getState())]
169
- };
170
- }
171
- const updatedState = new Map(state);
172
- updatedState.set(assignmentId, updatedAssignmentComments);
173
- return updatedState;
174
- }
175
- const updatedAssignmentComments = {
176
- ...assignmentComments,
177
- [payload.problemId]: updatedFeedback
178
- };
179
- const updatedState = new Map(state);
180
- updatedState.set(assignmentId, updatedAssignmentComments);
181
- return updatedState;
182
- }).on(this.setIsOpened, (state, isOpen) => {
183
- if (isOpen) return state;
184
- const assignmentId = this.$assignmentId.getState();
185
- const problemId = this.$currentProblemId.getState();
186
- const assignmentComments = state.get(assignmentId);
187
- if (!assignmentComments) return state;
188
- const feedback = assignmentComments[problemId];
189
- if (!feedback) return state;
190
- if (feedback.comments.length === 1 && feedback.comments[0]._id === EMPTY_COMMENT_ID) {
191
- const updatedAssignmentComments = {
192
- ...assignmentComments
193
- };
194
- delete updatedAssignmentComments[problemId];
195
-
196
- // If no problems left, remove the assignment entirely
197
- if (Object.keys(updatedAssignmentComments).length === 0) {
198
- const updatedState = new Map(state);
199
- updatedState.delete(assignmentId);
200
- return updatedState;
201
- }
202
- const updatedState = new Map(state);
203
- updatedState.set(assignmentId, updatedAssignmentComments);
204
- return updatedState;
205
- }
206
- return state;
207
- });
208
- }
209
- }
210
- //# sourceMappingURL=teacherFeedback.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createEffect","createEvent","createStore","restore","sample","EMPTY_COMMENT_ID","getEmptyComment","TeacherFeedbackModel","setCommentsSeen","$comments","Map","setIsOpened","$isOpened","setIsVisible","$isVisible","sockets","onCreate","onDeleted","constructor","api","credits","getCommentsByAssignmentIdFx","id","response","getCommentsByAssignmentId","data","assignmentId","updateCommentSeenFx","updateCommentSeenStatus","$assignmentId","$currentProblemId","problemId","$locale","locale","clock","fn","target","source","filter","isOpen","currentProblemId","payload","_","_id","ids","feedback","assignmentComments","get","comments","hasUnreadComments","some","comment","isRead","map","on","doneData","Object","values","problemFeedback","length","state","problemsMap","entries","unreadMessages","unreadMessagesCount","updatedState","set","updatedComments","includes","updatedFeedback","updatedAssignmentComments","exerciseId","getState","isDeleteMessageUnread","keys","delete"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/teacherFeedback.model.ts"],"mappings":"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","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- export let Locale = /*#__PURE__*/function (Locale) {
4
- Locale["US"] = "en-US";
5
- Locale["SV"] = "sv-SE";
6
- Locale["GB"] = "en-GB";
7
- return Locale;
8
- }({});
9
- export let TeacherFeedbackSocketEvent = /*#__PURE__*/function (TeacherFeedbackSocketEvent) {
10
- TeacherFeedbackSocketEvent["COMMENT_CREATED"] = "exerciseCommentCreated";
11
- TeacherFeedbackSocketEvent["COMMENT_DELETED"] = "exerciseCommentDeleted";
12
- return TeacherFeedbackSocketEvent;
13
- }({});
14
- //# sourceMappingURL=teacherFeedback.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Locale","TeacherFeedbackSocketEvent"],"sourceRoot":"../../../../../src","sources":["features/feedback/types/teacherFeedback.types.ts"],"mappings":";;AAsBA,WAAYA,MAAM,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAMlB,WAAYC,0BAA0B,0BAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAAA,OAA1BA,0BAA0B;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyComment.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/EmptyComment/EmptyComment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,YAAY,eAAgB,iBAAiB,sBAMzD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,0BAA0B,sBAO1E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageBubbleIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/icons/MessageBubbleIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,iBAAiB,oBAA6C,SAAS,sBAWnF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"XCloseIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/icons/XCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,UAAU,oBAA6C,SAAS,sBAS5E,CAAA"}
@@ -1,45 +0,0 @@
1
- import { Effect, StoreWritable } from 'effector';
2
- import { CommentsEntity, GetCommentsByIdProps, Locale, TeacherComment, UpdateCommentSeenStatusProps } from '../types/teacherFeedback.types';
3
- type TeacherFeedbackModelProps = {
4
- credits: {
5
- assignmentId: StoreWritable<string>;
6
- problemId: StoreWritable<string>;
7
- locale: StoreWritable<Locale | null>;
8
- };
9
- api: {
10
- getCommentsByAssignmentId: (props: GetCommentsByIdProps) => Promise<Record<string, {
11
- comments: TeacherComment[];
12
- }>>;
13
- updateCommentSeenStatus: (props: UpdateCommentSeenStatusProps) => Promise<void>;
14
- };
15
- };
16
- type CommentsMap = Map<string, Record<string, CommentsEntity>>;
17
- export declare class TeacherFeedbackModel {
18
- $assignmentId: StoreWritable<string>;
19
- $currentProblemId: StoreWritable<string>;
20
- $locale: StoreWritable<Locale | null>;
21
- setCommentsSeen: import("effector").EventCallable<{
22
- ids: string[];
23
- currentProblemId: string;
24
- assignmentId: string;
25
- }>;
26
- $comments: StoreWritable<CommentsMap>;
27
- setIsOpened: import("effector").EventCallable<boolean>;
28
- $isOpened: StoreWritable<boolean>;
29
- setIsVisible: import("effector").EventCallable<boolean>;
30
- $isVisible: StoreWritable<boolean>;
31
- getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, {
32
- data: Record<string, {
33
- comments: TeacherComment[];
34
- }>;
35
- assignmentId: string;
36
- }>;
37
- updateCommentSeenFx: Effect<UpdateCommentSeenStatusProps, void>;
38
- sockets: {
39
- onCreate: import("effector").EventCallable<TeacherComment>;
40
- onDeleted: import("effector").EventCallable<TeacherComment>;
41
- };
42
- constructor({ api, credits }: TeacherFeedbackModelProps);
43
- }
44
- export {};
45
- //# sourceMappingURL=teacherFeedback.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teacherFeedback.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/model/teacherFeedback.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,MAAM,EAAmB,aAAa,EAAE,MAAM,UAAU,CAAA;AACzG,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AAGvC,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KACrC,CAAA;IACD,GAAG,EAAE;QACH,yBAAyB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAC,CAAA;QACnH,uBAAuB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAChF,CAAA;CACF,CAAA;AAED,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE9D,qBAAa,oBAAoB;IAC/B,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;sBAAgB,MAAM;OAAK;IAClG,SAAS,6BAAsC;IAE/C,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CACjC,oBAAoB,EACpB;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAA;QACpD,YAAY,EAAE,MAAM,CAAA;KACrB,CACF,CAAA;IACD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA2MxD"}
@@ -1,33 +0,0 @@
1
- export type GetCommentsByIdProps = {
2
- id: string;
3
- };
4
- export type UpdateCommentSeenStatusProps = {
5
- ids: string[];
6
- };
7
- export type TeacherComment = {
8
- _id: string;
9
- teacherId: string;
10
- teacherName: string;
11
- studentId: string;
12
- problemId: string;
13
- exerciseId: string;
14
- content: string;
15
- isRead: boolean;
16
- createdAt: Date;
17
- updatedAt: Date;
18
- __v: number;
19
- };
20
- export type CommentsEntity = {
21
- comments: TeacherComment[];
22
- unreadMessagesCount: number;
23
- };
24
- export declare enum Locale {
25
- US = "en-US",
26
- SV = "sv-SE",
27
- GB = "en-GB"
28
- }
29
- export declare enum TeacherFeedbackSocketEvent {
30
- COMMENT_CREATED = "exerciseCommentCreated",
31
- COMMENT_DELETED = "exerciseCommentDeleted"
32
- }
33
- //# sourceMappingURL=teacherFeedback.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teacherFeedback.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/types/teacherFeedback.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AACjD,MAAM,MAAM,4BAA4B,GAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,oBAAY,MAAM;IAChB,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,EAAE,UAAU;CACb;AAED,oBAAY,0BAA0B;IACpC,eAAe,2BAA2B;IAC1C,eAAe,2BAA2B;CAC3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyComment.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/EmptyComment/EmptyComment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,YAAY,eAAgB,iBAAiB,sBAMzD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,0BAA0B,sBAO1E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageBubbleIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/icons/MessageBubbleIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,iBAAiB,oBAA6C,SAAS,sBAWnF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"XCloseIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/icons/XCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,UAAU,oBAA6C,SAAS,sBAS5E,CAAA"}
@@ -1,45 +0,0 @@
1
- import { Effect, StoreWritable } from 'effector';
2
- import { CommentsEntity, GetCommentsByIdProps, Locale, TeacherComment, UpdateCommentSeenStatusProps } from '../types/teacherFeedback.types';
3
- type TeacherFeedbackModelProps = {
4
- credits: {
5
- assignmentId: StoreWritable<string>;
6
- problemId: StoreWritable<string>;
7
- locale: StoreWritable<Locale | null>;
8
- };
9
- api: {
10
- getCommentsByAssignmentId: (props: GetCommentsByIdProps) => Promise<Record<string, {
11
- comments: TeacherComment[];
12
- }>>;
13
- updateCommentSeenStatus: (props: UpdateCommentSeenStatusProps) => Promise<void>;
14
- };
15
- };
16
- type CommentsMap = Map<string, Record<string, CommentsEntity>>;
17
- export declare class TeacherFeedbackModel {
18
- $assignmentId: StoreWritable<string>;
19
- $currentProblemId: StoreWritable<string>;
20
- $locale: StoreWritable<Locale | null>;
21
- setCommentsSeen: import("effector").EventCallable<{
22
- ids: string[];
23
- currentProblemId: string;
24
- assignmentId: string;
25
- }>;
26
- $comments: StoreWritable<CommentsMap>;
27
- setIsOpened: import("effector").EventCallable<boolean>;
28
- $isOpened: StoreWritable<boolean>;
29
- setIsVisible: import("effector").EventCallable<boolean>;
30
- $isVisible: StoreWritable<boolean>;
31
- getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, {
32
- data: Record<string, {
33
- comments: TeacherComment[];
34
- }>;
35
- assignmentId: string;
36
- }>;
37
- updateCommentSeenFx: Effect<UpdateCommentSeenStatusProps, void>;
38
- sockets: {
39
- onCreate: import("effector").EventCallable<TeacherComment>;
40
- onDeleted: import("effector").EventCallable<TeacherComment>;
41
- };
42
- constructor({ api, credits }: TeacherFeedbackModelProps);
43
- }
44
- export {};
45
- //# sourceMappingURL=teacherFeedback.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teacherFeedback.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/model/teacherFeedback.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,MAAM,EAAmB,aAAa,EAAE,MAAM,UAAU,CAAA;AACzG,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AAGvC,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KACrC,CAAA;IACD,GAAG,EAAE;QACH,yBAAyB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAC,CAAA;QACnH,uBAAuB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAChF,CAAA;CACF,CAAA;AAED,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE9D,qBAAa,oBAAoB;IAC/B,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;sBAAgB,MAAM;OAAK;IAClG,SAAS,6BAAsC;IAE/C,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CACjC,oBAAoB,EACpB;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAA;QACpD,YAAY,EAAE,MAAM,CAAA;KACrB,CACF,CAAA;IACD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA2MxD"}
@@ -1,33 +0,0 @@
1
- export type GetCommentsByIdProps = {
2
- id: string;
3
- };
4
- export type UpdateCommentSeenStatusProps = {
5
- ids: string[];
6
- };
7
- export type TeacherComment = {
8
- _id: string;
9
- teacherId: string;
10
- teacherName: string;
11
- studentId: string;
12
- problemId: string;
13
- exerciseId: string;
14
- content: string;
15
- isRead: boolean;
16
- createdAt: Date;
17
- updatedAt: Date;
18
- __v: number;
19
- };
20
- export type CommentsEntity = {
21
- comments: TeacherComment[];
22
- unreadMessagesCount: number;
23
- };
24
- export declare enum Locale {
25
- US = "en-US",
26
- SV = "sv-SE",
27
- GB = "en-GB"
28
- }
29
- export declare enum TeacherFeedbackSocketEvent {
30
- COMMENT_CREATED = "exerciseCommentCreated",
31
- COMMENT_DELETED = "exerciseCommentDeleted"
32
- }
33
- //# sourceMappingURL=teacherFeedback.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teacherFeedback.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/types/teacherFeedback.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AACjD,MAAM,MAAM,4BAA4B,GAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,oBAAY,MAAM;IAChB,EAAE,UAAU;IACZ,EAAE,UAAU;IACZ,EAAE,UAAU;CACb;AAED,oBAAY,0BAA0B;IACpC,eAAe,2BAA2B;IAC1C,eAAe,2BAA2B;CAC3C"}