@magmamath/students-features 0.2.0 → 0.2.2

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 (94) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +21 -5
  2. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  3. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js +1 -1
  4. package/dist/commonjs/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -1
  5. package/dist/commonjs/features/feedback/components/TeacherFeedback.js +12 -5
  6. package/dist/commonjs/features/feedback/components/TeacherFeedback.js.map +1 -1
  7. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +63 -15
  8. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
  9. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.js +17 -0
  10. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.js.map +1 -1
  11. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +7 -3
  12. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
  13. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +16 -5
  14. package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
  15. package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js +3 -2
  16. package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
  17. package/dist/commonjs/features/feedback/constants.js +17 -1
  18. package/dist/commonjs/features/feedback/constants.js.map +1 -1
  19. package/dist/commonjs/features/feedback/index.js +11 -0
  20. package/dist/commonjs/features/feedback/index.js.map +1 -1
  21. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js +102 -34
  22. package/dist/commonjs/features/feedback/model/teacherFeedback.model.js.map +1 -1
  23. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +22 -6
  24. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  25. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js +1 -1
  26. package/dist/module/features/feedback/components/EmptyComment/EmptyComment.js.map +1 -1
  27. package/dist/module/features/feedback/components/TeacherFeedback.js +12 -5
  28. package/dist/module/features/feedback/components/TeacherFeedback.js.map +1 -1
  29. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js +63 -15
  30. package/dist/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.js.map +1 -1
  31. package/dist/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.js +17 -0
  32. package/dist/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.js.map +1 -1
  33. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +8 -4
  34. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
  35. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js +17 -6
  36. package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.js.map +1 -1
  37. package/dist/module/features/feedback/components/UnreadMessagesBadge.js +3 -2
  38. package/dist/module/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
  39. package/dist/module/features/feedback/constants.js +16 -0
  40. package/dist/module/features/feedback/constants.js.map +1 -1
  41. package/dist/module/features/feedback/index.js +1 -0
  42. package/dist/module/features/feedback/index.js.map +1 -1
  43. package/dist/module/features/feedback/model/teacherFeedback.model.js +102 -34
  44. package/dist/module/features/feedback/model/teacherFeedback.model.js.map +1 -1
  45. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  46. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts +4 -1
  47. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
  48. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +4 -1
  49. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
  50. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts +17 -0
  51. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts.map +1 -1
  52. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -1
  53. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
  54. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +3 -1
  55. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
  56. package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts +3 -2
  57. package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
  58. package/dist/typescript/commonjs/features/feedback/constants.d.ts +13 -0
  59. package/dist/typescript/commonjs/features/feedback/constants.d.ts.map +1 -1
  60. package/dist/typescript/commonjs/features/feedback/index.d.ts +1 -0
  61. package/dist/typescript/commonjs/features/feedback/index.d.ts.map +1 -1
  62. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts +11 -4
  63. package/dist/typescript/commonjs/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
  64. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  65. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts +4 -1
  66. package/dist/typescript/module/features/feedback/components/TeacherFeedback.d.ts.map +1 -1
  67. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts +4 -1
  68. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.d.ts.map +1 -1
  69. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts +17 -0
  70. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts.map +1 -1
  71. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts +2 -1
  72. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
  73. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts +3 -1
  74. package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.d.ts.map +1 -1
  75. package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts +3 -2
  76. package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
  77. package/dist/typescript/module/features/feedback/constants.d.ts +13 -0
  78. package/dist/typescript/module/features/feedback/constants.d.ts.map +1 -1
  79. package/dist/typescript/module/features/feedback/index.d.ts +1 -0
  80. package/dist/typescript/module/features/feedback/index.d.ts.map +1 -1
  81. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts +11 -4
  82. package/dist/typescript/module/features/feedback/model/teacherFeedback.model.d.ts.map +1 -1
  83. package/package.json +4 -4
  84. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +27 -4
  85. package/src/features/feedback/components/EmptyComment/EmptyComment.tsx +1 -1
  86. package/src/features/feedback/components/TeacherFeedback.tsx +10 -4
  87. package/src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx +88 -16
  88. package/src/features/feedback/components/TeacherFeedbackButton/colorSchemes.ts +17 -0
  89. package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +6 -5
  90. package/src/features/feedback/components/TeacherFeedbackComments/TeacherFeedbackComments.tsx +24 -4
  91. package/src/features/feedback/components/UnreadMessagesBadge.tsx +4 -3
  92. package/src/features/feedback/constants.ts +17 -0
  93. package/src/features/feedback/index.ts +1 -0
  94. package/src/features/feedback/model/teacherFeedback.model.ts +109 -36
