@magmamath/students-features 1.8.7 → 1.8.9-rc.1

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 (38) hide show
  1. package/dist/commonjs/features/assignmentCard/assignmentCard.helpers.js +27 -0
  2. package/dist/commonjs/features/assignmentCard/assignmentCard.helpers.js.map +1 -0
  3. package/dist/commonjs/features/assignmentCard/index.js +17 -0
  4. package/dist/commonjs/features/assignmentCard/index.js.map +1 -0
  5. package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js +13 -28
  6. package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js.map +1 -1
  7. package/dist/commonjs/index.js +12 -0
  8. package/dist/commonjs/index.js.map +1 -1
  9. package/dist/module/features/assignmentCard/assignmentCard.helpers.js +21 -0
  10. package/dist/module/features/assignmentCard/assignmentCard.helpers.js.map +1 -0
  11. package/dist/module/features/assignmentCard/index.js +4 -0
  12. package/dist/module/features/assignmentCard/index.js.map +1 -0
  13. package/dist/module/features/feedback/components/ListCardCommentsCount.js +15 -30
  14. package/dist/module/features/feedback/components/ListCardCommentsCount.js.map +1 -1
  15. package/dist/module/index.js +1 -0
  16. package/dist/module/index.js.map +1 -1
  17. package/dist/typescript/commonjs/features/assignmentCard/assignmentCard.helpers.d.ts +15 -0
  18. package/dist/typescript/commonjs/features/assignmentCard/assignmentCard.helpers.d.ts.map +1 -0
  19. package/dist/typescript/commonjs/features/assignmentCard/index.d.ts +2 -0
  20. package/dist/typescript/commonjs/features/assignmentCard/index.d.ts.map +1 -0
  21. package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount.d.ts +7 -1
  22. package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -1
  23. package/dist/typescript/commonjs/index.d.ts +1 -0
  24. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  25. package/dist/typescript/module/features/assignmentCard/assignmentCard.helpers.d.ts +15 -0
  26. package/dist/typescript/module/features/assignmentCard/assignmentCard.helpers.d.ts.map +1 -0
  27. package/dist/typescript/module/features/assignmentCard/index.d.ts +2 -0
  28. package/dist/typescript/module/features/assignmentCard/index.d.ts.map +1 -0
  29. package/dist/typescript/module/features/feedback/components/ListCardCommentsCount.d.ts +7 -1
  30. package/dist/typescript/module/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -1
  31. package/dist/typescript/module/index.d.ts +1 -0
  32. package/dist/typescript/module/index.d.ts.map +1 -1
  33. package/package.json +2 -2
  34. package/src/features/assignmentCard/assignmentCard.helpers.ts +24 -0
  35. package/src/features/assignmentCard/index.ts +1 -0
  36. package/src/features/feedback/components/ListCardCommentsCount.tsx +29 -24
  37. package/src/i18n/.generated/schema.json +1 -0
  38. package/src/index.ts +1 -0
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hasMultipleTeachers = exports.formatTeacherShortName = void 0;
7
+ /**
8
+ * The teacher name is only shown on the card when a class is taught by more
9
+ * than one teacher, so a student can tell who assigned the work.
10
+ */
11
+ const hasMultipleTeachers = teachers => (teachers?.length ?? 0) > 1;
12
+
13
+ /**
14
+ * Formats a teacher as a first-name initial + last name, e.g. "J. Hammar".
15
+ * Falls back to whichever part is present.
16
+ */
17
+ exports.hasMultipleTeachers = hasMultipleTeachers;
18
+ const formatTeacherShortName = teacher => {
19
+ if (!teacher) return '';
20
+ const initial = teacher.firstName?.trim().charAt(0);
21
+ const lastName = teacher.lastName?.trim() ?? '';
22
+ if (!initial) return lastName;
23
+ if (!lastName) return `${initial}.`;
24
+ return `${initial}. ${lastName}`;
25
+ };
26
+ exports.formatTeacherShortName = formatTeacherShortName;
27
+ //# sourceMappingURL=assignmentCard.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hasMultipleTeachers","teachers","length","exports","formatTeacherShortName","teacher","initial","firstName","trim","charAt","lastName"],"sourceRoot":"../../../../src","sources":["features/assignmentCard/assignmentCard.helpers.ts"],"mappings":";;;;;;AAKA;AACA;AACA;AACA;AACO,MAAMA,mBAAmB,GAAIC,QAAmB,IACrD,CAACA,QAAQ,EAAEC,MAAM,IAAI,CAAC,IAAI,CAAC;;AAE7B;AACA;AACA;AACA;AAHAC,OAAA,CAAAH,mBAAA,GAAAA,mBAAA;AAIO,MAAMI,sBAAsB,GAAIC,OAA+B,IAAa;EACjF,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,MAAMC,OAAO,GAAGD,OAAO,CAACE,SAAS,EAAEC,IAAI,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;EACnD,MAAMC,QAAQ,GAAGL,OAAO,CAACK,QAAQ,EAAEF,IAAI,CAAC,CAAC,IAAI,EAAE;EAC/C,IAAI,CAACF,OAAO,EAAE,OAAOI,QAAQ;EAC7B,IAAI,CAACA,QAAQ,EAAE,OAAO,GAAGJ,OAAO,GAAG;EACnC,OAAO,GAAGA,OAAO,KAAKI,QAAQ,EAAE;AAClC,CAAC;AAAAP,OAAA,CAAAC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _assignmentCardHelpers = require("./assignmentCard.helpers.js");
7
+ Object.keys(_assignmentCardHelpers).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _assignmentCardHelpers[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _assignmentCardHelpers[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_assignmentCardHelpers","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../../src","sources":["features/assignmentCard/index.ts"],"mappings":";;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,sBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -5,41 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ListCardCommentsCount = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _reactNative = require("react-native");
9
- var _MessageBubbleIcon = require("../../../shared/icons/MessageBubbleIcon.js");
10
8
  var _reactNativeUi = require("@magmamath/react-native-ui");
11
- var _constants = require("../constants.js");
12
9
  var _studentsQa = require("@magmamath/students-qa");
13
10
  var _jsxRuntime = require("react/jsx-runtime");
14
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const ICON_SIZE = 20;
15
13
  const ListCardCommentsCount = ({
16
- count
14
+ count,
15
+ hasUnseen = count > 0
17
16
  }) => {
18
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
19
- style: styles.container,
20
- testID: _studentsQa.TEST_IDS.EXERCISE_CARD_COMMENTS_COUNT,
21
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageBubbleIcon.MessageBubbleIcon, {
22
- size: 23,
23
- color: _reactNativeUi.COLORS.NEUTRAL_7
24
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
25
- style: styles.text,
26
- children: count
27
- })]
17
+ const variant = hasUnseen ? _reactNativeUi.NotificationBubbleVariant.ALERT : _reactNativeUi.NotificationBubbleVariant.NEUTRAL;
18
+ const iconColor = hasUnseen ? _reactNativeUi.COLORS.NEUTRAL_1 : _reactNativeUi.COLORS.NEUTRAL_9;
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.NotificationBubble, {
20
+ count: count,
21
+ variant: variant,
22
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ChatBubbleIcon, {
23
+ size: ICON_SIZE,
24
+ color: iconColor
25
+ }),
26
+ testID: _studentsQa.TEST_IDS.EXERCISE_CARD_COMMENTS_COUNT
28
27
  });
