@magmamath/students-features 1.3.26-rc.7 → 1.3.26-rc.9

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 (92) hide show
  1. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +39 -18
  2. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  3. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +113 -0
  4. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  5. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +22 -81
  6. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  7. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
  8. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  9. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +15 -29
  10. package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  11. package/dist/commonjs/features/fluency/fluency.helpers.js +5 -5
  12. package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
  13. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js +33 -22
  14. package/dist/commonjs/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
  15. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js +44 -0
  16. package/dist/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  17. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
  18. package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
  19. package/dist/commonjs/lib/components/GradientView.js +57 -0
  20. package/dist/commonjs/lib/components/GradientView.js.map +1 -0
  21. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +40 -19
  22. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  23. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +107 -0
  24. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -0
  25. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +23 -82
  26. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  27. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +32 -15
  28. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
  29. package/dist/module/features/fluency/components/start-banner/StartBanner.js +16 -30
  30. package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
  31. package/dist/module/features/fluency/fluency.helpers.js +5 -5
  32. package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
  33. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js +33 -22
  34. package/dist/module/features/fluency/hooks/useCardSnapAnimation.js.map +1 -1
  35. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js +39 -0
  36. package/dist/module/features/fluency/hooks/useFluencyCardDeckAnimation.js.map +1 -0
  37. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +2 -2
  38. package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -1
  39. package/dist/module/lib/components/GradientView.js +51 -0
  40. package/dist/module/lib/components/GradientView.js.map +1 -0
  41. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
  42. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  43. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  44. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  45. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
  46. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  47. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  48. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
  49. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  50. package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  51. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +1 -1
  52. package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
  53. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
  54. package/dist/typescript/commonjs/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
  55. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  56. package/dist/typescript/commonjs/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  57. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
  58. package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
  59. package/dist/typescript/commonjs/lib/components/GradientView.d.ts +18 -0
  60. package/dist/typescript/commonjs/lib/components/GradientView.d.ts.map +1 -0
  61. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +5 -1
  62. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  63. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts +14 -0
  64. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -0
  65. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +7 -3
  66. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  67. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
  68. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +4 -0
  69. package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
  70. package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
  71. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +1 -1
  72. package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
  73. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts +7 -2
  74. package/dist/typescript/module/features/fluency/hooks/useCardSnapAnimation.d.ts.map +1 -1
  75. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts +16 -0
  76. package/dist/typescript/module/features/fluency/hooks/useFluencyCardDeckAnimation.d.ts.map +1 -0
  77. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +5 -2
  78. package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -1
  79. package/dist/typescript/module/lib/components/GradientView.d.ts +18 -0
  80. package/dist/typescript/module/lib/components/GradientView.d.ts.map +1 -0
  81. package/package.json +1 -1
  82. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +41 -25
  83. package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +128 -0
  84. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +37 -72
  85. package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +32 -13
  86. package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +5 -0
  87. package/src/features/fluency/components/start-banner/StartBanner.tsx +10 -28
  88. package/src/features/fluency/fluency.helpers.ts +6 -6
  89. package/src/features/fluency/hooks/useCardSnapAnimation.ts +41 -21
  90. package/src/features/fluency/hooks/useFluencyCardDeckAnimation.ts +49 -0
  91. package/src/features/fluency/hooks/useFluencySolvingPreset.ts +25 -7
  92. package/src/lib/components/GradientView.tsx +63 -0