@@ -16,4 +16,17 @@ 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
+ export declare enum FeedbackButtonColors {
21
+ BLUE = "BLUE",
22
+ PURPLE = "PURPLE"
23
+ }
24
+ export declare enum FeedbackButtonSize {
25
+ SMALL = "SMALL",
26
+ LARGE = "LARGE"
27
+ }
28
+ export declare enum FeedbackMode {
29
+ SIMPLE = "SIMPLE",
30
+ NORMAL = "NORMAL"
31
+ }
19
32
  //# 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"}
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;AAEjE,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -1,4 +1,5 @@
1
1
  export * from './model/teacherFeedback.model';
2
2
  export * from './types/teacherFeedback.types';
3
+ export * from './constants';
3
4
  export * from './components';
4
5
  //# 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,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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -2,6 +2,7 @@ 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>;
5
6
  problemId: StoreWritable<string>;
6
7
  locale: StoreWritable<Locale | null>;
7
8
  };
@@ -12,21 +13,27 @@ type TeacherFeedbackModelProps = {
12
13
  updateCommentSeenStatus: (props: UpdateCommentSeenStatusProps) => Promise<void>;
13
14
  };
14
15
  };
16
+ type CommentsMap = Map<string, Record<string, CommentsEntity>>;
15
17
  export declare class TeacherFeedbackModel {
18
+ $assignmentId: StoreWritable<string>;
16
19
  $currentProblemId: StoreWritable<string>;
17
20
  $locale: StoreWritable<Locale | null>;
18
21
  setCommentsSeen: import("effector").EventCallable<{
19
22
  ids: string[];
20
23
  currentProblemId: string;
24
+ assignmentId: string;
21
25
  }>;
22
- $comments: StoreWritable<Map<string, CommentsEntity>>;
26
+ $comments: StoreWritable<CommentsMap>;
23
27
  setIsOpened: import("effector").EventCallable<boolean>;
24
28
  $isOpened: StoreWritable<boolean>;
25
29
  setIsVisible: import("effector").EventCallable<boolean>;
26
30
  $isVisible: StoreWritable<boolean>;
27
- getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, Record<string, {
28
- comments: TeacherComment[];
29
- }>>;
31
+ getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, {
32
+ data: Record<string, {
33
+ comments: TeacherComment[];
34
+ }>;
35
+ assignmentId: string;
36
+ }>;
30
37
  updateCommentSeenFx: Effect<UpdateCommentSeenStatusProps, void>;
31
38
  sockets: {
32
39
  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,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"}
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 +1 @@
1
- {"version":3,"file":"ChatControls.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatControls/ChatControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAChD,CAAA;AAED,eAAO,MAAM,YAAY,qGAOtB,iBAAiB,sBA+CnB,CAAA"}
1
+ {"version":3,"file":"ChatControls.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatControls/ChatControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAWxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAChD,CAAA;AAED,eAAO,MAAM,YAAY,qGAOtB,iBAAiB,sBA2DnB,CAAA"}
@@ -1,8 +1,11 @@
1
1
  import React from 'react';
2
2
  import { TeacherFeedbackModel } from '../model/teacherFeedback.model';
3
+ import { FeedbackMode } from '../constants';
3
4
  type TeacherFeedbackProps = {
4
5
  model: TeacherFeedbackModel;
6
+ mode: FeedbackMode;
7
+ isExam: boolean;
5
8
  };
6
- export declare const TeacherFeedback: ({ model }: TeacherFeedbackProps) => React.JSX.Element | null;
9
+ export declare const TeacherFeedback: ({ model, mode, isExam }: TeacherFeedbackProps) => React.JSX.Element | null;
7
10
  export {};
8
11
  //# 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;CAC5B,CAAA;AAED,eAAO,MAAM,eAAe,cAAe,oBAAoB,6BAwB9D,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;AACrE,OAAO,EAA4C,YAAY,EAAE,MAAM,cAAc,CAAA;AAErF,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,eAAe,4BAAqC,oBAAoB,6BA2BpF,CAAA"}
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
+ import { FeedbackButtonColors, FeedbackButtonSize } from '../../constants';
2
3
  type TeacherFeedbackButtonProps = {
3
4
  isOpen: boolean;
4
5
  isLoading: boolean;
5
6
  onPress?: () => void;
6
7
  unreadCommentsCount?: number;
8
+ size?: FeedbackButtonSize;
9
+ color?: FeedbackButtonColors;
7
10
  };
8
- export declare const TeacherFeedbackButton: ({ isOpen, onPress, unreadCommentsCount, isLoading, }: TeacherFeedbackButtonProps) => React.JSX.Element;
11
+ export declare const TeacherFeedbackButton: ({ isOpen, onPress, unreadCommentsCount, isLoading, size, color, }: TeacherFeedbackButtonProps) => React.JSX.Element;
9
12
  export {};
10
13
  //# 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;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"}
1
+ {"version":3,"file":"TeacherFeedbackButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackButton/TeacherFeedbackButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAEnB,MAAM,iBAAiB,CAAA;AAOxB,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,kBAAkB,CAAA;IACzB,KAAK,CAAC,EAAE,oBAAoB,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,qBAAqB,sEAO/B,0BAA0B,sBAuE5B,CAAA"}
@@ -1,4 +1,21 @@
1
1
  export declare const COLOR_SCHEMES: {
2
+ PURPLE: {
3
+ 1: {
4
+ borderColor: "#7853c6";
5
+ raiseColor: "#7853c6";
6
+ backgroundColor: "#976fe6";
7
+ };
8
+ 2: {
9
+ borderColor: "#7853c6";
10
+ raiseColor: "#7853c6";
11
+ backgroundColor: "#976fe6";
12
+ };
13
+ 0: {
14
+ borderColor: "#7853c6";
15
+ raiseColor: "#7853c6";
16
+ backgroundColor: "#976fe6";
17
+ };
18
+ };
2
19
  BLUE: {
3
20
  1: {
4
21
  borderColor: "#2488bb";
@@ -1 +1 @@
1
- {"version":3,"file":"colorSchemes.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackButton/colorSchemes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCzB,CAAA"}
1
+ {"version":3,"file":"colorSchemes.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/feedback/components/TeacherFeedbackButton/colorSchemes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDzB,CAAA"}
@@ -5,7 +5,8 @@ type TeacherCommentProps = {
5
5
  teacherName: string;
6
6
  createdAt: Date;
7
7
  locale: Locale | null;
8
+ isLastComment: boolean;
8
9
  };
9
- export declare const TeacherComment: ({ content, teacherName, createdAt, locale }: TeacherCommentProps) => React.JSX.Element;
10
+ export declare const TeacherComment: ({ content, teacherName, createdAt, locale, isLastComment }: TeacherCommentProps) => React.JSX.Element;
10
11
  export {};
11
12
  //# 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;CACtB,CAAA;AAED,eAAO,MAAM,cAAc,gDAAiD,mBAAmB,sBAkB9F,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;IACrB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,cAAc,+DAAgE,mBAAmB,sBAkB7G,CAAA"}
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { Locale, TeacherComment as FeedbackComment } from '../../types/teacherFeedback.types';
3
+ import { FeedbackMode } from '../../constants';
3
4
  type TeacherFeedbackCommentsProps = {
4
5
  comments: FeedbackComment[] | null;
5
6
  locale: Locale | null;
7
+ mode: FeedbackMode;
6
8
  };
7
- export declare const TeacherFeedbackComments: ({ comments, locale }: TeacherFeedbackCommentsProps) => React.JSX.Element | null;
9
+ export declare const TeacherFeedbackComments: ({ comments, locale, mode, }: TeacherFeedbackCommentsProps) => React.JSX.Element | null;
8
10
  export {};
9
11
  //# 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;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
+ {"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;AAG7F,OAAO,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAOhE,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,YAAY,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,gCAIjC,4BAA4B,6BAyC9B,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import { StyleProp, ViewStyle } from 'react-native';
2
+ import { StyleProp, ViewStyle, TextStyle } from 'react-native';
3
3
  type UnreadMessagesBadgeProps = {
4
4
  badgeContent?: number;
5
5
  withBorder?: boolean;
6
6
  style?: StyleProp<ViewStyle>;
7
+ textStyle?: StyleProp<TextStyle>;
7
8
  };
8
- export declare const UnreadMessagesBadge: ({ badgeContent, withBorder, style }: UnreadMessagesBadgeProps) => React.JSX.Element;
9
+ export declare const UnreadMessagesBadge: ({ badgeContent, withBorder, style, textStyle }: UnreadMessagesBadgeProps) => React.JSX.Element;
9
10
  export {};
10
11
  //# 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,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"}
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"}
@@ -16,4 +16,17 @@ 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
+ export declare enum FeedbackButtonColors {
21
+ BLUE = "BLUE",
22
+ PURPLE = "PURPLE"
23
+ }
24
+ export declare enum FeedbackButtonSize {
25
+ SMALL = "SMALL",
26
+ LARGE = "LARGE"
27
+ }
28
+ export declare enum FeedbackMode {
29
+ SIMPLE = "SIMPLE",
30
+ NORMAL = "NORMAL"
31
+ }
19
32
  //# 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"}
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;AAEjE,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB"}
@@ -1,4 +1,5 @@
1
1
  export * from './model/teacherFeedback.model';
2
2
  export * from './types/teacherFeedback.types';
3
+ export * from './constants';
3
4
  export * from './components';
4
5
  //# 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,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,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -2,6 +2,7 @@ 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>;
5
6
  problemId: StoreWritable<string>;
6
7
  locale: StoreWritable<Locale | null>;
7
8
  };
@@ -12,21 +13,27 @@ type TeacherFeedbackModelProps = {
12
13
  updateCommentSeenStatus: (props: UpdateCommentSeenStatusProps) => Promise<void>;
13
14
  };
14
15
  };
16
+ type CommentsMap = Map<string, Record<string, CommentsEntity>>;
15
17
  export declare class TeacherFeedbackModel {
18
+ $assignmentId: StoreWritable<string>;
16
19
  $currentProblemId: StoreWritable<string>;
17
20
  $locale: StoreWritable<Locale | null>;
18
21
  setCommentsSeen: import("effector").EventCallable<{
19
22
  ids: string[];
20
23
  currentProblemId: string;
24
+ assignmentId: string;
21
25
  }>;
22
- $comments: StoreWritable<Map<string, CommentsEntity>>;
26
+ $comments: StoreWritable<CommentsMap>;
23
27
  setIsOpened: import("effector").EventCallable<boolean>;
24
28
  $isOpened: StoreWritable<boolean>;
25
29
  setIsVisible: import("effector").EventCallable<boolean>;
26
30
  $isVisible: StoreWritable<boolean>;
27
- getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, Record<string, {
28
- comments: TeacherComment[];
29
- }>>;
31
+ getCommentsByAssignmentIdFx: Effect<GetCommentsByIdProps, {
32
+ data: Record<string, {
33
+ comments: TeacherComment[];
34
+ }>;
35
+ assignmentId: string;
36
+ }>;
30
37
  updateCommentSeenFx: Effect<UpdateCommentSeenStatusProps, void>;
31
38
  sockets: {
32
39
  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,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
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",
21
20
  "effector": "^23.2.3",
22
21
  "effector-react": "^23.2.1"
23
22
  },
24
23
  "peerDependencies": {
25
24
  "react": "*",
26
25
  "react-native": "*",
27
- "react-native-svg": "^15.10.0"
26
+ "react-native-svg": "^15.10.0",
27
+ "@magmamath/react-native-ui": "*"
28
28
  },
29
29
  "devDependencies": {
30
- "@magmamath/react-native-ui": "0.2.15",
30
+ "@magmamath/react-native-ui": "0.3.0",
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,7 +1,14 @@
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 { Button } from '@magmamath/react-native-ui'
4
+ import {
5
+ Button,
6
+ ButtonColor,
7
+ ButtonSize,
8
+ ButtonStates,
9
+ ButtonVariant,
10
+ COLORS,
11
+ } from '@magmamath/react-native-ui'
5
12
  import { useUnit } from 'effector-react'
6
13
  import { ChatbotModel } from '../../model/model'
7
14
  import { ChatbotIcon } from '../../../../shared/icons/ChatbotIcon'
@@ -49,12 +56,24 @@ export const ChatControls = ({
49
56
  <Button
50
57
  onPress={onPressClose}
51
58
  style={{
52
- container: styles.buttonClose,
53
- button: {
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]: {
54
67
  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,
55
75
  },
56
76
  }}
57
- raiseLevel={5}
58
77
  >
59
78
  <CloseIcon />
60
79
  </Button>
@@ -84,6 +103,10 @@ const styles = StyleSheet.create({
84
103
  buttonClose: {
85
104
  width: 50,
86
105
  height: 50,
106
+ borderRadius: 50,
107
+ paddingHorizontal: 0,
108
+ borderWidth: 1.5,
109
+ borderColor: COLORS.NEUTRAL_5,
87
110
  },
88
111
  buttonTranslate: {
89
112
  alignItems: 'center',
@@ -23,7 +23,7 @@ const styles = StyleSheet.create({
23
23
  borderTopLeftRadius: 8,
24
24
  borderTopRightRadius: 8,
25
25
  borderBottomRightRadius: 8,
26
- shadowColor: COLORS.PRIMARY_SHADOW,
26
+ shadowColor: COLORS.NEUTRAL_10,
27
27
  shadowOffset: { width: 0, height: 1 },
28
28
  shadowOpacity: 0.25,
29
29
  shadowRadius: 3,
@@ -4,32 +4,38 @@ import { View, StyleSheet } from 'react-native'
4
4
  import { TeacherFeedbackButton } from './TeacherFeedbackButton/TeacherFeedbackButton'
5
5
  import { TeacherFeedbackComments } from './TeacherFeedbackComments/TeacherFeedbackComments'
6
6
  import { TeacherFeedbackModel } from '../model/teacherFeedback.model'
7
+ import { FeedbackButtonColors, FeedbackButtonSize, FeedbackMode } from '../constants'
7
8
 
8
9
  type TeacherFeedbackProps = {
9
10
  model: TeacherFeedbackModel
11
+ mode: FeedbackMode
12
+ isExam: boolean
10
13
  }
11
14
 
12
- export const TeacherFeedback = ({ model }: TeacherFeedbackProps) => {
15
+ export const TeacherFeedback = ({ model, mode, isExam = false }: TeacherFeedbackProps) => {
13
16
  const isOpen = useUnit(model.$isOpened)
17
+ const assignmentId = useUnit(model.$assignmentId)
14
18
  const problemId = useUnit(model.$currentProblemId)
15
19
  const locale = useUnit(model.$locale)
16
20
  const isLoading = useUnit(model.getCommentsByAssignmentIdFx.pending)
17
21
  const teacherFeedback = useStoreMap({
18
22
  store: model.$comments,
19
- fn: (feedback, [problemId]) => feedback.get(problemId) ?? null,
20
- keys: [problemId],
23
+ fn: (feedback, [assignmentId, problemId]) => feedback.get(assignmentId)?.[problemId] ?? null,
24
+ keys: [assignmentId, problemId],
21
25
  })
22
26
 
23
27
  if (!problemId || !teacherFeedback) return null
24
28
 
25
29
  return (
26
30
  <View style={styles.container}>
27
- {isOpen && <TeacherFeedbackComments comments={teacherFeedback.comments} locale={locale} />}
31
+ {isOpen && <TeacherFeedbackComments comments={teacherFeedback.comments} locale={locale} mode={mode} />}
28
32
  <TeacherFeedbackButton
29
33
  onPress={() => model.setIsOpened(!isOpen)}
30
34
  unreadCommentsCount={teacherFeedback.unreadMessagesCount}
31
35
  isOpen={isOpen}
32
36
  isLoading={isLoading}
37
+ size={mode === FeedbackMode.NORMAL ? FeedbackButtonSize.SMALL : FeedbackButtonSize.LARGE}
38
+ color={isExam ? FeedbackButtonColors.PURPLE : FeedbackButtonColors.BLUE}
33
39
  />
34
40
  </View>
35
41
  )
@@ -5,12 +5,24 @@ import { UnreadMessagesBadge } from '../UnreadMessagesBadge'
5
5
  import { MessageBubbleIcon } from '../icons/MessageBubbleIcon'
6
6
  import { XCloseIcon } from '../icons/XCloseIcon'
7
7
  import { COLOR_SCHEMES } from './colorSchemes'
8
+ import {
9
+ FeedbackButtonColors,
10
+ FeedbackButtonSize,
11
+ TEACHER_FEEDBACK_BUTTON_ID,
12
+ } from '../../constants'
13
+
14
+ const ICON_SIZES = {
15
+ [FeedbackButtonSize.LARGE]: 37,
16
+ [FeedbackButtonSize.SMALL]: 26,
17
+ }
8
18
 
9
19
  type TeacherFeedbackButtonProps = {
10
20
  isOpen: boolean
11
21
  isLoading: boolean
12
22
  onPress?: () => void
13
23
  unreadCommentsCount?: number
24
+ size?: FeedbackButtonSize
25
+ color?: FeedbackButtonColors
14
26
  }
15
27
 
16
28
  export const TeacherFeedbackButton = ({
@@ -18,45 +30,73 @@ export const TeacherFeedbackButton = ({
18
30
  onPress,
19
31
  unreadCommentsCount,
20
32
  isLoading,
33
+ size = FeedbackButtonSize.LARGE,
34
+ color = FeedbackButtonColors.BLUE,
21
35
  }: TeacherFeedbackButtonProps) => {
36
+ const isLarge = size === FeedbackButtonSize.LARGE
37
+ const isPurpleColor = color === FeedbackButtonColors.PURPLE
38
+
22
39
  if (isOpen) {
23
40
  return (
24
41
  <Button
25
- key='open'
42
+ id={TEACHER_FEEDBACK_BUTTON_ID}
26
43
  onPress={onPress}
27
- size='large'
28
- variant='primary'
44
+ size="large"
45
+ variant="primary"
29
46
  disabled={isLoading}
30
47
  isLoading={isLoading}
31
48
  style={{
32
- container: styles.container,
33
- button: [styles.button, { borderColor: COLORS.NEUTRAL_5 }],
49
+ container: isLarge ? styles.containerLarge : styles.container,
50
+ button: [styles.button, { borderColor: COLORS.NEUTRAL_5 }, styles[size]],
34
51
  }}
35
52
  customColorScheme={COLOR_SCHEMES.GREY}
36
- icon={<XCloseIcon />}
53
+ icon={<XCloseIcon size={ICON_SIZES[size]} />}
37
54
  />
38
55
  )
39
56
  }
40
57
 
41
58
  return (
42
59
  <Button
43
- key='closed'
60
+ id={TEACHER_FEEDBACK_BUTTON_ID}
44
61
  onPress={onPress}
45
- size='large'
46
- variant='primary'
62
+ size="large"
63
+ variant="primary"
47
64
  disabled={isLoading}
48
65
  isLoading={isLoading}
49
66
  style={{
50
- container: styles.container,
51
- button: [styles.button, { borderColor: !!unreadCommentsCount ? COLORS.BLUE_6 : COLORS.NEUTRAL_5 }],
67
+ container: isLarge ? styles.containerLarge : styles.container,
68
+ button: [
69
+ styles.button,
70
+ {
71
+ borderColor: !!unreadCommentsCount
72
+ ? isPurpleColor
73
+ ? COLORS.PURPLE_6
74
+ : COLORS.BLUE_6
75
+ : COLORS.NEUTRAL_5,
76
+ },
77
+ styles[size],
78
+ ],
52
79
  }}
53
- customColorScheme={!!unreadCommentsCount ? COLOR_SCHEMES.BLUE : COLOR_SCHEMES.GREY}
80
+ customColorScheme={
81
+ !!unreadCommentsCount
82
+ ? isPurpleColor
83
+ ? COLOR_SCHEMES.PURPLE
84
+ : COLOR_SCHEMES.BLUE
85
+ : COLOR_SCHEMES.GREY
86
+ }
54
87
  icon={
55
88
  <View style={styles.iconContainer}>
56
- <MessageBubbleIcon color={!!unreadCommentsCount ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_9} />
89
+ <MessageBubbleIcon
90
+ color={!!unreadCommentsCount ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_9}
91
+ size={ICON_SIZES[size]}
92
+ />
57
93
  {!!unreadCommentsCount && (
58
- <View style={styles.badgeContainer}>
59
- <UnreadMessagesBadge badgeContent={unreadCommentsCount} />
94
+ <View style={isLarge ? styles.badgeContainerLarge : styles.badgeContainer}>
95
+ <UnreadMessagesBadge
96
+ badgeContent={unreadCommentsCount}
97
+ textStyle={isLarge && styles.textLarge}
98
+ style={isLarge && styles.badgeLarge}
99
+ />
60
100
  </View>
61
101
  )}
62
102
  </View>
@@ -70,17 +110,49 @@ const styles = StyleSheet.create({
70
110
  width: 54,
71
111
  height: 54,
72
112
  },
73
- button: {
113
+ containerLarge: {
114
+ width: 80,
115
+ height: 80,
116
+ },
117
+ [FeedbackButtonSize.SMALL]: {
74
118
  width: 50,
75
119
  height: 50,
120
+ },
121
+ [FeedbackButtonSize.LARGE]: {
122
+ width: 75,
123
+ height: 75,
124
+ },
125
+ button: {
126
+ borderWidth: 2,
127
+ },
128
+ buttonLarge: {
129
+ width: 75,
130
+ height: 75,
76
131
  borderWidth: 2,
77
132
  },
78
133
  iconContainer: {
79
134
  position: 'relative',
80
135
  },
136
+ badgeContainerLarge: {
137
+ position: 'absolute',
138
+ top: -24,
139
+ right: -24,
140
+ },
81
141
  badgeContainer: {
82
142
  position: 'absolute',
83
143
  top: -17,
84
144
  right: -17,
85
145
  },
146
+ textLarge: {
147
+ fontSize: 18,
148
+ lineHeight: 0,
149
+ textAlign: 'center',
150
+ alignItems: 'center',
151
+ justifyContent: 'center',
152
+ },
153
+ badgeLarge: {
154
+ width: 32,
155
+ height: 32,
156
+ borderRadius: 16,
157
+ },
86
158
  })
@@ -1,6 +1,23 @@
1
1
  import { ButtonStates, COLORS } from '@magmamath/react-native-ui'
2
2
 
3
3
  export const COLOR_SCHEMES = {
4
+ PURPLE: {
5
+ [ButtonStates.DEFAULT]: {
6
+ borderColor: COLORS.PURPLE_6,
7
+ raiseColor: COLORS.PURPLE_6,
8
+ backgroundColor: COLORS.PRIMARY_PURPLE,
9
+ },
10
+ [ButtonStates.PRESSED]: {
11
+ borderColor: COLORS.PURPLE_6,
12
+ raiseColor: COLORS.PURPLE_6,
13
+ backgroundColor: COLORS.PRIMARY_PURPLE,
14
+ },
15
+ [ButtonStates.HOVER]: {
16
+ borderColor: COLORS.PURPLE_6,
17
+ raiseColor: COLORS.PURPLE_6,
18
+ backgroundColor: COLORS.PRIMARY_PURPLE,
19
+ },
20
+ },
4
21
  BLUE: {
5
22
  [ButtonStates.DEFAULT]: {
6
23
  borderColor: COLORS.BLUE_6,