@magmamath/students-features 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/commonjs/features/chatbot/constants.js +21 -12
  2. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/model/api.js +21 -1
  4. package/dist/commonjs/features/chatbot/model/api.js.map +1 -1
  5. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +0 -4
  6. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +1 -1
  7. package/dist/module/features/chatbot/constants.js +20 -11
  8. package/dist/module/features/chatbot/constants.js.map +1 -1
  9. package/dist/module/features/chatbot/model/api.js +21 -1
  10. package/dist/module/features/chatbot/model/api.js.map +1 -1
  11. package/dist/module/features/feedback/model/teacherFeedback.model.js +0 -4
  12. package/dist/module/features/feedback/model/teacherFeedback.model.js.map +1 -1
  13. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +6 -0
  14. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  15. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts +1 -0
  16. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -1
  17. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
  18. package/dist/typescript/module/features/chatbot/constants.d.ts +6 -0
  19. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  20. package/dist/typescript/module/features/chatbot/model/api.d.ts +1 -0
  21. package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -1
  22. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/features/chatbot/constants.ts +30 -22
  25. package/src/features/chatbot/model/api.ts +47 -17
  26. package/src/features/feedback/model/teacherFeedback.model.ts +27 -14
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TEXT_TO_SPEECH_CONFIG = exports.DEFAULT_VOICE = exports.AUDIO_CONFIG = void 0;
6
+ exports.TEXT_TO_SPEECH_CONFIG = exports.KATEX_REPLACEMENTS_REVERSE = exports.KATEX_REPLACEMENTS = exports.DEFAULT_VOICE = exports.AUDIO_CONFIG = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  const AUDIO_CONFIG = exports.AUDIO_CONFIG = {
9
9
  audioEncoding: 'LINEAR16',
@@ -14,18 +14,27 @@ const DEFAULT_VOICE = exports.DEFAULT_VOICE = {
14
14
  languageCode: 'en-US',
15
15
  name: 'en-US-Wavenet-C'
16
16
  };
17
- const TEXT_TO_SPEECH_CONFIG = exports.TEXT_TO_SPEECH_CONFIG = _reactNative.Platform.OS === 'ios' ? {
18
- audioConfig: {
19
- audioEncoding: 'MP3',
20
- pitch: 0.8,
21
- speakingRate: 0.8
17
+ const TEXT_TO_SPEECH_CONFIG = exports.TEXT_TO_SPEECH_CONFIG = _reactNative.Platform.select({
18
+ ios: {
19
+ audioConfig: {
20
+ audioEncoding: 'MP3',
21
+ pitch: 0.8,
22
+ speakingRate: 0.8
23
+ },
24
+ voice: {
25
+ languageCode: 'en-US',
26
+ name: 'en-US-Wavenet-C'
27
+ }
22
28
  },
23
- voice: {
24
- languageCode: 'en-US',
25
- name: 'en-US-Wavenet-C'
29
+ default: {
30
+ audioConfig: AUDIO_CONFIG,
31
+ voice: DEFAULT_VOICE
26
32
  }
27
- } : {
28
- audioConfig: AUDIO_CONFIG,
29
- voice: DEFAULT_VOICE
33
+ });
34
+ const KATEX_REPLACEMENTS = exports.KATEX_REPLACEMENTS = {
35
+ '\\$': '__KATEX_DOLLAR_SYMBOL__'
36
+ };
37
+ const KATEX_REPLACEMENTS_REVERSE = exports.KATEX_REPLACEMENTS_REVERSE = {
38
+ __KATEX_DOLLAR_SYMBOL__: '$'
30
39
  };
31
40
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","AUDIO_CONFIG","exports","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","Platform","OS","audioConfig","voice"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACxBE,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAClB,CAAC;AAEM,MAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG;EACzBC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACV,CAAC;AAEM,MAAMC,qBAAqB,GAAAP,OAAA,CAAAO,qBAAA,GAC9BC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACf;EACIC,WAAW,EAAE;IACTT,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,GAAG;IACVC,YAAY,EAAE;EAClB,CAAC;EACDQ,KAAK,EAAE;IACHN,YAAY,EAAE,OAAO;IACrBC,IAAI,EAAE;EACV;AACJ,CAAC,GACD;EACII,WAAW,EAAEX,YAAY;EACzBY,KAAK,EAAEP;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","AUDIO_CONFIG","exports","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","Platform","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAEM,MAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,qBAAqB,GAAAP,OAAA,CAAAO,qBAAA,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXV,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDS,KAAK,EAAE;MACLP,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDO,OAAO,EAAE;IACPF,WAAW,EAAEZ,YAAY;IACzBa,KAAK,EAAER;EACT;AACF,CAAC,CAAC;AAEK,MAAMU,kBAAkB,GAAAd,OAAA,CAAAc,kBAAA,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEH,MAAMC,0BAA0B,GAAAf,OAAA,CAAAe,0BAAA,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU","ignoreList":[]}
@@ -6,11 +6,31 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ChatbotAPI = void 0;
7
7
  var _effector = require("effector");
8
8
  var _index = require("../../../lib/effector/index.js");
9
+ var _constants = require("../constants.js");
9
10
  class ChatbotAPI {
11
+ replaceKatexSyntax(texts, reverse = false) {
12
+ const replacements = reverse ? Object.entries(_constants.KATEX_REPLACEMENTS_REVERSE) : Object.entries(_constants.KATEX_REPLACEMENTS);
13
+ return texts.map(text => replacements.reduce((newText, [pattern, placeholder]) => newText.replace(new RegExp(pattern, 'g'), placeholder), text));
14
+ }
10
15
  constructor(api) {
11
16
  this.postMessageFx = (0, _index.createControllerEffect)(api.postMessage);
12
17
  this.getAlternativesFx = (0, _effector.createEffect)(api.getAlternatives);
13
- this.translateTextFx = (0, _effector.createEffect)(api.postTranslateText);
18
+ this.translateTextFx = (0, _effector.createEffect)(async payload => {
19
+ const response = await api.postTranslateText({
20
+ ...payload,
21
+ text: this.replaceKatexSyntax(payload.text)
22
+ });
23
+ return {
24
+ ...response,
25
+ data: {
26
+ ...response.data,
27
+ translations: response.data.translations.map(translation => ({
28
+ ...translation,
29
+ translatedText: this.replaceKatexSyntax([translation.translatedText], true)[0]
30
+ }))
31
+ }
32
+ };
33
+ });
14
34
  this.textToSpeechTextFx = (0, _effector.createEffect)(api.postTextToSpeech);
15
35
  }
16
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_index","ChatbotAPI","constructor","api","postMessageFx","createControllerEffect","postMessage","getAlternativesFx","createEffect","getAlternatives","translateTextFx","postTranslateText","textToSpeechTextFx","postTextToSpeech","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAaO,MAAME,UAAU,CAAC;EAMpBC,WAAWA,CAACC,GAA6B,EAAE;IACvC,IAAI,CAACC,aAAa,GAAG,IAAAC,6BAAsB,EAACF,GAAG,CAACG,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAG,IAAAC,sBAAY,EAACL,GAAG,CAACM,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAG,IAAAF,sBAAY,EAACL,GAAG,CAACQ,iBAAiB,CAAC;IAC1D,IAAI,CAACC,kBAAkB,GAAG,IAAAJ,sBAAY,EAACL,GAAG,CAACU,gBAAgB,CAAC;EAChE;AACJ;AAACC,OAAA,CAAAb,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_index","_constants","ChatbotAPI","replaceKatexSyntax","texts","reverse","replacements","Object","entries","KATEX_REPLACEMENTS_REVERSE","KATEX_REPLACEMENTS","map","text","reduce","newText","pattern","placeholder","replace","RegExp","constructor","api","postMessageFx","createControllerEffect","postMessage","getAlternativesFx","createEffect","getAlternatives","translateTextFx","payload","response","postTranslateText","data","translations","translation","translatedText","textToSpeechTextFx","postTextToSpeech","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAYA,IAAAE,UAAA,GAAAF,OAAA;AAEO,MAAMG,UAAU,CAAC;EAMdC,kBAAkBA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,EAAE;IAC3D,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,CAACC,qCAA0B,CAAC,GAC1CF,MAAM,CAACC,OAAO,CAACE,6BAAkB,CAAC;IAEtC,OAAON,KAAK,CAACO,GAAG,CAACC,IAAI,IACnBN,YAAY,CAACO,MAAM,CACjB,CAACC,OAAO,EAAE,CAACC,OAAO,EAAEC,WAAW,CAAC,KAAKF,OAAO,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAEC,WAAW,CAAC,EAC3FJ,IACF,CACF,CAAC;EACH;EAEAO,WAAWA,CAACC,GAA6B,EAAE;IACzC,IAAI,CAACC,aAAa,GAAG,IAAAC,6BAAsB,EAACF,GAAG,CAACG,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAG,IAAAC,sBAAY,EAACL,GAAG,CAACM,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAG,IAAAF,sBAAY,EAAC,MAAOG,OAA+B,IAAK;MAC7E,MAAMC,QAAQ,GAAG,MAAMT,GAAG,CAACU,iBAAiB,CAAC;QAC3C,GAAGF,OAAO;QACVhB,IAAI,EAAE,IAAI,CAACT,kBAAkB,CAACyB,OAAO,CAAChB,IAAI;MAC5C,CAAC,CAAC;MAEF,OAAO;QACL,GAAGiB,QAAQ;QACXE,IAAI,EAAE;UACJ,GAAGF,QAAQ,CAACE,IAAI;UAChBC,YAAY,EAAEH,QAAQ,CAACE,IAAI,CAACC,YAAY,CAACrB,GAAG,CAACsB,WAAW,KAAK;YAC3D,GAAGA,WAAW;YACdC,cAAc,EAAE,IAAI,CAAC/B,kBAAkB,CAAC,CAAC8B,WAAW,CAACC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;UAC/E,CAAC,CAAC;QACJ;MACF,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACC,kBAAkB,GAAG,IAAAV,sBAAY,EAACL,GAAG,CAACgB,gBAAgB,CAAC;EAC9D;AACF;AAACC,OAAA,CAAAnC,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -159,8 +159,6 @@ class TeacherFeedbackModel {
159
159
  };
160
160
  if (!isOpen) {
161
161
  delete updatedAssignmentComments[payload.problemId];
162
-
163
- // If no problems left, remove the assignment entirely
164
162
  if (Object.keys(updatedAssignmentComments).length === 0) {
165
163
  const updatedState = new Map(state);
166
164
  updatedState.delete(assignmentId);
@@ -196,8 +194,6 @@ class TeacherFeedbackModel {
196
194
  ...assignmentComments
197
195
  };
198
196
  delete updatedAssignmentComments[problemId];
199
-
200
- // If no problems left, remove the assignment entirely
201
197
  if (Object.keys(updatedAssignmentComments).length === 0) {
202
198
  const updatedState = new Map(state);
203
199
  updatedState.delete(assignmentId);
@@ -1 +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":[]}
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":[]}
@@ -10,18 +10,27 @@ export const DEFAULT_VOICE = {
10
10
  languageCode: 'en-US',
11
11
  name: 'en-US-Wavenet-C'
12
12
  };
13
- export const TEXT_TO_SPEECH_CONFIG = Platform.OS === 'ios' ? {
14
- audioConfig: {
15
- audioEncoding: 'MP3',
16
- pitch: 0.8,
17
- speakingRate: 0.8
13
+ export const TEXT_TO_SPEECH_CONFIG = Platform.select({
14
+ ios: {
15
+ audioConfig: {
16
+ audioEncoding: 'MP3',
17
+ pitch: 0.8,
18
+ speakingRate: 0.8
19
+ },
20
+ voice: {
21
+ languageCode: 'en-US',
22
+ name: 'en-US-Wavenet-C'
23
+ }
18
24
  },
19
- voice: {
20
- languageCode: 'en-US',
21
- name: 'en-US-Wavenet-C'
25
+ default: {
26
+ audioConfig: AUDIO_CONFIG,
27
+ voice: DEFAULT_VOICE
22
28
  }
23
- } : {
24
- audioConfig: AUDIO_CONFIG,
25
- voice: DEFAULT_VOICE
29
+ });
30
+ export const KATEX_REPLACEMENTS = {
31
+ '\\$': '__KATEX_DOLLAR_SYMBOL__'
32
+ };
33
+ export const KATEX_REPLACEMENTS_REVERSE = {
34
+ __KATEX_DOLLAR_SYMBOL__: '$'
26
35
  };
27
36
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","OS","audioConfig","voice"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,YAAY,GAAG;EACxBC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAClB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EACzBC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAC9BR,QAAQ,CAACS,EAAE,KAAK,KAAK,GACf;EACIC,WAAW,EAAE;IACTR,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,GAAG;IACVC,YAAY,EAAE;EAClB,CAAC;EACDO,KAAK,EAAE;IACHL,YAAY,EAAE,OAAO;IACrBC,IAAI,EAAE;EACV;AACJ,CAAC,GACD;EACIG,WAAW,EAAET,YAAY;EACzBU,KAAK,EAAEN;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","AUDIO_CONFIG","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGR,QAAQ,CAACS,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXT,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDQ,KAAK,EAAE;MACLN,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDM,OAAO,EAAE;IACPF,WAAW,EAAEV,YAAY;IACzBW,KAAK,EAAEP;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMS,kBAAkB,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEV,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU","ignoreList":[]}
@@ -2,11 +2,31 @@
2
2
 
3
3
  import { createEffect } from 'effector';
4
4
  import { createControllerEffect } from "../../../lib/effector/index.js";
5
+ import { KATEX_REPLACEMENTS, KATEX_REPLACEMENTS_REVERSE } from "../constants.js";
5
6
  export class ChatbotAPI {
7
+ replaceKatexSyntax(texts, reverse = false) {
8
+ const replacements = reverse ? Object.entries(KATEX_REPLACEMENTS_REVERSE) : Object.entries(KATEX_REPLACEMENTS);
9
+ return texts.map(text => replacements.reduce((newText, [pattern, placeholder]) => newText.replace(new RegExp(pattern, 'g'), placeholder), text));
10
+ }
6
11
  constructor(api) {
7
12
  this.postMessageFx = createControllerEffect(api.postMessage);
8
13
  this.getAlternativesFx = createEffect(api.getAlternatives);
9
- this.translateTextFx = createEffect(api.postTranslateText);
14
+ this.translateTextFx = createEffect(async payload => {
15
+ const response = await api.postTranslateText({
16
+ ...payload,
17
+ text: this.replaceKatexSyntax(payload.text)
18
+ });
19
+ return {
20
+ ...response,
21
+ data: {
22
+ ...response.data,
23
+ translations: response.data.translations.map(translation => ({
24
+ ...translation,
25
+ translatedText: this.replaceKatexSyntax([translation.translatedText], true)[0]
26
+ }))
27
+ }
28
+ };
29
+ });
10
30
  this.textToSpeechTextFx = createEffect(api.postTextToSpeech);
11
31
  }
12
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createControllerEffect","ChatbotAPI","constructor","api","postMessageFx","postMessage","getAlternativesFx","getAlternatives","translateTextFx","postTranslateText","textToSpeechTextFx","postTextToSpeech"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAE/C,SAASC,sBAAsB,QAAQ,gCAAuB;AAa9D,OAAO,MAAMC,UAAU,CAAC;EAMpBC,WAAWA,CAACC,GAA6B,EAAE;IACvC,IAAI,CAACC,aAAa,GAAGJ,sBAAsB,CAACG,GAAG,CAACE,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAGP,YAAY,CAACI,GAAG,CAACI,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAGT,YAAY,CAACI,GAAG,CAACM,iBAAiB,CAAC;IAC1D,IAAI,CAACC,kBAAkB,GAAGX,YAAY,CAACI,GAAG,CAACQ,gBAAgB,CAAC;EAChE;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createControllerEffect","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","ChatbotAPI","replaceKatexSyntax","texts","reverse","replacements","Object","entries","map","text","reduce","newText","pattern","placeholder","replace","RegExp","constructor","api","postMessageFx","postMessage","getAlternativesFx","getAlternatives","translateTextFx","payload","response","postTranslateText","data","translations","translation","translatedText","textToSpeechTextFx","postTextToSpeech"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/api.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAgB,UAAU;AAE/C,SAASC,sBAAsB,QAAQ,gCAAuB;AAY9D,SAASC,kBAAkB,EAAEC,0BAA0B,QAAQ,iBAAc;AAE7E,OAAO,MAAMC,UAAU,CAAC;EAMdC,kBAAkBA,CAACC,KAAe,EAAEC,OAAO,GAAG,KAAK,EAAE;IAC3D,MAAMC,YAAY,GAAGD,OAAO,GACxBE,MAAM,CAACC,OAAO,CAACP,0BAA0B,CAAC,GAC1CM,MAAM,CAACC,OAAO,CAACR,kBAAkB,CAAC;IAEtC,OAAOI,KAAK,CAACK,GAAG,CAACC,IAAI,IACnBJ,YAAY,CAACK,MAAM,CACjB,CAACC,OAAO,EAAE,CAACC,OAAO,EAAEC,WAAW,CAAC,KAAKF,OAAO,CAACG,OAAO,CAAC,IAAIC,MAAM,CAACH,OAAO,EAAE,GAAG,CAAC,EAAEC,WAAW,CAAC,EAC3FJ,IACF,CACF,CAAC;EACH;EAEAO,WAAWA,CAACC,GAA6B,EAAE;IACzC,IAAI,CAACC,aAAa,GAAGpB,sBAAsB,CAACmB,GAAG,CAACE,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAGvB,YAAY,CAACoB,GAAG,CAACI,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAGzB,YAAY,CAAC,MAAO0B,OAA+B,IAAK;MAC7E,MAAMC,QAAQ,GAAG,MAAMP,GAAG,CAACQ,iBAAiB,CAAC;QAC3C,GAAGF,OAAO;QACVd,IAAI,EAAE,IAAI,CAACP,kBAAkB,CAACqB,OAAO,CAACd,IAAI;MAC5C,CAAC,CAAC;MAEF,OAAO;QACL,GAAGe,QAAQ;QACXE,IAAI,EAAE;UACJ,GAAGF,QAAQ,CAACE,IAAI;UAChBC,YAAY,EAAEH,QAAQ,CAACE,IAAI,CAACC,YAAY,CAACnB,GAAG,CAACoB,WAAW,KAAK;YAC3D,GAAGA,WAAW;YACdC,cAAc,EAAE,IAAI,CAAC3B,kBAAkB,CAAC,CAAC0B,WAAW,CAACC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;UAC/E,CAAC,CAAC;QACJ;MACF,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACC,kBAAkB,GAAGjC,YAAY,CAACoB,GAAG,CAACc,gBAAgB,CAAC;EAC9D;AACF","ignoreList":[]}
@@ -155,8 +155,6 @@ export class TeacherFeedbackModel {
155
155
  };
156
156
  if (!isOpen) {
157
157
  delete updatedAssignmentComments[payload.problemId];
158
-
159
- // If no problems left, remove the assignment entirely
160
158
  if (Object.keys(updatedAssignmentComments).length === 0) {
161
159
  const updatedState = new Map(state);
162
160
  updatedState.delete(assignmentId);
@@ -192,8 +190,6 @@ export class TeacherFeedbackModel {
192
190
  ...assignmentComments
193
191
  };
194
192
  delete updatedAssignmentComments[problemId];
195
-
196
- // If no problems left, remove the assignment entirely
197
193
  if (Object.keys(updatedAssignmentComments).length === 0) {
198
194
  const updatedState = new Map(state);
199
195
  updatedState.delete(assignmentId);
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createEvent","createStore","restore","sample","EMPTY_COMMENT_ID","getEmptyComment","TeacherFeedbackModel","setCommentsSeen","$comments","Map","setIsOpened","$isOpened","setIsVisible","$isVisible","sockets","onCreate","onDeleted","constructor","api","credits","getCommentsByAssignmentIdFx","id","response","getCommentsByAssignmentId","data","assignmentId","updateCommentSeenFx","updateCommentSeenStatus","$assignmentId","$currentProblemId","problemId","$locale","locale","clock","fn","target","source","filter","isOpen","currentProblemId","payload","_","_id","ids","feedback","assignmentComments","get","comments","hasUnreadComments","some","comment","isRead","map","on","doneData","Object","values","problemFeedback","length","state","problemsMap","entries","unreadMessages","unreadMessagesCount","updatedState","set","updatedComments","includes","updatedFeedback","updatedAssignmentComments","exerciseId","getState","isDeleteMessageUnread","keys","delete"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/teacherFeedback.model.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createEvent","createStore","restore","sample","EMPTY_COMMENT_ID","getEmptyComment","TeacherFeedbackModel","setCommentsSeen","$comments","Map","setIsOpened","$isOpened","setIsVisible","$isVisible","sockets","onCreate","onDeleted","constructor","api","credits","getCommentsByAssignmentIdFx","id","response","getCommentsByAssignmentId","data","assignmentId","updateCommentSeenFx","updateCommentSeenStatus","$assignmentId","$currentProblemId","problemId","$locale","locale","clock","fn","target","source","filter","isOpen","currentProblemId","payload","_","_id","ids","feedback","assignmentComments","get","comments","hasUnreadComments","some","comment","isRead","map","on","doneData","Object","values","problemFeedback","length","state","problemsMap","entries","unreadMessages","unreadMessagesCount","updatedState","set","updatedComments","includes","updatedFeedback","updatedAssignmentComments","exerciseId","getState","isDeleteMessageUnread","keys","delete"],"sourceRoot":"../../../../../src","sources":["features/feedback/model/teacherFeedback.model.ts"],"mappings":"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","ignoreList":[]}
@@ -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;;;;;;;;;;CAgBvB,CAAA"}
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,EACH,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,oBAAoB,CAAA;AAE3B,qBAAa,UAAU;IACnB,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;gBAEnE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAM5C"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"teacherFeedback.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/model/teacherFeedback.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,MAAM,EAAmB,aAAa,EAAE,MAAM,UAAU,CAAA;AACzG,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AAGvC,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KACrC,CAAA;IACD,GAAG,EAAE;QACH,yBAAyB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAC,CAAA;QACnH,uBAAuB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAChF,CAAA;CACF,CAAA;AAED,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE9D,qBAAa,oBAAoB;IAC/B,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;sBAAgB,MAAM;OAAK;IAClG,SAAS,6BAAsC;IAE/C,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CACjC,oBAAoB,EACpB;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAA;QACpD,YAAY,EAAE,MAAM,CAAA;KACrB,CACF,CAAA;IACD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA2MxD"}
1
+ {"version":3,"file":"teacherFeedback.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/model/teacherFeedback.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,EAGN,aAAa,EACd,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AAGvC,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KACrC,CAAA;IACD,GAAG,EAAE;QACH,yBAAyB,EAAE,CACzB,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAC,CAAA;QAC5D,uBAAuB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAChF,CAAA;CACF,CAAA;AAED,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE9D,qBAAa,oBAAoB;IAC/B,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;sBAAgB,MAAM;OAAK;IAClG,SAAS,6BAAsC;IAE/C,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CACjC,oBAAoB,EACpB;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAA;QACpD,YAAY,EAAE,MAAM,CAAA;KACrB,CACF,CAAA;IACD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA8MxD"}
@@ -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;;;;;;;;;;CAgBvB,CAAA"}
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,EACH,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,oBAAoB,CAAA;AAE3B,qBAAa,UAAU;IACnB,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;gBAEnE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAM5C"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"teacherFeedback.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/model/teacherFeedback.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,MAAM,EAAmB,aAAa,EAAE,MAAM,UAAU,CAAA;AACzG,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AAGvC,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KACrC,CAAA;IACD,GAAG,EAAE;QACH,yBAAyB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAC,CAAA;QACnH,uBAAuB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAChF,CAAA;CACF,CAAA;AAED,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE9D,qBAAa,oBAAoB;IAC/B,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;sBAAgB,MAAM;OAAK;IAClG,SAAS,6BAAsC;IAE/C,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CACjC,oBAAoB,EACpB;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAA;QACpD,YAAY,EAAE,MAAM,CAAA;KACrB,CACF,CAAA;IACD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA2MxD"}
1
+ {"version":3,"file":"teacherFeedback.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/model/teacherFeedback.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,EAGN,aAAa,EACd,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AAGvC,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KACrC,CAAA;IACD,GAAG,EAAE;QACH,yBAAyB,EAAE,CACzB,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAC,CAAA;QAC5D,uBAAuB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAChF,CAAA;CACF,CAAA;AAED,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;AAE9D,qBAAa,oBAAoB;IAC/B,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;sBAAgB,MAAM;OAAK;IAClG,SAAS,6BAAsC;IAE/C,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CACjC,oBAAoB,EACpB;QACE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC,CAAA;QACpD,YAAY,EAAE,MAAM,CAAA;KACrB,CACF,CAAA;IACD,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA8MxD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/commonjs/index.js",
@@ -1,30 +1,38 @@
1
1
  import { Platform } from 'react-native'
2
2
 
3
3
  export const AUDIO_CONFIG = {
4
- audioEncoding: 'LINEAR16',
5
- pitch: 0,
6
- speakingRate: 0.8,
4
+ audioEncoding: 'LINEAR16',
5
+ pitch: 0,
6
+ speakingRate: 0.8,
7
7
  }
8
8
 
9
9
  export const DEFAULT_VOICE = {
10
- languageCode: 'en-US',
11
- name: 'en-US-Wavenet-C',
10
+ languageCode: 'en-US',
11
+ name: 'en-US-Wavenet-C',
12
12
  }
13
13
 
14
- export const TEXT_TO_SPEECH_CONFIG =
15
- Platform.OS === 'ios'
16
- ? {
17
- audioConfig: {
18
- audioEncoding: 'MP3',
19
- pitch: 0.8,
20
- speakingRate: 0.8,
21
- },
22
- voice: {
23
- languageCode: 'en-US',
24
- name: 'en-US-Wavenet-C',
25
- },
26
- }
27
- : {
28
- audioConfig: AUDIO_CONFIG,
29
- voice: DEFAULT_VOICE,
30
- }
14
+ export const TEXT_TO_SPEECH_CONFIG = Platform.select({
15
+ ios: {
16
+ audioConfig: {
17
+ audioEncoding: 'MP3',
18
+ pitch: 0.8,
19
+ speakingRate: 0.8,
20
+ },
21
+ voice: {
22
+ languageCode: 'en-US',
23
+ name: 'en-US-Wavenet-C',
24
+ },
25
+ },
26
+ default: {
27
+ audioConfig: AUDIO_CONFIG,
28
+ voice: DEFAULT_VOICE,
29
+ },
30
+ })
31
+
32
+ export const KATEX_REPLACEMENTS = {
33
+ '\\$': '__KATEX_DOLLAR_SYMBOL__',
34
+ } as const
35
+
36
+ export const KATEX_REPLACEMENTS_REVERSE = {
37
+ __KATEX_DOLLAR_SYMBOL__: '$',
38
+ } as const
@@ -4,25 +4,55 @@ import { createControllerEffect } from '../../../lib/effector'
4
4
  import { ControlledEffect } from '../../../lib/effector/createControllerEffect'
5
5
  import { ChatbotModelProps } from '../types/model.types'
6
6
  import {
7
- GetAlternativesResponse,
8
- PostMessagePayload,
9
- PostMessageResponse,
10
- GoogleTranslatePayload,
11
- GoogleTranslateResponse,
12
- GoogleText2SpeechPayload,
13
- GoogleText2SpeechResponse,
7
+ GetAlternativesResponse,
8
+ PostMessagePayload,
9
+ PostMessageResponse,
10
+ GoogleTranslatePayload,
11
+ GoogleTranslateResponse,
12
+ GoogleText2SpeechPayload,
13
+ GoogleText2SpeechResponse,
14
14
  } from '../types/api.types'
15
+ import { KATEX_REPLACEMENTS, KATEX_REPLACEMENTS_REVERSE } from '../constants'
15
16
 
16
17
  export class ChatbotAPI {
17
- postMessageFx: ControlledEffect<PostMessagePayload, PostMessageResponse>
18
- getAlternativesFx: Effect<void, GetAlternativesResponse>
19
- translateTextFx: Effect<GoogleTranslatePayload, GoogleTranslateResponse>
20
- textToSpeechTextFx: Effect<GoogleText2SpeechPayload, GoogleText2SpeechResponse>
18
+ postMessageFx: ControlledEffect<PostMessagePayload, PostMessageResponse>
19
+ getAlternativesFx: Effect<void, GetAlternativesResponse>
20
+ translateTextFx: Effect<GoogleTranslatePayload, GoogleTranslateResponse>
21
+ textToSpeechTextFx: Effect<GoogleText2SpeechPayload, GoogleText2SpeechResponse>
21
22
 
22
- constructor(api: ChatbotModelProps['api']) {
23
- this.postMessageFx = createControllerEffect(api.postMessage)
24
- this.getAlternativesFx = createEffect(api.getAlternatives)
25
- this.translateTextFx = createEffect(api.postTranslateText)
26
- this.textToSpeechTextFx = createEffect(api.postTextToSpeech)
27
- }
23
+ private replaceKatexSyntax(texts: string[], reverse = false) {
24
+ const replacements = reverse
25
+ ? Object.entries(KATEX_REPLACEMENTS_REVERSE)
26
+ : Object.entries(KATEX_REPLACEMENTS)
27
+
28
+ return texts.map(text =>
29
+ replacements.reduce(
30
+ (newText, [pattern, placeholder]) => newText.replace(new RegExp(pattern, 'g'), placeholder),
31
+ text,
32
+ ),
33
+ )
34
+ }
35
+
36
+ constructor(api: ChatbotModelProps['api']) {
37
+ this.postMessageFx = createControllerEffect(api.postMessage)
38
+ this.getAlternativesFx = createEffect(api.getAlternatives)
39
+ this.translateTextFx = createEffect(async (payload: GoogleTranslatePayload) => {
40
+ const response = await api.postTranslateText({
41
+ ...payload,
42
+ text: this.replaceKatexSyntax(payload.text),
43
+ })
44
+
45
+ return {
46
+ ...response,
47
+ data: {
48
+ ...response.data,
49
+ translations: response.data.translations.map(translation => ({
50
+ ...translation,
51
+ translatedText: this.replaceKatexSyntax([translation.translatedText], true)[0],
52
+ })),
53
+ },
54
+ }
55
+ })
56
+ this.textToSpeechTextFx = createEffect(api.postTextToSpeech)
57
+ }
28
58
  }
@@ -1,4 +1,12 @@
1
- import { createEffect, createEvent, createStore, Effect, restore, sample, StoreWritable } from 'effector'
1
+ import {
2
+ createEffect,
3
+ createEvent,
4
+ createStore,
5
+ Effect,
6
+ restore,
7
+ sample,
8
+ StoreWritable,
9
+ } from 'effector'
2
10
  import {
3
11
  CommentsEntity,
4
12
  GetCommentsByIdProps,
@@ -15,7 +23,9 @@ type TeacherFeedbackModelProps = {
15
23
  locale: StoreWritable<Locale | null>
16
24
  }
17
25
  api: {
18
- getCommentsByAssignmentId: (props: GetCommentsByIdProps) => Promise<Record<string, { comments: TeacherComment[] }>>
26
+ getCommentsByAssignmentId: (
27
+ props: GetCommentsByIdProps,
28
+ ) => Promise<Record<string, { comments: TeacherComment[] }>>
19
29
  updateCommentSeenStatus: (props: UpdateCommentSeenStatusProps) => Promise<void>
20
30
  }
21
31
  }
@@ -88,7 +98,7 @@ export class TeacherFeedbackModel {
88
98
  filter: ([feedback, currentProblemId, assignmentId], isOpen) => {
89
99
  const assignmentComments = feedback.get(assignmentId) || {}
90
100
  const comments = assignmentComments[currentProblemId]?.comments ?? []
91
- const hasUnreadComments = comments.some((comment) => !comment.isRead)
101
+ const hasUnreadComments = comments.some(comment => !comment.isRead)
92
102
  return isOpen && hasUnreadComments
93
103
  },
94
104
  fn: ([feedback, currentProblemId, assignmentId]) => {
@@ -97,14 +107,14 @@ export class TeacherFeedbackModel {
97
107
  return {
98
108
  currentProblemId,
99
109
  assignmentId,
100
- ids: comments.filter((comment) => !comment.isRead).map((comment) => comment._id),
110
+ ids: comments.filter(comment => !comment.isRead).map(comment => comment._id),
101
111
  }
102
112
  },
103
113
  target: [this.setCommentsSeen, this.updateCommentSeenFx],
104
114
  })
105
115
 
106
116
  this.$isVisible.on(this.getCommentsByAssignmentIdFx.doneData, (_, { data }) => {
107
- return Object.values(data).some((problemFeedback) => problemFeedback.comments?.length > 0)
117
+ return Object.values(data).some(problemFeedback => problemFeedback.comments?.length > 0)
108
118
  })
109
119
 
110
120
  this.$comments
@@ -112,7 +122,7 @@ export class TeacherFeedbackModel {
112
122
  const problemsMap: Record<string, CommentsEntity> = {}
113
123
 
114
124
  for (const [problemId, { comments }] of Object.entries(data)) {
115
- const unreadMessages = comments.filter((comment) => !comment.isRead)
125
+ const unreadMessages = comments.filter(comment => !comment.isRead)
116
126
  problemsMap[problemId] = {
117
127
  comments,
118
128
  unreadMessagesCount: unreadMessages.length,
@@ -130,8 +140,8 @@ export class TeacherFeedbackModel {
130
140
  const feedback = assignmentComments[currentProblemId]
131
141
  if (!feedback) return state
132
142
 
133
- const updatedComments = feedback.comments.map((comment) =>
134
- ids.includes(comment._id) ? { ...comment, isRead: true } : comment
143
+ const updatedComments = feedback.comments.map(comment =>
144
+ ids.includes(comment._id) ? { ...comment, isRead: true } : comment,
135
145
  )
136
146
 
137
147
  const updatedFeedback = {
@@ -152,7 +162,10 @@ export class TeacherFeedbackModel {
152
162
  })
153
163
  .on(this.sockets.onCreate, (state, payload) => {
154
164
  const assignmentComments = state.get(payload.exerciseId) || {}
155
- const feedback = assignmentComments[payload.problemId] ?? { comments: [], unreadMessagesCount: 0 }
165
+ const feedback = assignmentComments[payload.problemId] ?? {
166
+ comments: [],
167
+ unreadMessagesCount: 0,
168
+ }
156
169
 
157
170
  const updatedFeedback = {
158
171
  ...feedback,
@@ -179,12 +192,14 @@ export class TeacherFeedbackModel {
179
192
  if (!feedback) return state
180
193
 
181
194
  const isDeleteMessageUnread = feedback.comments.some(
182
- (comment) => comment._id === payload._id && !comment.isRead
195
+ comment => comment._id === payload._id && !comment.isRead,
183
196
  )
184
197
 
185
198
  const updatedFeedback = {
186
- comments: feedback.comments.filter((comment) => comment._id !== payload._id),
187
- unreadMessagesCount: isDeleteMessageUnread ? feedback.unreadMessagesCount - 1 : feedback.unreadMessagesCount,
199
+ comments: feedback.comments.filter(comment => comment._id !== payload._id),
200
+ unreadMessagesCount: isDeleteMessageUnread
201
+ ? feedback.unreadMessagesCount - 1
202
+ : feedback.unreadMessagesCount,
188
203
  }
189
204
 
190
205
  const isOpen = this.$isOpened.getState()
@@ -195,7 +210,6 @@ export class TeacherFeedbackModel {
195
210
  if (!isOpen) {
196
211
  delete updatedAssignmentComments[payload.problemId]
197
212
 
198
- // If no problems left, remove the assignment entirely
199
213
  if (Object.keys(updatedAssignmentComments).length === 0) {
200
214
  const updatedState = new Map(state)
201
215
  updatedState.delete(assignmentId)
@@ -237,7 +251,6 @@ export class TeacherFeedbackModel {
237
251
  const updatedAssignmentComments = { ...assignmentComments }
238
252
  delete updatedAssignmentComments[problemId]
239
253
 
240
- // If no problems left, remove the assignment entirely
241
254
  if (Object.keys(updatedAssignmentComments).length === 0) {
242
255
  const updatedState = new Map(state)
243
256
  updatedState.delete(assignmentId)