@@ -15,15 +15,40 @@ var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];
18
+ const STATUS_COLOR = {
19
+ [_fluencyConstants.AttemptStatus.CORRECT]: _reactNativeUi.COLORS.PRIMARY_GREEN,
20
+ [_fluencyConstants.AttemptStatus.INCORRECT]: _reactNativeUi.COLORS.PRIMARY_RED,
21
+ [_fluencyConstants.AttemptStatus.SKIPPED]: _reactNativeUi.COLORS.NEUTRAL_7
22
+ };
23
+ const getLabelText = (status, defaultText, correctAnswer) => {
24
+ switch (status) {
25
+ case _fluencyConstants.AttemptStatus.CORRECT:
26
+ return 'Correct!';
27
+ case _fluencyConstants.AttemptStatus.INCORRECT:
28
+ return `INCORRECT — ANSWER: ${correctAnswer ?? ''}`;
29
+ case _fluencyConstants.AttemptStatus.SKIPPED:
30
+ return 'Skipped';
31
+ default:
32
+ return defaultText;
33
+ }
34
+ };
18
35
  const EquationContent = ({
19
36
  leftOperand,
20
37
  rightOperand,
38
+ mode,
21
39
  value = '',
22
40
  readOnly = false,
41
+ status,
42
+ correctAnswer,
23
43
  onChange
24
44
  }) => {
25
45
  const t = (0, _i18n.useText)();
26
- const modePreset = (0, _useFluencySolvingPreset.useFluencySolvingPreset)();
46
+ const modePreset = (0, _useFluencySolvingPreset.useFluencySolvingPreset)({
47
+ mode
48
+ });
49
+ const labelColor = status ? STATUS_COLOR[status] : _reactNativeUi.COLORS.NEUTRAL_7;
50
+ const labelText = getLabelText(status, t('student.fluency.typeYourAnswer'), correctAnswer);
51
+ const answerAreaColor = status === _fluencyConstants.AttemptStatus.INCORRECT ? _reactNativeUi.COLORS.PRIMARY_RED : modePreset.colors.accent;
27
52
  const inputRef = (0, _react.useRef)(null);
28
53
  (0, _usePreventWebKeys.usePreventWebKeys)({
29
54
  ref: inputRef,
@@ -33,8 +58,10 @@ const EquationContent = ({
33
58
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
34
59
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
35
60
  variant: _reactNativeUi.HeadingVariants.H9,
36
- style: styles.cardLabel,
37
- children: t('student.fluency.typeYourAnswer')
61
+ style: [styles.cardLabel, {
62
+ color: labelColor
63
+ }],
64
+ children: labelText
38
65
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
39
66
  style: styles.equationRow,
40
67
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
@@ -53,26 +80,23 @@ const EquationContent = ({
53
80
  children: "="
54
81
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
55
82
  style: [styles.answerBox, value.length > 0 && {
56
- borderBottomColor: modePreset.colors.accent
83
+ borderBottomColor: answerAreaColor
57
84
  }],
58
- children: !readOnly ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
59
- ref: inputRef,
85
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
86
+ ref: readOnly ? undefined : inputRef,
60
87
  value: value,
61
- onChangeText: onChange,
88
+ onChangeText: readOnly ? undefined : onChange,
89
+ editable: !readOnly,
62
90
  keyboardType: "number-pad",
63
91
  maxLength: _fluencyConstants.MAX_INPUT_LENGTH,
64
- selection: {
92
+ selection: readOnly ? undefined : {
65
93
  start: value.length,
66
94
  end: value.length
67
95
  },
68
96
  style: [styles.number, styles.answerInput, {
69
- color: modePreset.colors.accent
97
+ color: answerAreaColor
70
98
  }],
71
- autoFocus: true
72
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
73
- style: [styles.number, styles.answerText, {
74
- color: modePreset.colors.accent
75
- }]
99
+ autoFocus: !readOnly
76
100
  })
77
101
  })]
78
102
  })]
