@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.
- package/dist/commonjs/features/chatbot/constants.js +21 -12
- package/dist/commonjs/features/chatbot/constants.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/api.js +21 -1
- package/dist/commonjs/features/chatbot/model/api.js.map +1 -1
- package/dist/commonjs/features/feedback/assets/icons/MessageBubbleIcon.js.map +1 -0
- package/dist/commonjs/features/feedback/assets/icons/XCloseIcon.js.map +1 -0
- package/dist/commonjs/features/feedback/components/{EmptyComment/EmptyComment.js → EmptyComment.js} +3 -3
- package/dist/commonjs/features/feedback/components/EmptyComment.js.map +1 -0
- package/dist/commonjs/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.js → ListCardCommentsCount.js} +2 -2
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js.map +1 -0
- package/dist/commonjs/features/feedback/components/TeacherFeedback.js +8 -8
- package/dist/commonjs/features/feedback/components/TeacherFeedback.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +2 -2
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +3 -3
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
- package/dist/commonjs/features/feedback/components/index.js +1 -1
- package/dist/commonjs/features/feedback/constants.js +1 -18
- package/dist/commonjs/features/feedback/constants.js.map +1 -1
- package/dist/commonjs/features/feedback/helpers.js +22 -64
- package/dist/commonjs/features/feedback/helpers.js.map +1 -1
- package/dist/commonjs/features/feedback/index.js +8 -8
- package/dist/commonjs/features/feedback/index.js.map +1 -1
- package/dist/commonjs/features/feedback/model/api.js +15 -0
- package/dist/commonjs/features/feedback/model/api.js.map +1 -0
- package/dist/commonjs/features/feedback/model/comments.js +88 -0
- package/dist/commonjs/features/feedback/model/comments.js.map +1 -0
- package/dist/commonjs/features/feedback/model/model.js +104 -0
- package/dist/commonjs/features/feedback/model/model.js.map +1 -0
- package/dist/commonjs/features/feedback/model/sockets.js +25 -0
- package/dist/commonjs/features/feedback/model/sockets.js.map +1 -0
- package/dist/commonjs/features/feedback/types.js +12 -0
- package/dist/commonjs/features/feedback/types.js.map +1 -0
- package/dist/commonjs/lib/helpers/helpers.js +24 -1
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
- package/dist/commonjs/shared/translation/constants.js +42 -1
- package/dist/commonjs/shared/translation/constants.js.map +1 -1
- package/dist/module/features/chatbot/constants.js +20 -11
- package/dist/module/features/chatbot/constants.js.map +1 -1
- package/dist/module/features/chatbot/model/api.js +21 -1
- package/dist/module/features/chatbot/model/api.js.map +1 -1
- package/dist/module/features/feedback/assets/icons/MessageBubbleIcon.js.map +1 -0
- package/dist/module/features/feedback/assets/icons/XCloseIcon.js.map +1 -0
- package/dist/module/features/feedback/components/{EmptyComment/EmptyComment.js → EmptyComment.js} +3 -3
- package/dist/module/features/feedback/components/EmptyComment.js.map +1 -0
- package/dist/module/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.js → ListCardCommentsCount.js} +2 -2
- package/dist/module/features/feedback/components/ListCardCommentsCount.js.map +1 -0
- package/dist/module/features/feedback/components/TeacherFeedback.js +8 -8
- package/dist/module/features/feedback/components/TeacherFeedback.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +2 -2
- package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +3 -3
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
- package/dist/module/features/feedback/components/index.js +1 -1
- package/dist/module/features/feedback/components/index.js.map +1 -1
- package/dist/module/features/feedback/constants.js +0 -16
- package/dist/module/features/feedback/constants.js.map +1 -1
- package/dist/module/features/feedback/helpers.js +20 -62
- package/dist/module/features/feedback/helpers.js.map +1 -1
- package/dist/module/features/feedback/index.js +2 -2
- package/dist/module/features/feedback/index.js.map +1 -1
- package/dist/module/features/feedback/model/api.js +10 -0
- package/dist/module/features/feedback/model/api.js.map +1 -0
- package/dist/module/features/feedback/model/comments.js +83 -0
- package/dist/module/features/feedback/model/comments.js.map +1 -0
- package/dist/module/features/feedback/model/model.js +99 -0
- package/dist/module/features/feedback/model/model.js.map +1 -0
- package/dist/module/features/feedback/model/sockets.js +20 -0
- package/dist/module/features/feedback/model/sockets.js.map +1 -0
- package/dist/module/features/feedback/types.js +8 -0
- package/dist/module/features/feedback/types.js.map +1 -0
- package/dist/module/lib/helpers/helpers.js +22 -0
- package/dist/module/lib/helpers/helpers.js.map +1 -1
- package/dist/module/shared/translation/constants.js +41 -0
- package/dist/module/shared/translation/constants.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts +6 -0
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/assets/icons/MessageBubbleIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/assets/icons/XCloseIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/components/{EmptyComment/EmptyComment.d.ts → EmptyComment.d.ts} +1 -1
- package/dist/typescript/commonjs/features/feedback/components/EmptyComment.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts +6 -2
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -2
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +3 -2
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/index.d.ts +1 -1
- package/dist/typescript/commonjs/features/feedback/components/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/constants.d.ts +0 -14
- package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/helpers.d.ts +9 -2
- package/dist/typescript/commonjs/features/feedback/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/index.d.ts +2 -2
- package/dist/typescript/commonjs/features/feedback/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/api.d.ts +9 -0
- package/dist/typescript/commonjs/features/feedback/model/api.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/model/comments.d.ts +16 -0
- package/dist/typescript/commonjs/features/feedback/model/comments.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/model/model.d.ts +27 -0
- package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts +10 -0
- package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/feedback/types.d.ts +40 -0
- package/dist/typescript/commonjs/features/feedback/types.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +2 -0
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +41 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/constants.d.ts +6 -0
- package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/api.d.ts +1 -0
- package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/assets/icons/MessageBubbleIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/assets/icons/XCloseIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/components/{EmptyComment/EmptyComment.d.ts → EmptyComment.d.ts} +1 -1
- package/dist/typescript/module/features/feedback/components/EmptyComment.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts +6 -2
- package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -2
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +3 -2
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/index.d.ts +1 -1
- package/dist/typescript/module/features/feedback/components/index.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/constants.d.ts +0 -14
- package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/helpers.d.ts +9 -2
- package/dist/typescript/module/features/feedback/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/index.d.ts +2 -2
- package/dist/typescript/module/features/feedback/index.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/api.d.ts +9 -0
- package/dist/typescript/module/features/feedback/model/api.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/model/comments.d.ts +16 -0
- package/dist/typescript/module/features/feedback/model/comments.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/model/model.d.ts +27 -0
- package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/model/sockets.d.ts +10 -0
- package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -0
- package/dist/typescript/module/features/feedback/types.d.ts +40 -0
- package/dist/typescript/module/features/feedback/types.d.ts.map +1 -0
- package/dist/typescript/module/lib/helpers/helpers.d.ts +2 -0
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/constants.d.ts +41 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/constants.ts +30 -22
- package/src/features/chatbot/model/api.ts +47 -17
- package/src/features/feedback/components/{EmptyComment/EmptyComment.tsx → EmptyComment.tsx} +3 -3
- package/src/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.tsx → ListCardCommentsCount.tsx} +2 -2
- package/src/features/feedback/components/TeacherFeedback.tsx +21 -11
- package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +2 -2
- package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +10 -4
- package/src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx +4 -3
- package/src/features/feedback/components/index.ts +1 -1
- package/src/features/feedback/constants.ts +2 -18
- package/src/features/feedback/helpers.ts +27 -60
- package/src/features/feedback/index.ts +2 -2
- package/src/features/feedback/model/api.ts +13 -0
- package/src/features/feedback/model/comments.ts +82 -0
- package/src/features/feedback/model/model.ts +102 -0
- package/src/features/feedback/model/sockets.ts +22 -0
- package/src/features/feedback/types.ts +42 -0
- package/src/lib/helpers/helpers.ts +26 -0
- package/src/shared/translation/constants.ts +45 -3
- package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js.map +0 -1
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js.map +0 -1
- package/dist/commonjs/features/feedback/components/icons/MessageBubbleIcon.js.map +0 -1
- package/dist/commonjs/features/feedback/components/icons/XCloseIcon.js.map +0 -1
- package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +0 -215
- package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +0 -1
- package/dist/commonjs/features/feedback/types/teacherFeedback.types.js +0 -18
- package/dist/commonjs/features/feedback/types/teacherFeedback.types.js.map +0 -1
- package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js.map +0 -1
- package/dist/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.js.map +0 -1
- package/dist/module/features/feedback/components/icons/MessageBubbleIcon.js.map +0 -1
- package/dist/module/features/feedback/components/icons/XCloseIcon.js.map +0 -1
- package/dist/module/features/feedback/model/teacherFeedback.model.js +0 -210
- package/dist/module/features/feedback/model/teacherFeedback.model.js.map +0 -1
- package/dist/module/features/feedback/types/teacherFeedback.types.js +0 -14
- package/dist/module/features/feedback/types/teacherFeedback.types.js.map +0 -1
- package/dist/typescript/commonjs/features/feedback/components/EmptyComment/EmptyComment.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/feedback/components/icons/MessageBubbleIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/feedback/components/icons/XCloseIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts +0 -45
- package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts +0 -33
- package/dist/typescript/commonjs/features/feedback/types/teacherFeedback.types.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/components/EmptyComment/EmptyComment.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/components/ListCardCommentsCount/ListCardCommentsCount.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/components/icons/MessageBubbleIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/components/icons/XCloseIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts +0 -45
- package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +0 -1
- package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts +0 -33
- package/dist/typescript/module/features/feedback/types/teacherFeedback.types.d.ts.map +0 -1
- package/src/features/feedback/model/teacherFeedback.model.ts +0 -255
- package/src/features/feedback/types/teacherFeedback.types.ts +0 -32
- /package/dist/commonjs/features/feedback/{components → assets}/icons/MessageBubbleIcon.js +0 -0
- /package/dist/commonjs/features/feedback/{components → assets}/icons/XCloseIcon.js +0 -0
- /package/dist/module/features/feedback/{components → assets}/icons/MessageBubbleIcon.js +0 -0
- /package/dist/module/features/feedback/{components → assets}/icons/XCloseIcon.js +0 -0
- /package/dist/typescript/commonjs/features/feedback/{components → assets}/icons/MessageBubbleIcon.d.ts +0 -0
- /package/dist/typescript/commonjs/features/feedback/{components → assets}/icons/XCloseIcon.d.ts +0 -0
- /package/dist/typescript/commonjs/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.d.ts → ListCardCommentsCount.d.ts} +0 -0
- /package/dist/typescript/module/features/feedback/{components → assets}/icons/MessageBubbleIcon.d.ts +0 -0
- /package/dist/typescript/module/features/feedback/{components → assets}/icons/XCloseIcon.d.ts +0 -0
- /package/dist/typescript/module/features/feedback/components/{ListCardCommentsCount/ListCardCommentsCount.d.ts → ListCardCommentsCount.d.ts} +0 -0
- /package/src/features/feedback/{components → assets}/icons/MessageBubbleIcon.tsx +0 -0
- /package/src/features/feedback/{components → assets}/icons/XCloseIcon.tsx +0 -0
package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","StyleSheet","COLORS","
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","COLORS","BUENOS_AIRES_FONT","getRelativeTimeText","Locale","jsx","_jsx","jsxs","_jsxs","TeacherComment","content","teacherName","createdAt","locale","isLastComment","style","marginBottom","children","styles","authorInfo","numberOfLines","spacer","dateAdded","EN","container","text","create","padding","gap","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","shadowColor","NEUTRAL_10","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","backgroundColor","NEUTRAL_3","fontSize","fontFamily","color","lineHeight","flexDirection","alignItems","maxWidth","fontWeight","NEUTRAL_9","NEUTRAL_7","NEUTRAL_6"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import React, { useEffect, useRef } from 'react';
|
|
4
4
|
import { Platform, ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
5
|
import { TeacherComment } from "./TeacherComment.js";
|
|
6
|
-
import { EmptyComment } from "../EmptyComment
|
|
6
|
+
import { EmptyComment } from "../EmptyComment.js";
|
|
7
7
|
import { EMPTY_COMMENT_ID, FeedbackMode } from "../../constants.js";
|
|
8
8
|
import { COLORS } from '@magmamath/react-native-ui';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","TeacherComment","EmptyComment","EMPTY_COMMENT_ID","FeedbackMode","COLORS","jsx","_jsx","TOOLBAR_HEIGHT","BOTTOM_OFFSET","OS","SIMPLE_MODE_OFFSET","TeacherFeedbackComments","comments","locale","mode","ref","dimensions","MAX_HEIGHT","height","isSimpleMode","SIMPLE","current","scrollToEnd","animated","style","styles","container","maxHeight","children","contentContainerStyle","commentsList","onContentSizeChange","length","_id","map","comment","index","teacherName","content","createdAt","isLastComment","create","width","backgroundColor","NEUTRAL_1","paddingTop","paddingLeft","paddingRight","paddingBottom","borderRadius","gap"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Platform","ScrollView","StyleSheet","useWindowDimensions","View","TeacherComment","EmptyComment","EMPTY_COMMENT_ID","FeedbackMode","COLORS","jsx","_jsx","TOOLBAR_HEIGHT","BOTTOM_OFFSET","OS","SIMPLE_MODE_OFFSET","TeacherFeedbackComments","comments","locale","mode","ref","dimensions","MAX_HEIGHT","height","isSimpleMode","SIMPLE","current","scrollToEnd","animated","style","styles","container","maxHeight","children","contentContainerStyle","commentsList","onContentSizeChange","length","_id","map","comment","index","teacherName","content","createdAt","isLastComment","create","width","backgroundColor","NEUTRAL_1","paddingTop","paddingLeft","paddingRight","paddingBottom","borderRadius","gap"],"sourceRoot":"../../../../../../src","sources":["features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AAC1F,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,oBAAiB;AAChE,SAASC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAInD,MAAMC,cAAc,GAAG,GAAG;AAC1B,MAAMC,aAAa,GAAGb,QAAQ,CAACc,EAAE,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG;AACvD,MAAMC,kBAAkB,GAAG,EAAE;AAQ7B,OAAO,MAAMC,uBAAuB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,MAAM;EACNC;AAC4B,CAAC,KAAK;EAClC,MAAMC,GAAG,GAAGrB,MAAM,CAAoB,IAAI,CAAC;EAC3C,MAAMsB,UAAU,GAAGlB,mBAAmB,CAAC,CAAC;EACxC,MAAMmB,UAAU,GAAGD,UAAU,CAACE,MAAM,GAAGX,cAAc,GAAGC,aAAa;EACrE,MAAMW,YAAY,GAAGL,IAAI,KAAKX,YAAY,CAACiB,MAAM;EAEjD3B,SAAS,CAAC,MAAM;IACdsB,GAAG,CAACM,OAAO,EAAEC,WAAW,CAAC;MAAEC,QAAQ,EAAE;IAAM,CAAC,CAAC;EAC/C,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACX,QAAQ,EAAE,OAAO,IAAI;EAE1B,oBACEN,IAAA,CAACP,IAAI;IACHyB,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,SAAS,EAAEV,UAAU,IAAIE,YAAY,GAAGT,kBAAkB,GAAG,CAAC;IAAE,CAAC,CACnE;IAAAkB,QAAA,eAEFtB,IAAA,CAACV,UAAU;MACTmB,GAAG,EAAEA,GAAI;MACTc,qBAAqB,EAAEJ,MAAM,CAACK,YAAa;MAC3CC,mBAAmB,EAAEA,CAAA,KAAMhB,GAAG,CAACM,OAAO,EAAEC,WAAW,CAAC,CAAE;MAAAM,QAAA,EAErDhB,QAAQ,CAACoB,MAAM,KAAK,CAAC,IAAIpB,QAAQ,CAAC,CAAC,CAAC,CAACqB,GAAG,KAAK/B,gBAAgB,gBAC5DI,IAAA,CAACL,YAAY;QAACY,MAAM,EAAEA;MAAO,CAAE,CAAC,GAEhCD,QAAQ,CAACsB,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,kBAC1B9B,IAAA,CAACN,cAAc;QAEbqC,WAAW,EAAEF,OAAO,CAACE,WAAY;QACjCC,OAAO,EAAEH,OAAO,CAACG,OAAQ;QACzBC,SAAS,EAAEJ,OAAO,CAACI,SAAU;QAC7B1B,MAAM,EAAEA,MAAO;QACf2B,aAAa,EAAEJ,KAAK,KAAKxB,QAAQ,CAACoB,MAAM,GAAG;MAAE,GALxCG,OAAO,CAACF,GAMd,CACF;IACF,CACS;EAAC,CACT,CAAC;AAEX,CAAC;AAED,MAAMR,MAAM,GAAG5B,UAAU,CAAC4C,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,KAAK,EAAE,GAAG;IACVC,eAAe,EAAEvC,MAAM,CAACwC,SAAS;IACjCC,UAAU,EAAE,CAAC;IACbC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfC,aAAa,EAAE,CAAC;IAChBC,YAAY,EAAE;EAChB,CAAC;EACDnB,YAAY,EAAE;IACZoB,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,5 +4,5 @@ export { TeacherFeedbackComments } from "./TeacherFeedbackComments/TeacherFeedba
|
|
|
4
4
|
export { TeacherFeedbackButton } from "./TeacherFeedbackButton/TeacherFeedbackButton.js";
|
|
5
5
|
export { TeacherFeedback } from "./TeacherFeedback.js";
|
|
6
6
|
export { UnreadMessagesBadge } from "./UnreadMessagesBadge.js";
|
|
7
|
-
export { ListCardCommentsCount } from "./ListCardCommentsCount
|
|
7
|
+
export { ListCardCommentsCount } from "./ListCardCommentsCount.js";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TeacherFeedbackComments","TeacherFeedbackButton","TeacherFeedback","UnreadMessagesBadge","ListCardCommentsCount"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,sDAAmD;AAC3F,SAASC,qBAAqB,QAAQ,kDAA+C;AACrF,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,qBAAqB,QAAQ,
|
|
1
|
+
{"version":3,"names":["TeacherFeedbackComments","TeacherFeedbackButton","TeacherFeedback","UnreadMessagesBadge","ListCardCommentsCount"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,sDAAmD;AAC3F,SAASC,qBAAqB,QAAQ,kDAA+C;AACrF,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,qBAAqB,QAAQ,4BAAyB","ignoreList":[]}
|
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
|
-
import { Locale } from "./types/teacherFeedback.types.js";
|
|
5
4
|
export const BUENOS_AIRES_FONT = Platform.OS === 'web' ? 'Buenos Aires, sans-serif' : 'BuenosAires-Regular';
|
|
6
5
|
export const NO_COMMENTS_ENG = 'No comments yet';
|
|
7
6
|
export const NO_COMMENTS_SWE = 'Inga kommentarer än';
|
|
8
7
|
export const EMPTY_COMMENT_ID = 'empty-comment';
|
|
9
|
-
export const getEmptyComment = (problemId, locale) => {
|
|
10
|
-
return {
|
|
11
|
-
__v: 0,
|
|
12
|
-
_id: EMPTY_COMMENT_ID,
|
|
13
|
-
content: locale === Locale.SV ? NO_COMMENTS_SWE : NO_COMMENTS_ENG,
|
|
14
|
-
createdAt: new Date(),
|
|
15
|
-
exerciseId: '',
|
|
16
|
-
isRead: true,
|
|
17
|
-
problemId,
|
|
18
|
-
studentId: '',
|
|
19
|
-
teacherId: '',
|
|
20
|
-
teacherName: '',
|
|
21
|
-
updatedAt: new Date()
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
8
|
export const TEACHER_FEEDBACK_BUTTON_ID = 'teacherFeedbackButton';
|
|
25
9
|
export let FeedbackButtonColors = /*#__PURE__*/function (FeedbackButtonColors) {
|
|
26
10
|
FeedbackButtonColors["BLUE"] = "BLUE";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","
|
|
1
|
+
{"version":3,"names":["Platform","BUENOS_AIRES_FONT","OS","NO_COMMENTS_ENG","NO_COMMENTS_SWE","EMPTY_COMMENT_ID","TEACHER_FEEDBACK_BUTTON_ID","FeedbackButtonColors","FeedbackButtonSize","FeedbackMode"],"sourceRoot":"../../../../src","sources":["features/feedback/constants.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,iBAAiB,GAC5BD,QAAQ,CAACE,EAAE,KAAK,KAAK,GAAG,0BAA0B,GAAG,qBAAqB;AAE5E,OAAO,MAAMC,eAAe,GAAG,iBAAiB;AAChD,OAAO,MAAMC,eAAe,GAAG,qBAAqB;AACpD,OAAO,MAAMC,gBAAgB,GAAG,eAAe;AAE/C,OAAO,MAAMC,0BAA0B,GAAG,uBAAuB;AAEjE,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAK9B,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -1,65 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
hoursAgo: 'timmar sedan',
|
|
24
|
-
dayAgo: 'dag sedan',
|
|
25
|
-
daysAgo: 'dagar sedan',
|
|
26
|
-
monthAgo: 'månad sedan',
|
|
27
|
-
monthsAgo: 'månader sedan',
|
|
28
|
-
yearAgo: 'år sedan',
|
|
29
|
-
yearsAgo: 'år sedan'
|
|
30
|
-
},
|
|
31
|
-
[Locale.GB]: {
|
|
32
|
-
justNow: 'just now',
|
|
33
|
-
minuteAgo: 'minute ago',
|
|
34
|
-
minutesAgo: 'minutes ago',
|
|
35
|
-
hourAgo: 'hour ago',
|
|
36
|
-
hoursAgo: 'hours ago',
|
|
37
|
-
dayAgo: 'day ago',
|
|
38
|
-
daysAgo: 'days ago',
|
|
39
|
-
monthAgo: 'month ago',
|
|
40
|
-
monthsAgo: 'months ago',
|
|
41
|
-
yearAgo: 'year ago',
|
|
42
|
-
yearsAgo: 'years ago'
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
export const getRelativeTime = (date, lang) => {
|
|
46
|
-
const t = RELATIVE_TIME_LABELS[lang] || RELATIVE_TIME_LABELS[Locale.US];
|
|
47
|
-
const timeBufferMs = 2000; // adds 2 seconds time buffer because when used with sockets, it displayed -1 seconds ago, instead of 1 second ago.
|
|
48
|
-
|
|
49
|
-
const now = new Date().getTime();
|
|
50
|
-
const targetDate = new Date(date).getTime() - timeBufferMs;
|
|
51
|
-
const diffTime = now - targetDate;
|
|
52
|
-
const seconds = Math.floor(diffTime / 1000);
|
|
53
|
-
const minutes = Math.floor(seconds / 60);
|
|
54
|
-
const hours = Math.floor(minutes / 60);
|
|
55
|
-
const days = Math.floor(hours / 24);
|
|
56
|
-
const months = Math.floor(days / 30);
|
|
57
|
-
const years = Math.floor(days / 365);
|
|
58
|
-
if (seconds < 60) return t.justNow;
|
|
59
|
-
if (minutes < 60) return `${minutes} ${minutes === 1 ? t.minuteAgo : t.minutesAgo}`;
|
|
60
|
-
if (hours < 24) return `${hours} ${hours === 1 ? t.hourAgo : t.hoursAgo}`;
|
|
61
|
-
if (days < 30) return `${days} ${days === 1 ? t.dayAgo : t.daysAgo}`;
|
|
62
|
-
if (months < 12) return `${months} ${months === 1 ? t.monthAgo : t.monthsAgo}`;
|
|
63
|
-
return `${years} ${years === 1 ? t.yearAgo : t.yearsAgo}`;
|
|
64
|
-
};
|
|
3
|
+
export function generateCommentsMap(assignmentId, data) {
|
|
4
|
+
const problemsMap = Object.entries(data).reduce((acc, [problemId, feedback]) => {
|
|
5
|
+
const unreadMessages = feedback.comments.filter(({
|
|
6
|
+
isRead
|
|
7
|
+
}) => !isRead);
|
|
8
|
+
acc[problemId] = {
|
|
9
|
+
comments: feedback.comments,
|
|
10
|
+
unreadMessagesCount: unreadMessages.length
|
|
11
|
+
};
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
return new Map().set(assignmentId, problemsMap);
|
|
15
|
+
}
|
|
16
|
+
export function findCommentsByCredits({
|
|
17
|
+
data,
|
|
18
|
+
assignmentId,
|
|
19
|
+
problemId
|
|
20
|
+
}) {
|
|
21
|
+
return data?.get(assignmentId)?.[problemId]?.comments ?? [];
|
|
22
|
+
}
|
|
65
23
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["generateCommentsMap","assignmentId","data","problemsMap","Object","entries","reduce","acc","problemId","feedback","unreadMessages","comments","filter","isRead","unreadMessagesCount","length","Map","set","findCommentsByCredits","get"],"sourceRoot":"../../../../src","sources":["features/feedback/helpers.ts"],"mappings":";;AAEA,OAAO,SAASA,mBAAmBA,CAACC,YAAoB,EAAEC,IAAyB,EAAe;EAChG,MAAMC,WAAW,GAAGC,MAAM,CAACC,OAAO,CAACH,IAAI,CAAC,CAACI,MAAM,CAC7C,CAACC,GAAG,EAAE,CAACC,SAAS,EAAEC,QAAQ,CAAC,KAAK;IAC9B,MAAMC,cAAc,GAAGD,QAAQ,CAACE,QAAQ,CAACC,MAAM,CAAC,CAAC;MAAEC;IAAO,CAAC,KAAK,CAACA,MAAM,CAAC;IAExEN,GAAG,CAACC,SAAS,CAAC,GAAG;MACfG,QAAQ,EAAEF,QAAQ,CAACE,QAAQ;MAC3BG,mBAAmB,EAAEJ,cAAc,CAACK;IACtC,CAAC;IAED,OAAOR,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EAED,OAAO,IAAIS,GAAG,CAAC,CAAC,CAACC,GAAG,CAAChB,YAAY,EAAEE,WAAW,CAAC;AACjD;AAQA,OAAO,SAASe,qBAAqBA,CAAC;EACpChB,IAAI;EACJD,YAAY;EACZO;AAC0B,CAAC,EAAE;EAC7B,OAAON,IAAI,EAAEiB,GAAG,CAAClB,YAAY,CAAC,GAAGO,SAAS,CAAC,EAAEG,QAAQ,IAAI,EAAE;AAC7D","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export * from "./model/
|
|
4
|
-
export * from "./types
|
|
3
|
+
export * from "./model/model.js";
|
|
4
|
+
export * from "./types.js";
|
|
5
5
|
export * from "./constants.js";
|
|
6
6
|
export * from "./components/index.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["features/feedback/index.ts"],"mappings":";;AAAA,cAAc,
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["features/feedback/index.ts"],"mappings":";;AAAA,cAAc,kBAAe;AAC7B,cAAc,YAAS;AACvB,cAAc,gBAAa;AAC3B,cAAc,uBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createEffect } from 'effector';
|
|
4
|
+
export class TeacherFeedbackAPI {
|
|
5
|
+
constructor(api) {
|
|
6
|
+
this.getCommentsFx = createEffect(api.getComments);
|
|
7
|
+
this.updateCommentStatusSeenFx = createEffect(api.updateCommentStatusSeen);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEffect","TeacherFeedbackAPI","constructor","api","getCommentsFx","getComments","updateCommentStatusSeenFx","updateCommentStatusSeen"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/api.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAI/C,OAAO,MAAMC,kBAAkB,CAAC;EAI9BC,WAAWA,CAACC,GAAqC,EAAE;IACjD,IAAI,CAACC,aAAa,GAAGJ,YAAY,CAACG,GAAG,CAACE,WAAW,CAAC;IAClD,IAAI,CAACC,yBAAyB,GAAGN,YAAY,CAACG,GAAG,CAACI,uBAAuB,CAAC;EAC5E;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createEvent, restore, sample } from 'effector';
|
|
4
|
+
export class TeacherComments {
|
|
5
|
+
setAllCommentsRead = createEvent();
|
|
6
|
+
addComment = createEvent();
|
|
7
|
+
deleteComment = createEvent();
|
|
8
|
+
setData = createEvent();
|
|
9
|
+
$data = restore(this.setData, null).on(this.setAllCommentsRead, (state, {
|
|
10
|
+
assignmentId,
|
|
11
|
+
problemId
|
|
12
|
+
}) => this.update({
|
|
13
|
+
state,
|
|
14
|
+
assignmentId,
|
|
15
|
+
problemId,
|
|
16
|
+
fn: data => ({
|
|
17
|
+
comments: data.comments.map(comment => ({
|
|
18
|
+
...comment,
|
|
19
|
+
isRead: true
|
|
20
|
+
})),
|
|
21
|
+
unreadMessagesCount: 0
|
|
22
|
+
})
|
|
23
|
+
})).on(this.addComment, (state, {
|
|
24
|
+
assignmentId,
|
|
25
|
+
problemId,
|
|
26
|
+
comment,
|
|
27
|
+
isRead
|
|
28
|
+
}) => this.update({
|
|
29
|
+
state,
|
|
30
|
+
assignmentId,
|
|
31
|
+
problemId,
|
|
32
|
+
fn: data => ({
|
|
33
|
+
comments: [...data.comments, comment],
|
|
34
|
+
unreadMessagesCount: isRead ? data.unreadMessagesCount : data.unreadMessagesCount + 1
|
|
35
|
+
})
|
|
36
|
+
})).on(this.deleteComment, (state, {
|
|
37
|
+
assignmentId,
|
|
38
|
+
problemId,
|
|
39
|
+
commentId
|
|
40
|
+
}) => this.update({
|
|
41
|
+
state,
|
|
42
|
+
assignmentId,
|
|
43
|
+
problemId,
|
|
44
|
+
fn: data => {
|
|
45
|
+
const commentToDelete = data.comments.find(({
|
|
46
|
+
_id
|
|
47
|
+
}) => _id === commentId);
|
|
48
|
+
if (!commentToDelete) return data;
|
|
49
|
+
return {
|
|
50
|
+
comments: data.comments.filter(({
|
|
51
|
+
_id
|
|
52
|
+
}) => _id !== commentId),
|
|
53
|
+
unreadMessagesCount: commentToDelete.isRead ? data.unreadMessagesCount : data.unreadMessagesCount - 1
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
constructor() {
|
|
58
|
+
sample({
|
|
59
|
+
clock: this.deleteComment
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
update({
|
|
63
|
+
state,
|
|
64
|
+
assignmentId,
|
|
65
|
+
problemId,
|
|
66
|
+
fn
|
|
67
|
+
}) {
|
|
68
|
+
if (!state) return state;
|
|
69
|
+
const updatedState = new Map(state);
|
|
70
|
+
const assignmentMap = updatedState.get(assignmentId) || {};
|
|
71
|
+
const currentData = assignmentMap[problemId];
|
|
72
|
+
const updatedData = fn(currentData);
|
|
73
|
+
if (updatedData === undefined) {
|
|
74
|
+
delete assignmentMap[problemId];
|
|
75
|
+
if (Object.keys(assignmentMap).length === 0) updatedState.delete(assignmentId);
|
|
76
|
+
return updatedState;
|
|
77
|
+
}
|
|
78
|
+
assignmentMap[problemId] = updatedData;
|
|
79
|
+
updatedState.set(assignmentId, assignmentMap);
|
|
80
|
+
return updatedState;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEvent","restore","sample","TeacherComments","setAllCommentsRead","addComment","deleteComment","setData","$data","on","state","assignmentId","problemId","update","fn","data","comments","map","comment","isRead","unreadMessagesCount","commentId","commentToDelete","find","_id","filter","constructor","clock","updatedState","Map","assignmentMap","get","currentData","updatedData","undefined","Object","keys","length","delete","set"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/comments.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createEvent, restore, sample } from 'effector';
|
|
4
|
+
import { TeacherFeedbackAPI } from "./api.js";
|
|
5
|
+
import { TeacherFeedbackSockets } from "./sockets.js";
|
|
6
|
+
import { TeacherComments } from "./comments.js";
|
|
7
|
+
import { findCommentsByCredits, generateCommentsMap } from "../helpers.js";
|
|
8
|
+
export class TeacherFeedbackModel {
|
|
9
|
+
setIsOpen = createEvent();
|
|
10
|
+
$isOpen = restore(this.setIsOpen, false);
|
|
11
|
+
constructor({
|
|
12
|
+
api,
|
|
13
|
+
socket,
|
|
14
|
+
credits
|
|
15
|
+
}) {
|
|
16
|
+
this.api = new TeacherFeedbackAPI(api);
|
|
17
|
+
this.sockets = new TeacherFeedbackSockets(socket);
|
|
18
|
+
this.comments = new TeacherComments();
|
|
19
|
+
sample({
|
|
20
|
+
clock: credits.$problemId,
|
|
21
|
+
fn: () => false,
|
|
22
|
+
target: this.setIsOpen
|
|
23
|
+
});
|
|
24
|
+
sample({
|
|
25
|
+
clock: this.setIsOpen,
|
|
26
|
+
source: {
|
|
27
|
+
data: this.comments.$data,
|
|
28
|
+
assignmentId: credits.$assignmentId,
|
|
29
|
+
problemId: credits.$problemId
|
|
30
|
+
},
|
|
31
|
+
filter: (source, isOpen) => {
|
|
32
|
+
const comments = findCommentsByCredits(source);
|
|
33
|
+
const hasUnreadComments = comments.some(({
|
|
34
|
+
isRead
|
|
35
|
+
}) => !isRead);
|
|
36
|
+
return isOpen && hasUnreadComments;
|
|
37
|
+
},
|
|
38
|
+
fn: source => {
|
|
39
|
+
const comments = findCommentsByCredits(source);
|
|
40
|
+
return {
|
|
41
|
+
ids: comments.map(({
|
|
42
|
+
_id
|
|
43
|
+
}) => _id)
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
target: this.api.updateCommentStatusSeenFx
|
|
47
|
+
});
|
|
48
|
+
sample({
|
|
49
|
+
clock: this.api.updateCommentStatusSeenFx.pending,
|
|
50
|
+
source: {
|
|
51
|
+
assignmentId: credits.$assignmentId,
|
|
52
|
+
problemId: credits.$problemId
|
|
53
|
+
},
|
|
54
|
+
target: this.comments.setAllCommentsRead
|
|
55
|
+
});
|
|
56
|
+
sample({
|
|
57
|
+
clock: this.api.getCommentsFx.done,
|
|
58
|
+
fn: ({
|
|
59
|
+
params,
|
|
60
|
+
result
|
|
61
|
+
}) => generateCommentsMap(params.id, result),
|
|
62
|
+
target: this.comments.setData
|
|
63
|
+
});
|
|
64
|
+
sample({
|
|
65
|
+
clock: this.sockets.commentDeleted,
|
|
66
|
+
source: {
|
|
67
|
+
assignmentId: credits.$assignmentId
|
|
68
|
+
},
|
|
69
|
+
fn: ({
|
|
70
|
+
assignmentId
|
|
71
|
+
}, comment) => ({
|
|
72
|
+
assignmentId,
|
|
73
|
+
problemId: comment.problemId,
|
|
74
|
+
commentId: comment._id
|
|
75
|
+
}),
|
|
76
|
+
target: this.comments.deleteComment
|
|
77
|
+
});
|
|
78
|
+
sample({
|
|
79
|
+
clock: this.sockets.commentAdded,
|
|
80
|
+
source: {
|
|
81
|
+
assignmentId: credits.$assignmentId,
|
|
82
|
+
problemId: credits.$problemId,
|
|
83
|
+
isOpen: this.$isOpen
|
|
84
|
+
},
|
|
85
|
+
fn: ({
|
|
86
|
+
assignmentId,
|
|
87
|
+
problemId,
|
|
88
|
+
isOpen
|
|
89
|
+
}, comment) => ({
|
|
90
|
+
assignmentId,
|
|
91
|
+
problemId,
|
|
92
|
+
comment,
|
|
93
|
+
isRead: isOpen && comment.problemId === problemId
|
|
94
|
+
}),
|
|
95
|
+
target: this.comments.addComment
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEvent","restore","sample","TeacherFeedbackAPI","TeacherFeedbackSockets","TeacherComments","findCommentsByCredits","generateCommentsMap","TeacherFeedbackModel","setIsOpen","$isOpen","constructor","api","socket","credits","sockets","comments","clock","$problemId","fn","target","source","data","$data","assignmentId","$assignmentId","problemId","filter","isOpen","hasUnreadComments","some","isRead","ids","map","_id","updateCommentStatusSeenFx","pending","setAllCommentsRead","getCommentsFx","done","params","result","id","setData","commentDeleted","comment","commentId","deleteComment","commentAdded","addComment"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createEvent } from 'effector';
|
|
4
|
+
import { FeedbackSocketEvents } from "../types.js";
|
|
5
|
+
export class TeacherFeedbackSockets {
|
|
6
|
+
commentAdded = createEvent();
|
|
7
|
+
commentDeleted = createEvent();
|
|
8
|
+
constructor(socket) {
|
|
9
|
+
this.socket = socket;
|
|
10
|
+
}
|
|
11
|
+
connect() {
|
|
12
|
+
this.socket.on(FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded);
|
|
13
|
+
this.socket.on(FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted);
|
|
14
|
+
}
|
|
15
|
+
off() {
|
|
16
|
+
this.socket.off(FeedbackSocketEvents.COMMENT_ADDED, this.commentAdded);
|
|
17
|
+
this.socket.off(FeedbackSocketEvents.COMMENT_DELETED, this.commentDeleted);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sockets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEvent","FeedbackSocketEvents","TeacherFeedbackSockets","commentAdded","commentDeleted","constructor","socket","connect","on","COMMENT_ADDED","COMMENT_DELETED","off"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/sockets.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,UAAU;AACtC,SAAyBC,oBAAoB,QAAQ,aAAU;AAE/D,OAAO,MAAMC,sBAAsB,CAAC;EAElBC,YAAY,GAAGH,WAAW,CAAiB,CAAC;EAC5CI,cAAc,GAAGJ,WAAW,CAAiB,CAAC;EAE9DK,WAAWA,CAACC,MAAW,EAAE;IACvB,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACD,MAAM,CAACE,EAAE,CAACP,oBAAoB,CAACQ,aAAa,EAAE,IAAI,CAACN,YAAY,CAAC;IACrE,IAAI,CAACG,MAAM,CAACE,EAAE,CAACP,oBAAoB,CAACS,eAAe,EAAE,IAAI,CAACN,cAAc,CAAC;EAC3E;EAEAO,GAAGA,CAAA,EAAG;IACJ,IAAI,CAACL,MAAM,CAACK,GAAG,CAACV,oBAAoB,CAACQ,aAAa,EAAE,IAAI,CAACN,YAAY,CAAC;IACtE,IAAI,CAACG,MAAM,CAACK,GAAG,CAACV,oBAAoB,CAACS,eAAe,EAAE,IAAI,CAACN,cAAc,CAAC;EAC5E;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export let FeedbackSocketEvents = /*#__PURE__*/function (FeedbackSocketEvents) {
|
|
4
|
+
FeedbackSocketEvents["COMMENT_ADDED"] = "exerciseCommentCreated";
|
|
5
|
+
FeedbackSocketEvents["COMMENT_DELETED"] = "exerciseCommentDeleted";
|
|
6
|
+
return FeedbackSocketEvents;
|
|
7
|
+
}({});
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FeedbackSocketEvents"],"sourceRoot":"../../../../src","sources":["features/feedback/types.ts"],"mappings":";;AAsCA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { RELATIVE_TIME_LABELS } from "../../shared/translation/constants.js";
|
|
4
|
+
import { Locale } from '@magmamath/students-features';
|
|
3
5
|
export const generateRandomId = () => Date.now().toString(36) + Math.random().toString(36).substring(2);
|
|
6
|
+
export const getRelativeTimeText = (date, lang) => {
|
|
7
|
+
const t = RELATIVE_TIME_LABELS[lang] || RELATIVE_TIME_LABELS[Locale.EN];
|
|
8
|
+
const timeBufferMs = 2000; // adds 2 seconds time buffer because when used with sockets, it displayed -1 seconds ago, instead of 1 second ago.
|
|
9
|
+
|
|
10
|
+
const now = new Date().getTime();
|
|
11
|
+
const targetDate = new Date(date).getTime() - timeBufferMs;
|
|
12
|
+
const diffTime = now - targetDate;
|
|
13
|
+
const seconds = Math.floor(diffTime / 1000);
|
|
14
|
+
const minutes = Math.floor(seconds / 60);
|
|
15
|
+
const hours = Math.floor(minutes / 60);
|
|
16
|
+
const days = Math.floor(hours / 24);
|
|
17
|
+
const months = Math.floor(days / 30);
|
|
18
|
+
const years = Math.floor(days / 365);
|
|
19
|
+
if (seconds < 60) return t.justNow;
|
|
20
|
+
if (minutes < 60) return `${minutes} ${minutes === 1 ? t.minuteAgo : t.minutesAgo}`;
|
|
21
|
+
if (hours < 24) return `${hours} ${hours === 1 ? t.hourAgo : t.hoursAgo}`;
|
|
22
|
+
if (days < 30) return `${days} ${days === 1 ? t.dayAgo : t.daysAgo}`;
|
|
23
|
+
if (months < 12) return `${months} ${months === 1 ? t.monthAgo : t.monthsAgo}`;
|
|
24
|
+
return `${years} ${years === 1 ? t.yearAgo : t.yearsAgo}`;
|
|
25
|
+
};
|
|
4
26
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateRandomId","Date","now","toString","Math","random","substring"],"sourceRoot":"../../../../src","sources":["lib/helpers/helpers.ts"],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"names":["RELATIVE_TIME_LABELS","Locale","generateRandomId","Date","now","toString","Math","random","substring","getRelativeTimeText","date","lang","t","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,SAASA,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,MAAM,QAAQ,8BAA8B;AAErD,OAAO,MAAMC,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;AAEnE,OAAO,MAAMC,mBAAmB,GAAGA,CAACC,IAAU,EAAEC,IAAY,KAAK;EAC/D,MAAMC,CAAC,GAAGZ,oBAAoB,CAACW,IAAI,CAAC,IAAIX,oBAAoB,CAACC,MAAM,CAACY,EAAE,CAAC;EACvE,MAAMC,YAAY,GAAG,IAAI,EAAC;;EAE1B,MAAMV,GAAG,GAAG,IAAID,IAAI,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAChC,MAAMC,UAAU,GAAG,IAAIb,IAAI,CAACO,IAAI,CAAC,CAACK,OAAO,CAAC,CAAC,GAAGD,YAAY;EAC1D,MAAMG,QAAQ,GAAGb,GAAG,GAAGY,UAAU;EAEjC,MAAME,OAAO,GAAGZ,IAAI,CAACa,KAAK,CAACF,QAAQ,GAAG,IAAI,CAAC;EAC3C,MAAMG,OAAO,GAAGd,IAAI,CAACa,KAAK,CAACD,OAAO,GAAG,EAAE,CAAC;EACxC,MAAMG,KAAK,GAAGf,IAAI,CAACa,KAAK,CAACC,OAAO,GAAG,EAAE,CAAC;EACtC,MAAME,IAAI,GAAGhB,IAAI,CAACa,KAAK,CAACE,KAAK,GAAG,EAAE,CAAC;EACnC,MAAME,MAAM,GAAGjB,IAAI,CAACa,KAAK,CAACG,IAAI,GAAG,EAAE,CAAC;EACpC,MAAME,KAAK,GAAGlB,IAAI,CAACa,KAAK,CAACG,IAAI,GAAG,GAAG,CAAC;EAEpC,IAAIJ,OAAO,GAAG,EAAE,EAAE,OAAON,CAAC,CAACa,OAAO;EAClC,IAAIL,OAAO,GAAG,EAAE,EAAE,OAAO,GAAGA,OAAO,IAAIA,OAAO,KAAK,CAAC,GAAGR,CAAC,CAACc,SAAS,GAAGd,CAAC,CAACe,UAAU,EAAE;EACnF,IAAIN,KAAK,GAAG,EAAE,EAAE,OAAO,GAAGA,KAAK,IAAIA,KAAK,KAAK,CAAC,GAAGT,CAAC,CAACgB,OAAO,GAAGhB,CAAC,CAACiB,QAAQ,EAAE;EACzE,IAAIP,IAAI,GAAG,EAAE,EAAE,OAAO,GAAGA,IAAI,IAAIA,IAAI,KAAK,CAAC,GAAGV,CAAC,CAACkB,MAAM,GAAGlB,CAAC,CAACmB,OAAO,EAAE;EACpE,IAAIR,MAAM,GAAG,EAAE,EAAE,OAAO,GAAGA,MAAM,IAAIA,MAAM,KAAK,CAAC,GAAGX,CAAC,CAACoB,QAAQ,GAAGpB,CAAC,CAACqB,SAAS,EAAE;EAC9E,OAAO,GAAGT,KAAK,IAAIA,KAAK,KAAK,CAAC,GAAGZ,CAAC,CAACsB,OAAO,GAAGtB,CAAC,CAACuB,QAAQ,EAAE;AAC3D,CAAC","ignoreList":[]}
|
|
@@ -9,4 +9,45 @@ export const LOCALIZATION_CONFIGS = {
|
|
|
9
9
|
[Locale.GB]: GB,
|
|
10
10
|
[Locale.SW]: SW
|
|
11
11
|
};
|
|
12
|
+
export const RELATIVE_TIME_LABELS = {
|
|
13
|
+
[Locale.EN]: {
|
|
14
|
+
justNow: 'just now',
|
|
15
|
+
minuteAgo: 'minute ago',
|
|
16
|
+
minutesAgo: 'minutes ago',
|
|
17
|
+
hourAgo: 'hour ago',
|
|
18
|
+
hoursAgo: 'hours ago',
|
|
19
|
+
dayAgo: 'day ago',
|
|
20
|
+
daysAgo: 'days ago',
|
|
21
|
+
monthAgo: 'month ago',
|
|
22
|
+
monthsAgo: 'months ago',
|
|
23
|
+
yearAgo: 'year ago',
|
|
24
|
+
yearsAgo: 'years ago'
|
|
25
|
+
},
|
|
26
|
+
[Locale.SW]: {
|
|
27
|
+
justNow: 'alldeles nyss',
|
|
28
|
+
minuteAgo: 'minut sedan',
|
|
29
|
+
minutesAgo: 'minuter sedan',
|
|
30
|
+
hourAgo: 'timme sedan',
|
|
31
|
+
hoursAgo: 'timmar sedan',
|
|
32
|
+
dayAgo: 'dag sedan',
|
|
33
|
+
daysAgo: 'dagar sedan',
|
|
34
|
+
monthAgo: 'månad sedan',
|
|
35
|
+
monthsAgo: 'månader sedan',
|
|
36
|
+
yearAgo: 'år sedan',
|
|
37
|
+
yearsAgo: 'år sedan'
|
|
38
|
+
},
|
|
39
|
+
[Locale.GB]: {
|
|
40
|
+
justNow: 'just now',
|
|
41
|
+
minuteAgo: 'minute ago',
|
|
42
|
+
minutesAgo: 'minutes ago',
|
|
43
|
+
hourAgo: 'hour ago',
|
|
44
|
+
hoursAgo: 'hours ago',
|
|
45
|
+
dayAgo: 'day ago',
|
|
46
|
+
daysAgo: 'days ago',
|
|
47
|
+
monthAgo: 'month ago',
|
|
48
|
+
monthsAgo: 'months ago',
|
|
49
|
+
yearAgo: 'year ago',
|
|
50
|
+
yearsAgo: 'years ago'
|
|
51
|
+
}
|
|
52
|
+
};
|
|
12
53
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Locale","EN","GB","SW","LOCALIZATION_CONFIGS"],"sourceRoot":"../../../../src","sources":["shared/translation/constants.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,YAAS;AAChC,OAAOC,EAAE,MAAM,gCAAgC;AAC/C,OAAOC,EAAE,MAAM,gCAAgC;AAC/C,OAAOC,EAAE,MAAM,gCAAgC;AAE/C,OAAO,MAAMC,oBAAoB,GAAG;
|
|
1
|
+
{"version":3,"names":["Locale","EN","GB","SW","LOCALIZATION_CONFIGS","RELATIVE_TIME_LABELS","justNow","minuteAgo","minutesAgo","hourAgo","hoursAgo","dayAgo","daysAgo","monthAgo","monthsAgo","yearAgo","yearsAgo"],"sourceRoot":"../../../../src","sources":["shared/translation/constants.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,YAAS;AAChC,OAAOC,EAAE,MAAM,gCAAgC;AAC/C,OAAOC,EAAE,MAAM,gCAAgC;AAC/C,OAAOC,EAAE,MAAM,gCAAgC;AAE/C,OAAO,MAAMC,oBAAoB,GAAG;EAClC,CAACJ,MAAM,CAACC,EAAE,GAAGA,EAAE;EACf,CAACD,MAAM,CAACE,EAAE,GAAGA,EAAE;EACf,CAACF,MAAM,CAACG,EAAE,GAAGA;AACf,CAAC;AAED,OAAO,MAAME,oBAAoB,GAAG;EAClC,CAACL,MAAM,CAACC,EAAE,GAAG;IACXK,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,CAAChB,MAAM,CAACG,EAAE,GAAG;IACXG,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,CAAChB,MAAM,CAACE,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;AACF,CAAC","ignoreList":[]}
|
|
@@ -18,4 +18,10 @@ export declare const TEXT_TO_SPEECH_CONFIG: {
|
|
|
18
18
|
name: string;
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
|
+
export declare const KATEX_REPLACEMENTS: {
|
|
22
|
+
readonly '\\$': "__KATEX_DOLLAR_SYMBOL__";
|
|
23
|
+
};
|
|
24
|
+
export declare const KATEX_REPLACEMENTS_REVERSE: {
|
|
25
|
+
readonly __KATEX_DOLLAR_SYMBOL__: "$";
|
|
26
|
+
};
|
|
21
27
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/chatbot/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;CAIxB,CAAA;AAED,eAAO,MAAM,aAAa;;;CAGzB,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/chatbot/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;CAIxB,CAAA;AAED,eAAO,MAAM,aAAa;;;CAGzB,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;CAgBhC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;CAErB,CAAA;AAEV,eAAO,MAAM,0BAA0B;;CAE7B,CAAA"}
|
|
@@ -7,6 +7,7 @@ export declare class ChatbotAPI {
|
|
|
7
7
|
getAlternativesFx: Effect<void, GetAlternativesResponse>;
|
|
8
8
|
translateTextFx: Effect<GoogleTranslatePayload, GoogleTranslateResponse>;
|
|
9
9
|
textToSpeechTextFx: Effect<GoogleText2SpeechPayload, GoogleText2SpeechResponse>;
|
|
10
|
+
private replaceKatexSyntax;
|
|
10
11
|
constructor(api: ChatbotModelProps['api']);
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAA;AAG3B,qBAAa,UAAU;IACrB,aAAa,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAA;IACxE,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAA;IACxD,eAAe,EAAE,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAA;IACxE,kBAAkB,EAAE,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAA;IAE/E,OAAO,CAAC,kBAAkB;gBAad,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAsB1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBubbleIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/assets/icons/MessageBubbleIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,iBAAiB,oBAA6C,SAAS,sBAWnF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XCloseIcon.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/assets/icons/XCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAU,MAAM,4BAA4B,CAAA;AAE9D,eAAO,MAAM,UAAU,oBAA6C,SAAS,sBAS5E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyComment.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/EmptyComment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,YAAY,eAAgB,iBAAiB,sBAMzD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,0BAA0B,sBAO1E,CAAA"}
|