29
28
  };
30
29
  exports.ListCardCommentsCount = ListCardCommentsCount;
31
- const styles = _reactNative.StyleSheet.create({
32
- container: {
33
- width: 64,
34
- flexDirection: 'row',
35
- alignItems: 'center',
36
- gap: 8
37
- },
38
- text: {
39
- fontSize: 14,
40
- fontFamily: _constants.BUENOS_AIRES_FONT,
41
- color: _reactNativeUi.COLORS.NEUTRAL_7,
42
- fontWeight: 400
43
- }
44
- });
45
30
  //# sourceMappingURL=ListCardCommentsCount.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageBubbleIcon","_reactNativeUi","_constants","_studentsQa","_jsxRuntime","e","__esModule","default","ListCardCommentsCount","count","jsxs","View","style","styles","container","testID","TEST_IDS","EXERCISE_CARD_COMMENTS_COUNT","children","jsx","MessageBubbleIcon","size","color","COLORS","NEUTRAL_7","Text","text","exports","StyleSheet","create","width","flexDirection","alignItems","gap","fontSize","fontFamily","BUENOS_AIRES_FONT","fontWeight"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/ListCardCommentsCount.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAiD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM1C,MAAMG,qBAAqB,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EAC9E,oBACE,IAAAL,WAAA,CAAAM,IAAA,EAACX,YAAA,CAAAY,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACC,MAAM,EAAEC,oBAAQ,CAACC,4BAA6B;IAAAC,QAAA,gBAC3E,IAAAd,WAAA,CAAAe,GAAA,EAACnB,kBAAA,CAAAoB,iBAAiB;MAACC,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEC,qBAAM,CAACC;IAAU,CAAE,CAAC,eACxD,IAAApB,WAAA,CAAAe,GAAA,EAACpB,YAAA,CAAA0B,IAAI;MAACb,KAAK,EAAEC,MAAM,CAACa,IAAK;MAAAR,QAAA,EAAET;IAAK,CAAO,CAAC;EAAA,CACpC,CAAC;AAEX,CAAC;AAAAkB,OAAA,CAAAnB,qBAAA,GAAAA,qBAAA;AAED,MAAMK,MAAM,GAAGe,uBAAU,CAACC,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,KAAK,EAAE,EAAE;IACTC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE;EACP,CAAC;EACDP,IAAI,EAAE;IACJQ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAEC,4BAAiB;IAC7Bd,KAAK,EAAEC,qBAAM,CAACC,SAAS;IACvBa,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeUi","_studentsQa","_jsxRuntime","e","__esModule","default","ICON_SIZE","ListCardCommentsCount","count","hasUnseen","variant","NotificationBubbleVariant","ALERT","NEUTRAL","iconColor","COLORS","NEUTRAL_1","NEUTRAL_9","jsx","NotificationBubble","icon","ChatBubbleIcon","size","color","testID","TEST_IDS","EXERCISE_CARD_COMMENTS_COUNT","exports"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/ListCardCommentsCount.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAMA,IAAAE,WAAA,GAAAF,OAAA;AAAiD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjD,MAAMG,SAAS,GAAG,EAAE;AAYb,MAAMC,qBAAqB,GAAGA,CAAC;EACpCC,KAAK;EACLC,SAAS,GAAGD,KAAK,GAAG;AACM,CAAC,KAAK;EAChC,MAAME,OAAO,GAAGD,SAAS,GACrBE,wCAAyB,CAACC,KAAK,GAC/BD,wCAAyB,CAACE,OAAO;EACrC,MAAMC,SAAS,GAAGL,SAAS,GAAGM,qBAAM,CAACC,SAAS,GAAGD,qBAAM,CAACE,SAAS;EAEjE,oBACE,IAAAf,WAAA,CAAAgB,GAAA,EAAClB,cAAA,CAAAmB,kBAAkB;IACjBX,KAAK,EAAEA,KAAM;IACbE,OAAO,EAAEA,OAAQ;IACjBU,IAAI,eAAE,IAAAlB,WAAA,CAAAgB,GAAA,EAAClB,cAAA,CAAAqB,cAAc;MAACC,IAAI,EAAEhB,SAAU;MAACiB,KAAK,EAAET;IAAU,CAAE,CAAE;IAC5DU,MAAM,EAAEC,oBAAQ,CAACC;EAA6B,CAC/C,CAAC;AAEN,CAAC;AAAAC,OAAA,CAAApB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -229,4 +229,16 @@ Object.keys(_index18).forEach(function (key) {