@@ -106,16 +130,13 @@ const styles = _reactNative.StyleSheet.create({
106
130
  fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires
107
131
  },
108
132
  answerBox: {
109
- width: 130,
133
+ width: 135,
110
134
  height: 44,
111
135
  marginBottom: -_reactNativeUi.SPACING[800],
112
136
  alignItems: 'center',
113
137
  borderBottomWidth: 8,
114
138
  borderBottomColor: _reactNativeUi.COLORS.NEUTRAL_10
115
139
  },
116
- answerText: {
117
- position: 'absolute'
118
- },
119
140
  answerInput: {
120
141
  position: 'absolute',
121
142
  bottom: -_reactNativeUi.SPACING[400],
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_i18n","_useFluencySolvingPreset","_usePreventWebKeys","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CURSOR_MOVE_KEYS","EquationContent","leftOperand","rightOperand","value","readOnly","onChange","useText","modePreset","useFluencySolvingPreset","inputRef","useRef","usePreventWebKeys","ref","keys","enabled","jsxs","Fragment","children","jsx","Typography","variant","HeadingVariants","H9","style","styles","cardLabel","View","equationRow","number","color","colors","accent","symbol","equals","answerBox","length","borderBottomColor","TextInput","onChangeText","keyboardType","maxLength","MAX_INPUT_LENGTH","selection","start","end","answerInput","autoFocus","answerText","exports","StyleSheet","create","fontSize","fontWeight","letterSpacing","marginBottom","SPACING","COLORS","NEUTRAL_7","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","FONT_FAMILY","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","Platform","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeUi","_i18n","_useFluencySolvingPreset","_usePreventWebKeys","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CURSOR_MOVE_KEYS","STATUS_COLOR","AttemptStatus","CORRECT","COLORS","PRIMARY_GREEN","INCORRECT","PRIMARY_RED","SKIPPED","NEUTRAL_7","getLabelText","status","defaultText","correctAnswer","EquationContent","leftOperand","rightOperand","mode","value","readOnly","onChange","useText","modePreset","useFluencySolvingPreset","labelColor","labelText","answerAreaColor","colors","accent","inputRef","useRef","usePreventWebKeys","ref","keys","enabled","jsxs","Fragment","children","jsx","Typography","variant","HeadingVariants","H9","style","styles","cardLabel","color","View","equationRow","number","symbol","equals","answerBox","length","borderBottomColor","TextInput","undefined","onChangeText","editable","keyboardType","maxLength","MAX_INPUT_LENGTH","selection","start","end","answerInput","autoFocus","exports","StyleSheet","create","fontSize","fontWeight","letterSpacing","marginBottom","SPACING","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","FONT_FAMILY","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","Platform","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FluencyCardDeck = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
+ var _reactNativeUi = require("@magmamath/react-native-ui");
11
+ var _GradientView = require("../../../../../lib/components/GradientView.js");
12
+ var _FluencyEquationCard = require("./FluencyEquationCard.js");
13
+ var _fluencyConstants = require("../../../fluency.constants.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const CARD_GRADIENT_COLORS = {
17
+ [_fluencyConstants.AttemptStatus.CORRECT]: ['#ecfbf3', '#ffffff'],
18
+ [_fluencyConstants.AttemptStatus.INCORRECT]: ['#fff0f1', '#ffffff']
19
+ };
20
+ const hideAnswer = cardContent => ({
21
+ ...cardContent,
22
+ answer: ''
23
+ });
24
+ const FluencyCardDeck = ({
25
+ currentCardContent,
26
+ exitingCardContent,
27
+ exitingCardStatus,
28
+ snapStyles,
29
+ onAnswerChange
30
+ }) => {
31
+ const backingCardContent = hideAnswer(currentCardContent);
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
33
+ style: styles.stack,
34
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
35
+ style: [styles.card, styles.cardFar, snapStyles.far]
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
37
+ style: [styles.card, styles.cardMid, snapStyles.mid]
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
39
+ style: [styles.card, styles.cardNear, snapStyles.near],
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
41
+ cardContent: backingCardContent,
42
+ readOnly: true
43
+ })
44
+ }), !exitingCardContent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
45
+ style: [styles.card, styles.cardFront],
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
47
+ cardContent: currentCardContent,
48
+ onAnswerChange: onAnswerChange
49
+ })
50
+ }), exitingCardContent && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
51
+ style: [styles.card, styles.cardFront, snapStyles.front, exitingCardStatus === _fluencyConstants.AttemptStatus.INCORRECT && styles.cardIncorrect, exitingCardStatus === _fluencyConstants.AttemptStatus.CORRECT && styles.cardCorrect],
52
+ children: [(exitingCardStatus === _fluencyConstants.AttemptStatus.CORRECT || exitingCardStatus === _fluencyConstants.AttemptStatus.INCORRECT) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GradientView.GradientView, {
53
+ colors: CARD_GRADIENT_COLORS[exitingCardStatus],
54
+ style: [_reactNative.StyleSheet.absoluteFill, {
55
+ borderRadius: _reactNativeUi.BORDER_RADIUS[400]
56
+ }],
57
+ pointerEvents: "none"
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
59
+ cardContent: exitingCardContent,
60
+ status: exitingCardStatus ?? undefined,
61
+ readOnly: true
62
+ })]
63
+ })]
64
+ });
65
+ };
66
+ exports.FluencyCardDeck = FluencyCardDeck;
67
+ const styles = _reactNative.StyleSheet.create({
68
+ stack: {
69
+ width: '100%',
70
+ maxWidth: 560
71
+ },
72
+ card: {
73
+ height: 260,
74
+ borderRadius: _reactNativeUi.BORDER_RADIUS[400],
75
+ backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1,
76
+ ..._reactNativeUi.SHADOWS[5]
77
+ },
78
+ cardFar: {
79
+ position: 'absolute',
80
+ top: 36,
81
+ left: 60,
82
+ right: 60,
83
+ opacity: 0
84
+ },
85
+ cardMid: {
86
+ position: 'absolute',
87
+ top: 24,
88
+ left: 40,
89
+ right: 40
90
+ },
91
+ cardNear: {
92
+ position: 'absolute',
93
+ top: 12,
94
+ left: 20,
95
+ right: 20,
96
+ alignItems: 'center',
97
+ justifyContent: 'center',
98
+ ..._reactNativeUi.SHADOWS[5]
99
+ },
100
+ cardFront: {
101
+ alignItems: 'center',
102
+ justifyContent: 'center'
103
+ },
104
+ cardCorrect: {
105
+ borderWidth: 1.5,
106
+ borderColor: _reactNativeUi.COLORS.PRIMARY_GREEN
107
+ },
108
+ cardIncorrect: {
109
+ borderWidth: 1.5,
110
+ borderColor: _reactNativeUi.COLORS.PRIMARY_RED
111
+ }
112
+ });
113
+ //# sourceMappingURL=FluencyCardDeck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_reactNativeUi","_GradientView","_FluencyEquationCard","_fluencyConstants","_jsxRuntime","e","__esModule","default","CARD_GRADIENT_COLORS","AttemptStatus","CORRECT","INCORRECT","hideAnswer","cardContent","answer","FluencyCardDeck","currentCardContent","exitingCardContent","exitingCardStatus","snapStyles","onAnswerChange","backingCardContent","jsxs","View","style","styles","stack","children","jsx","card","cardFar","far","cardMid","mid","cardNear","near","FluencyEquationCard","readOnly","cardFront","front","cardIncorrect","cardCorrect","GradientView","colors","StyleSheet","absoluteFill","borderRadius","BORDER_RADIUS","pointerEvents","status","undefined","exports","create","width","maxWidth","height","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","position","top","left","right","opacity","alignItems","justifyContent","borderWidth","borderColor","PRIMARY_GREEN","PRIMARY_RED"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,94 +5,35 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FluencyEquationCard = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _effectorReact = require("effector-react");
9
- var _reactNative = require("react-native");
10
- var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
11
- var _reactNativeUi = require("@magmamath/react-native-ui");
12
8
  var _EquationContent = require("./EquationContent.js");
