@magmamath/students-features 0.2.0-hotfix-circular-dependencies-chatbot → 0.2.0

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 (110) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +5 -21
  2. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/model/model.js +2 -12
  4. package/dist/commonjs/features/chatbot/model/model.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/model/t2s.js +4 -8
  6. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
  7. package/dist/commonjs/features/chatbot/model/translation.js +15 -30
  8. package/dist/commonjs/features/chatbot/model/translation.js.map +1 -1
  9. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js +3 -2
  10. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -1
  11. package/dist/commonjs/features/feedback/components/TeacherFeedback.js +5 -9
  12. package/dist/commonjs/features/feedback/components/TeacherFeedback.js.map +1 -1
  13. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +11 -47
  14. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
  15. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +3 -7
  16. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
  17. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +5 -15
  18. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
  19. package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js +3 -6
  20. package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
  21. package/dist/commonjs/features/feedback/constants.js +1 -2
  22. package/dist/commonjs/features/feedback/constants.js.map +1 -1
  23. package/dist/commonjs/features/feedback/index.js +0 -11
  24. package/dist/commonjs/features/feedback/index.js.map +1 -1
  25. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +34 -102
  26. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +1 -1
  27. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +6 -22
  28. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  29. package/dist/module/features/chatbot/model/model.js +2 -12
  30. package/dist/module/features/chatbot/model/model.js.map +1 -1
  31. package/dist/module/features/chatbot/model/t2s.js +4 -8
  32. package/dist/module/features/chatbot/model/t2s.js.map +1 -1
  33. package/dist/module/features/chatbot/model/translation.js +15 -30
  34. package/dist/module/features/chatbot/model/translation.js.map +1 -1
  35. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js +3 -2
  36. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -1
  37. package/dist/module/features/feedback/components/TeacherFeedback.js +5 -9
  38. package/dist/module/features/feedback/components/TeacherFeedback.js.map +1 -1
  39. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +11 -47
  40. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
  41. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +4 -8
  42. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
  43. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +5 -15
  44. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
  45. package/dist/module/features/feedback/components/UnreadMessagesBadge.js +3 -6
  46. package/dist/module/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
  47. package/dist/module/features/feedback/constants.js +0 -1
  48. package/dist/module/features/feedback/constants.js.map +1 -1
  49. package/dist/module/features/feedback/index.js +0 -1
  50. package/dist/module/features/feedback/index.js.map +1 -1
  51. package/dist/module/features/feedback/model/teacherFeedback.model.js +34 -102
  52. package/dist/module/features/feedback/model/teacherFeedback.model.js.map +1 -1
  53. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  54. package/dist/typescript/commonjs/features/chatbot/model/model.d.ts.map +1 -1
  55. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +5 -7
  56. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
  57. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +5 -10
  58. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -1
  59. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts +1 -2
  60. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
  61. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +1 -2
  62. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
  63. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +1 -2
  64. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
  65. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +1 -2
  66. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
  67. package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts +2 -3
  68. package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
  69. package/dist/typescript/commonjs/features/feedback/constants.d.ts +0 -1
  70. package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -1
  71. package/dist/typescript/commonjs/features/feedback/index.d.ts +0 -1
  72. package/dist/typescript/commonjs/features/feedback/index.d.ts.map +1 -1
  73. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts +4 -11
  74. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
  75. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  76. package/dist/typescript/module/features/chatbot/model/model.d.ts.map +1 -1
  77. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +5 -7
  78. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
  79. package/dist/typescript/module/features/chatbot/model/translation.d.ts +5 -10
  80. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -1
  81. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts +1 -2
  82. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
  83. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +1 -2
  84. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
  85. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +1 -2
  86. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
  87. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +1 -2
  88. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
  89. package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts +2 -3
  90. package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
  91. package/dist/typescript/module/features/feedback/constants.d.ts +0 -1
  92. package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -1
  93. package/dist/typescript/module/features/feedback/index.d.ts +0 -1
  94. package/dist/typescript/module/features/feedback/index.d.ts.map +1 -1
  95. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts +4 -11
  96. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
  97. package/package.json +4 -4
  98. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +4 -27
  99. package/src/features/chatbot/model/model.ts +2 -13
  100. package/src/features/chatbot/model/t2s.ts +7 -13
  101. package/src/features/chatbot/model/translation.ts +27 -46
  102. package/src/features/feedback/components/EmptyComment/EmptyComment.tsx +2 -1
  103. package/src/features/feedback/components/TeacherFeedback.tsx +4 -7
  104. package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +10 -48
  105. package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +5 -6
  106. package/src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx +3 -13
  107. package/src/features/feedback/components/UnreadMessagesBadge.tsx +4 -7
  108. package/src/features/feedback/constants.ts +0 -2
  109. package/src/features/feedback/index.ts +0 -1
  110. package/src/features/feedback/model/teacherFeedback.model.ts +36 -109
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGxF,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EAEd,mBAAmB,EACnB,cAAc,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC,qBAAa,YAAY;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE9C,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,SAAS,4CAAyB;IAC3C,QAAQ,CAAC,UAAU,yCAAgB;IACnC,QAAQ,CAAC,OAAO,4CAAwE;IAGxF,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,iBAAiB,qDAAkC;IAC5D,QAAQ,CAAC,eAAe,qDAAwC;IAEhE,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,eAAe,4CAAuC;IAE/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IAE7F,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBAE3C,EACR,OAAO,EACP,GAAG,EACH,QAAQ,GACX,EAAE,iBAAiB;IA6BpB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;MAMf;IAEF,QAAQ,CAAC,SAAS;;;;;;;;;;;;;MAMhB;IAEF,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAMrB;IAEF,OAAO,CAAC,uBAAuB;IAsE/B,OAAO,CAAC,oBAAoB;IA6ErB,iBAAiB;IAoBjB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,mBAAmB;CAe/E"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGxF,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EAEd,mBAAmB,EACnB,cAAc,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC,qBAAa,YAAY;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE9C,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,SAAS,4CAAyB;IAC3C,QAAQ,CAAC,UAAU,yCAAgB;IACnC,QAAQ,CAAC,OAAO,4CAAwE;IAGxF,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,iBAAiB,qDAAkC;IAC5D,QAAQ,CAAC,eAAe,qDAAwC;IAEhE,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,eAAe,4CAAuC;IAE/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IAE7F,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBAE3C,EACR,OAAO,EACP,GAAG,EACH,QAAQ,GACX,EAAE,iBAAiB;IAkBpB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;MAMf;IAEF,QAAQ,CAAC,SAAS;;;;;;;;;;;;;MAMhB;IAEF,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAMrB;IAEF,OAAO,CAAC,uBAAuB;IAsE/B,OAAO,CAAC,oBAAoB;IA6ErB,iBAAiB;IAoBjB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,mBAAmB;CAe/E"}
@@ -1,16 +1,14 @@
1
- import { StoreWritable } from 'effector';
1
+ import { ChatbotModel } from './model';
2
2
  import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types';
