@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
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeacherComments = void 0;
7
+ var _effector = require("effector");
8
+ class TeacherComments {
9
+ setAllCommentsRead = (0, _effector.createEvent)();
10
+ addComment = (0, _effector.createEvent)();
11
+ deleteComment = (0, _effector.createEvent)();
12
+ setData = (0, _effector.createEvent)();
13
+ $data = (0, _effector.restore)(this.setData, null).on(this.setAllCommentsRead, (state, {
14
+ assignmentId,
15
+ problemId
16
+ }) => this.update({
17
+ state,
18
+ assignmentId,
19
+ problemId,
20
+ fn: data => ({
21
+ comments: data.comments.map(comment => ({
22
+ ...comment,
23
+ isRead: true
24
+ })),
25
+ unreadMessagesCount: 0
26
+ })
27
+ })).on(this.addComment, (state, {
28
+ assignmentId,
29
+ problemId,
30
+ comment,
31
+ isRead
32
+ }) => this.update({
33
+ state,
34
+ assignmentId,
35
+ problemId,
36
+ fn: data => ({
37
+ comments: [...data.comments, comment],
38
+ unreadMessagesCount: isRead ? data.unreadMessagesCount : data.unreadMessagesCount + 1
39
+ })
40
+ })).on(this.deleteComment, (state, {
41
+ assignmentId,
42
+ problemId,
43
+ commentId
44
+ }) => this.update({
45
+ state,
46
+ assignmentId,
47
+ problemId,
48
+ fn: data => {
49
+ const commentToDelete = data.comments.find(({
50
+ _id
51
+ }) => _id === commentId);
52
+ if (!commentToDelete) return data;
53
+ return {
54
+ comments: data.comments.filter(({
55
+ _id
56
+ }) => _id !== commentId),
57
+ unreadMessagesCount: commentToDelete.isRead ? data.unreadMessagesCount : data.unreadMessagesCount - 1
58
+ };
59
+ }
60
+ }));
61
+ constructor() {
62
+ (0, _effector.sample)({
63
+ clock: this.deleteComment
64
+ });
65
+ }
66
+ update({
67
+ state,
68
+ assignmentId,
69
+ problemId,
70
+ fn
71
+ }) {
72
+ if (!state) return state;
73
+ const updatedState = new Map(state);
74
+ const assignmentMap = updatedState.get(assignmentId) || {};
75
+ const currentData = assignmentMap[problemId];
76
+ const updatedData = fn(currentData);
77
+ if (updatedData === undefined) {
78
+ delete assignmentMap[problemId];
79
+ if (Object.keys(assignmentMap).length === 0) updatedState.delete(assignmentId);
80
+ return updatedState;
81
+ }
82
+ assignmentMap[problemId] = updatedData;
83
+ updatedState.set(assignmentId, assignmentMap);
84
+ return updatedState;
85
+ }
86
+ }
87
+ exports.TeacherComments = TeacherComments;
88
+ //# sourceMappingURL=comments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","TeacherComments","setAllCommentsRead","createEvent","addComment","deleteComment","setData","$data","restore","on","state","assignmentId","problemId","update","fn","data","comments","map","comment","isRead","unreadMessagesCount","commentId","commentToDelete","find","_id","filter","constructor","sample","clock","updatedState","Map","assignmentMap","get","currentData","updatedData","undefined","Object","keys","length","delete","set","exports"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/comments.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeacherFeedbackModel = void 0;
7
+ var _effector = require("effector");
8
+ var _api = require("./api.js");
9
+ var _sockets = require("./sockets.js");
10
+ var _comments = require("./comments.js");
11
+ var _helpers = require("../helpers.js");
12
+ class TeacherFeedbackModel {
13
+ setIsOpen = (0, _effector.createEvent)();
14
+ $isOpen = (0, _effector.restore)(this.setIsOpen, false);
15
+ constructor({
16
+ api,
17
+ socket,
18
+ credits
19
+ }) {
20
+ this.api = new _api.TeacherFeedbackAPI(api);
21
+ this.sockets = new _sockets.TeacherFeedbackSockets(socket);
22
+ this.comments = new _comments.TeacherComments();
23
+ (0, _effector.sample)({
24
+ clock: credits.$problemId,
25
+ fn: () => false,
26
+ target: this.setIsOpen
27
+ });
28
+ (0, _effector.sample)({
29
+ clock: this.setIsOpen,
30
+ source: {
31
+ data: this.comments.$data,
32
+ assignmentId: credits.$assignmentId,
33
+ problemId: credits.$problemId
34
+ },
35
+ filter: (source, isOpen) => {
36
+ const comments = (0, _helpers.findCommentsByCredits)(source);
37
+ const hasUnreadComments = comments.some(({
38
+ isRead
39
+ }) => !isRead);
40
+ return isOpen && hasUnreadComments;
41
+ },
42
+ fn: source => {
43
+ const comments = (0, _helpers.findCommentsByCredits)(source);
44
+ return {
45
+ ids: comments.map(({
46
+ _id
47
+ }) => _id)
48
+ };
49
+ },
50
+ target: this.api.updateCommentStatusSeenFx
51
+ });
52
+ (0, _effector.sample)({
53
+ clock: this.api.updateCommentStatusSeenFx.pending,
54
+ source: {
55
+ assignmentId: credits.$assignmentId,
56
+ problemId: credits.$problemId
57
+ },
58
+ target: this.comments.setAllCommentsRead
59
+ });
60
+ (0, _effector.sample)({
61
+ clock: this.api.getCommentsFx.done,
62
+ fn: ({
63
+ params,
64
+ result
65
+ }) => (0, _helpers.generateCommentsMap)(params.id, result),
66
+ target: this.comments.setData
67
+ });
68
+ (0, _effector.sample)({
69
+ clock: this.sockets.commentDeleted,
70
+ source: {
71
+ assignmentId: credits.$assignmentId
72
+ },
73
+ fn: ({
74
+ assignmentId
75
+ }, comment) => ({
76
+ assignmentId,
77
+ problemId: comment.problemId,
78
+ commentId: comment._id
79
+ }),
80
+ target: this.comments.deleteComment
81
+ });
82
+ (0, _effector.sample)({
83
+ clock: this.sockets.commentAdded,
84
+ source: {
85
+ assignmentId: credits.$assignmentId,
86
+ problemId: credits.$problemId,
87
+ isOpen: this.$isOpen
88
+ },
89
+ fn: ({
90
+ assignmentId,
91
+ problemId,
92
+ isOpen
93
+ }, comment) => ({
94
+ assignmentId,
95
+ problemId,
96
+ comment,
97
+ isRead: isOpen && comment.problemId === problemId
98
+ }),
99
+ target: this.comments.addComment
100
+ });
101
+ }
102
+ }
103
+ exports.TeacherFeedbackModel = TeacherFeedbackModel;
104
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_api","_sockets","_comments","_helpers","TeacherFeedbackModel","setIsOpen","createEvent","$isOpen","restore","constructor","api","socket","credits","TeacherFeedbackAPI","sockets","TeacherFeedbackSockets","comments","TeacherComments","sample","clock","$problemId","fn","target","source","data","$data","assignmentId","$assignmentId","problemId","filter","isOpen","findCommentsByCredits","hasUnreadComments","some","isRead","ids","map","_id","updateCommentStatusSeenFx","pending","setAllCommentsRead","getCommentsFx","done","params","result","generateCommentsMap","id","setData","commentDeleted","comment","commentId","deleteComment","commentAdded","addComment","exports"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/model.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeacherFeedbackSockets = void 0;
7
+ var _effector = require("effector");
8
+ var _types = require("../types.js");
9
+ class TeacherFeedbackSockets {
10
+ commentAdded = (0, _effector.createEvent)();
11
+ commentDeleted = (0, _effector.createEvent)();
12
+ constructor(socket) {
13
+ this.socket = socket;
14
+ }
15
+ connect() {
16
+ this.socket.on(_types.FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded);
17
+ this.socket.on(_types.FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted);
18
+ }
19
+ off() {
20
+ this.socket.off(_types.FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded);
21
+ this.socket.off(_types.FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted);
22
+ }
23
+ }
24
+ exports.TeacherFeedbackSockets = TeacherFeedbackSockets;
25
+ //# sourceMappingURL=sockets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_types","TeacherFeedbackSockets","commentAdded","createEvent","commentDeleted","constructor","socket","connect","on","FeedbackSocketEvents","COMMENT_ADDED","COMMENT_DELETED","off","exports"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/sockets.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,sBAAsB,CAAC;EAElBC,YAAY,GAAG,IAAAC,qBAAW,EAAiB,CAAC;EAC5CC,cAAc,GAAG,IAAAD,qBAAW,EAAiB,CAAC;EAE9DE,WAAWA,CAACC,MAAW,EAAE;IACvB,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACD,MAAM,CAACE,EAAE,CAACC,2BAAoB,CAACC,aAAa,EAAE,IAAI,CAACR,YAAY,CAAC;IACrE,IAAI,CAACI,MAAM,CAACE,EAAE,CAACC,2BAAoB,CAACE,eAAe,EAAE,IAAI,CAACP,cAAc,CAAC;EAC3E;EAEAQ,GAAGA,CAAA,EAAG;IACJ,IAAI,CAACN,MAAM,CAACM,GAAG,CAACH,2BAAoB,CAACC,aAAa,EAAE,IAAI,CAACR,YAAY,CAAC;IACtE,IAAI,CAACI,MAAM,CAACM,GAAG,CAACH,2BAAoB,CAACE,eAAe,EAAE,IAAI,CAACP,cAAc,CAAC;EAC5E;AACF;AAACS,OAAA,CAAAZ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FeedbackSocketEvents = void 0;
7
+ let FeedbackSocketEvents = exports.FeedbackSocketEvents = /*#__PURE__*/function (FeedbackSocketEvents) {
8
+ FeedbackSocketEvents["COMMENT_ADDED"] = "exerciseCommentCreated";
9
+ FeedbackSocketEvents["COMMENT_DELETED"] = "exerciseCommentDeleted";
10
+ return FeedbackSocketEvents;
11
+ }({});
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FeedbackSocketEvents","exports"],"sourceRoot":"../../../../src","sources":["features/feedback/types.ts"],"mappings":";;;;;;IAsCYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
@@ -3,7 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateRandomId = void 0;
6
+ exports.getRelativeTimeText = exports.generateRandomId = void 0;
7
+ var _constants = require("../../shared/translation/constants.js");
8
+ var _studentsFeatures = require("@magmamath/students-features");
7
9
  const generateRandomId = () => Date.now().toString(36) + Math.random().toString(36).substring(2);