13
- var _FluencyContext = require("../../../context/FluencyContext.js");
14
9
  var _jsxRuntime = require("react/jsx-runtime");
15
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- const FluencyEquationCard = ({
17
- animationStyles
18
- }) => {
19
- const {
20
- model
21
- } = (0, _FluencyContext.useFluency)();
22
- const {
23
- answer,
24
- fact
25
- } = (0, _effectorReact.useUnit)({
26
- answer: model.solving.$answer,
27
- fact: model.solving.$current
28
- });
11
+ const getDisplayedEquation = fact => {
29
12
  const left = fact?.numbers[0] ?? 0;
30
13
  const right = fact?.numbers[1] ?? 0;
31
- const updateAnswer = text => {
32
- const digits = text.replace(/\D/g, '');
33
- model.solving.setAnswer(digits || null);
14
+ return {
15
+ leftOperand: left,
16
+ rightOperand: right,
17
+ mode: fact?.mode
34
18
  };
35
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
36
- style: styles.stack,
37
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
38
- style: [styles.card, styles.cardFar, animationStyles.far]
39
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
40
- style: [styles.card, styles.cardMid, animationStyles.mid]
41
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
42
- style: [styles.card, styles.cardNear, animationStyles.near],
43
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EquationContent.EquationContent, {
44
- leftOperand: left,
45
- rightOperand: right,
46
- readOnly: true
47
- })
48
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
49
- style: [styles.card, styles.cardFront, animationStyles.front],
50
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_EquationContent.EquationContent, {
51
- leftOperand: left,
52
- rightOperand: right,
53
- value: answer ?? '',
54
- onChange: updateAnswer
55
- })
56
- })]
19
+ };
20
+ const FluencyEquationCard = ({
21
+ cardContent,
22
+ readOnly = false,
23
+ status,
24
+ onAnswerChange
25
+ }) => {
26
+ const equation = getDisplayedEquation(cardContent.fact);
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_EquationContent.EquationContent, {
28
+ leftOperand: equation.leftOperand,
29
+ rightOperand: equation.rightOperand,
30
+ mode: equation.mode,
31
+ value: cardContent.answer,
32
+ readOnly: readOnly,
33
+ status: status,
34
+ correctAnswer: cardContent.fact?.answer,
35
+ onChange: onAnswerChange
57
36
  });