3
- import { ChatbotAPI } from './api';
4
3
  export declare class ChatTextToSpeech {
4
+ private readonly model;
5
5
  private readonly audioCache;
6
6
  private audioProvider;
7
7
  readonly setCurrentPlayingId: import("effector").EventCallable<string | null>;
8
- readonly $currentPlayingId: StoreWritable<string | null>;
8
+ readonly $currentPlayingId: import("effector").StoreWritable<string | null>;
9
9
  readonly setStatus: import("effector").EventCallable<AudioStatus>;
10
- readonly $status: StoreWritable<AudioStatus>;
11
- readonly $isOpen: StoreWritable<boolean>;
12
- readonly api: ChatbotAPI;
13
- constructor({ $isOpen, api }: any);
10
+ readonly $status: import("effector").StoreWritable<AudioStatus>;
11
+ constructor(chatbotModel: ChatbotModel);
14
12
  setAudioProvider(audioProvider: AudioProvider): void;
15
13
  private getCacheKey;
16
14
  play({ text, messageId, isTranslated, config }: PlayTextToSpeechProps): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA6B;IAElD,QAAQ,CAAC,mBAAmB,kDAA+B;IAC3D,QAAQ,CAAC,iBAAiB,+BAA0C;IACpE,QAAQ,CAAC,SAAS,gDAA6B;IAC/C,QAAQ,CAAC,OAAO,6BAA+C;IAE/D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;gBAEV,EACV,OAAO,EACK,GAAG,EAChB,EAAE,GAAG;IASC,gBAAgB,CAAC,aAAa,EAAE,aAAa;IAIpD,OAAO,CAAC,WAAW,CAElB;IAEK,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,qBAAqB;IA0DpE,IAAI;IAYJ,KAAK;CAKf"}
1
+ {"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAEtF,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA6B;IAElD,QAAQ,CAAC,mBAAmB,kDAA+B;IAC3D,QAAQ,CAAC,iBAAiB,kDAA0C;IACpE,QAAQ,CAAC,SAAS,gDAA6B;IAC/C,QAAQ,CAAC,OAAO,gDAA+C;gBAEnD,YAAY,EAAE,YAAY;IAQ/B,gBAAgB,CAAC,aAAa,EAAE,aAAa;IAIpD,OAAO,CAAC,WAAW,CAElB;IAEK,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,qBAAqB;IA0DpE,IAAI;IAYJ,KAAK;CAKf"}
@@ -1,21 +1,16 @@
1
- import { type Effect, type Store } from 'effector';
1
+ import { type Effect } from 'effector';
2
+ import { ChatbotModel } from './model';
2
3
  import { TranslateAlternativesFxProps, TranslateBatchFxProps, TranslateMessageFxProps } from '../types/translation.types';
3
- import { ChatbotModelProps, ConversationMessage } from '../types/model.types';
4
+ import { ConversationMessage } from '../types/model.types';
4
5
  import { GetAlternativesResponse } from '../types/api.types';
5
- import { ChatbotAPI } from './api';
6
6
  export declare class ChatbotTranslation {
7
+ private readonly model;
7
8
  readonly setIsTranslated: import("effector").EventCallable<boolean>;
8
9
  readonly $isTranslated: import("effector").StoreWritable<boolean>;
9
10
  readonly translateMessageFx: Effect<TranslateMessageFxProps, ConversationMessage>;
10
11
  readonly translateBatchFx: Effect<TranslateBatchFxProps['params'], ConversationMessage[]>;
11
12
  readonly translateAlternativesFx: Effect<TranslateAlternativesFxProps['params'], GetAlternativesResponse | null>;
12
- readonly credits: ChatbotModelProps['credits'];
13
- readonly $alternatives: Store<GetAlternativesResponse | null>;
14
- readonly setAlternatives: import("effector").EventCallable<GetAlternativesResponse | null>;
15
- readonly defaultMessages: ChatbotModelProps['messages'];
16
- readonly api: ChatbotAPI;
17
- readonly messages: any;
18
- constructor({ credits, $alternatives, setAlternatives, defaultMessages, messages, api, }: any);
13
+ constructor(chatbotModel: ChatbotModel);
19
14
  private shouldSkipTranslation;
20
15
  private initTranslationSamples;
21
16
  private createTranslateAlternativesEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,MAAM,EAAU,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAEtG,OAAO,EACH,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,qBAAa,kBAAkB;IAC3B,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,aAAa,4CAAuC;IAE7D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA;IACjF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACzF,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CACpC,4BAA4B,CAAC,QAAQ,CAAC,EACtC,uBAAuB,GAAG,IAAI,CACjC,CAAA;IAEH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC9C,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAC7D,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACvD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;gBAER,EACV,OAAO,EACP,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,EACR,GAAG,GACJ,EAAE,GAAG;IAgBN,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,iCAAiC;IAwDzC,OAAO,CAAC,4BAA4B;IAuBpC,OAAO,CAAC,0BAA0B;YA8DpB,uBAAuB;IAmB9B,KAAK;CAGf"}
1
+ {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,MAAM,EAAU,MAAM,UAAU,CAAA;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,EACH,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IAEpC,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,aAAa,4CAAuC;IAE7D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA;IACjF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACzF,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CACpC,4BAA4B,CAAC,QAAQ,CAAC,EACtC,uBAAuB,GAAG,IAAI,CACjC,CAAA;gBAEW,YAAY,EAAE,YAAY;IAUtC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,iCAAiC;IAwDzC,OAAO,CAAC,4BAA4B;IAuBpC,OAAO,CAAC,0BAA0B;YA6DpB,uBAAuB;IAmB9B,KAAK;CAGf"}
@@ -2,8 +2,7 @@ import React from 'react';
2
2
  import { TeacherFeedbackModel } from '../model/teacherFeedback.model';
3
3
  type TeacherFeedbackProps = {
4
4
  model: TeacherFeedbackModel;
5
- mode: 'regular' | 'simple';
6
5
  };
7
- export declare const TeacherFeedback: ({ model, mode }: TeacherFeedbackProps) => React.JSX.Element | null;
6
+ export declare const TeacherFeedback: ({ model }: TeacherFeedbackProps) => React.JSX.Element | null;
8
7
  export {};
9
8
  //# sourceMappingURL=TeacherFeedback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TeacherFeedback.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/TeacherFeedback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,oBAAqB,oBAAoB,6BA0BpE,CAAA"}
1
+ {"version":3,"file":"TeacherFeedback.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/TeacherFeedback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,oBAAoB,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,eAAe,cAAe,oBAAoB,6BAwB9D,CAAA"}
@@ -4,8 +4,7 @@ type TeacherFeedbackButtonProps = {
4
4
  isLoading: boolean;
5
5
  onPress?: () => void;
6
6
  unreadCommentsCount?: number;
7
- size?: 'small' | 'large';
8
7
  };
9
- export declare const TeacherFeedbackButton: ({ isOpen, onPress, unreadCommentsCount, isLoading, size, }: TeacherFeedbackButtonProps) => React.JSX.Element;
8
+ export declare const TeacherFeedbackButton: ({ isOpen, onPress, unreadCommentsCount, isLoading, }: TeacherFeedbackButtonProps) => React.JSX.Element;
10
9
  export {};
11
10
  //# sourceMappingURL=TeacherFeedbackButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TeacherFeedbackButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,qBAAqB,+DAM/B,0BAA0B,sBAgE5B,CAAA"}
1
+ {"version":3,"file":"TeacherFeedbackButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,qBAAqB,yDAK/B,0BAA0B,sBA6C5B,CAAA"}
@@ -5,8 +5,7 @@ type TeacherCommentProps = {
5
5
  teacherName: string;
6
6
  createdAt: Date;
7
7
  locale: Locale | null;
8
- isLastComment: boolean;
9
8
  };
10
- export declare const TeacherComment: ({ content, teacherName, createdAt, locale, isLastComment }: TeacherCommentProps) => React.JSX.Element;
9
+ export declare const TeacherComment: ({ content, teacherName, createdAt, locale }: TeacherCommentProps) => React.JSX.Element;
11
10
  export {};
12
11
  //# sourceMappingURL=TeacherComment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TeacherComment.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,IAAI,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,cAAc,+DAAgE,mBAAmB,sBAkB7G,CAAA"}
1
+ {"version":3,"file":"TeacherComment.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE1D,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,IAAI,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,cAAc,gDAAiD,mBAAmB,sBAkB9F,CAAA"}
@@ -3,8 +3,7 @@ import { Locale, TeacherComment as FeedbackComment } from '../../types/teacherFe
3
3
  type TeacherFeedbackCommentsProps = {
4
4
  comments: FeedbackComment[] | null;
5
5
  locale: Locale | null;
6
- mode: 'regular' | 'simple';
7
6
  };
8
- export declare const TeacherFeedbackComments: ({ comments, locale, mode }: TeacherFeedbackCommentsProps) => React.JSX.Element | null;
7
+ export declare const TeacherFeedbackComments: ({ comments, locale }: TeacherFeedbackCommentsProps) => React.JSX.Element | null;
9
8
  export {};
10
9
  //# sourceMappingURL=TeacherFeedbackComments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TeacherFeedbackComments.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAU7F,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,+BAAgC,4BAA4B,6BAmC/F,CAAA"}
1
+ {"version":3,"file":"TeacherFeedbackComments.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAQ7F,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,uBAAuB,yBAA0B,4BAA4B,6BAkCzF,CAAA"}
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
- import { StyleProp, ViewStyle, TextStyle } from 'react-native';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
3
  type UnreadMessagesBadgeProps = {
4
4
  badgeContent?: number;
5
5
  withBorder?: boolean;
6
6
  style?: StyleProp<ViewStyle>;
7
- textStyle?: StyleProp<TextStyle>;
8
7
  };
9
- export declare const UnreadMessagesBadge: ({ badgeContent, withBorder, style, textStyle }: UnreadMessagesBadgeProps) => React.JSX.Element;
8
+ export declare const UnreadMessagesBadge: ({ badgeContent, withBorder, style }: UnreadMessagesBadgeProps) => React.JSX.Element;
10
9
  export {};
11
10
  //# sourceMappingURL=UnreadMessagesBadge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnreadMessagesBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/UnreadMessagesBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGhG,KAAK,wBAAwB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,mBAAmB,mDAA4D,wBAAwB,sBAcnH,CAAA"}
1
+ {"version":3,"file":"UnreadMessagesBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/UnreadMessagesBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoC,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGrF,KAAK,wBAAwB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,mBAAmB,wCAAiD,wBAAwB,sBAcxG,CAAA"}
@@ -16,5 +16,4 @@ export declare const getEmptyComment: (problemId: string, locale: Locale | null)
16
16
  teacherName: string;
17
17
  updatedAt: Date;
18
18
  };
19
- export declare const TEACHER_FEEDBACK_BUTTON_ID = "teacherFeedbackButton";
20
19
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEtD,eAAO,MAAM,iBAAiB,QAA6E,CAAA;AAE3G,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAChD,eAAO,MAAM,eAAe,6BAAwB,CAAA;AACpD,eAAO,MAAM,gBAAgB,kBAAkB,CAAA;AAE/C,eAAO,MAAM,eAAe,cAAe,MAAM,UAAU,MAAM,GAAG,IAAI;;;;;;;;;;;;CAcvE,CAAA;AAED,eAAO,MAAM,0BAA0B,0BAA0B,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAEtD,eAAO,MAAM,iBAAiB,QAA6E,CAAA;AAE3G,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAChD,eAAO,MAAM,eAAe,6BAAwB,CAAA;AACpD,eAAO,MAAM,gBAAgB,kBAAkB,CAAA;AAE/C,eAAO,MAAM,eAAe,cAAe,MAAM,UAAU,MAAM,GAAG,IAAI;;;;;;;;;;;;CAcvE,CAAA"}
@@ -1,5 +1,4 @@
1
1
  export * from './model/teacherFeedback.model';
2
2
  export * from './types/teacherFeedback.types';
3
- export * from './constants';
4
3
  export * from './components';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/feedback/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,cAAc,CAAA"}
@@ -2,7 +2,6 @@ import { Effect, StoreWritable } from 'effector';
2
2
  import { CommentsEntity, GetCommentsByIdProps, Locale, TeacherComment, UpdateCommentSeenStatusProps } from '../types/teacherFeedback.types';
3
3
  type TeacherFeedbackModelProps = {
4
4
  credits: {
5
- assignmentId: StoreWritable<string>;
6
5
  problemId: StoreWritable<string>;
7
6
  locale: StoreWritable<Locale | null>;
8
7
  };
@@ -13,27 +12,21 @@ type TeacherFeedbackModelProps = {
13
12
  updateCommentSeenStatus: (props: UpdateCommentSeenStatusProps) => Promise<void>;
14
13
  };
15
14
  };
16
- type CommentsMap = Map<string, Record<string, CommentsEntity>>;
17
15
  export declare class TeacherFeedbackModel {
18
- $assignmentId: StoreWritable<string>;
19
16
  $currentProblemId: StoreWritable<string>;
20
17
  $locale: StoreWritable<Locale | null>;
21
18
  setCommentsSeen: import("effector").EventCallable<{
22
19
  ids: string[];
23
20
  currentProblemId: string;
24
- assignmentId: string;
25
21
  }>;
26
- $comments: StoreWritable<CommentsMap>;
22
+ $comments: StoreWritable<Map<string, CommentsEntity>>;
27
23
  setIsOpened: import("effector").EventCallable<boolean>;
28
24
  $isOpened: StoreWritable<boolean>;
29
25
  setIsVisible: import("effector").EventCallable<boolean>;
30
26
  $isVisible: StoreWritable<boolean>;
31
- getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, {
32
- data: Record<string, {
33
- comments: TeacherComment[];
34
- }>;
35
- assignmentId: string;
36
- }>;
27
+ getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, Record<string, {
28
+ comments: TeacherComment[];
29
+ }>>;
37
30
  updateCommentSeenFx: Effect<UpdateCommentSeenStatusProps, void>;
38
31
  sockets: {
39
32
  onCreate: import("effector").EventCallable<TeacherComment>;
@@ -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,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,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,qBAAa,oBAAoB;IAC/B,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAErC,eAAe;aAAsB,MAAM,EAAE;0BAAoB,MAAM;OAAK;IAC5E,SAAS,6CAAsD;IAE/D,WAAW,4CAAyB;IACpC,SAAS,yBAAmC;IAC5C,YAAY,4CAAyB;IACrC,UAAU,yBAAoC;IAE9C,2BAA2B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC,CAAA;IACzG,mBAAmB,EAAE,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO;;;MAGN;gBAEW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,yBAAyB;CA4IxD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.2.0-hotfix-circular-dependencies-chatbot",
3
+ "version": "0.2.0",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/commonjs/index.js",
@@ -17,17 +17,17 @@
17
17
  "release": "release-it"
18
18
  },
19
19
  "dependencies": {
20
+ "@magmamath/react-native-ui": "0.2.15",
20
21
  "effector": "^23.2.3",
21
22
  "effector-react": "^23.2.1"
22
23
  },
23
24
  "peerDependencies": {
24
25
  "react": "*",
25
26
  "react-native": "*",
26
- "react-native-svg": "^15.10.0",
27
- "@magmamath/react-native-ui": "*"
27
+ "react-native-svg": "^15.10.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@magmamath/react-native-ui": "0.3.0",
30
+ "@magmamath/react-native-ui": "0.2.15",
31
31
  "@react-native/eslint-config": "^0.73.1",
32
32
  "@release-it/conventional-changelog": "^9.0.2",
33
33
  "@types/jest": "^29.5.5",
@@ -1,14 +1,7 @@
1
1
  import React from 'react'
2
2
  import { ComponentType, PropsWithChildren } from 'react'
3
3
  import { ActivityIndicator, Pressable, StyleSheet, View } from 'react-native'
4
- import {
5
- Button,
6
- ButtonColor,
7
- ButtonSize,
8
- ButtonStates,
9
- ButtonVariant,
10
- COLORS,
11
- } from '@magmamath/react-native-ui'
4
+ import { Button } from '@magmamath/react-native-ui'
12
5
  import { useUnit } from 'effector-react'
13
6
  import { ChatbotModel } from '../../model/model'
14
7
  import { ChatbotIcon } from '../../../../shared/icons/ChatbotIcon'
@@ -56,24 +49,12 @@ export const ChatControls = ({
56
49
  <Button
57
50
  onPress={onPressClose}
58
51
  style={{
59
- button: styles.buttonClose,
60
- }}
61
- variant={ButtonVariant.PRIMARY}
62
- size={ButtonSize.LARGE}
63
- colorScheme={ButtonColor.GRAY}
64
- raiseLevel={5}
65
- customColorScheme={{
66
- [ButtonStates.DEFAULT]: {
52
+ container: styles.buttonClose,
53
+ button: {
67
54
  backgroundColor: '#FFF',
68
- borderColor: COLORS.NEUTRAL_5,
69
- raiseColor: COLORS.NEUTRAL_5,
70
- },
71
- [ButtonStates.PRESSED]: {
72
- backgroundColor: COLORS.NEUTRAL_4,
73
- borderColor: COLORS.NEUTRAL_5,
74
- raiseColor: COLORS.NEUTRAL_5,
75
55
  },
76
56
  }}
57
+ raiseLevel={5}
77
58
  >
78
59
  <CloseIcon />
79
60
  </Button>
@@ -103,10 +84,6 @@ const styles = StyleSheet.create({
103
84
  buttonClose: {
104
85
  width: 50,
105
86
  height: 50,
106
- borderRadius: 50,
107
- paddingHorizontal: 0,
108
- borderWidth: 1.5,
109
- borderColor: COLORS.NEUTRAL_5,
110
87
  },
111
88
  buttonTranslate: {
112
89
  alignItems: 'center',
@@ -61,19 +61,8 @@ export class ChatbotModel {
61
61
  .reset(this.resetAlternatives)
62
62
 
63
63
  // TODO: do not pass this, just what you need
64
- this.translation = new ChatbotTranslation({
65
- credits: this.credits,
66
- $alternatives: this.$alternatives,
67
- setAlternatives: this.setAlternatives,
68
- defaultMessages: this.defaultMessages,
69
- messages: this.messages,
70
- api: this.api,
71
- })
72
-
73
- this.t2s = new ChatTextToSpeech({
74
- $isOpen: this.$isOpen,
75
- api: this.api
76
- })
64
+ this.translation = new ChatbotTranslation(this)
65
+ this.t2s = new ChatTextToSpeech(this)
77
66
 
78
67
  this.sendHelpRequestFx = this.createSendHelpRequestFx()
79
68
  this.initChatReplyWatcher()
@@ -1,9 +1,10 @@
1
- import { restore, createEvent, StoreWritable } from 'effector'
1
+ import { ChatbotModel } from './model'
2
+ import { restore, createEvent } from 'effector'
2
3
  import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants'
3
4
  import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types'
4
- import { ChatbotAPI } from './api'
5
5
 
6
6
  export class ChatTextToSpeech {
7
+ private readonly model: ChatbotModel
7
8
  private readonly audioCache: Record<string, string> = {}
8
9
  private audioProvider: AudioProvider | null = null
9
10
 
@@ -12,17 +13,10 @@ export class ChatTextToSpeech {
12
13
  readonly setStatus = createEvent<AudioStatus>()
13
14
  readonly $status = restore(this.setStatus, AudioStatus.STOPPED)
14
15
 
15
- readonly $isOpen: StoreWritable<boolean>
16
- readonly api: ChatbotAPI
16
+ constructor(chatbotModel: ChatbotModel) {
17
+ this.model = chatbotModel
17
18
 
18
- constructor({
19
- $isOpen,
20
- api
21
- }: any) {
22
- this.$isOpen = $isOpen
23
- this.api = api
24
-
25
- this.$isOpen.updates.watch((isOpen) => {
19
+ this.model.$isOpen.updates.watch((isOpen) => {
26
20
  if (!isOpen) this.reset()
27
21
  })
28
22
  }
@@ -66,7 +60,7 @@ export class ChatTextToSpeech {
66
60
  this.setCurrentPlayingId(messageId)
67
61
 
68
62
  if (!audioPath) {
69
- const response = await this.api.textToSpeechTextFx({
63
+ const response = await this.model.api.textToSpeechTextFx({
70
64
  input: { text },
71
65
  voice: config?.voice ?? DEFAULT_VOICE,
72
66
  audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
@@ -1,16 +1,18 @@
1
- import { createEvent, restore, attach, createEffect, type Effect, sample, type Store } from 'effector'
1
+ import { createEvent, restore, attach, createEffect, type Effect, sample } from 'effector'
2
+ import { ChatbotModel } from './model'
2
3
 
3
4
  import {
4
5
  TranslateAlternativesFxProps,
5
6
  TranslateBatchFxProps,
6
7
  TranslateMessageFxProps,
7
8
  } from '../types/translation.types'
8
- import { ChatbotModelProps, ConversationMessage } from '../types/model.types'
9
+ import { ConversationMessage } from '../types/model.types'
9
10
  import { GetAlternativesResponse } from '../types/api.types'
10
11
  import { decodeHTMLEntities } from '../helpers'
11
- import { ChatbotAPI } from './api'
12
12
 
13
13
  export class ChatbotTranslation {
14
+ private readonly model: ChatbotModel
15
+
14
16
  readonly setIsTranslated = createEvent<boolean>()
15
17
  readonly $isTranslated = restore(this.setIsTranslated, false)
16
18
 
@@ -21,34 +23,14 @@ export class ChatbotTranslation {
21
23
  GetAlternativesResponse | null
22
24
  >
23
25
 
24
- readonly credits: ChatbotModelProps['credits']
25
- readonly $alternatives: Store<GetAlternativesResponse | null>
26
- readonly setAlternatives = createEvent<GetAlternativesResponse | null>()
27
- readonly defaultMessages: ChatbotModelProps['messages']
28
- readonly api: ChatbotAPI
29
- readonly messages: any
30
-
31
- constructor({
32
- credits,
33
- $alternatives,
34
- setAlternatives,
35
- defaultMessages,
36
- messages,
37
- api,
38
- }: any) {
39
- this.credits = credits
40
- this.$alternatives = $alternatives
41
- this.setAlternatives = setAlternatives
42
- this.defaultMessages = defaultMessages
43
- this.messages = messages
44
- this.api = api
45
-
46
- this.translateAlternativesFx = this.createTranslateAlternativesEffect()
47
- this.translateMessageFx = this.createTranslateMessageEffect()
48
- // @ts-ignore
49
- this.translateBatchFx = this.createTranslateBatchEffect()
50
-
51
- this.initTranslationSamples()
26
+ constructor(chatbotModel: ChatbotModel) {
27
+ this.model = chatbotModel
28
+
29
+ this.translateAlternativesFx = this.createTranslateAlternativesEffect()
30
+ this.translateMessageFx = this.createTranslateMessageEffect()
31
+ this.translateBatchFx = this.createTranslateBatchEffect()
32
+
33
+ this.initTranslationSamples()
52
34
  }
53
35
 
54
36
  private shouldSkipTranslation(messages: ConversationMessage[]) {
@@ -69,14 +51,14 @@ export class ChatbotTranslation {
69
51
  private initTranslationSamples() {
70
52
  sample({
71
53
  clock: this.translateBatchFx.doneData,
72
- source: [this.credits.$assignmentId, this.credits.$exerciseId] as const,
54
+ source: [this.model.credits.$assignmentId, this.model.credits.$exerciseId] as const,
73
55
  fn: ([assignmentId, exerciseId], translatedMessages) => ({
74
56
  assignmentId,
75
57
  exerciseId,
76
58
  translatedMessages,
77
59
  }),
78
60
  }).watch(({ assignmentId, exerciseId, translatedMessages }) => {
79
- this.messages.setField({
61
+ this.model.messages.setField({
80
62
  entityId: assignmentId,
81
63
  fieldId: exerciseId,
82
64
  messages: translatedMessages,
@@ -86,7 +68,7 @@ export class ChatbotTranslation {
86
68
 
87
69
  private createTranslateAlternativesEffect() {
88
70
  return attach({
89
- source: [this.$alternatives],
71
+ source: [this.model.$alternatives],
90
72
  mapParams: (params: TranslateAlternativesFxProps['params'], [alternatives]) => ({
91
73
  params,
92
74
  alternatives,
@@ -99,7 +81,7 @@ export class ChatbotTranslation {
99
81
 
100
82
  if (hintAlternatives.length) {
101
83
  const hintText = hintAlternatives.map(({ text }) => text)
102
- const response = await this.api.translateTextFx({
84
+ const response = await this.model.api.translateTextFx({
103
85
  text: hintText,
104
86
  targetLanguage: params.targetLanguage,
105
87
  })
@@ -118,7 +100,7 @@ export class ChatbotTranslation {
118
100
 
119
101
  if (defaultAlternatives.length) {
120
102
  const defaultText = defaultAlternatives.map(({ text }) => text)
121
- const response = await this.api.translateTextFx({
103
+ const response = await this.model.api.translateTextFx({
122
104
  text: defaultText,
123
105
  targetLanguage: params.targetLanguage,
124
106
  })
@@ -143,7 +125,7 @@ export class ChatbotTranslation {
143
125
  private createTranslateMessageEffect() {
144
126
  return createEffect(async ({ message, targetLanguage }: TranslateMessageFxProps) => {
145
127
  const optionsText = message.options.map(({ text }) => text)
146
- const response = await this.api.translateTextFx({
128
+ const response = await this.model.api.translateTextFx({
147
129
  text: [message.message, ...optionsText],
148
130
  targetLanguage,
149
131
  })
@@ -165,9 +147,8 @@ export class ChatbotTranslation {
165
147
 
166
148
  private createTranslateBatchEffect() {
167
149
  return attach({
168
- source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state],
169
- // @ts-ignore
170
- mapParams: (
150
+ source: [this.model.credits.$assignmentId, this.model.credits.$exerciseId, this.model.messages.$state],
151
+ mapParams: (
171
152
  params: TranslateBatchFxProps['params'],
172
153
  [assignmentId, exerciseId, messages],
173
154
  ) => ({
@@ -185,7 +166,7 @@ export class ChatbotTranslation {
185
166
  }
186
167
 
187
168
  const messagesText = currentMessages.map(({ message }) => message)
188
- const response = await this.api.translateTextFx({
169
+ const response = await this.model.api.translateTextFx({
189
170
  text: messagesText,
190
171
  targetLanguage: params.targetLanguage,
191
172
  })
@@ -195,12 +176,12 @@ export class ChatbotTranslation {
195
176
  ? await this.translateMessageOptions(lastMessage, params.targetLanguage)
196
177
  : undefined
197
178
 
198
- const errorMessageTranslationResponse = await this.api.translateTextFx({
199
- text: [this.defaultMessages.error.message],
179
+ const errorMessageTranslationResponse = await this.model.api.translateTextFx({
180
+ text: [this.model.defaultMessages.error.message],
200
181
  targetLanguage: params.targetLanguage,
201
182
  })
202
183
 
203
- this.defaultMessages.error.translatedMessage = decodeHTMLEntities(
184
+ this.model.defaultMessages.error.translatedMessage = decodeHTMLEntities(
204
185
  errorMessageTranslationResponse.data.translations[0].translatedText,
205
186
  )
206
187
 
@@ -228,12 +209,12 @@ export class ChatbotTranslation {
228
209
  private async translateMessageOptions(message: ConversationMessage, targetLanguage: string) {
229
210
  if (!message?.options?.length) {
230
211
  const translatedAlternatives = await this.translateAlternativesFx({ targetLanguage })
231
- this.setAlternatives(translatedAlternatives)
212
+ this.model.setAlternatives(translatedAlternatives)
232
213
  return
233
214
  }
234
215
 
235
216
  const optionsText = message.options.map(({ text }) => text)
236
- const response = await this.api.translateTextFx({
217
+ const response = await this.model.api.translateTextFx({
237
218
  text: optionsText,
238
219
  targetLanguage,
239
220
  })
@@ -23,7 +23,7 @@ const styles = StyleSheet.create({
23
23
  borderTopLeftRadius: 8,
24
24
  borderTopRightRadius: 8,
25
25
  borderBottomRightRadius: 8,
26
- shadowColor: COLORS.NEUTRAL_10,
26
+ shadowColor: COLORS.PRIMARY_SHADOW,
27
27
  shadowOffset: { width: 0, height: 1 },
28
28
  shadowOpacity: 0.25,
29
29
  shadowRadius: 3,
@@ -38,5 +38,6 @@ const styles = StyleSheet.create({
38
38
  fontWeight: '600',
39
39
  color: COLORS.NEUTRAL_7,
40
40
  padding: 8,
41
+ lineHeight: 20,
41
42
  },
42
43
  })
@@ -7,32 +7,29 @@ import { TeacherFeedbackModel } from '../model/teacherFeedback.model'
7
7
 
8
8
  type TeacherFeedbackProps = {
9
9
  model: TeacherFeedbackModel
10
- mode: 'regular' | 'simple'
11
10
  }
12
11
 
13
- export const TeacherFeedback = ({ model, mode }: TeacherFeedbackProps) => {
12
+ export const TeacherFeedback = ({ model }: TeacherFeedbackProps) => {
14
13
  const isOpen = useUnit(model.$isOpened)
15
- const assignmentId = useUnit(model.$assignmentId)
16
14
  const problemId = useUnit(model.$currentProblemId)
17
15
  const locale = useUnit(model.$locale)
18
16
  const isLoading = useUnit(model.getCommentsByAssignmentIdFx.pending)
19
17
  const teacherFeedback = useStoreMap({
20
18
  store: model.$comments,
21
- fn: (feedback, [assignmentId, problemId]) => feedback.get(assignmentId)?.[problemId] ?? null,
22
- keys: [assignmentId, problemId],
19
+ fn: (feedback, [problemId]) => feedback.get(problemId) ?? null,
20
+ keys: [problemId],
23
21
  })
24
22
 
25
23
  if (!problemId || !teacherFeedback) return null
26
24
 
27
25
  return (
28
26
  <View style={styles.container}>
29
- {isOpen && <TeacherFeedbackComments comments={teacherFeedback.comments} locale={locale} mode={mode} />}
27
+ {isOpen && <TeacherFeedbackComments comments={teacherFeedback.comments} locale={locale} />}
30
28
  <TeacherFeedbackButton
31
29
  onPress={() => model.setIsOpened(!isOpen)}
32
30
  unreadCommentsCount={teacherFeedback.unreadMessagesCount}
33
31
  isOpen={isOpen}
34
32
  isLoading={isLoading}
35
- size={mode === 'regular' ? 'small' : 'large'}
36
33
  />
37
34
  </View>
38
35
  )