@magmamath/students-features 0.1.2 → 0.2.0-fix-teacher-feedback-button2

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 (161) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +5 -21
  2. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  3. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js +54 -0
  4. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -0
  5. package/dist/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js +43 -0
  6. package/dist/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js.map +1 -0
  7. package/dist/commonjs/features/feedback/components/TeacherFeedback.js +51 -0
  8. package/dist/commonjs/features/feedback/components/TeacherFeedback.js.map +1 -0
  9. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +110 -0
  10. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -0
  11. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.js +44 -0
  12. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.js.map +1 -0
  13. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +97 -0
  14. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -0
  15. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +68 -0
  16. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -0
  17. package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js +61 -0
  18. package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js.map +1 -0
  19. package/dist/commonjs/features/feedback/components/icons/MessageBubbleIcon.js +32 -0
  20. package/dist/commonjs/features/feedback/components/icons/MessageBubbleIcon.js.map +1 -0
  21. package/dist/commonjs/features/feedback/components/icons/XCloseIcon.js +30 -0
  22. package/dist/commonjs/features/feedback/components/icons/XCloseIcon.js.map +1 -0
  23. package/dist/commonjs/features/feedback/components/index.js +41 -0
  24. package/dist/commonjs/features/feedback/components/index.js.map +1 -0
  25. package/dist/commonjs/features/feedback/constants.js +30 -0
  26. package/dist/commonjs/features/feedback/constants.js.map +1 -0
  27. package/dist/commonjs/features/feedback/helpers.js +70 -0
  28. package/dist/commonjs/features/feedback/helpers.js.map +1 -0
  29. package/dist/commonjs/features/feedback/index.js +50 -0
  30. package/dist/commonjs/features/feedback/index.js.map +1 -0
  31. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +215 -0
  32. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +1 -0
  33. package/dist/commonjs/features/feedback/types/teacherFeedback.types.js +18 -0
  34. package/dist/commonjs/features/feedback/types/teacherFeedback.types.js.map +1 -0
  35. package/dist/commonjs/index.js +12 -0
  36. package/dist/commonjs/index.js.map +1 -1
  37. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +6 -22
  38. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  39. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js +48 -0
  40. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -0
  41. package/dist/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js +37 -0
  42. package/dist/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js.map +1 -0
  43. package/dist/module/features/feedback/components/TeacherFeedback.js +45 -0
  44. package/dist/module/features/feedback/components/TeacherFeedback.js.map +1 -0
  45. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +104 -0
  46. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -0
  47. package/dist/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.js +40 -0
  48. package/dist/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.js.map +1 -0
  49. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +91 -0
  50. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -0
  51. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +61 -0
  52. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -0
  53. package/dist/module/features/feedback/components/UnreadMessagesBadge.js +55 -0
  54. package/dist/module/features/feedback/components/UnreadMessagesBadge.js.map +1 -0
  55. package/dist/module/features/feedback/components/icons/MessageBubbleIcon.js +24 -0
  56. package/dist/module/features/feedback/components/icons/MessageBubbleIcon.js.map +1 -0
  57. package/dist/module/features/feedback/components/icons/XCloseIcon.js +22 -0
  58. package/dist/module/features/feedback/components/icons/XCloseIcon.js.map +1 -0
  59. package/dist/module/features/feedback/components/index.js +8 -0
  60. package/dist/module/features/feedback/components/index.js.map +1 -0
  61. package/dist/module/features/feedback/constants.js +25 -0
  62. package/dist/module/features/feedback/constants.js.map +1 -0
  63. package/dist/module/features/feedback/helpers.js +65 -0
  64. package/dist/module/features/feedback/helpers.js.map +1 -0
  65. package/dist/module/features/feedback/index.js +7 -0
  66. package/dist/module/features/feedback/index.js.map +1 -0
  67. package/dist/module/features/feedback/model/teacherFeedback.model.js +210 -0
  68. package/dist/module/features/feedback/model/teacherFeedback.model.js.map +1 -0
  69. package/dist/module/features/feedback/types/teacherFeedback.types.js +14 -0
  70. package/dist/module/features/feedback/types/teacherFeedback.types.js.map +1 -0
  71. package/dist/module/index.js +1 -0
  72. package/dist/module/index.js.map +1 -1
  73. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  74. package/dist/typescript/commonjs/features/feedback/components/EmptyComment/EmptyComment.d.ts +8 -0
  75. package/dist/typescript/commonjs/features/feedback/components/EmptyComment/EmptyComment.d.ts.map +1 -0
  76. package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts +7 -0
  77. package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts.map +1 -0
  78. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts +9 -0
  79. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts.map +1 -0
  80. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +11 -0
  81. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -0
  82. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts +37 -0
  83. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts.map +1 -0
  84. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +12 -0
  85. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -0
  86. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +10 -0
  87. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -0
  88. package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts +10 -0
  89. package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -0
  90. package/dist/typescript/commonjs/features/feedback/components/icons/MessageBubbleIcon.d.ts +4 -0
  91. package/dist/typescript/commonjs/features/feedback/components/icons/MessageBubbleIcon.d.ts.map +1 -0
  92. package/dist/typescript/commonjs/features/feedback/components/icons/XCloseIcon.d.ts +4 -0
  93. package/dist/typescript/commonjs/features/feedback/components/icons/XCloseIcon.d.ts.map +1 -0
  94. package/dist/typescript/commonjs/features/feedback/components/index.d.ts +6 -0
  95. package/dist/typescript/commonjs/features/feedback/components/index.d.ts.map +1 -0
  96. package/dist/typescript/commonjs/features/feedback/constants.d.ts +20 -0
  97. package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -0
  98. package/dist/typescript/commonjs/features/feedback/helpers.d.ts +3 -0
  99. package/dist/typescript/commonjs/features/feedback/helpers.d.ts.map +1 -0
  100. package/dist/typescript/commonjs/features/feedback/index.d.ts +5 -0
  101. package/dist/typescript/commonjs/features/feedback/index.d.ts.map +1 -0
  102. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts +45 -0
  103. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +1 -0
  104. package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts +33 -0
  105. package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts.map +1 -0
  106. package/dist/typescript/commonjs/index.d.ts +1 -0
  107. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  108. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  109. package/dist/typescript/module/features/feedback/components/EmptyComment/EmptyComment.d.ts +8 -0
  110. package/dist/typescript/module/features/feedback/components/EmptyComment/EmptyComment.d.ts.map +1 -0
  111. package/dist/typescript/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts +7 -0
  112. package/dist/typescript/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts.map +1 -0
  113. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts +9 -0
  114. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts.map +1 -0
  115. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +11 -0
  116. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -0
  117. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts +37 -0
  118. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts.map +1 -0
  119. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +12 -0
  120. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -0
  121. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +10 -0
  122. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -0
  123. package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts +10 -0
  124. package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -0
  125. package/dist/typescript/module/features/feedback/components/icons/MessageBubbleIcon.d.ts +4 -0
  126. package/dist/typescript/module/features/feedback/components/icons/MessageBubbleIcon.d.ts.map +1 -0
  127. package/dist/typescript/module/features/feedback/components/icons/XCloseIcon.d.ts +4 -0
  128. package/dist/typescript/module/features/feedback/components/icons/XCloseIcon.d.ts.map +1 -0
  129. package/dist/typescript/module/features/feedback/components/index.d.ts +6 -0
  130. package/dist/typescript/module/features/feedback/components/index.d.ts.map +1 -0
  131. package/dist/typescript/module/features/feedback/constants.d.ts +20 -0
  132. package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -0
  133. package/dist/typescript/module/features/feedback/helpers.d.ts +3 -0
  134. package/dist/typescript/module/features/feedback/helpers.d.ts.map +1 -0
  135. package/dist/typescript/module/features/feedback/index.d.ts +5 -0
  136. package/dist/typescript/module/features/feedback/index.d.ts.map +1 -0
  137. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts +45 -0
  138. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +1 -0
  139. package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts +33 -0
  140. package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts.map +1 -0
  141. package/dist/typescript/module/index.d.ts +1 -0
  142. package/dist/typescript/module/index.d.ts.map +1 -1
  143. package/package.json +4 -4
  144. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +4 -27
  145. package/src/features/feedback/components/EmptyComment/EmptyComment.tsx +43 -0
  146. package/src/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.tsx +33 -0
  147. package/src/features/feedback/components/TeacherFeedback.tsx +46 -0
  148. package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +117 -0
  149. package/src/features/feedback/components/TeacherFeedbackButton/colorSchemes.ts +38 -0
  150. package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +80 -0
  151. package/src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx +69 -0
  152. package/src/features/feedback/components/UnreadMessagesBadge.tsx +61 -0
  153. package/src/features/feedback/components/icons/MessageBubbleIcon.tsx +16 -0
  154. package/src/features/feedback/components/icons/XCloseIcon.tsx +14 -0
  155. package/src/features/feedback/components/index.ts +5 -0
  156. package/src/features/feedback/constants.ts +26 -0
  157. package/src/features/feedback/helpers.ts +66 -0
  158. package/src/features/feedback/index.ts +4 -0
  159. package/src/features/feedback/model/teacherFeedback.model.ts +255 -0
  160. package/src/features/feedback/types/teacherFeedback.types.ts +32 -0
  161. package/src/index.ts +1 -0
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UnreadMessagesBadge = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const UnreadMessagesBadge = ({
13
+ badgeContent,
14
+ withBorder = false,
15
+ style
16
+ }) => {
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
18
+ style: [styles.container, style, !badgeContent && styles.emptyBadge, withBorder && styles.border, withBorder && (badgeContent ? styles.withBorderSize : styles.withBorderSizeEmpty)],
19
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
20
+ style: styles.text,
21
+ children: badgeContent && badgeContent > 99 ? '99+' : badgeContent
22
+ })
23
+ });
24
+ };
25
+ exports.UnreadMessagesBadge = UnreadMessagesBadge;
26
+ const styles = _reactNative.StyleSheet.create({
27
+ container: {
28
+ alignItems: 'center',
29
+ justifyContent: 'center',
30
+ width: 20,
31
+ height: 20,
32
+ borderRadius: 10,
33
+ backgroundColor: _reactNativeUi.COLORS.PRIMARY_RED
34
+ },
35
+ emptyBadge: {
36
+ width: 10,
37
+ height: 10
38
+ },
39
+ border: {
40
+ borderWidth: 1.5,
41
+ borderColor: _reactNativeUi.COLORS.NEUTRAL_1
42
+ },
43
+ withBorderSize: {
44
+ width: 20,
45
+ height: 20,
46
+ borderRadius: 10
47
+ },
48
+ withBorderSizeEmpty: {
49
+ width: 11.5,
50
+ height: 11.5,
51
+ borderRadius: 5.75
52
+ },
53
+ text: {
54
+ fontSize: 12,
55
+ lineHeight: 16,
56
+ fontWeight: '600',
57
+ fontFamily: _reactNative.Platform.OS === 'web' ? 'Open Sans, sans-serif' : 'OpenSans-SemiBold',
58
+ color: _reactNativeUi.COLORS.NEUTRAL_1
59
+ }
60
+ });
61
+ //# sourceMappingURL=UnreadMessagesBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_jsxRuntime","e","__esModule","default","UnreadMessagesBadge","badgeContent","withBorder","style","jsx","View","styles","container","emptyBadge","border","withBorderSize","withBorderSizeEmpty","children","Text","text","exports","StyleSheet","create","alignItems","justifyContent","width","height","borderRadius","backgroundColor","COLORS","PRIMARY_RED","borderWidth","borderColor","NEUTRAL_1","fontSize","lineHeight","fontWeight","fontFamily","Platform","OS","color"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/UnreadMessagesBadge.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAAmD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ5C,MAAMG,mBAAmB,GAAGA,CAAC;EAAEC,YAAY;EAAEC,UAAU,GAAG,KAAK;EAAEC;AAAgC,CAAC,KAAK;EAC5G,oBACE,IAAAP,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAW,IAAI;IACHF,KAAK,EAAE,CACLG,MAAM,CAACC,SAAS,EAChBJ,KAAK,EACL,CAACF,YAAY,IAAIK,MAAM,CAACE,UAAU,EAClCN,UAAU,IAAII,MAAM,CAACG,MAAM,EAC3BP,UAAU,KAAKD,YAAY,GAAGK,MAAM,CAACI,cAAc,GAAGJ,MAAM,CAACK,mBAAmB,CAAC,CACjF;IAAAC,QAAA,eAEF,IAAAhB,WAAA,CAAAQ,GAAA,EAACV,YAAA,CAAAmB,IAAI;MAACV,KAAK,EAAEG,MAAM,CAACQ,IAAK;MAAAF,QAAA,EAAEX,YAAY,IAAIA,YAAY,GAAG,EAAE,GAAG,KAAK,GAAGA;IAAY,CAAO;EAAC,CACvF,CAAC;AAEX,CAAC;AAAAc,OAAA,CAAAf,mBAAA,GAAAA,mBAAA;AAED,MAAMM,MAAM,GAAGU,uBAAU,CAACC,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAEC,qBAAM,CAACC;EAC1B,CAAC;EACDjB,UAAU,EAAE;IACVY,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACDZ,MAAM,EAAE;IACNiB,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAEH,qBAAM,CAACI;EACtB,CAAC;EACDlB,cAAc,EAAE;IACdU,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE;EAChB,CAAC;EACDX,mBAAmB,EAAE;IACnBS,KAAK,EAAE,IAAI;IACXC,MAAM,EAAE,IAAI;IACZC,YAAY,EAAE;EAChB,CAAC;EACDR,IAAI,EAAE;IACJe,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAEC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,uBAAuB,GAAG,mBAAmB;IACjFC,KAAK,EAAEX,qBAAM,CAACI;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MessageBubbleIcon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const MessageBubbleIcon = ({
15
+ size = 26,
16
+ color = _reactNativeUi.COLORS.NEUTRAL_1
17
+ }) => {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
19
+ width: size,
20
+ height: size,
21
+ viewBox: "0 0 26 26",
22
+ fill: "none",
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
24
+ d: "M1.46731 10.0594C0.934026 14.231 2.94959 17.0124 4.72827 18.403C5.15473 20.0717 4.90596 21.8796 4.72827 22.5749C6.86227 22.1577 8.40099 20.946 8.93496 20.2507C12.6702 21.2937 23.0923 21.063 24.4129 14.7527C25.5097 9.51166 22.2158 5.12788 15.3416 3.80165C7.2255 2.23582 2.01279 5.79234 1.46731 10.0594Z",
25
+ stroke: color,
26
+ strokeWidth: "2",
27
+ strokeLinejoin: "round"
28
+ })
29
+ });
30
+ };
31
+ exports.MessageBubbleIcon = MessageBubbleIcon;
32
+ //# sourceMappingURL=MessageBubbleIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_reactNativeUi","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubbleIcon","size","color","COLORS","NEUTRAL_1","jsx","width","height","viewBox","fill","children","Path","d","stroke","strokeWidth","strokeLinejoin","exports"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/icons/MessageBubbleIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAEvD,MAAMmB,iBAAiB,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGC,qBAAM,CAACC;AAAqB,CAAC,KAAK;EACvF,oBACE,IAAAzB,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAU,OAAG;IAACoB,KAAK,EAAEL,IAAK;IAACM,MAAM,EAAEN,IAAK;IAACO,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7D,IAAA/B,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAmC,IAAI;MACHC,CAAC,EAAC,+SAA+S;MACjTC,MAAM,EAAEX,KAAM;MACdY,WAAW,EAAC,GAAG;MACfC,cAAc,EAAC;IAAO,CACvB;EAAC,CACC,CAAC;AAEV,CAAC;AAAAC,OAAA,CAAAhB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.XCloseIcon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const XCloseIcon = ({
15
+ size = 26,
16
+ color = _reactNativeUi.COLORS.NEUTRAL_9
17
+ }) => {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.default, {
19
+ width: size,
20
+ height: size,
21
+ viewBox: "0 0 26 26",
22
+ fill: "none",
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Path, {
24
+ d: "M4.38388 2.61612C3.89573 2.12796 3.10427 2.12796 2.61612 2.61612C2.12796 3.10427 2.12796 3.89573 2.61612 4.38388L11.2322 13L2.61612 21.6161C2.12796 22.1043 2.12796 22.8957 2.61612 23.3839C3.10427 23.872 3.89573 23.872 4.38388 23.3839L13 14.7678L21.6161 23.3839C22.1043 23.872 22.8957 23.872 23.3839 23.3839C23.872 22.8957 23.872 22.1043 23.3839 21.6161L14.7678 13L23.3839 4.38388C23.872 3.89573 23.872 3.10427 23.3839 2.61612C22.8957 2.12796 22.1043 2.12796 21.6161 2.61612L13 11.2322L4.38388 2.61612Z",
25
+ fill: color
26
+ })
27
+ });
28
+ };
29
+ exports.XCloseIcon = XCloseIcon;
30
+ //# sourceMappingURL=XCloseIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeSvg","_interopRequireWildcard","_reactNativeUi","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","XCloseIcon","size","color","COLORS","NEUTRAL_9","jsx","width","height","viewBox","fill","children","Path","d","exports"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/icons/XCloseIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAA8D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAEvD,MAAMmB,UAAU,GAAGA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGC,qBAAM,CAACC;AAAqB,CAAC,KAAK;EAChF,oBACE,IAAAzB,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAU,OAAG;IAACoB,KAAK,EAAEL,IAAK;IAACM,MAAM,EAAEN,IAAK;IAACO,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC7D,IAAA/B,WAAA,CAAA0B,GAAA,EAAC7B,eAAA,CAAAmC,IAAI;MACHC,CAAC,EAAC,ufAAuf;MACzfH,IAAI,EAAEP;IAAM,CACb;EAAC,CACC,CAAC;AAEV,CAAC;AAAAW,OAAA,CAAAb,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ListCardCommentsCount", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ListCardCommentsCount.ListCardCommentsCount;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "TeacherFeedback", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _TeacherFeedback.TeacherFeedback;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "TeacherFeedbackButton", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _TeacherFeedbackButton.TeacherFeedbackButton;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "TeacherFeedbackComments", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _TeacherFeedbackComments.TeacherFeedbackComments;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "UnreadMessagesBadge", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _UnreadMessagesBadge.UnreadMessagesBadge;
34
+ }
35
+ });
36
+ var _TeacherFeedbackComments = require("./TeacherFeedbackComments/TeacherFeedbackComments.js");
37
+ var _TeacherFeedbackButton = require("./TeacherFeedbackButton/TeacherFeedbackButton.js");
38
+ var _TeacherFeedback = require("./TeacherFeedback.js");
39
+ var _UnreadMessagesBadge = require("./UnreadMessagesBadge.js");
40
+ var _ListCardCommentsCount = require("./ListCardCommentsCount/ListCardCommentsCount.js");
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_TeacherFeedbackComments","require","_TeacherFeedbackButton","_TeacherFeedback","_UnreadMessagesBadge","_ListCardCommentsCount"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getEmptyComment = exports.TEACHER_FEEDBACK_BUTTON_ID = exports.NO_COMMENTS_SWE = exports.NO_COMMENTS_ENG = exports.EMPTY_COMMENT_ID = exports.BUENOS_AIRES_FONT = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _teacherFeedbackTypes = require("./types/teacherFeedback.types.js");
9
+ const BUENOS_AIRES_FONT = exports.BUENOS_AIRES_FONT = _reactNative.Platform.OS === 'web' ? 'Buenos Aires, sans-serif' : 'BuenosAires-Regular';
10
+ const NO_COMMENTS_ENG = exports.NO_COMMENTS_ENG = 'No comments yet';
11
+ const NO_COMMENTS_SWE = exports.NO_COMMENTS_SWE = 'Inga kommentarer än';
12
+ const EMPTY_COMMENT_ID = exports.EMPTY_COMMENT_ID = 'empty-comment';
13
+ const getEmptyComment = (problemId, locale) => {
14
+ return {
15
+ __v: 0,
16
+ _id: EMPTY_COMMENT_ID,
17
+ content: locale === _teacherFeedbackTypes.Locale.SV ? NO_COMMENTS_SWE : NO_COMMENTS_ENG,
18
+ createdAt: new Date(),
19
+ exerciseId: '',
20
+ isRead: true,
21
+ problemId,
22
+ studentId: '',
23
+ teacherId: '',
24
+ teacherName: '',
25
+ updatedAt: new Date()
26
+ };
27
+ };
28
+ exports.getEmptyComment = getEmptyComment;
29
+ const TEACHER_FEEDBACK_BUTTON_ID = exports.TEACHER_FEEDBACK_BUTTON_ID = 'teacherFeedbackButton';
30
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_teacherFeedbackTypes","BUENOS_AIRES_FONT","exports","Platform","OS","NO_COMMENTS_ENG","NO_COMMENTS_SWE","EMPTY_COMMENT_ID","getEmptyComment","problemId","locale","__v","_id","content","Locale","SV","createdAt","Date","exerciseId","isRead","studentId","teacherId","teacherName","updatedAt","TEACHER_FEEDBACK_BUTTON_ID"],"sourceRoot":"../../../../src","sources":["features/feedback/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAEO,MAAME,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,0BAA0B,GAAG,qBAAqB;AAEpG,MAAMC,eAAe,GAAAH,OAAA,CAAAG,eAAA,GAAG,iBAAiB;AACzC,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,qBAAqB;AAC7C,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,eAAe;AAExC,MAAMC,eAAe,GAAGA,CAACC,SAAiB,EAAEC,MAAqB,KAAK;EAC3E,OAAO;IACLC,GAAG,EAAE,CAAC;IACNC,GAAG,EAAEL,gBAAgB;IACrBM,OAAO,EAAEH,MAAM,KAAKI,4BAAM,CAACC,EAAE,GAAGT,eAAe,GAAGD,eAAe;IACjEW,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;IACrBC,UAAU,EAAE,EAAE;IACdC,MAAM,EAAE,IAAI;IACZV,SAAS;IACTW,SAAS,EAAE,EAAE;IACbC,SAAS,EAAE,EAAE;IACbC,WAAW,EAAE,EAAE;IACfC,SAAS,EAAE,IAAIN,IAAI,CAAC;EACtB,CAAC;AACH,CAAC;AAAAf,OAAA,CAAAM,eAAA,GAAAA,eAAA;AAEM,MAAMgB,0BAA0B,GAAAtB,OAAA,CAAAsB,0BAAA,GAAG,uBAAuB","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getRelativeTime = void 0;
7
+ var _teacherFeedbackTypes = require("./types/teacherFeedback.types.js");
8
+ const RELATIVE_TIME_LABELS = {
9
+ [_teacherFeedbackTypes.Locale.US]: {
10
+ justNow: 'just now',
11
+ minuteAgo: 'minute ago',
12
+ minutesAgo: 'minutes ago',
13
+ hourAgo: 'hour ago',
14
+ hoursAgo: 'hours ago',
15
+ dayAgo: 'day ago',
16
+ daysAgo: 'days ago',
17
+ monthAgo: 'month ago',
18
+ monthsAgo: 'months ago',
19
+ yearAgo: 'year ago',
20
+ yearsAgo: 'years ago'
21
+ },
22
+ [_teacherFeedbackTypes.Locale.SV]: {
23
+ justNow: 'alldeles nyss',
24
+ minuteAgo: 'minut sedan',
25
+ minutesAgo: 'minuter sedan',
26
+ hourAgo: 'timme sedan',
27
+ hoursAgo: 'timmar sedan',
28
+ dayAgo: 'dag sedan',
29
+ daysAgo: 'dagar sedan',
30
+ monthAgo: 'månad sedan',
31
+ monthsAgo: 'månader sedan',
32
+ yearAgo: 'år sedan',
33
+ yearsAgo: 'år sedan'
34
+ },
35
+ [_teacherFeedbackTypes.Locale.GB]: {
36
+ justNow: 'just now',
37
+ minuteAgo: 'minute ago',
38
+ minutesAgo: 'minutes ago',
39
+ hourAgo: 'hour ago',
40
+ hoursAgo: 'hours ago',
41
+ dayAgo: 'day ago',
42
+ daysAgo: 'days ago',
43
+ monthAgo: 'month ago',
44
+ monthsAgo: 'months ago',
45
+ yearAgo: 'year ago',
46
+ yearsAgo: 'years ago'
47
+ }
48
+ };
49
+ const getRelativeTime = (date, lang) => {
50
+ const t = RELATIVE_TIME_LABELS[lang] || RELATIVE_TIME_LABELS[_teacherFeedbackTypes.Locale.US];
51
+ const timeBufferMs = 2000; // adds 2 seconds time buffer because when used with sockets, it displayed -1 seconds ago, instead of 1 second ago.
52
+
53
+ const now = new Date().getTime();
54
+ const targetDate = new Date(date).getTime() - timeBufferMs;
55
+ const diffTime = now - targetDate;
56
+ const seconds = Math.floor(diffTime / 1000);
57
+ const minutes = Math.floor(seconds / 60);
58
+ const hours = Math.floor(minutes / 60);
59
+ const days = Math.floor(hours / 24);
60
+ const months = Math.floor(days / 30);
61
+ const years = Math.floor(days / 365);
62
+ if (seconds < 60) return t.justNow;
63
+ if (minutes < 60) return `${minutes} ${minutes === 1 ? t.minuteAgo : t.minutesAgo}`;
64
+ if (hours < 24) return `${hours} ${hours === 1 ? t.hourAgo : t.hoursAgo}`;
65
+ if (days < 30) return `${days} ${days === 1 ? t.dayAgo : t.daysAgo}`;
66
+ if (months < 12) return `${months} ${months === 1 ? t.monthAgo : t.monthsAgo}`;
67
+ return `${years} ${years === 1 ? t.yearAgo : t.yearsAgo}`;
68
+ };
69
+ exports.getRelativeTime = getRelativeTime;
70
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_teacherFeedbackTypes","require","RELATIVE_TIME_LABELS","Locale","US","justNow","minuteAgo","minutesAgo","hourAgo","hoursAgo","dayAgo","daysAgo","monthAgo","monthsAgo","yearAgo","yearsAgo","SV","GB","getRelativeTime","date","lang","t","timeBufferMs","now","Date","getTime","targetDate","diffTime","seconds","Math","floor","minutes","hours","days","months","years","exports"],"sourceRoot":"../../../../src","sources":["features/feedback/helpers.ts"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAEA,MAAMC,oBAAoB,GAAG;EAC3B,CAACC,4BAAM,CAACC,EAAE,GAAG;IACXC,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,CAACZ,4BAAM,CAACa,EAAE,GAAG;IACXX,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,CAACZ,4BAAM,CAACc,EAAE,GAAG;IACXZ,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;AAEM,MAAMG,eAAe,GAAGA,CAACC,IAAU,EAAEC,IAAY,KAAK;EAC3D,MAAMC,CAAC,GAAGnB,oBAAoB,CAACkB,IAAI,CAAC,IAAIlB,oBAAoB,CAACC,4BAAM,CAACC,EAAE,CAAC;EACvE,MAAMkB,YAAY,GAAG,IAAI,EAAC;;EAE1B,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EAChC,MAAMC,UAAU,GAAG,IAAIF,IAAI,CAACL,IAAI,CAAC,CAACM,OAAO,CAAC,CAAC,GAAGH,YAAY;EAC1D,MAAMK,QAAQ,GAAGJ,GAAG,GAAGG,UAAU;EAEjC,MAAME,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,QAAQ,GAAG,IAAI,CAAC;EAC3C,MAAMI,OAAO,GAAGF,IAAI,CAACC,KAAK,CAACF,OAAO,GAAG,EAAE,CAAC;EACxC,MAAMI,KAAK,GAAGH,IAAI,CAACC,KAAK,CAACC,OAAO,GAAG,EAAE,CAAC;EACtC,MAAME,IAAI,GAAGJ,IAAI,CAACC,KAAK,CAACE,KAAK,GAAG,EAAE,CAAC;EACnC,MAAME,MAAM,GAAGL,IAAI,CAACC,KAAK,CAACG,IAAI,GAAG,EAAE,CAAC;EACpC,MAAME,KAAK,GAAGN,IAAI,CAACC,KAAK,CAACG,IAAI,GAAG,GAAG,CAAC;EAEpC,IAAIL,OAAO,GAAG,EAAE,EAAE,OAAOP,CAAC,CAAChB,OAAO;EAClC,IAAI0B,OAAO,GAAG,EAAE,EAAE,OAAO,GAAGA,OAAO,IAAIA,OAAO,KAAK,CAAC,GAAGV,CAAC,CAACf,SAAS,GAAGe,CAAC,CAACd,UAAU,EAAE;EACnF,IAAIyB,KAAK,GAAG,EAAE,EAAE,OAAO,GAAGA,KAAK,IAAIA,KAAK,KAAK,CAAC,GAAGX,CAAC,CAACb,OAAO,GAAGa,CAAC,CAACZ,QAAQ,EAAE;EACzE,IAAIwB,IAAI,GAAG,EAAE,EAAE,OAAO,GAAGA,IAAI,IAAIA,IAAI,KAAK,CAAC,GAAGZ,CAAC,CAACX,MAAM,GAAGW,CAAC,CAACV,OAAO,EAAE;EACpE,IAAIuB,MAAM,GAAG,EAAE,EAAE,OAAO,GAAGA,MAAM,IAAIA,MAAM,KAAK,CAAC,GAAGb,CAAC,CAACT,QAAQ,GAAGS,CAAC,CAACR,SAAS,EAAE;EAC9E,OAAO,GAAGsB,KAAK,IAAIA,KAAK,KAAK,CAAC,GAAGd,CAAC,CAACP,OAAO,GAAGO,CAAC,CAACN,QAAQ,EAAE;AAC3D,CAAC;AAAAqB,OAAA,CAAAlB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _teacherFeedbackModel = require("./model/teacherFeedback.model.js");
7
+ Object.keys(_teacherFeedbackModel).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _teacherFeedbackModel[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _teacherFeedbackModel[key];
14
+ }
15
+ });
16
+ });
17
+ var _teacherFeedbackTypes = require("./types/teacherFeedback.types.js");
18
+ Object.keys(_teacherFeedbackTypes).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _teacherFeedbackTypes[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _teacherFeedbackTypes[key];
25
+ }
26
+ });
27
+ });
28
+ var _constants = require("./constants.js");
29
+ Object.keys(_constants).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _constants[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _constants[key];
36
+ }
37
+ });
38
+ });
39
+ var _index = require("./components/index.js");
40
+ Object.keys(_index).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _index[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _index[key];
47
+ }
48
+ });
49
+ });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_teacherFeedbackModel","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_teacherFeedbackTypes","_constants","_index"],"sourceRoot":"../../../../src","sources":["features/feedback/index.ts"],"mappings":";;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,qBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,qBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,qBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,qBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,qBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,215 @@
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 _constants = require("../constants.js");
9
+ class TeacherFeedbackModel {
10
+ setCommentsSeen = (0, _effector.createEvent)();
11
+ $comments = (0, _effector.createStore)(new Map());
12
+ setIsOpened = (0, _effector.createEvent)();
13
+ $isOpened = (0, _effector.restore)(this.setIsOpened, false);
14
+ setIsVisible = (0, _effector.createEvent)();
15
+ $isVisible = (0, _effector.restore)(this.setIsVisible, false);
16
+ sockets = {
17
+ onCreate: (0, _effector.createEvent)(),
18
+ onDeleted: (0, _effector.createEvent)()
19
+ };
20
+ constructor({
21
+ api,
22
+ credits
23
+ }) {
24
+ this.getCommentsByAssignmentIdFx = (0, _effector.createEffect)(async ({
25
+ id
26
+ }) => {
27
+ const response = await api.getCommentsByAssignmentId({
28
+ id
29
+ });
30
+ return {
31
+ data: response,
32
+ assignmentId: id
33
+ };
34
+ });
35
+ this.updateCommentSeenFx = (0, _effector.createEffect)(api.updateCommentSeenStatus);
36
+ this.$assignmentId = credits.assignmentId;
37
+ this.$currentProblemId = credits.problemId;
38
+ this.$locale = credits.locale;
39
+ (0, _effector.sample)({
40
+ clock: this.$currentProblemId,
41
+ fn: () => false,
42
+ target: this.setIsOpened
43
+ });
44
+ (0, _effector.sample)({
45
+ clock: this.sockets.onCreate,
46
+ source: [this.$isOpened, this.$currentProblemId, this.$assignmentId],
47
+ filter: ([isOpen, currentProblemId], payload) => {
48
+ return isOpen && currentProblemId === payload.problemId;
49
+ },
50
+ fn: ([_, currentProblemId, assignmentId], {
51
+ _id
52
+ }) => ({
53
+ currentProblemId,
54
+ assignmentId,
55
+ ids: [_id]
56
+ }),
57
+ target: [this.setCommentsSeen, this.updateCommentSeenFx]
58
+ });
59
+ (0, _effector.sample)({
60
+ clock: this.$isOpened,
61
+ source: [this.$comments, this.$currentProblemId, this.$assignmentId],
62
+ filter: ([feedback, currentProblemId, assignmentId], isOpen) => {
63
+ const assignmentComments = feedback.get(assignmentId) || {};
64
+ const comments = assignmentComments[currentProblemId]?.comments ?? [];
65
+ const hasUnreadComments = comments.some(comment => !comment.isRead);
66
+ return isOpen && hasUnreadComments;
67
+ },
68
+ fn: ([feedback, currentProblemId, assignmentId]) => {
69
+ const assignmentComments = feedback.get(assignmentId) || {};
70
+ const comments = assignmentComments[currentProblemId]?.comments ?? [];
71
+ return {
72
+ currentProblemId,
73
+ assignmentId,
74
+ ids: comments.filter(comment => !comment.isRead).map(comment => comment._id)
75
+ };
76
+ },
77
+ target: [this.setCommentsSeen, this.updateCommentSeenFx]
78
+ });
79
+ this.$isVisible.on(this.getCommentsByAssignmentIdFx.doneData, (_, {
80
+ data
81
+ }) => {
82
+ return Object.values(data).some(problemFeedback => problemFeedback.comments?.length > 0);
83
+ });
84
+ this.$comments.on(this.getCommentsByAssignmentIdFx.doneData, (state, {
85
+ assignmentId,
86
+ data
87
+ }) => {
88
+ const problemsMap = {};
89
+ for (const [problemId, {
90
+ comments
91
+ }] of Object.entries(data)) {
92
+ const unreadMessages = comments.filter(comment => !comment.isRead);
93
+ problemsMap[problemId] = {
94
+ comments,
95
+ unreadMessagesCount: unreadMessages.length
96
+ };
97
+ }
98
+ const updatedState = new Map(state);
99
+ updatedState.set(assignmentId, problemsMap);
100
+ return updatedState;
101
+ }).on(this.setCommentsSeen, (state, {
102
+ ids,
103
+ currentProblemId,
104
+ assignmentId
105
+ }) => {
106
+ const assignmentComments = state.get(assignmentId);
107
+ if (!assignmentComments) return state;
108
+ const feedback = assignmentComments[currentProblemId];
109
+ if (!feedback) return state;
110
+ const updatedComments = feedback.comments.map(comment => ids.includes(comment._id) ? {
111
+ ...comment,
112
+ isRead: true
113
+ } : comment);
114
+ const updatedFeedback = {
115
+ ...feedback,
116
+ comments: updatedComments,
117
+ unreadMessagesCount: 0
118
+ };
119
+ const updatedAssignmentComments = {
120
+ ...assignmentComments,
121
+ [currentProblemId]: updatedFeedback
122
+ };
123
+ const updatedState = new Map(state);
124
+ updatedState.set(assignmentId, updatedAssignmentComments);
125
+ return updatedState;
126
+ }).on(this.sockets.onCreate, (state, payload) => {
127
+ const assignmentComments = state.get(payload.exerciseId) || {};
128
+ const feedback = assignmentComments[payload.problemId] ?? {
129
+ comments: [],
130
+ unreadMessagesCount: 0
131
+ };
132
+ const updatedFeedback = {
133
+ ...feedback,
134
+ comments: [...feedback.comments, payload],
135
+ unreadMessagesCount: feedback.unreadMessagesCount + 1
136
+ };
137
+ const updatedAssignmentComments = {
138
+ ...assignmentComments,
139
+ [payload.problemId]: updatedFeedback
140
+ };
141
+ const updatedState = new Map(state);
142
+ updatedState.set(payload.exerciseId, updatedAssignmentComments);
143
+ return updatedState;
144
+ }).on(this.sockets.onDeleted, (state, payload) => {
145
+ const assignmentId = this.$assignmentId.getState();
146
+ const assignmentComments = state.get(assignmentId);
147
+ if (!assignmentComments) return state;
148
+ const feedback = assignmentComments[payload.problemId];
149
+ if (!feedback) return state;
150
+ const isDeleteMessageUnread = feedback.comments.some(comment => comment._id === payload._id && !comment.isRead);
151
+ const updatedFeedback = {
152
+ comments: feedback.comments.filter(comment => comment._id !== payload._id),
153
+ unreadMessagesCount: isDeleteMessageUnread ? feedback.unreadMessagesCount - 1 : feedback.unreadMessagesCount
154
+ };
155
+ const isOpen = this.$isOpened.getState();
156
+ if (updatedFeedback.comments.length === 0) {
157
+ const updatedAssignmentComments = {
158
+ ...assignmentComments
159
+ };
160
+ if (!isOpen) {
161
+ delete updatedAssignmentComments[payload.problemId];
162
+
163
+ // If no problems left, remove the assignment entirely
164
+ if (Object.keys(updatedAssignmentComments).length === 0) {
165
+ const updatedState = new Map(state);
166
+ updatedState.delete(assignmentId);
167
+ return updatedState;
168
+ }
169
+ } else {
170
+ updatedAssignmentComments[payload.problemId] = {
171
+ ...updatedFeedback,
172
+ comments: [(0, _constants.getEmptyComment)(payload.problemId, this.$locale.getState())]
173
+ };
174
+ }
175
+ const updatedState = new Map(state);
176
+ updatedState.set(assignmentId, updatedAssignmentComments);
177
+ return updatedState;
178
+ }
179
+ const updatedAssignmentComments = {
180
+ ...assignmentComments,
181
+ [payload.problemId]: updatedFeedback
182
+ };
183
+ const updatedState = new Map(state);
184
+ updatedState.set(assignmentId, updatedAssignmentComments);
185
+ return updatedState;
186
+ }).on(this.setIsOpened, (state, isOpen) => {
187
+ if (isOpen) return state;
188
+ const assignmentId = this.$assignmentId.getState();
189
+ const problemId = this.$currentProblemId.getState();
190
+ const assignmentComments = state.get(assignmentId);
191
+ if (!assignmentComments) return state;
192
+ const feedback = assignmentComments[problemId];
193
+ if (!feedback) return state;
194
+ if (feedback.comments.length === 1 && feedback.comments[0]._id === _constants.EMPTY_COMMENT_ID) {
195
+ const updatedAssignmentComments = {
196
+ ...assignmentComments
197
+ };
198
+ delete updatedAssignmentComments[problemId];
199
+
200
+ // If no problems left, remove the assignment entirely
201
+ if (Object.keys(updatedAssignmentComments).length === 0) {
202
+ const updatedState = new Map(state);
203
+ updatedState.delete(assignmentId);
204
+ return updatedState;
205
+ }
206
+ const updatedState = new Map(state);
207
+ updatedState.set(assignmentId, updatedAssignmentComments);
208
+ return updatedState;
209
+ }
210
+ return state;
211
+ });
212
+ }
213
+ }
214
+ exports.TeacherFeedbackModel = TeacherFeedbackModel;
215
+ //# sourceMappingURL=teacherFeedback.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_constants","TeacherFeedbackModel","setCommentsSeen","createEvent","$comments","createStore","Map","setIsOpened","$isOpened","restore","setIsVisible","$isVisible","sockets","onCreate","onDeleted","constructor","api","credits","getCommentsByAssignmentIdFx","createEffect","id","response","getCommentsByAssignmentId","data","assignmentId","updateCommentSeenFx","updateCommentSeenStatus","$assignmentId","$currentProblemId","problemId","$locale","locale","sample","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","getEmptyComment","EMPTY_COMMENT_ID","exports"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/teacherFeedback.model.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TeacherFeedbackSocketEvent = exports.Locale = void 0;
7
+ let Locale = exports.Locale = /*#__PURE__*/function (Locale) {
8
+ Locale["US"] = "en-US";
9
+ Locale["SV"] = "sv-SE";
10
+ Locale["GB"] = "en-GB";
11
+ return Locale;
12
+ }({});
13
+ let TeacherFeedbackSocketEvent = exports.TeacherFeedbackSocketEvent = /*#__PURE__*/function (TeacherFeedbackSocketEvent) {
14
+ TeacherFeedbackSocketEvent["COMMENT_CREATED"] = "exerciseCommentCreated";
15
+ TeacherFeedbackSocketEvent["COMMENT_DELETED"] = "exerciseCommentDeleted";
16
+ return TeacherFeedbackSocketEvent;
17
+ }({});
18
+ //# sourceMappingURL=teacherFeedback.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Locale","exports","TeacherFeedbackSocketEvent"],"sourceRoot":"../../../../../src","sources":["features/feedback/types/teacherFeedback.types.ts"],"mappings":";;;;;;IAsBYA,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAAA,IAMNE,0BAA0B,GAAAD,OAAA,CAAAC,0BAAA,0BAA1BA,0BAA0B;EAA1BA,0BAA0B;EAA1BA,0BAA0B;EAAA,OAA1BA,0BAA0B;AAAA","ignoreList":[]}
@@ -39,4 +39,16 @@ Object.keys(_index2).forEach(function (key) {
39
39
  }
40
40
  });
41
41
  });
42
+ var _index3 = require("./features/feedback/index.js");
43
+ Object.keys(_index3).forEach(function (key) {
44
+ if (key === "default" || key === "__esModule") return;
45
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
46
+ if (key in exports && exports[key] === _index3[key]) return;
47
+ Object.defineProperty(exports, key, {
48
+ enumerable: true,
49
+ get: function () {
50
+ return _index3[key];
51
+ }
52
+ });
53
+ });
42
54
  //# sourceMappingURL=index.js.map