58
37
  };
59
38
  exports.FluencyEquationCard = FluencyEquationCard;
60
- const styles = _reactNative.StyleSheet.create({
61
- stack: {
62
- width: '100%',
63
- maxWidth: 560
64
- },
65
- card: {
66
- height: 260,
67
- borderRadius: _reactNativeUi.BORDER_RADIUS[400],
68
- backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1,
69
- ..._reactNativeUi.SHADOWS[5]
70
- },
71
- cardFar: {
72
- position: 'absolute',
73
- top: 36,
74
- left: 60,
75
- right: 60,
76
- opacity: 0
77
- },
78
- cardMid: {
79
- position: 'absolute',
80
- top: 24,
81
- left: 40,
82
- right: 40
83
- },
84
- cardNear: {
85
- position: 'absolute',
86
- top: 12,
87
- left: 20,
88
- right: 20,
89
- alignItems: 'center',
90
- justifyContent: 'center',
91
- ..._reactNativeUi.SHADOWS[5]
92
- },
93
- cardFront: {
94
- alignItems: 'center',
95
- justifyContent: 'center'
96
- }
97
- });
98
39
  //# sourceMappingURL=FluencyEquationCard.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNative","_reactNativeReanimated","_reactNativeUi","_EquationContent","_FluencyContext","_jsxRuntime","e","__esModule","default","FluencyEquationCard","animationStyles","model","useFluency","answer","fact","useUnit","solving","$answer","$current","left","numbers","right","updateAnswer","text","digits","replace","setAnswer","jsxs","View","style","styles","stack","children","jsx","card","cardFar","far","cardMid","mid","cardNear","near","EquationContent","leftOperand","rightOperand","readOnly","cardFront","front","value","onChange","exports","StyleSheet","create","width","maxWidth","height","borderRadius","BORDER_RADIUS","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","position","top","opacity","alignItems","justifyContent"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_EquationContent","_jsxRuntime","e","__esModule","default","getDisplayedEquation","fact","left","numbers","right","leftOperand","rightOperand","mode","FluencyEquationCard","cardContent","readOnly","status","onAnswerChange","equation","jsx","EquationContent","value","answer","correctAnswer","onChange","exports"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAAmD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAiBnD,MAAMG,oBAAoB,GAAIC,IAAwB,IAAwB;EAC5E,MAAMC,IAAI,GAAGD,IAAI,EAAEE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;EAClC,MAAMC,KAAK,GAAGH,IAAI,EAAEE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;EAEnC,OAAO;IACLE,WAAW,EAAEH,IAAI;IACjBI,YAAY,EAAEF,KAAK;IACnBG,IAAI,EAAEN,IAAI,EAAEM;EACd,CAAC;AACH,CAAC;AAEM,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,WAAW;EACXC,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC;AACwB,CAAC,KAAK;EAC9B,MAAMC,QAAQ,GAAGb,oBAAoB,CAACS,WAAW,CAACR,IAAI,CAAC;EAEvD,oBACE,IAAAL,WAAA,CAAAkB,GAAA,EAACnB,gBAAA,CAAAoB,eAAe;IACdV,WAAW,EAAEQ,QAAQ,CAACR,WAAY;IAClCC,YAAY,EAAEO,QAAQ,CAACP,YAAa;IACpCC,IAAI,EAAEM,QAAQ,CAACN,IAAK;IACpBS,KAAK,EAAEP,WAAW,CAACQ,MAAO;IAC1BP,QAAQ,EAAEA,QAAS;IACnBC,MAAM,EAAEA,MAAO;IACfO,aAAa,EAAET,WAAW,CAACR,IAAI,EAAEgB,MAAO;IACxCE,QAAQ,EAAEP;EAAe,CAC1B,CAAC;AAEN,CAAC;AAAAQ,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -6,13 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.FluencySolvingCard = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeUi = require("@magmamath/react-native-ui");
10
9
  var _effectorReact = require("effector-react/effector-react.mjs");
10
+ var _reactNativeUi = require("@magmamath/react-native-ui");
11
11
  var _FluencyNumpad = require("./FluencyNumpad.js");