229
229
  }
230
230
  });
231
231
  });
232
+ var _index19 = require("./features/assignmentCard/index.js");
233
+ Object.keys(_index19).forEach(function (key) {
234
+ if (key === "default" || key === "__esModule") return;
235
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
236
+ if (key in exports && exports[key] === _index19[key]) return;
237
+ Object.defineProperty(exports, key, {
238
+ enumerable: true,
239
+ get: function () {
240
+ return _index19[key];
241
+ }
242
+ });
243
+ });
232
244
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_helpers","require","_index","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_index2","_index3","_index4","_index5","_index6","_index7","_index8","_index9","_index10","_index11","_index12","_index13","_index14","_index15","_index16","_index17","_index18"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_helpers","require","_index","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_index2","_index3","_index4","_index5","_index6","_index7","_index8","_index9","_index10","_index11","_index12","_index13","_index14","_index15","_index16","_index17","_index18","_index19"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The teacher name is only shown on the card when a class is taught by more
5
+ * than one teacher, so a student can tell who assigned the work.
6
+ */
7
+ export const hasMultipleTeachers = teachers => (teachers?.length ?? 0) > 1;
8
+
9
+ /**
10
+ * Formats a teacher as a first-name initial + last name, e.g. "J. Hammar".
11
+ * Falls back to whichever part is present.
12
+ */
13
+ export const formatTeacherShortName = teacher => {
14
+ if (!teacher) return '';
15
+ const initial = teacher.firstName?.trim().charAt(0);
16
+ const lastName = teacher.lastName?.trim() ?? '';
17
+ if (!initial) return lastName;
18
+ if (!lastName) return `${initial}.`;
19
+ return `${initial}. ${lastName}`;
20
+ };
21
+ //# sourceMappingURL=assignmentCard.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hasMultipleTeachers","teachers","length","formatTeacherShortName","teacher","initial","firstName","trim","charAt","lastName"],"sourceRoot":"../../../../src","sources":["features/assignmentCard/assignmentCard.helpers.ts"],"mappings":";;AAKA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAIC,QAAmB,IACrD,CAACA,QAAQ,EAAEC,MAAM,IAAI,CAAC,IAAI,CAAC;;AAE7B;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,OAA+B,IAAa;EACjF,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,MAAMC,OAAO,GAAGD,OAAO,CAACE,SAAS,EAAEC,IAAI,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;EACnD,MAAMC,QAAQ,GAAGL,OAAO,CAACK,QAAQ,EAAEF,IAAI,CAAC,CAAC,IAAI,EAAE;EAC/C,IAAI,CAACF,OAAO,EAAE,OAAOI,QAAQ;EAC7B,IAAI,CAACA,QAAQ,EAAE,OAAO,GAAGJ,OAAO,GAAG;EACnC,OAAO,GAAGA,OAAO,KAAKI,QAAQ,EAAE;AAClC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export * from "./assignmentCard.helpers.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["features/assignmentCard/index.ts"],"mappings":";;AAAA,cAAc,6BAA0B","ignoreList":[]}
@@ -1,39 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  import React from 'react';
4
- import { Text, View, StyleSheet } from 'react-native';
5
- import { MessageBubbleIcon } from "../../../shared/icons/MessageBubbleIcon.js";
6
- import { COLORS } from '@magmamath/react-native-ui';
7
- import { BUENOS_AIRES_FONT } from "../constants.js";
4
+ import { ChatBubbleIcon, COLORS, NotificationBubble, NotificationBubbleVariant } from '@magmamath/react-native-ui';
8
5
  import { TEST_IDS } from '@magmamath/students-qa';