8
10
  exports.generateRandomId = generateRandomId;
11
+ const getRelativeTimeText = (date, lang) => {
12
+ const t = _constants.RELATIVE_TIME_LABELS[lang] || _constants.RELATIVE_TIME_LABELS[_studentsFeatures.Locale.EN];
13
+ const timeBufferMs = 2000; // adds 2 seconds time buffer because when used with sockets, it displayed -1 seconds ago, instead of 1 second ago.
14
+
15
+ const now = new Date().getTime();
16
+ const targetDate = new Date(date).getTime() - timeBufferMs;
17
+ const diffTime = now - targetDate;
18
+ const seconds = Math.floor(diffTime / 1000);
19
+ const minutes = Math.floor(seconds / 60);
20
+ const hours = Math.floor(minutes / 60);
21
+ const days = Math.floor(hours / 24);
22
+ const months = Math.floor(days / 30);
23
+ const years = Math.floor(days / 365);
24
+ if (seconds < 60) return t.justNow;
25
+ if (minutes < 60) return `${minutes} ${minutes === 1 ? t.minuteAgo : t.minutesAgo}`;
26
+ if (hours < 24) return `${hours} ${hours === 1 ? t.hourAgo : t.hoursAgo}`;
27
+ if (days < 30) return `${days} ${days === 1 ? t.dayAgo : t.daysAgo}`;
28
+ if (months < 12) return `${months} ${months === 1 ? t.monthAgo : t.monthsAgo}`;
29
+ return `${years} ${years === 1 ? t.yearAgo : t.yearsAgo}`;
30
+ };
31
+ exports.getRelativeTimeText = getRelativeTimeText;
9
32
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["generateRandomId","Date","now","toString","Math","random","substring","exports"],"sourceRoot":"../../../../src","sources":["lib/helpers/helpers.ts"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAGA,CAAA,KAC9BC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACF,QAAQ,CAAC,EAAE,CAAC,CAACG,SAAS,CAAC,CAAC,CAAC;AAAAC,OAAA,CAAAP,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_studentsFeatures","generateRandomId","Date","now","toString","Math","random","substring","exports","getRelativeTimeText","date","lang","t","RELATIVE_TIME_LABELS","Locale","EN","timeBufferMs","getTime","targetDate","diffTime","seconds","floor","minutes","hours","days","months","years","justNow","minuteAgo","minutesAgo","hourAgo","hoursAgo","dayAgo","daysAgo","monthAgo","monthsAgo","yearAgo","yearsAgo"],"sourceRoot":"../../../../src","sources":["lib/helpers/helpers.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,GAAGA,CAAA,KAC9BC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACF,QAAQ,CAAC,EAAE,CAAC,CAACG,SAAS,CAAC,CAAC,CAAC;AAAAC,OAAA,CAAAP,gBAAA,GAAAA,gBAAA;AAE5D,MAAMQ,mBAAmB,GAAGA,CAACC,IAAU,EAAEC,IAAY,KAAK;EAC/D,MAAMC,CAAC,GAAGC,+BAAoB,CAACF,IAAI,CAAC,IAAIE,+BAAoB,CAACC,wBAAM,CAACC,EAAE,CAAC;EACvE,MAAMC,YAAY,GAAG,IAAI,EAAC;;EAE1B,MAAMb,GAAG,GAAG,IAAID,IAAI,CAAC,CAAC,CAACe,OAAO,CAAC,CAAC;EAChC,MAAMC,UAAU,GAAG,IAAIhB,IAAI,CAACQ,IAAI,CAAC,CAACO,OAAO,CAAC,CAAC,GAAGD,YAAY;EAC1D,MAAMG,QAAQ,GAAGhB,GAAG,GAAGe,UAAU;EAEjC,MAAME,OAAO,GAAGf,IAAI,CAACgB,KAAK,CAACF,QAAQ,GAAG,IAAI,CAAC;EAC3C,MAAMG,OAAO,GAAGjB,IAAI,CAACgB,KAAK,CAACD,OAAO,GAAG,EAAE,CAAC;EACxC,MAAMG,KAAK,GAAGlB,IAAI,CAACgB,KAAK,CAACC,OAAO,GAAG,EAAE,CAAC;EACtC,MAAME,IAAI,GAAGnB,IAAI,CAACgB,KAAK,CAACE,KAAK,GAAG,EAAE,CAAC;EACnC,MAAME,MAAM,GAAGpB,IAAI,CAACgB,KAAK,CAACG,IAAI,GAAG,EAAE,CAAC;EACpC,MAAME,KAAK,GAAGrB,IAAI,CAACgB,KAAK,CAACG,IAAI,GAAG,GAAG,CAAC;EAEpC,IAAIJ,OAAO,GAAG,EAAE,EAAE,OAAOR,CAAC,CAACe,OAAO;EAClC,IAAIL,OAAO,GAAG,EAAE,EAAE,OAAO,GAAGA,OAAO,IAAIA,OAAO,KAAK,CAAC,GAAGV,CAAC,CAACgB,SAAS,GAAGhB,CAAC,CAACiB,UAAU,EAAE;EACnF,IAAIN,KAAK,GAAG,EAAE,EAAE,OAAO,GAAGA,KAAK,IAAIA,KAAK,KAAK,CAAC,GAAGX,CAAC,CAACkB,OAAO,GAAGlB,CAAC,CAACmB,QAAQ,EAAE;EACzE,IAAIP,IAAI,GAAG,EAAE,EAAE,OAAO,GAAGA,IAAI,IAAIA,IAAI,KAAK,CAAC,GAAGZ,CAAC,CAACoB,MAAM,GAAGpB,CAAC,CAACqB,OAAO,EAAE;EACpE,IAAIR,MAAM,GAAG,EAAE,EAAE,OAAO,GAAGA,MAAM,IAAIA,MAAM,KAAK,CAAC,GAAGb,CAAC,CAACsB,QAAQ,GAAGtB,CAAC,CAACuB,SAAS,EAAE;EAC9E,OAAO,GAAGT,KAAK,IAAIA,KAAK,KAAK,CAAC,GAAGd,CAAC,CAACwB,OAAO,GAAGxB,CAAC,CAACyB,QAAQ,EAAE;AAC3D,CAAC;AAAA7B,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.LOCALIZATION_CONFIGS = void 0;
6
+ exports.RELATIVE_TIME_LABELS = exports.LOCALIZATION_CONFIGS = void 0;
7
7
  var _types = require("./types.js");
8
8
  var _en = _interopRequireDefault(require("../../lib/localization/en.json"));
9
9
  var _gb = _interopRequireDefault(require("../../lib/localization/gb.json"));
@@ -14,4 +14,45 @@ const LOCALIZATION_CONFIGS = exports.LOCALIZATION_CONFIGS = {
14
14
  [_types.Locale.GB]: _gb.default,
15
15
  [_types.Locale.SW]: _sw.default
16
16
  };
17
+ const RELATIVE_TIME_LABELS = exports.RELATIVE_TIME_LABELS = {
18
+ [_types.Locale.EN]: {
19
+ justNow: 'just now',
20
+ minuteAgo: 'minute ago',
21
+ minutesAgo: 'minutes ago',
22
+ hourAgo: 'hour ago',
23
+ hoursAgo: 'hours ago',
24
+ dayAgo: 'day ago',
25
+ daysAgo: 'days ago',
26
+ monthAgo: 'month ago',
27
+ monthsAgo: 'months ago',
28
+ yearAgo: 'year ago',
29
+ yearsAgo: 'years ago'
30
+ },
31
+ [_types.Locale.SW]: {
32
+ justNow: 'alldeles nyss',
33
+ minuteAgo: 'minut sedan',
34
+ minutesAgo: 'minuter sedan',
35
+ hourAgo: 'timme sedan',
36
+ hoursAgo: 'timmar sedan',
37
+ dayAgo: 'dag sedan',
38
+ daysAgo: 'dagar sedan',
39
+ monthAgo: 'månad sedan',
40
+ monthsAgo: 'månader sedan',
41
+ yearAgo: 'år sedan',
42
+ yearsAgo: 'år sedan'
43
+ },
44
+ [_types.Locale.GB]: {
45
+ justNow: 'just now',
46
+ minuteAgo: 'minute ago',
47
+ minutesAgo: 'minutes ago',
48
+ hourAgo: 'hour ago',
49
+ hoursAgo: 'hours ago',
50
+ dayAgo: 'day ago',
51
+ daysAgo: 'days ago',
52
+ monthAgo: 'month ago',
53
+ monthsAgo: 'months ago',
54
+ yearAgo: 'year ago',
55
+ yearsAgo: 'years ago'
56
+ }
57
+ };
17
58
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_en","_interopRequireDefault","_gb","_sw","e","__esModule","default","LOCALIZATION_CONFIGS","exports","Locale","EN","GB","SW"],"sourceRoot":"../../../../src","sources":["shared/translation/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,GAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,GAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA+C,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAChC,CAACE,aAAM,CAACC,EAAE,GAAGA,WAAE;EACf,CAACD,aAAM,CAACE,EAAE,GAAGA,WAAE;EACf,CAACF,aAAM,CAACG,EAAE,GAAGA;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_en","_interopRequireDefault","_gb","_sw","e","__esModule","default","LOCALIZATION_CONFIGS","exports","Locale","EN","GB","SW","RELATIVE_TIME_LABELS","justNow","minuteAgo","minutesAgo","hourAgo","hoursAgo","dayAgo","daysAgo","monthAgo","monthsAgo","yearAgo","yearsAgo"],"sourceRoot":"../../../../src","sources":["shared/translation/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,GAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,GAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA+C,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG;EAClC,CAACE,aAAM,CAACC,EAAE,GAAGA,WAAE;EACf,CAACD,aAAM,CAACE,EAAE,GAAGA,WAAE;EACf,CAACF,aAAM,CAACG,EAAE,GAAGA;AACf,CAAC;AAEM,MAAMC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,GAAG;EAClC,CAACJ,aAAM,CAACC,EAAE,GAAG;IACXI,OAAO,EAAE,UAAU;IACnBC,SAAS,EAAE,YAAY;IACvBC,UAAU,EAAE,aAAa;IACzBC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE,WAAW;IACrBC,MAAM,EAAE,SAAS;IACjBC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE,WAAW;IACrBC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE;EACZ,CAAC;EACD,CAACf,aAAM,CAACG,EAAE,GAAG;IACXE,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,aAAa;IACxBC,UAAU,EAAE,eAAe;IAC3BC,OAAO,EAAE,aAAa;IACtBC,QAAQ,EAAE,cAAc;IACxBC,MAAM,EAAE,WAAW;IACnBC,OAAO,EAAE,aAAa;IACtBC,QAAQ,EAAE,aAAa;IACvBC,SAAS,EAAE,eAAe;IAC1BC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE;EACZ,CAAC;EACD,CAACf,aAAM,CAACE,EAAE,GAAG;IACXG,OAAO,EAAE,UAAU;IACnBC,SAAS,EAAE,YAAY;IACvBC,UAAU,EAAE,aAAa;IACzBC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE,WAAW;IACrBC,MAAM,EAAE,SAAS;IACjBC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE,WAAW;IACrBC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE,UAAU;IACnBC,QAAQ,EAAE;EACZ;AACF,CAAC","ignoreList":[]}
@@ -10,18 +10,27 @@ export const DEFAULT_VOICE = {
10
10
  languageCode: 'en-US',
11
11
  name: 'en-US-Wavenet-C'
12
12
  };
13
- export const TEXT_TO_SPEECH_CONFIG = Platform.OS === 'ios' ? {
14
- audioConfig: {
15
- audioEncoding: 'MP3',
16
- pitch: 0.8,
17
- speakingRate: 0.8
13
+ export const TEXT_TO_SPEECH_CONFIG = Platform.select({
14
+ ios: {
15
+ audioConfig: {
16
+ audioEncoding: 'MP3',
17
+ pitch: 0.8,
18
+ speakingRate: 0.8
19
+ },
20
+ voice: {
21
+ languageCode: 'en-US',
22
+ name: 'en-US-Wavenet-C'
23
+ }
18
24
  },
19
- voice: {
20
- languageCode: 'en-US',
21
- name: 'en-US-Wavenet-C'
25
+ default: {
26
+ audioConfig: AUDIO_CONFIG,
27
+ voice: DEFAULT_VOICE
22
28
  }
23
- } : {
24
- audioConfig: AUDIO_CONFIG,
25
- voice: DEFAULT_VOICE
29
+ });
30
+ export const KATEX_REPLACEMENTS = {
31
+ '\\$': '__KATEX_DOLLAR_SYMBOL__'
32
+ };
33
+ export const KATEX_REPLACEMENTS_REVERSE = {
34
+ __KATEX_DOLLAR_SYMBOL__: '$'
26
35
  };
27
36
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","OS","audioConfig","voice"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,YAAY,GAAG;EACxBC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAClB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EACzBC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAC9BR,QAAQ,CAACS,EAAE,KAAK,KAAK,GACf;EACIC,WAAW,EAAE;IACTR,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,GAAG;IACVC,YAAY,EAAE;EAClB,CAAC;EACDO,KAAK,EAAE;IACHL,YAAY,EAAE,OAAO;IACrBC,IAAI,EAAE;EACV;AACJ,CAAC,GACD;EACIG,WAAW,EAAET,YAAY;EACzBU,KAAK,EAAEN;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGR,QAAQ,CAACS,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXT,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDQ,KAAK,EAAE;MACLN,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDM,OAAO,EAAE;IACPF,WAAW,EAAEV,YAAY;IACzBW,KAAK,EAAEP;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU","ignoreList":[]}
@@ -2,11 +2,31 @@
2
2
 
3
3
  import { createEffect } from 'effector';
4
4
  import { createControllerEffect } from "../../../lib/effector/index.js";
5
+ import { KATEX_REPLACEMENTS, KATEX_REPLACEMENTS_REVERSE } from "../constants.js";
5
6
  export class ChatbotAPI {
7
+ replaceKatexSyntax(texts, reverse = false) {
8
+ const replacements = reverse ? Object.entries(KATEX_REPLACEMENTS_REVERSE) : Object.entries(KATEX_REPLACEMENTS);
9
+ return texts.map(text => replacements.reduce((newText, [pattern, placeholder]) => newText.replace(new RegExp(pattern, 'g'), placeholder), text));
10
+ }
6
11
  constructor(api) {
7
12
  this.postMessageFx = createControllerEffect(api.postMessage);
8
13
  this.getAlternativesFx = createEffect(api.getAlternatives);
9
- this.translateTextFx = createEffect(api.postTranslateText);
14
+ this.translateTextFx = createEffect(async payload => {
15
+ const response = await api.postTranslateText({
16
+ ...payload,
17
+ text: this.replaceKatexSyntax(payload.text)
18
+ });
19
+ return {
20
+ ...response,
21
+ data: {
22
+ ...response.data,
23
+ translations: response.data.translations.map(translation => ({
24
+ ...translation,
25
+ translatedText: this.replaceKatexSyntax([translation.translatedText], true)[0]
26
+ }))
27
+ }
28
+ };
29
+ });
10
30
  this.textToSpeechTextFx = createEffect(api.postTextToSpeech);
11
31
  }
12
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createControllerEffect","ChatbotAPI","constructor","api","postMessageFx","postMessage","getAlternativesFx","getAlternatives","translateTextFx","postTranslateText","textToSpeechTextFx","postTextToSpeech"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAE/C,SAASC,sBAAsB,QAAQ,gCAAuB;AAa9D,OAAO,MAAMC,UAAU,CAAC;EAMpBC,WAAWA,CAACC,GAA6B,EAAE;IACvC,IAAI,CAACC,aAAa,GAAGJ,sBAAsB,CAACG,GAAG,CAACE,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAGP,YAAY,CAACI,GAAG,CAACI,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAGT,YAAY,CAACI,GAAG,CAACM,iBAAiB,CAAC;IAC1D,IAAI,CAACC,kBAAkB,GAAGX,YAAY,CAACI,GAAG,CAACQ,gBAAgB,CAAC;EAChE;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createControllerEffect","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","ChatbotAPI","replaceKatexSyntax","texts","reverse","replacements","Object","entries","map","text","reduce","newText","pattern","placeholder","replace","RegExp","constructor","api","postMessageFx","postMessage","getAlternativesFx","getAlternatives","translateTextFx","payload","response","postTranslateText","data","translations","translation","translatedText","textToSpeechTextFx","postTextToSpeech"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAE/C,SAASC,sBAAsB,QAAQ,gCAAuB;AAY9D,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,iBAAc;AAE7E,OAAO,MAAMC,UAAU,CAAC;EAMdC,kBAAkBA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,EAAE;IAC3D,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,CAACP,0BAA0B,CAAC,GAC1CM,MAAM,CAACC,OAAO,CAACR,kBAAkB,CAAC;IAEtC,OAAOI,KAAK,CAACK,GAAG,CAACC,IAAI,IACnBJ,YAAY,CAACK,MAAM,CACjB,CAACC,OAAO,EAAE,CAACC,OAAO,EAAEC,WAAW,CAAC,KAAKF,OAAO,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAEC,WAAW,CAAC,EAC3FJ,IACF,CACF,CAAC;EACH;EAEAO,WAAWA,CAACC,GAA6B,EAAE;IACzC,IAAI,CAACC,aAAa,GAAGpB,sBAAsB,CAACmB,GAAG,CAACE,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAGvB,YAAY,CAACoB,GAAG,CAACI,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAGzB,YAAY,CAAC,MAAO0B,OAA+B,IAAK;MAC7E,MAAMC,QAAQ,GAAG,MAAMP,GAAG,CAACQ,iBAAiB,CAAC;QAC3C,GAAGF,OAAO;QACVd,IAAI,EAAE,IAAI,CAACP,kBAAkB,CAACqB,OAAO,CAACd,IAAI;MAC5C,CAAC,CAAC;MAEF,OAAO;QACL,GAAGe,QAAQ;QACXE,IAAI,EAAE;UACJ,GAAGF,QAAQ,CAACE,IAAI;UAChBC,YAAY,EAAEH,QAAQ,CAACE,IAAI,CAACC,YAAY,CAACnB,GAAG,CAACoB,WAAW,KAAK;YAC3D,GAAGA,WAAW;YACdC,cAAc,EAAE,IAAI,CAAC3B,kBAAkB,CAAC,CAAC0B,WAAW,CAACC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;UAC/E,CAAC,CAAC;QACJ;MACF,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACC,kBAAkB,GAAGjC,YAAY,CAACoB,GAAG,CAACc,gBAAgB,CAAC;EAC9D;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","MessageBubbleIcon","size","color","NEUTRAL_1","width","height","viewBox","fill","children","d","stroke","strokeWidth","strokeLinejoin"],"sourceRoot":"../../../../../../src","sources":["features/feedback/assets/icons/MessageBubbleIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAAoBC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,KAAK;EACvF,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7DT,IAAA,CAACH,IAAI;MACHa,CAAC,EAAC,+SAA+S;MACjTC,MAAM,EAAER,KAAM;MACdS,WAAW,EAAC,GAAG;MACfC,cAAc,EAAC;IAAO,CACvB;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","XCloseIcon","size","color","NEUTRAL_9","width","height","viewBox","fill","children","d"],"sourceRoot":"../../../../../../src","sources":["features/feedback/assets/icons/XCloseIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAAoBC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9D,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,KAAK;EAChF,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7DT,IAAA,CAACH,IAAI;MACHa,CAAC,EAAC,ufAAuf;MACzfF,IAAI,EAAEL;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -3,8 +3,8 @@
3
3
  import React from 'react';
4
4
  import { StyleSheet, Text, View } from 'react-native';
5
5
  import { COLORS } from '@magmamath/react-native-ui';
6
- import { BUENOS_AIRES_FONT, NO_COMMENTS_SWE, NO_COMMENTS_ENG } from "../../constants.js";
7
- import { Locale } from "../../types/teacherFeedback.types.js";
6
+ import { BUENOS_AIRES_FONT, NO_COMMENTS_SWE, NO_COMMENTS_ENG } from "../constants.js";
7
+ import { Locale } from "../../../shared/translation/types.js";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  export const EmptyComment = ({
10
10
  locale
@@ -13,7 +13,7 @@ export const EmptyComment = ({
13
13
  style: styles.container,
14
14
  children: /*#__PURE__*/_jsx(Text, {
15
15
  style: styles.text,
16
- children: locale === Locale.SV ? NO_COMMENTS_SWE : NO_COMMENTS_ENG
16
+ children: locale === Locale.SW ? NO_COMMENTS_SWE : NO_COMMENTS_ENG
17
17
  })
18
18
  });
19
19
  };
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Text","View","COLORS","BUENOS_AIRES_FONT","NO_COMMENTS_SWE","NO_COMMENTS_ENG","Locale","jsx","_jsx","EmptyComment","locale","style","styles","container","children","text","SW","create","padding","gap","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","shadowColor","NEUTRAL_10","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","NEUTRAL_3","alignItems","justifyContent","fontSize","fontFamily","fontWeight","color","NEUTRAL_7","lineHeight"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/EmptyComment.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACrD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,iBAAiB,EAAEC,eAAe,EAAEC,eAAe,QAAQ,iBAAc;AAClF,SAASC,MAAM,QAAQ,sCAAmC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAM1D,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAAEC;AAA0B,CAAC,KAAK;EAC7D,oBACEF,IAAA,CAACP,IAAI;IAACU,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BN,IAAA,CAACR,IAAI;MAACW,KAAK,EAAEC,MAAM,CAACG,IAAK;MAAAD,QAAA,EAAEJ,MAAM,KAAKJ,MAAM,CAACU,EAAE,GAAGZ,eAAe,GAAGC;IAAe,CAAO;EAAC,CACvF,CAAC;AAEX,CAAC;AAED,MAAMO,MAAM,GAAGb,UAAU,CAACkB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,OAAO,EAAE,CAAC;IACVC,GAAG,EAAE,EAAE;IACPC,mBAAmB,EAAE,CAAC;IACtBC,oBAAoB,EAAE,CAAC;IACvBC,uBAAuB,EAAE,CAAC;IAC1BC,WAAW,EAAErB,MAAM,CAACsB,UAAU;IAC9BC,YAAY,EAAE;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,eAAe,EAAE7B,MAAM,CAAC8B,SAAS;IACjCC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDnB,IAAI,EAAE;IACJoB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAEjC,iBAAiB;IAC7BkC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAEpC,MAAM,CAACqC,SAAS;IACvBrB,OAAO,EAAE,CAAC;IACVsB,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,9 +2,9 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { Text, View, StyleSheet } from 'react-native';
5
- import { MessageBubbleIcon } from "../icons/MessageBubbleIcon.js";
5
+ import { MessageBubbleIcon } from "../assets/icons/MessageBubbleIcon.js";
6
6
  import { COLORS } from '@magmamath/react-native-ui';
7
- import { BUENOS_AIRES_FONT } from "../../constants.js";
7
+ import { BUENOS_AIRES_FONT } from "../constants.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const ListCardCommentsCount = ({
10
10
  count
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","View","StyleSheet","MessageBubbleIcon","COLORS","BUENOS_AIRES_FONT","jsx","_jsx","jsxs","_jsxs","ListCardCommentsCount","count","style","styles","container","children","size","color","NEUTRAL_7","text","create","width","flexDirection","alignItems","gap","fontSize","fontFamily","fontWeight"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/ListCardCommentsCount.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,iBAAiB,QAAQ,sCAAmC;AACrE,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,iBAAiB,QAAQ,iBAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMhD,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EAC9E,oBACEF,KAAA,CAACR,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BR,IAAA,CAACJ,iBAAiB;MAACa,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEb,MAAM,CAACc;IAAU,CAAE,CAAC,eACxDX,IAAA,CAACP,IAAI;MAACY,KAAK,EAAEC,MAAM,CAACM,IAAK;MAAAJ,QAAA,EAAEJ;IAAK,CAAO,CAAC;EAAA,CACpC,CAAC;AAEX,CAAC;AAED,MAAME,MAAM,GAAGX,UAAU,CAACkB,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,KAAK,EAAE,EAAE;IACTC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE;EACP,CAAC;EACDL,IAAI,EAAE;IACJM,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAErB,iBAAiB;IAC7BY,KAAK,EAAEb,MAAM,CAACc,SAAS;IACvBS,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -10,16 +10,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export const TeacherFeedback = ({
11
11
  model,
12
12
  mode,
13
+ assignmentId,
14
+ problemId,
15
+ locale,
13
16
  isExam = false
14
17
  }) => {
15
- const isOpen = useUnit(model.$isOpened);
16
- const assignmentId = useUnit(model.$assignmentId);
17
- const problemId = useUnit(model.$currentProblemId);
18
- const locale = useUnit(model.$locale);
19
- const isLoading = useUnit(model.getCommentsByAssignmentIdFx.pending);
18
+ const isOpen = useUnit(model.$isOpen);
19
+ const isLoading = useUnit(model.api.getCommentsFx.pending);
20
20
  const teacherFeedback = useStoreMap({
21
- store: model.$comments,
22
- fn: (feedback, [assignmentId, problemId]) => feedback.get(assignmentId)?.[problemId] ?? null,
21
+ store: model.comments.$data,
22
+ fn: (feedback, [assignmentId, problemId]) => feedback?.get(assignmentId)?.[problemId] ?? null,
23
23
  keys: [assignmentId, problemId]
24
24
  });
25
25
  if (!problemId || !teacherFeedback) return null;
@@ -30,7 +30,7 @@ export const TeacherFeedback = ({
30
30
  locale: locale,
31
31
  mode: mode
32
32
  }), /*#__PURE__*/_jsx(TeacherFeedbackButton, {
33
- onPress: () => model.setIsOpened(!isOpen),
33
+ onPress: () => model.setIsOpen(!isOpen),
34
34
  unreadCommentsCount: teacherFeedback.unreadMessagesCount,
35
35
  isOpen: isOpen,
36
36
  isLoading: isLoading,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useStoreMap","useUnit","View","StyleSheet","TeacherFeedbackButton","TeacherFeedbackComments","FeedbackButtonColors","FeedbackButtonSize","FeedbackMode","jsx","_jsx","jsxs","_jsxs","TeacherFeedback","model","mode","isExam","isOpen","$isOpened","assignmentId","$assignmentId","problemId","$currentProblemId","locale","$locale","isLoading","getCommentsByAssignmentIdFx","pending","teacherFeedback","store","$comments","fn","feedback","get","keys","style","styles","container","children","comments","onPress","setIsOpened","unreadCommentsCount","unreadMessagesCount","size","NORMAL","SMALL","LARGE","color","PURPLE","BLUE","create","alignItems","gap"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/TeacherFeedback.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AACrD,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,qBAAqB,QAAQ,kDAA+C;AACrF,SAASC,uBAAuB,QAAQ,sDAAmD;AAE3F,SAASC,oBAAoB,EAAEC,kBAAkB,EAAEC,YAAY,QAAQ,iBAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQrF,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,KAAK;EAAEC,IAAI;EAAEC,MAAM,GAAG;AAA4B,CAAC,KAAK;EACxF,MAAMC,MAAM,GAAGhB,OAAO,CAACa,KAAK,CAACI,SAAS,CAAC;EACvC,MAAMC,YAAY,GAAGlB,OAAO,CAACa,KAAK,CAACM,aAAa,CAAC;EACjD,MAAMC,SAAS,GAAGpB,OAAO,CAACa,KAAK,CAACQ,iBAAiB,CAAC;EAClD,MAAMC,MAAM,GAAGtB,OAAO,CAACa,KAAK,CAACU,OAAO,CAAC;EACrC,MAAMC,SAAS,GAAGxB,OAAO,CAACa,KAAK,CAACY,2BAA2B,CAACC,OAAO,CAAC;EACpE,MAAMC,eAAe,GAAG5B,WAAW,CAAC;IAClC6B,KAAK,EAAEf,KAAK,CAACgB,SAAS;IACtBC,EAAE,EAAEA,CAACC,QAAQ,EAAE,CAACb,YAAY,EAAEE,SAAS,CAAC,KAAKW,QAAQ,CAACC,GAAG,CAACd,YAAY,CAAC,GAAGE,SAAS,CAAC,IAAI,IAAI;IAC5Fa,IAAI,EAAE,CAACf,YAAY,EAAEE,SAAS;EAChC,CAAC,CAAC;EAEF,IAAI,CAACA,SAAS,IAAI,CAACO,eAAe,EAAE,OAAO,IAAI;EAE/C,oBACEhB,KAAA,CAACV,IAAI;IAACiC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC3BrB,MAAM,iBAAIP,IAAA,CAACL,uBAAuB;MAACkC,QAAQ,EAAEX,eAAe,CAACW,QAAS;MAAChB,MAAM,EAAEA,MAAO;MAACR,IAAI,EAAEA;IAAK,CAAE,CAAC,eACtGL,IAAA,CAACN,qBAAqB;MACpBoC,OAAO,EAAEA,CAAA,KAAM1B,KAAK,CAAC2B,WAAW,CAAC,CAACxB,MAAM,CAAE;MAC1CyB,mBAAmB,EAAEd,eAAe,CAACe,mBAAoB;MACzD1B,MAAM,EAAEA,MAAO;MACfQ,SAAS,EAAEA,SAAU;MACrBmB,IAAI,EAAE7B,IAAI,KAAKP,YAAY,CAACqC,MAAM,GAAGtC,kBAAkB,CAACuC,KAAK,GAAGvC,kBAAkB,CAACwC,KAAM;MACzFC,KAAK,EAAEhC,MAAM,GAAGV,oBAAoB,CAAC2C,MAAM,GAAG3C,oBAAoB,CAAC4C;IAAK,CACzE,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMd,MAAM,GAAGjC,UAAU,CAACgD,MAAM,CAAC;EAC/Bd,SAAS,EAAE;IACTe,UAAU,EAAE,UAAU;IACtBC,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useStoreMap","useUnit","View","StyleSheet","TeacherFeedbackButton","TeacherFeedbackComments","FeedbackButtonColors","FeedbackButtonSize","FeedbackMode","jsx","_jsx","jsxs","_jsxs","TeacherFeedback","model","mode","assignmentId","problemId","locale","isExam","isOpen","$isOpen","isLoading","api","getCommentsFx","pending","teacherFeedback","store","comments","$data","fn","feedback","get","keys","style","styles","container","children","onPress","setIsOpen","unreadCommentsCount","unreadMessagesCount","size","NORMAL","SMALL","LARGE","color","PURPLE","BLUE","create","alignItems","gap"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/TeacherFeedback.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AACrD,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,qBAAqB,QAAQ,kDAA+C;AACrF,SAASC,uBAAuB,QAAQ,sDAAmD;AAC3F,SAASC,oBAAoB,EAAEC,kBAAkB,EAAEC,YAAY,QAAQ,iBAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAarF,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,KAAK;EACLC,IAAI;EACJC,YAAY;EACZC,SAAS;EACTC,MAAM;EACNC,MAAM,GAAG;AACW,CAAC,KAAK;EAC1B,MAAMC,MAAM,GAAGnB,OAAO,CAACa,KAAK,CAACO,OAAO,CAAC;EACrC,MAAMC,SAAS,GAAGrB,OAAO,CAACa,KAAK,CAACS,GAAG,CAACC,aAAa,CAACC,OAAO,CAAC;EAC1D,MAAMC,eAAe,GAAG1B,WAAW,CAAC;IAClC2B,KAAK,EAAEb,KAAK,CAACc,QAAQ,CAACC,KAAK;IAC3BC,EAAE,EAAEA,CAACC,QAAQ,EAAE,CAACf,YAAY,EAAEC,SAAS,CAAC,KAAKc,QAAQ,EAAEC,GAAG,CAAChB,YAAY,CAAC,GAAGC,SAAS,CAAC,IAAI,IAAI;IAC7FgB,IAAI,EAAE,CAACjB,YAAY,EAAEC,SAAS;EAChC,CAAC,CAAC;EAEF,IAAI,CAACA,SAAS,IAAI,CAACS,eAAe,EAAE,OAAO,IAAI;EAE/C,oBACEd,KAAA,CAACV,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC3BjB,MAAM,iBACLV,IAAA,CAACL,uBAAuB;MAACuB,QAAQ,EAAEF,eAAe,CAACE,QAAS;MAACV,MAAM,EAAEA,MAAO;MAACH,IAAI,EAAEA;IAAK,CAAE,CAC3F,eACDL,IAAA,CAACN,qBAAqB;MACpBkC,OAAO,EAAEA,CAAA,KAAMxB,KAAK,CAACyB,SAAS,CAAC,CAACnB,MAAM,CAAE;MACxCoB,mBAAmB,EAAEd,eAAe,CAACe,mBAAoB;MACzDrB,MAAM,EAAEA,MAAO;MACfE,SAAS,EAAEA,SAAU;MACrBoB,IAAI,EAAE3B,IAAI,KAAKP,YAAY,CAACmC,MAAM,GAAGpC,kBAAkB,CAACqC,KAAK,GAAGrC,kBAAkB,CAACsC,KAAM;MACzFC,KAAK,EAAE3B,MAAM,GAAGb,oBAAoB,CAACyC,MAAM,GAAGzC,oBAAoB,CAAC0C;IAAK,CACzE,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMb,MAAM,GAAGhC,UAAU,CAAC8C,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,UAAU,EAAE,UAAU;IACtBC,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
@@ -4,8 +4,8 @@ import React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import { Button, COLORS } from '@magmamath/react-native-ui';
6
6
  import { UnreadMessagesBadge } from "../UnreadMessagesBadge.js";
7
- import { MessageBubbleIcon } from "../icons/MessageBubbleIcon.js";
8
- import { XCloseIcon } from "../icons/XCloseIcon.js";
7
+ import { MessageBubbleIcon } from "../../assets/icons/MessageBubbleIcon.js";
8
+ import { XCloseIcon } from "../../assets/icons/XCloseIcon.js";
9
9
  import { COLOR_SCHEMES } from "./colorSchemes.js";
10
10
  import { FeedbackButtonColors, FeedbackButtonSize, TEACHER_FEEDBACK_BUTTON_ID } from "../../constants.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","Button","COLORS","UnreadMessagesBadge","MessageBubbleIcon","XCloseIcon","COLOR_SCHEMES","FeedbackButtonColors","FeedbackButtonSize","TEACHER_FEEDBACK_BUTTON_ID","jsx","_jsx","jsxs","_jsxs","ICON_SIZES","LARGE","SMALL","TeacherFeedbackButton","isOpen","onPress","unreadCommentsCount","isLoading","size","color","BLUE","isLarge","isPurpleColor","PURPLE","id","variant","disabled","style","container","styles","containerLarge","button","borderColor","NEUTRAL_5","customColorScheme","GREY","icon","PURPLE_6","BLUE_6","iconContainer","children","NEUTRAL_1","NEUTRAL_9","badgeContainerLarge","badgeContainer","badgeContent","textStyle","textLarge","badgeLarge","create","width","height","borderWidth","buttonLarge","position","top","right","fontSize","lineHeight","textAlign","alignItems","justifyContent","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","Button","COLORS","UnreadMessagesBadge","MessageBubbleIcon","XCloseIcon","COLOR_SCHEMES","FeedbackButtonColors","FeedbackButtonSize","TEACHER_FEEDBACK_BUTTON_ID","jsx","_jsx","jsxs","_jsxs","ICON_SIZES","LARGE","SMALL","TeacherFeedbackButton","isOpen","onPress","unreadCommentsCount","isLoading","size","color","BLUE","isLarge","isPurpleColor","PURPLE","id","variant","disabled","style","container","styles","containerLarge","button","borderColor","NEUTRAL_5","customColorScheme","GREY","icon","PURPLE_6","BLUE_6","iconContainer","children","NEUTRAL_1","NEUTRAL_9","badgeContainerLarge","badgeContainer","badgeContent","textStyle","textLarge","badgeLarge","create","width","height","borderWidth","buttonLarge","position","top","right","fontSize","lineHeight","textAlign","alignItems","justifyContent","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,9 @@
3
3
  import React from 'react';
4
4
  import { View, Text, StyleSheet } from 'react-native';
5
5
  import { COLORS } from '@magmamath/react-native-ui';
6
- import { getRelativeTime } from "../../helpers.js";
7
6
  import { BUENOS_AIRES_FONT } from "../../constants.js";
8
- import { Locale } from "../../types/teacherFeedback.types.js";
7
+ import { getRelativeTimeText } from "../../../../lib/helpers/helpers.js";
8
+ import { Locale } from '@magmamath/students-features';
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export const TeacherComment = ({
11
11
  content,
@@ -29,7 +29,7 @@ export const TeacherComment = ({
29
29
  }), /*#__PURE__*/_jsx(Text, {
30
30
  style: styles.dateAdded,
31
31
  numberOfLines: 1,
32
- children: getRelativeTime(createdAt, locale ?? Locale.US)
32
+ children: getRelativeTimeText(createdAt, locale ?? Locale.EN)
33
33
  })]
34
34
  }), /*#__PURE__*/_jsx(View, {
35
35
  style: styles.container,