12
- var _FluencyEquationCard = require("./FluencyEquationCard.js");
12
+ var _FluencyCardDeck = require("./FluencyCardDeck.js");
13
13
  var _FluencyContext = require("../../../context/FluencyContext.js");
14
- var _useCardSnapAnimation = require("../../../hooks/useCardSnapAnimation.js");
14
+ var _useFluencyCardDeckAnimation = require("../../../hooks/useFluencyCardDeckAnimation.js");
15
15
  var _useSuccessSound = require("../../../hooks/useSuccessSound.js");
16
+ var _fluencyConstants = require("../../../fluency.constants.js");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
19
  const FluencySolvingCard = () => {
@@ -20,30 +21,46 @@ const FluencySolvingCard = () => {
20
21
  model
21
22
  } = (0, _FluencyContext.useFluency)();
22
23
  const {
23
- answer,
24
- fact
24
+ currentAnswer,
25
+ currentFact
25
26
  } = (0, _effectorReact.useUnit)({
26
- answer: model.solving.$answer,
27
- fact: model.solving.$current
27
+ currentAnswer: model.solving.$answer,
28
+ currentFact: model.solving.$current
28
29
  });
29
- const animation = (0, _useCardSnapAnimation.useCardSnapAnimation)();
30
+ const cardDeckAnimation = (0, _useFluencyCardDeckAnimation.useFluencyCardDeckAnimation)();
30
31
  const successSound = (0, _useSuccessSound.useSuccessSound)();
32
+ const currentCardContent = {
33
+ fact: currentFact,
34
+ answer: currentAnswer ?? ''
35
+ };
36
+ const updateAnswer = text => {
37
+ const digits = text.replace(/\D/g, '');
38
+ model.solving.setAnswer(digits || null);
39
+ };
31
40
  const submit = () => {
32
- if (!fact) return;
33
- const isCorrect = answer !== null && Number(answer) === fact.answer;
41
+ if (!currentFact) return;
42
+ const isCorrect = currentAnswer !== null && Number(currentAnswer) === currentFact.answer;
43
+ const direction = isCorrect ? 'right' : 'left';
44
+ const status = isCorrect ? _fluencyConstants.AttemptStatus.CORRECT : _fluencyConstants.AttemptStatus.INCORRECT;
45
+ if (!cardDeckAnimation.startCardExit({
46
+ cardContent: currentCardContent,
47
+ direction,
48
+ status
49
+ })) return;
34
50
  if (isCorrect) {
35
51
  successSound.play();
36
- animation.trigger('right');
37
- } else {
38
- animation.trigger('left');
39
52
  }
40
53
  model.solving.submit();
41
54
  };
42
55
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
43
56
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
44
57
  style: styles.wrapper,
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyEquationCard.FluencyEquationCard, {
46
- animationStyles: animation.snapStyles
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyCardDeck.FluencyCardDeck, {
59
+ currentCardContent: currentCardContent,
60
+ exitingCardContent: cardDeckAnimation.exitingCardContent,
61
+ exitingCardStatus: cardDeckAnimation.exitingCardStatus,
62
+ snapStyles: cardDeckAnimation.snapStyles,
63
+ onAnswerChange: updateAnswer
47
64
  })
48
65
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyNumpad.FluencyNumpad, {
49
66
  onSubmit: submit
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_FluencyNumpad","_FluencyEquationCard","_FluencyContext","_useCardSnapAnimation","_useSuccessSound","_jsxRuntime","e","__esModule","default","FluencySolvingCard","model","useFluency","answer","fact","useUnit","solving","$answer","$current","animation","useCardSnapAnimation","successSound","useSuccessSound","submit","isCorrect","Number","play","trigger","jsxs","View","children","jsx","style","styles","wrapper","FluencyEquationCard","animationStyles","snapStyles","FluencyNumpad","onSubmit","exports","StyleSheet","create","alignItems","paddingVertical","SPACING","paddingHorizontal","marginTop"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAAgE,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzD,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,sBAAO,EAAC;IAC/BF,MAAM,EAAEF,KAAK,CAACK,OAAO,CAACC,OAAO;IAC7BH,IAAI,EAAEH,KAAK,CAACK,OAAO,CAACE;EACtB,CAAC,CAAC;EACF,MAAMC,SAAS,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EACxC,MAAMC,YAAY,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEtC,MAAMC,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAI,CAACT,IAAI,EAAE;IAEX,MAAMU,SAAS,GAAGX,MAAM,KAAK,IAAI,IAAIY,MAAM,CAACZ,MAAM,CAAC,KAAKC,IAAI,CAACD,MAAM;IACnE,IAAIW,SAAS,EAAE;MACbH,YAAY,CAACK,IAAI,CAAC,CAAC;MACnBP,SAAS,CAACQ,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC,MAAM;MACLR,SAAS,CAACQ,OAAO,CAAC,MAAM,CAAC;IAC3B;IAEAhB,KAAK,CAACK,OAAO,CAACO,MAAM,CAAC,CAAC;EACxB,CAAC;EAED,oBACE,IAAAjB,WAAA,CAAAsB,IAAA,EAAC9B,YAAA,CAAA+B,IAAI;IAAAC,QAAA,gBACH,IAAAxB,WAAA,CAAAyB,GAAA,EAACjC,YAAA,CAAA+B,IAAI;MAACG,KAAK,EAAEC,MAAM,CAACC,OAAQ;MAAAJ,QAAA,eAC1B,IAAAxB,WAAA,CAAAyB,GAAA,EAAC7B,oBAAA,CAAAiC,mBAAmB;QAACC,eAAe,EAAEjB,SAAS,CAACkB;MAAW,CAAE;IAAC,CAC1D,CAAC,eACP,IAAA/B,WAAA,CAAAyB,GAAA,EAAC9B,cAAA,CAAAqC,aAAa;MAACC,QAAQ,EAAEhB;IAAO,CAAE,CAAC;EAAA,CAC/B,CAAC;AAEX,CAAC;AAAAiB,OAAA,CAAA9B,kBAAA,GAAAA,kBAAA;AAED,MAAMuB,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,OAAO,EAAE;IACPS,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEC,sBAAO,CAAC,GAAG,CAAC;IAC7BC,iBAAiB,EAAED,sBAAO,CAAC,GAAG,CAAC;IAC/BE,SAAS,EAAEF,sBAAO,CAAC,GAAG;EACxB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_effectorReact","_reactNativeUi","_FluencyNumpad","_FluencyCardDeck","_FluencyContext","_useFluencyCardDeckAnimation","_useSuccessSound","_fluencyConstants","_jsxRuntime","e","__esModule","default","FluencySolvingCard","model","useFluency","currentAnswer","currentFact","useUnit","solving","$answer","$current","cardDeckAnimation","useFluencyCardDeckAnimation","successSound","useSuccessSound","currentCardContent","fact","answer","updateAnswer","text","digits","replace","setAnswer","submit","isCorrect","Number","direction","status","AttemptStatus","CORRECT","INCORRECT","startCardExit","cardContent","play","jsxs","View","children","jsx","style","styles","wrapper","FluencyCardDeck","exitingCardContent","exitingCardStatus","snapStyles","onAnswerChange","FluencyNumpad","onSubmit","exports","StyleSheet","create","alignItems","paddingVertical","SPACING","paddingHorizontal","marginTop"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,40 +7,13 @@ exports.StartBanner = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _GradientView = require("../../../../lib/components/GradientView.js");
10
11
  var _BannerFlashcards = require("./BannerFlashcards.js");
11
12
  var _FluencyContext = require("../../context/FluencyContext.js");
12
13
  var _i18n = require("../../../../i18n/i18n.js");
13
14
  var _FlashIcon = require("../../assets/FlashIcon.js");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- const GradientBackground = _reactNative.Platform.select({
17
- web: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
18
- style: [_reactNative.StyleSheet.absoluteFill, {
19
- backgroundImage: 'linear-gradient(90deg, #FFFFFF 23.1%, #FFF7E9 81.73%)',
20
- pointerEvents: 'none'
21
- }]
22
- }),
23
- default: () => {
24
- const {
25
- LinearGradient
26
- } = require('expo-linear-gradient');
27
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinearGradient, {
28
- colors: ['#FFFFFF', '#FFF7E9'],
29
- locations: [0.231, 0.8173],
30
- start: {
31
- x: 0,
32
- y: 0
33
- },
34
- end: {
35
- x: 1,
36
- y: 0
37
- },
38
- style: [_reactNative.StyleSheet.absoluteFill, {
39
- pointerEvents: 'none'
40
- }]
41
- });
42
- }
43
- });
44
17
  const StartBanner = () => {
45
18
  const t = (0, _i18n.useText)();
46
19
  const {
@@ -51,7 +24,20 @@ const StartBanner = () => {
51
24
  style: styles.container,
52
25
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
53
26
  style: styles.gradientClip,
54
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GradientBackground, {})
27
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GradientView.GradientView, {
28
+ colors: ['#FFFFFF', '#FFF7E9'],
29
+ locations: [0.231, 0.8173],
30
+ start: {
31
+ x: 0,
32
+ y: 0
33
+ },
34
+ end: {
35
+ x: 1,
36
+ y: 0
37
+ },
38
+ style: _reactNative.StyleSheet.absoluteFill,
39
+ pointerEvents: "none"
40
+ })
55
41
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
56
42
  style: styles.buttonContainer,
57
43
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_BannerFlashcards","_FluencyContext","_i18n","_FlashIcon","_jsxRuntime","e","__esModule","default","GradientBackground","Platform","select","web","jsx","View","style","StyleSheet","absoluteFill","backgroundImage","pointerEvents","LinearGradient","colors","locations","start","x","y","end","StartBanner","t","useText","model","onStartPress","useFluency","jsxs","styles","container","children","gradientClip","buttonContainer","buttonGroup","Button","onPress","solving","disabled","isLoading","isActive","icon","FlashIcon","color","COLORS","NEUTRAL_1","variant","ButtonVariant","PRIMARY","size","ButtonSize","LARGE","colorScheme","ButtonColor","YELLOW","raiseLevel","button","Typography","buttonSubtitle","BannerFlashcards","examples","left","right","exports","create","flex","height","justifyContent","paddingVertical","SPACING","paddingHorizontal","borderRadius","BORDER_RADIUS","SHADOWS","absoluteFillObject","overflow","alignItems","zIndex","gap","minWidth","maxWidth","textTransform","fontSize","fontWeight","BLACK","fontFamily","FONT_FAMILY","buenosAires","flashcard","position","backgroundColor","springIcon","bottom","marginTop","alignSelf"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/start-banner/StartBanner.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_GradientView","_BannerFlashcards","_FluencyContext","_i18n","_FlashIcon","_jsxRuntime","e","__esModule","default","StartBanner","t","useText","model","onStartPress","useFluency","jsxs","View","style","styles","container","children","jsx","gradientClip","GradientView","colors","locations","start","x","y","end","StyleSheet","absoluteFill","pointerEvents","buttonContainer","buttonGroup","Button","onPress","solving","disabled","isLoading","isActive","icon","FlashIcon","color","COLORS","NEUTRAL_1","variant","ButtonVariant","PRIMARY","size","ButtonSize","LARGE","colorScheme","ButtonColor","YELLOW","raiseLevel","button","Typography","buttonSubtitle","BannerFlashcards","examples","left","right","exports","create","flex","height","justifyContent","paddingVertical","SPACING","paddingHorizontal","borderRadius","BORDER_RADIUS","SHADOWS","absoluteFillObject","overflow","alignItems","zIndex","gap","minWidth","maxWidth","textTransform","fontSize","fontWeight","BLACK","fontFamily","FONT_FAMILY","buenosAires","flashcard","position","backgroundColor","springIcon","bottom","marginTop","alignSelf"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/start-banner/StartBanner.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getMasteryLevelByBox = exports.createFluencyMode = exports.buildMatrixGrid = void 0;
7
7
  var _fluencyConstants = require("./fluency.constants.js");
8
- // TODO: Align box-to-mastery mapping with BE response schema.
9
8
  const getMasteryLevelByBox = box => {
10
- if (box >= 4) return _fluencyConstants.FluencyMasteryLevel.MASTERED;
11
- if (box >= 3) return _fluencyConstants.FluencyMasteryLevel.STRONG;
12
- if (box >= 2) return _fluencyConstants.FluencyMasteryLevel.GROWING;
13
- return _fluencyConstants.FluencyMasteryLevel.LEARNING;
9
+ if (box === 5) return _fluencyConstants.FluencyMasteryLevel.MASTERED;
10
+ if (box === 4) return _fluencyConstants.FluencyMasteryLevel.STRONG;
11
+ if (box === 3) return _fluencyConstants.FluencyMasteryLevel.GROWING;
12
+ if (box === 2) return _fluencyConstants.FluencyMasteryLevel.LEARNING;
13
+ return null;
14
14
  };
15
15
  exports.getMasteryLevelByBox = getMasteryLevelByBox;
16
16
  const createFluencyMode = ({