9
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const ICON_SIZE = 20;
10
8
  export const ListCardCommentsCount = ({
11
- count
9
+ count,
10
+ hasUnseen = count > 0
12
11
  }) => {
13
- return /*#__PURE__*/_jsxs(View, {
14
- style: styles.container,
15
- testID: TEST_IDS.EXERCISE_CARD_COMMENTS_COUNT,
16
- children: [/*#__PURE__*/_jsx(MessageBubbleIcon, {
17
- size: 23,
18
- color: COLORS.NEUTRAL_7
19
- }), /*#__PURE__*/_jsx(Text, {
20
- style: styles.text,
21
- children: count
22
- })]
12
+ const variant = hasUnseen ? NotificationBubbleVariant.ALERT : NotificationBubbleVariant.NEUTRAL;
13
+ const iconColor = hasUnseen ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_9;
14
+ return /*#__PURE__*/_jsx(NotificationBubble, {
15
+ count: count,
16
+ variant: variant,
17
+ icon: /*#__PURE__*/_jsx(ChatBubbleIcon, {
18
+ size: ICON_SIZE,
19
+ color: iconColor
20
+ }),
21
+ testID: TEST_IDS.EXERCISE_CARD_COMMENTS_COUNT
23
22
  });
24
23
  };
25
- const styles = StyleSheet.create({
26
- container: {
27
- width: 64,
28
- flexDirection: 'row',
29
- alignItems: 'center',
30
- gap: 8
31
- },
32
- text: {
33
- fontSize: 14,
34
- fontFamily: BUENOS_AIRES_FONT,
35
- color: COLORS.NEUTRAL_7,
36
- fontWeight: 400
37
- }
38
- });
39
24
  //# sourceMappingURL=ListCardCommentsCount.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","StyleSheet","MessageBubbleIcon","COLORS","BUENOS_AIRES_FONT","TEST_IDS","jsx","_jsx","jsxs","_jsxs","ListCardCommentsCount","count","style","styles","container","testID","EXERCISE_CARD_COMMENTS_COUNT","children","size","color","NEUTRAL_7","text","create","width","flexDirection","alignItems","gap","fontSize","fontFamily","fontWeight"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/ListCardCommentsCount.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACrD,SAASC,iBAAiB,QAAQ,4CAAyC;AAC3E,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,iBAAiB,QAAQ,iBAAc;AAChD,SAASC,QAAQ,QAAQ,wBAAwB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMjD,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC;AAAkC,CAAC,KAAK;EAC9E,oBACEF,KAAA,CAACT,IAAI;IAACY,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACC,MAAM,EAAEV,QAAQ,CAACW,4BAA6B;IAAAC,QAAA,gBAC3EV,IAAA,CAACL,iBAAiB;MAACgB,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEhB,MAAM,CAACiB;IAAU,CAAE,CAAC,eACxDb,IAAA,CAACR,IAAI;MAACa,KAAK,EAAEC,MAAM,CAACQ,IAAK;MAAAJ,QAAA,EAAEN;IAAK,CAAO,CAAC;EAAA,CACpC,CAAC;AAEX,CAAC;AAED,MAAME,MAAM,GAAGZ,UAAU,CAACqB,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,KAAK,EAAE,EAAE;IACTC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE;EACP,CAAC;EACDL,IAAI,EAAE;IACJM,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAExB,iBAAiB;IAC7Be,KAAK,EAAEhB,MAAM,CAACiB,SAAS;IACvBS,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","ChatBubbleIcon","COLORS","NotificationBubble","NotificationBubbleVariant","TEST_IDS","jsx","_jsx","ICON_SIZE","ListCardCommentsCount","count","hasUnseen","variant","ALERT","NEUTRAL","iconColor","NEUTRAL_1","NEUTRAL_9","icon","size","color","testID","EXERCISE_CARD_COMMENTS_COUNT"],"sourceRoot":"../../../../../src","sources":["features/feedback/components/ListCardCommentsCount.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,cAAc,EACdC,MAAM,EACNC,kBAAkB,EAClBC,yBAAyB,QACpB,4BAA4B;AACnC,SAASC,QAAQ,QAAQ,wBAAwB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEjD,MAAMC,SAAS,GAAG,EAAE;AAYpB,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EACpCC,KAAK;EACLC,SAAS,GAAGD,KAAK,GAAG;AACM,CAAC,KAAK;EAChC,MAAME,OAAO,GAAGD,SAAS,GACrBP,yBAAyB,CAACS,KAAK,GAC/BT,yBAAyB,CAACU,OAAO;EACrC,MAAMC,SAAS,GAAGJ,SAAS,GAAGT,MAAM,CAACc,SAAS,GAAGd,MAAM,CAACe,SAAS;EAEjE,oBACEV,IAAA,CAACJ,kBAAkB;IACjBO,KAAK,EAAEA,KAAM;IACbE,OAAO,EAAEA,OAAQ;IACjBM,IAAI,eAAEX,IAAA,CAACN,cAAc;MAACkB,IAAI,EAAEX,SAAU;MAACY,KAAK,EAAEL;IAAU,CAAE,CAAE;IAC5DM,MAAM,EAAEhB,QAAQ,CAACiB;EAA6B,CAC/C,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -19,4 +19,5 @@ export * from "./features/fluency/index.js";
19
19
  export * from "./features/fluency-teacher/index.js";
20
20
  export * from "./features/translation/index.js";
21
21
  export * from "./features/profile/index.js";
22
+ export * from "./features/assignmentCard/index.js";
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["generateRandomId"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,0BAAuB;AACxD,cAAc,6BAAoB;AAClC,cAAc,8BAAqB;AACnC,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B;AAC1C,cAAc,8BAAqB;AACnC,cAAc,gCAAuB;AACrC,cAAc,+BAAsB;AACpC,cAAc,yBAAgB;AAC9B,cAAc,2BAAkB;AAChC,cAAc,kCAAyB;AACvC,cAAc,4BAAmB;AACjC,cAAc,6BAAoB;AAClC,cAAc,qCAA4B;AAC1C,cAAc,iCAAwB;AACtC,cAAc,6BAAoB","ignoreList":[]}
1
+ {"version":3,"names":["generateRandomId"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,0BAAuB;AACxD,cAAc,6BAAoB;AAClC,cAAc,8BAAqB;AACnC,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B;AAC1C,cAAc,8BAAqB;AACnC,cAAc,gCAAuB;AACrC,cAAc,+BAAsB;AACpC,cAAc,yBAAgB;AAC9B,cAAc,2BAAkB;AAChC,cAAc,kCAAyB;AACvC,cAAc,4BAAmB;AACjC,cAAc,6BAAoB;AAClC,cAAc,qCAA4B;AAC1C,cAAc,iCAAwB;AACtC,cAAc,6BAAoB;AAClC,cAAc,oCAA2B","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ export type AssignmentCardTeacher = {
2
+ firstName: string;
3
+ lastName: string;
4
+ };
5
+ /**
6
+ * The teacher name is only shown on the card when a class is taught by more
7
+ * than one teacher, so a student can tell who assigned the work.
8
+ */
9
+ export declare const hasMultipleTeachers: (teachers?: string[]) => boolean;
10
+ /**
11
+ * Formats a teacher as a first-name initial + last name, e.g. "J. Hammar".
12
+ * Falls back to whichever part is present.
13
+ */
14
+ export declare const formatTeacherShortName: (teacher?: AssignmentCardTeacher) => string;
15
+ //# sourceMappingURL=assignmentCard.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignmentCard.helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/assignmentCard/assignmentCard.helpers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,cAAe,MAAM,EAAE,KAAG,OAC7B,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAAc,qBAAqB,KAAG,MAOxE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './assignmentCard.helpers';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/assignmentCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
@@ -1,7 +1,13 @@
1
1
  import React from 'react';
2
2
  type ListCardCommentsCountProps = {
3
3
  count: number;
4
+ /**
5
+ * Whether there are comments the student has not looked at yet.
6
+ * Defaults to `count > 0`. When the list response exposes a per-assignment
7
+ * unread count, pass it here to switch the bubble to its grey "all seen" state.
8
+ */
9
+ hasUnseen?: boolean;
4
10
  };
5
- export declare const ListCardCommentsCount: ({ count }: ListCardCommentsCountProps) => React.JSX.Element;
11
+ export declare const ListCardCommentsCount: ({ count, hasUnseen, }: ListCardCommentsCountProps) => React.JSX.Element;
6
12
  export {};
7
13
  //# sourceMappingURL=ListCardCommentsCount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,0BAA0B,sBAO1E,CAAA"}
1
+ {"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,0BAG/B,0BAA0B,sBAc5B,CAAA"}
@@ -17,4 +17,5 @@ export * from './features/fluency';
17
17
  export * from './features/fluency-teacher';
18
18
  export * from './features/translation';
19
19
  export * from './features/profile';
20
+ export * from './features/assignmentCard';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,15 @@
1
+ export type AssignmentCardTeacher = {
2
+ firstName: string;
3
+ lastName: string;
4
+ };
5
+ /**
6
+ * The teacher name is only shown on the card when a class is taught by more
7
+ * than one teacher, so a student can tell who assigned the work.
8
+ */
9
+ export declare const hasMultipleTeachers: (teachers?: string[]) => boolean;
10
+ /**
11
+ * Formats a teacher as a first-name initial + last name, e.g. "J. Hammar".
12
+ * Falls back to whichever part is present.
13
+ */
14
+ export declare const formatTeacherShortName: (teacher?: AssignmentCardTeacher) => string;
15
+ //# sourceMappingURL=assignmentCard.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignmentCard.helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/assignmentCard/assignmentCard.helpers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,cAAe,MAAM,EAAE,KAAG,OAC7B,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAAc,qBAAqB,KAAG,MAOxE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './assignmentCard.helpers';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/assignmentCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
@@ -1,7 +1,13 @@
1
1
  import React from 'react';
2
2
  type ListCardCommentsCountProps = {
3
3
  count: number;
4
+ /**
5
+ * Whether there are comments the student has not looked at yet.
6
+ * Defaults to `count > 0`. When the list response exposes a per-assignment
7
+ * unread count, pass it here to switch the bubble to its grey "all seen" state.
8
+ */
9
+ hasUnseen?: boolean;
4
10
  };
5
- export declare const ListCardCommentsCount: ({ count }: ListCardCommentsCountProps) => React.JSX.Element;
11
+ export declare const ListCardCommentsCount: ({ count, hasUnseen, }: ListCardCommentsCountProps) => React.JSX.Element;
6
12
  export {};
7
13
  //# sourceMappingURL=ListCardCommentsCount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,0BAA0B,sBAO1E,CAAA"}
1
+ {"version":3,"file":"ListCardCommentsCount.d.ts","sourceRoot":"","sources":["../../../../../../src/features/feedback/components/ListCardCommentsCount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,0BAG/B,0BAA0B,sBAc5B,CAAA"}
@@ -17,4 +17,5 @@ export * from './features/fluency';
17
17
  export * from './features/fluency-teacher';
18
18
  export * from './features/translation';
19
19
  export * from './features/profile';
20
+ export * from './features/assignmentCard';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "1.8.7",
3
+ "version": "1.8.9-rc.1",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -75,7 +75,7 @@
75
75
  "devDependencies": {
76
76
  "@magmamath/frontend-config": "1.7.2",
77
77
  "@magmamath/react-native-draw-board": "1.8.3",
78
- "@magmamath/react-native-ui": "0.5.13",
78
+ "@magmamath/react-native-ui": "0.5.14-rc.1",
79
79
  "@magmamath/students-qa": "0.2.3",
80
80
  "@matteappen/skills-utils": "^3.7.1",
81
81
  "@react-native-masked-view/masked-view": "^0.3.2",
@@ -0,0 +1,24 @@
1
+ export type AssignmentCardTeacher = {
2
+ firstName: string
3
+ lastName: string
4
+ }
5
+
6
+ /**
7
+ * The teacher name is only shown on the card when a class is taught by more
8
+ * than one teacher, so a student can tell who assigned the work.
9
+ */
10
+ export const hasMultipleTeachers = (teachers?: string[]): boolean =>
11
+ (teachers?.length ?? 0) > 1
12
+
13
+ /**
14
+ * Formats a teacher as a first-name initial + last name, e.g. "J. Hammar".
15
+ * Falls back to whichever part is present.
16
+ */
17
+ export const formatTeacherShortName = (teacher?: AssignmentCardTeacher): string => {
18
+ if (!teacher) return ''
19
+ const initial = teacher.firstName?.trim().charAt(0)
20
+ const lastName = teacher.lastName?.trim() ?? ''
21
+ if (!initial) return lastName
22
+ if (!lastName) return `${initial}.`
23
+ return `${initial}. ${lastName}`
24
+ }
@@ -0,0 +1 @@
1
+ export * from './assignmentCard.helpers'
@@ -1,34 +1,39 @@
1
1
  import React from 'react'
2
- import { Text, View, StyleSheet } from 'react-native'
3
- import { MessageBubbleIcon } from '../../../shared/icons/MessageBubbleIcon'
4
- import { COLORS } from '@magmamath/react-native-ui'
5
- import { BUENOS_AIRES_FONT } from '../constants'
2
+ import {
3
+ ChatBubbleIcon,
4
+ COLORS,
5
+ NotificationBubble,
6
+ NotificationBubbleVariant,
7
+ } from '@magmamath/react-native-ui'
6
8
  import { TEST_IDS } from '@magmamath/students-qa'
7
9
 
10
+ const ICON_SIZE = 20
11
+
8
12
  type ListCardCommentsCountProps = {
9
13
  count: number
14
+ /**
15
+ * Whether there are comments the student has not looked at yet.
16
+ * Defaults to `count > 0`. When the list response exposes a per-assignment
17
+ * unread count, pass it here to switch the bubble to its grey "all seen" state.
18
+ */
19
+ hasUnseen?: boolean
10
20
  }
11
21
 
12
- export const ListCardCommentsCount = ({ count }: ListCardCommentsCountProps) => {
22
+ export const ListCardCommentsCount = ({
23
+ count,
24
+ hasUnseen = count > 0,
25
+ }: ListCardCommentsCountProps) => {
26
+ const variant = hasUnseen
27
+ ? NotificationBubbleVariant.ALERT
28
+ : NotificationBubbleVariant.NEUTRAL
29
+ const iconColor = hasUnseen ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_9
30
+
13
31
  return (
14
- <View style={styles.container} testID={TEST_IDS.EXERCISE_CARD_COMMENTS_COUNT}>
15
- <MessageBubbleIcon size={23} color={COLORS.NEUTRAL_7} />
16
- <Text style={styles.text}>{count}</Text>
17
- </View>
32
+ <NotificationBubble
33
+ count={count}
34
+ variant={variant}
35
+ icon={<ChatBubbleIcon size={ICON_SIZE} color={iconColor} />}
36
+ testID={TEST_IDS.EXERCISE_CARD_COMMENTS_COUNT}
37
+ />
18
38
  )
19
39
  }
20
-
21
- const styles = StyleSheet.create({
22
- container: {
23
- width: 64,
24
- flexDirection: 'row',
25
- alignItems: 'center',
26
- gap: 8,
27
- },
28
- text: {
29
- fontSize: 14,
30
- fontFamily: BUENOS_AIRES_FONT,
31
- color: COLORS.NEUTRAL_7,
32
- fontWeight: 400,
33
- },
34
- })
@@ -165,6 +165,7 @@
165
165
  "voice": {
166
166
  "attempt": "Attempt {{ number }}",
167
167
  "cancel": "Cancel",
168
+ "couldNotUnderstand": "We couldn't understand your voice. Please try again!",
168
169
  "delete": "Delete",
169
170
  "deleteRecording": "Delete recording?",
170
171
  "noMicrophoneAccess": "No microphone access.",
package/src/index.ts CHANGED
@@ -17,3 +17,4 @@ export * from './features/fluency'
17
17
  export * from './features/fluency-teacher'
18
18
  export * from './features/translation'
19
19
  export * from './features/profile'
20
+ export * from './features/assignmentCard'