@magmamath/students-features 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/commonjs/features/fluency/components/Fluency.js +12 -6
  2. package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
  3. package/dist/commonjs/features/fluency/components/FluencyStatusOverlay.js +101 -0
  4. package/dist/commonjs/features/fluency/components/FluencyStatusOverlay.js.map +1 -0
  5. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +13 -5
  6. package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  7. package/dist/commonjs/features/fluency/model/FluencyModel.js +21 -0
  8. package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
  9. package/dist/commonjs/features/fluency/shared/fluency.constants.js +6 -1
  10. package/dist/commonjs/features/fluency/shared/fluency.constants.js.map +1 -1
  11. package/dist/commonjs/features/fluency/shared/fluency.helpers.js +3 -1
  12. package/dist/commonjs/features/fluency/shared/fluency.helpers.js.map +1 -1
  13. package/dist/module/features/fluency/components/Fluency.js +14 -8
  14. package/dist/module/features/fluency/components/Fluency.js.map +1 -1
  15. package/dist/module/features/fluency/components/FluencyStatusOverlay.js +95 -0
  16. package/dist/module/features/fluency/components/FluencyStatusOverlay.js.map +1 -0
  17. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +13 -5
  18. package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
  19. package/dist/module/features/fluency/model/FluencyModel.js +22 -1
  20. package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
  21. package/dist/module/features/fluency/shared/fluency.constants.js +5 -0
  22. package/dist/module/features/fluency/shared/fluency.constants.js.map +1 -1
  23. package/dist/module/features/fluency/shared/fluency.helpers.js +1 -0
  24. package/dist/module/features/fluency/shared/fluency.helpers.js.map +1 -1
  25. package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
  26. package/dist/typescript/commonjs/features/fluency/components/FluencyStatusOverlay.d.ts +8 -0
  27. package/dist/typescript/commonjs/features/fluency/components/FluencyStatusOverlay.d.ts.map +1 -0
  28. package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  29. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +3 -0
  30. package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
  31. package/dist/typescript/commonjs/features/fluency/shared/fluency.constants.d.ts +4 -0
  32. package/dist/typescript/commonjs/features/fluency/shared/fluency.constants.d.ts.map +1 -1
  33. package/dist/typescript/commonjs/features/fluency/shared/fluency.helpers.d.ts +1 -0
  34. package/dist/typescript/commonjs/features/fluency/shared/fluency.helpers.d.ts.map +1 -1
  35. package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
  36. package/dist/typescript/module/features/fluency/components/FluencyStatusOverlay.d.ts +8 -0
  37. package/dist/typescript/module/features/fluency/components/FluencyStatusOverlay.d.ts.map +1 -0
  38. package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
  39. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +3 -0
  40. package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
  41. package/dist/typescript/module/features/fluency/shared/fluency.constants.d.ts +4 -0
  42. package/dist/typescript/module/features/fluency/shared/fluency.constants.d.ts.map +1 -1
  43. package/dist/typescript/module/features/fluency/shared/fluency.helpers.d.ts +1 -0
  44. package/dist/typescript/module/features/fluency/shared/fluency.helpers.d.ts.map +1 -1
  45. package/package.json +8 -3
  46. package/src/features/fluency/components/Fluency.tsx +17 -9
  47. package/src/features/fluency/components/FluencyStatusOverlay.tsx +101 -0
  48. package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +11 -5
  49. package/src/features/fluency/model/FluencyModel.ts +25 -1
  50. package/src/features/fluency/shared/fluency.constants.ts +5 -0
  51. package/src/features/fluency/shared/fluency.helpers.ts +3 -0
  52. package/src/i18n/.generated/schema.json +4 -0
@@ -14,6 +14,7 @@ var _DayStreakCounter = require("./day-streak-counter/DayStreakCounter.js");
14
14
  var _SelectMathOperator = require("./select-math-operator/SelectMathOperator.js");
15
15
  var _FluencyMatrix = require("./matrix/FluencyMatrix.js");
16
16
  var _MobileMenu = require("./mobile-menu/MobileMenu.js");
17
+ var _FluencyStatusOverlay = require("./FluencyStatusOverlay.js");
17
18
  var _FluencyContext = require("../context/FluencyContext.js");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -29,6 +30,7 @@ const Fluency = ({
29
30
  config
30
31
  });
31
32
  const t = (0, _i18n.useText)();
33
+ const status = (0, _effectorReact.useUnit)(model.$status);
32
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyContext.FluencyProvider, {
33
35
  value: {
34
36
  model,
@@ -47,12 +49,16 @@ const Fluency = ({
47
49
  style: styles.titleText,
48
50
  children: t('student.fluency.title')
49
51
  })]
50
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
51
- style: styles.header,
52
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_StartBanner.StartBanner, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreakCounter.DayStreakCounter, {})]
53
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
54
- style: styles.matrix,
55
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectMathOperator.SelectMathOperator, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyMatrix.FluencyMatrix, {})]
52
+ }), status ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyStatusOverlay.FluencyStatusOverlay, {
53
+ status: status
54
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
55
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
56
+ style: styles.header,
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_StartBanner.StartBanner, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayStreakCounter.DayStreakCounter, {})]
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
59
+ style: styles.matrix,
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectMathOperator.SelectMathOperator, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FluencyMatrix.FluencyMatrix, {})]
61
+ })]
56
62
  })]
57
63
  })
58
64
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNative","_reactNativeUi","_i18n","_StartBanner","_DayStreakCounter","_SelectMathOperator","_FluencyMatrix","_MobileMenu","_FluencyContext","_jsxRuntime","e","__esModule","default","Fluency","model","config","onMenuPress","onStartPress","onPracticePress","onModeSelectPress","useGate","gate","t","useText","jsx","FluencyProvider","value","children","jsxs","View","style","styles","root","title","MobileMenu","onPress","Typography","variant","HeadingVariants","H2","titleText","header","StartBanner","DayStreakCounter","matrix","SelectMathOperator","FluencyMatrix","exports","StyleSheet","create","flex","flexDirection","alignItems","color","COLORS","NEUTRAL_9","height","marginTop","SPACING","gap","zIndex"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_reactNative","_reactNativeUi","_i18n","_StartBanner","_DayStreakCounter","_SelectMathOperator","_FluencyMatrix","_MobileMenu","_FluencyStatusOverlay","_FluencyContext","_jsxRuntime","e","__esModule","default","Fluency","model","config","onMenuPress","onStartPress","onPracticePress","onModeSelectPress","useGate","gate","t","useText","status","useUnit","$status","jsx","FluencyProvider","value","children","jsxs","View","style","styles","root","title","MobileMenu","onPress","Typography","variant","HeadingVariants","H2","titleText","FluencyStatusOverlay","Fragment","header","StartBanner","DayStreakCounter","matrix","SelectMathOperator","FluencyMatrix","exports","StyleSheet","create","flex","flexDirection","alignItems","color","COLORS","NEUTRAL_9","height","marginTop","SPACING","gap","zIndex"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FluencyStatusOverlay = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeUi = require("@magmamath/react-native-ui");
10
+ var _fluencyConstants = require("../shared/fluency.constants.js");
11
+ var _i18n = require("../../../i18n/i18n.js");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const FLUENCY_STATUS_VARIANTS = {
15
+ [_fluencyConstants.FluencyStatus.ERROR]: {
16
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ErrorIcon, {
17
+ color: _reactNativeUi.COLORS.PRIMARY_RED,
18
+ size: 40
19
+ }),
20
+ circleColor: _reactNativeUi.COLORS.RED_1,
21
+ titleKey: 'student.fluency.errorTitle',
22
+ subtitleKey: 'student.fluency.errorSubtitle'
23
+ },
24
+ [_fluencyConstants.FluencyStatus.EMPTY]: {
25
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.InfoIcon, {
26
+ color: _reactNativeUi.COLORS.NEUTRAL_6,
27
+ size: 40
28
+ }),
29
+ circleColor: _reactNativeUi.COLORS.NEUTRAL_2,
30
+ titleKey: 'student.fluency.emptyTitle',
31
+ subtitleKey: 'student.fluency.emptySubtitle'
32
+ }
33
+ };
34
+ const FluencyStatusOverlay = ({
35
+ status
36
+ }) => {
37
+ const t = (0, _i18n.useText)();
38
+ const variant = FLUENCY_STATUS_VARIANTS[status];
39
+ if (!variant) return null;
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
41
+ style: styles.container,
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
43
+ style: styles.content,
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
45
+ style: [styles.iconCircle, {
46
+ backgroundColor: variant.circleColor
47
+ }],
48
+ children: variant.icon
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
50
+ style: styles.text,
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
52
+ variant: _reactNativeUi.HeadingVariants.H2,
53
+ style: styles.title,
54
+ children: t(variant.titleKey)
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
56
+ variant: _reactNativeUi.HeadingVariants.H7,
57
+ style: styles.subtitle,
58
+ children: t(variant.subtitleKey)
59
+ })]
60
+ })]
61
+ })
62
+ });
63
+ };
64
+ exports.FluencyStatusOverlay = FluencyStatusOverlay;
65
+ const styles = _reactNative.StyleSheet.create({
66
+ container: {
67
+ flex: 1,
68
+ alignItems: 'center',
69
+ justifyContent: 'center'
70
+ },
71
+ content: {
72
+ alignItems: 'center',
73
+ gap: _reactNativeUi.SPACING[500],
74
+ paddingBottom: _reactNativeUi.SPACING[800]
75
+ },
76
+ iconCircle: {
77
+ width: 88,
78
+ height: 88,
79
+ borderRadius: 44,
80
+ alignItems: 'center',
81
+ justifyContent: 'center'
82
+ },
83
+ text: {
84
+ alignItems: 'center',
85
+ gap: _reactNativeUi.SPACING[200],
86
+ maxWidth: 340
87
+ },
88
+ title: {
89
+ color: _reactNativeUi.COLORS.NEUTRAL_9,
90
+ textAlign: 'center',
91
+ fontSize: 24,
92
+ fontWeight: '500'
93
+ },
94
+ subtitle: {
95
+ color: _reactNativeUi.COLORS.NEUTRAL_7,
96
+ textAlign: 'center',
97
+ fontSize: 16,
98
+ fontWeight: '400'
99
+ }
100
+ });
101
+ //# sourceMappingURL=FluencyStatusOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_fluencyConstants","_i18n","_jsxRuntime","e","__esModule","default","FLUENCY_STATUS_VARIANTS","FluencyStatus","ERROR","icon","jsx","ErrorIcon","color","COLORS","PRIMARY_RED","size","circleColor","RED_1","titleKey","subtitleKey","EMPTY","InfoIcon","NEUTRAL_6","NEUTRAL_2","FluencyStatusOverlay","status","t","useText","variant","View","style","styles","container","children","jsxs","content","iconCircle","backgroundColor","text","Typography","HeadingVariants","H2","title","H7","subtitle","exports","StyleSheet","create","flex","alignItems","justifyContent","gap","SPACING","paddingBottom","width","height","borderRadius","maxWidth","NEUTRAL_9","textAlign","fontSize","fontWeight","NEUTRAL_7"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencyStatusOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,18 +20,26 @@ const SelectMathOperator = () => {
20
20
  model,
21
21
  onModeSelectPress
22
22
  } = (0, _FluencyContext.useFluency)();
23
- const fluencyMode = (0, _effectorReact.useUnit)(model.matrix.$mode);
24
- const matrix = (0, _effectorReact.useUnit)(model.matrix.$data);
23
+ const {
24
+ fluencyMode,
25
+ matrix
26
+ } = (0, _effectorReact.useUnit)({
27
+ fluencyMode: model.matrix.$mode,
28
+ matrix: model.matrix.$data
29
+ });
30
+ const visibleModes = matrix ? _fluencyConstants.FLUENCY_MODES.filter(({
31
+ mode
32
+ }) => Object.keys(matrix.operations?.[mode]?.facts).length > 0) : _fluencyConstants.FLUENCY_MODES;
25
33
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
26
34
  style: styles.container,
27
- children: _fluencyConstants.FLUENCY_MODES.map(({
35
+ children: visibleModes.map(({
28
36
  mode,
29
37
  label,
30
38
  symbol,
31
39
  select
32
40
  }, index) => {
33
41
  const isSelectedMode = mode === fluencyMode;
34
- const progress = (matrix?.operations[mode].completionRate ?? 0) * 100;
42
+ const progress = (matrix?.operations?.[mode]?.completionRate ?? 0) * 100;
35
43
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MathOperatorRow.MathOperatorRow, {
36
44
  title: t(label),
37
45
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
@@ -46,7 +54,7 @@ const SelectMathOperator = () => {
46
54
  model.matrix.setMode(mode);
47
55
  onModeSelectPress?.(mode);
48
56
  },
49
- showDivider: index < _fluencyConstants.FLUENCY_MODES.length - 1
57
+ showDivider: index < visibleModes.length - 1
50
58
  }, mode);
51
59
  })
52
60
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_fluencyConstants","_MathOperatorRow","_FluencyContext","_i18n","_jsxRuntime","e","__esModule","default","SelectMathOperator","t","useText","model","onModeSelectPress","useFluency","fluencyMode","useUnit","matrix","$mode","$data","jsx","View","style","styles","container","children","FLUENCY_MODES","map","mode","label","symbol","select","index","isSelectedMode","progress","operations","completionRate","MathOperatorRow","title","icon","Typography","variant","HeadingVariants","H6","symbolSelected","color","selected","onSelect","setMode","showDivider","length","exports","StyleSheet","create","alignSelf","width","padding","SPACING","borderRadius","BORDER_RADIUS","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","fontSize","fontWeight","NEUTRAL_9"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/SelectMathOperator.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAQA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAA+C,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EACnB,MAAM;IAAEC,KAAK;IAAEC;EAAkB,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EACjD,MAAMC,WAAW,GAAG,IAAAC,sBAAO,EAACJ,KAAK,CAACK,MAAM,CAACC,KAAK,CAAC;EAC/C,MAAMD,MAAM,GAAG,IAAAD,sBAAO,EAACJ,KAAK,CAACK,MAAM,CAACE,KAAK,CAAC;EAE1C,oBACE,IAAAd,WAAA,CAAAe,GAAA,EAACtB,YAAA,CAAAuB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BC,+BAAa,CAACC,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAO,CAAC,EAAEC,KAAK,KAAK;MAC7D,MAAMC,cAAc,GAAGL,IAAI,KAAKb,WAAW;MAC3C,MAAMmB,QAAQ,GAAG,CAACjB,MAAM,EAAEkB,UAAU,CAACP,IAAI,CAAC,CAACQ,cAAc,IAAI,CAAC,IAAI,GAAG;MAErE,oBACE,IAAA/B,WAAA,CAAAe,GAAA,EAAClB,gBAAA,CAAAmC,eAAe;QAEdC,KAAK,EAAE5B,CAAC,CAACmB,KAAK,CAAE;QAChBU,IAAI,eACF,IAAAlC,WAAA,CAAAe,GAAA,EAACrB,cAAA,CAAAyC,UAAU;UACTC,OAAO,EAAEC,8BAAe,CAACC,EAAG;UAC5BrB,KAAK,EAAE,CAACC,MAAM,CAACO,MAAM,EAAEG,cAAc,IAAIV,MAAM,CAACqB,cAAc,CAAE;UAAAnB,QAAA,EAE/DK;QAAM,CACG,CACb;QACDI,QAAQ,EAAEA,QAAS;QACnBW,KAAK,EAAEd,MAAO;QACde,QAAQ,EAAEb,cAAe;QACzBc,QAAQ,EAAEA,CAAA,KAAM;UACdnC,KAAK,CAACK,MAAM,CAAC+B,OAAO,CAACpB,IAAI,CAAC;UAC1Bf,iBAAiB,GAAGe,IAAI,CAAC;QAC3B,CAAE;QACFqB,WAAW,EAAEjB,KAAK,GAAGN,+BAAa,CAACwB,MAAM,GAAG;MAAE,GAjBzCtB,IAkBN,CAAC;IAEN,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAAAuB,OAAA,CAAA1C,kBAAA,GAAAA,kBAAA;AAED,MAAMc,MAAM,GAAG6B,uBAAU,CAACC,MAAM,CAAC;EAC/B7B,SAAS,EAAE;IACT8B,SAAS,EAAE,YAAY;IACvBC,KAAK,EAAE,GAAG;IACVC,OAAO,EAAEC,sBAAO,CAAC,GAAG,CAAC;IACrBC,YAAY,EAAEC,4BAAa,CAAC,GAAG,CAAC;IAChCC,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjC,GAAGC,sBAAO,CAAC,CAAC;EACd,CAAC;EACDjC,MAAM,EAAE;IACNkC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBpB,KAAK,EAAEgB,qBAAM,CAACK;EAChB,CAAC;EACDtB,cAAc,EAAE;IACdC,KAAK,EAAEgB,qBAAM,CAACC;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_effectorReact","_fluencyConstants","_MathOperatorRow","_FluencyContext","_i18n","_jsxRuntime","e","__esModule","default","SelectMathOperator","t","useText","model","onModeSelectPress","useFluency","fluencyMode","matrix","useUnit","$mode","$data","visibleModes","FLUENCY_MODES","filter","mode","Object","keys","operations","facts","length","jsx","View","style","styles","container","children","map","label","symbol","select","index","isSelectedMode","progress","completionRate","MathOperatorRow","title","icon","Typography","variant","HeadingVariants","H6","symbolSelected","color","selected","onSelect","setMode","showDivider","exports","StyleSheet","create","alignSelf","width","padding","SPACING","borderRadius","BORDER_RADIUS","backgroundColor","COLORS","NEUTRAL_1","SHADOWS","fontSize","fontWeight","NEUTRAL_9"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/select-math-operator/SelectMathOperator.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,9 +12,11 @@ var _FluencyMatrixModel = require("./FluencyMatrixModel.js");
12
12
  var _FluencyApiModel = require("./FluencyApiModel.js");
13
13
  var _FluencySolvingModel = require("./FluencySolvingModel.js");
14
14
  var _fluencyConstants = require("../shared/fluency.constants.js");
15
+ var _fluencyHelpers = require("../shared/fluency.helpers.js");
15
16
  class FluencyModel {
16
17
  gate = (0, _effectorReact.createGate)();
17
18
  $config = (0, _effector.createStore)(null);
19
+ $status = (0, _effector.createStore)(null);
18
20
  constructor({
19
21
  api
20
22
  }) {
@@ -23,6 +25,7 @@ class FluencyModel {
23
25
  this.matrix = new _FluencyMatrixModel.FluencyMatrixModel(this.api);
24
26
  this.solving = new _FluencySolvingModel.FluencySolvingModel(this.matrix, this.$config);
25
27
  this.init();
28
+ this.setupStatusTracking();
26
29
  }
27
30
  init() {
28
31
  (0, _effector.sample)({
@@ -59,6 +62,24 @@ class FluencyModel {
59
62
  target: this.api.postAttemptFx
60
63
  });
61
64
  }
65
+ setupStatusTracking() {
66
+ (0, _effector.sample)({
67
+ clock: this.gate.open,
68
+ fn: () => null,
69
+ target: this.$status
70
+ });
71
+ (0, _effector.sample)({
72
+ clock: [this.api.getMatrixFx.fail, this.api.getWeeklyStatsFx.fail],
73
+ fn: () => _fluencyConstants.FluencyStatus.ERROR,
74
+ target: this.$status
75
+ });
76
+ (0, _effector.sample)({
77
+ clock: this.api.getMatrixFx.doneData,
78
+ filter: _fluencyHelpers.allFactsEmpty,
79
+ fn: () => _fluencyConstants.FluencyStatus.EMPTY,
80
+ target: this.$status
81
+ });
82
+ }
62
83
  }
63
84
  exports.FluencyModel = FluencyModel;
64
85
  //# sourceMappingURL=FluencyModel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_effectorReact","_not","_FluencyDaysStreakModel","_FluencyMatrixModel","_FluencyApiModel","_FluencySolvingModel","_fluencyConstants","FluencyModel","gate","createGate","$config","createStore","constructor","api","FluencyApiModel","streak","FluencyDaysStreakModel","matrix","FluencyMatrixModel","solving","FluencySolvingModel","init","sample","clock","open","fn","config","target","filter","not","getMatrixFx","pending","grade","getWeeklyStatsFx","flushAttempts","source","Boolean","attempts","matrixConfig","MatrixConfig","STANDARD","postAttemptFx","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAQO,MAAMQ,YAAY,CAAC;EACRC,IAAI,GAAG,IAAAC,yBAAU,EAAwB,CAAC;EAC1CC,OAAO,GAAG,IAAAC,qBAAW,EAAuB,IAAI,CAAC;EAOjEC,WAAWA,CAAC;IAAEC;EAAuB,CAAC,EAAE;IACtC,IAAI,CAACA,GAAG,GAAG,IAAIC,gCAAe,CAACD,GAAG,CAAC;IACnC,IAAI,CAACE,MAAM,GAAG,IAAIC,8CAAsB,CAAC,IAAI,CAACH,GAAG,CAAC;IAClD,IAAI,CAACI,MAAM,GAAG,IAAIC,sCAAkB,CAAC,IAAI,CAACL,GAAG,CAAC;IAC9C,IAAI,CAACM,OAAO,GAAG,IAAIC,wCAAmB,CAAC,IAAI,CAACH,MAAM,EAAE,IAAI,CAACP,OAAO,CAAC;IAEjE,IAAI,CAACW,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAG;IACb,IAAAC,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACf,IAAI,CAACgB,IAAI;MACrBC,EAAE,EAAEA,CAAC;QAAEC;MAAO,CAAC,KAAKA,MAAM;MAC1BC,MAAM,EAAE,IAAI,CAACjB;IACf,CAAC,CAAC;IAEF,IAAAY,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACf,IAAI,CAACgB,IAAI;MACrBI,MAAM,EAAE,IAAAC,QAAG,EAAC,IAAI,CAAChB,GAAG,CAACiB,WAAW,CAACC,OAAO,CAAC;MACzCN,EAAE,EAAEA,CAAC;QAAEC;MAAO,CAAC,MAAM;QAAEM,KAAK,EAAEN,MAAM,CAACM;MAAM,CAAC,CAAC;MAC7CL,MAAM,EAAE,IAAI,CAACd,GAAG,CAACiB;IACnB,CAAC,CAAC;IAEF,IAAAR,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACf,IAAI,CAACgB,IAAI;MACrBI,MAAM,EAAE,IAAAC,QAAG,EAAC,IAAI,CAAChB,GAAG,CAACoB,gBAAgB,CAACF,OAAO,CAAC;MAC9CJ,MAAM,EAAE,IAAI,CAACd,GAAG,CAACoB;IACnB,CAAC,CAAC;IAEF,IAAAX,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACJ,OAAO,CAACe,aAAa;MACjCC,MAAM,EAAE,IAAI,CAACzB,OAAO;MACpBkB,MAAM,EAAEQ,OAAO;MACfX,EAAE,EAAEA,CAACC,MAAM,EAAEW,QAAQ,MAA6B;QAChDL,KAAK,EAAEN,MAAM,CAACM,KAAK;QACnBK,QAAQ;QACRC,YAAY,EAAEC,8BAAY,CAACC;MAC7B,CAAC,CAAC;MACFb,MAAM,EAAE,IAAI,CAACd,GAAG,CAAC4B;IACnB,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAAnC,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_effectorReact","_not","_FluencyDaysStreakModel","_FluencyMatrixModel","_FluencyApiModel","_FluencySolvingModel","_fluencyConstants","_fluencyHelpers","FluencyModel","gate","createGate","$config","createStore","$status","constructor","api","FluencyApiModel","streak","FluencyDaysStreakModel","matrix","FluencyMatrixModel","solving","FluencySolvingModel","init","setupStatusTracking","sample","clock","open","fn","config","target","filter","not","getMatrixFx","pending","grade","getWeeklyStatsFx","flushAttempts","source","Boolean","attempts","matrixConfig","MatrixConfig","STANDARD","postAttemptFx","fail","FluencyStatus","ERROR","doneData","allFactsEmpty","EMPTY","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencyModel.ts"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getTimeThresholdByGrade = exports.StreakStatus = exports.SESSION_LENGTH = exports.ONE_DAY_MS = exports.MatrixConfig = exports.MAX_INPUT_LENGTH = exports.FluencyMode = exports.FluencyMasteryLevel = exports.FluencyColorFamily = exports.FLUSH_ATTEMPTS_COUNT = exports.FLUENCY_MODE_PRESETS = exports.FLUENCY_MODES = exports.COLOR_FAMILY_PALETTES = exports.AttemptStatus = void 0;
6
+ exports.getTimeThresholdByGrade = exports.StreakStatus = exports.SESSION_LENGTH = exports.ONE_DAY_MS = exports.MatrixConfig = exports.MAX_INPUT_LENGTH = exports.FluencyStatus = exports.FluencyMode = exports.FluencyMasteryLevel = exports.FluencyColorFamily = exports.FLUSH_ATTEMPTS_COUNT = exports.FLUENCY_MODE_PRESETS = exports.FLUENCY_MODES = exports.COLOR_FAMILY_PALETTES = exports.AttemptStatus = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _fluencyHelpers = require("./fluency.helpers.js");
9
9
  const MAX_INPUT_LENGTH = exports.MAX_INPUT_LENGTH = 3;
@@ -102,4 +102,9 @@ const FLUENCY_MODE_PRESETS = exports.FLUENCY_MODE_PRESETS = Object.fromEntries(F
102
102
  preset
103
103
  }) => [mode, preset]));
104
104
  const ONE_DAY_MS = exports.ONE_DAY_MS = 86_400_000;
105
+ let FluencyStatus = exports.FluencyStatus = /*#__PURE__*/function (FluencyStatus) {
106
+ FluencyStatus["ERROR"] = "ERROR";
107
+ FluencyStatus["EMPTY"] = "EMPTY";
108
+ return FluencyStatus;
109
+ }({});
105
110
  //# sourceMappingURL=fluency.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_fluencyHelpers","MAX_INPUT_LENGTH","exports","SESSION_LENGTH","FLUSH_ATTEMPTS_COUNT","getTimeThresholdByGrade","grade","FluencyMode","FluencyMasteryLevel","FluencyColorFamily","StreakStatus","AttemptStatus","MatrixConfig","COLOR_FAMILY_PALETTES","GREEN","shades","COLORS","GREEN_2","GREEN_3","PRIMARY_GREEN","GREEN_6","button","ButtonColor","select","SelectOptionColor","ORANGE","ORANGE_2","ORANGE_3","PRIMARY_ORANGE","ORANGE_6","BLUE","BLUE_2","BLUE_3","PRIMARY_BLUE","BLUE_6","PURPLE","PURPLE_2","PURPLE_3","PRIMARY_PURPLE","PURPLE_6","FLUENCY_MODES","createFluencyMode","mode","ADDITION","label","symbol","colorFamily","SUBTRACTION","MULTIPLICATION","DIVISION","FLUENCY_MODE_PRESETS","Object","fromEntries","map","preset","ONE_DAY_MS"],"sourceRoot":"../../../../../src","sources":["features/fluency/shared/fluency.constants.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_fluencyHelpers","MAX_INPUT_LENGTH","exports","SESSION_LENGTH","FLUSH_ATTEMPTS_COUNT","getTimeThresholdByGrade","grade","FluencyMode","FluencyMasteryLevel","FluencyColorFamily","StreakStatus","AttemptStatus","MatrixConfig","COLOR_FAMILY_PALETTES","GREEN","shades","COLORS","GREEN_2","GREEN_3","PRIMARY_GREEN","GREEN_6","button","ButtonColor","select","SelectOptionColor","ORANGE","ORANGE_2","ORANGE_3","PRIMARY_ORANGE","ORANGE_6","BLUE","BLUE_2","BLUE_3","PRIMARY_BLUE","BLUE_6","PURPLE","PURPLE_2","PURPLE_3","PRIMARY_PURPLE","PURPLE_6","FLUENCY_MODES","createFluencyMode","mode","ADDITION","label","symbol","colorFamily","SUBTRACTION","MULTIPLICATION","DIVISION","FLUENCY_MODE_PRESETS","Object","fromEntries","map","preset","ONE_DAY_MS","FluencyStatus"],"sourceRoot":"../../../../../src","sources":["features/fluency/shared/fluency.constants.ts"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.generateStreakDates = exports.createFluencyMode = exports.buildMatrixGrid = void 0;
6
+ exports.generateStreakDates = exports.createFluencyMode = exports.buildMatrixGrid = exports.allFactsEmpty = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _fluencyConstants = require("./fluency.constants.js");
9
9
  const createFluencyMode = ({
@@ -113,6 +113,8 @@ const buildMatrixGrid = (data, mode) => {
113
113
  return [headerRow, ...dataRows];
114
114
  };
115
115
  exports.buildMatrixGrid = buildMatrixGrid;
116
+ const allFactsEmpty = response => Object.values(response.operations).every(op => Object.keys(op.facts).length === 0);
117
+ exports.allFactsEmpty = allFactsEmpty;
116
118
  const generateStreakDates = stats => {
117
119
  const todayMs = new Date().setHours(0, 0, 0, 0);
118
120
  const startMs = new Date(stats.weekStart).setHours(0, 0, 0, 0);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_fluencyConstants","createFluencyMode","mode","label","symbol","colorFamily","palette","COLOR_FAMILY_PALETTES","learning","growing","strong","mastered","shades","select","preset","buttonColor","button","accentColor","header","streakColor","gained","todayBorder","matrix","operatorLabel","levelColors","FluencyMasteryLevel","NOT_STARTED","COLORS","NEUTRAL_2","LEARNING","GROWING","STRONG","MASTERED","exports","buildMatrixGrid","data","facts","Object","values","operations","maxRow","Math","max","map","f","position","row","maxColumn","column","isDivision","FluencyMode","DIVISION","isSubtraction","SUBTRACTION","isCommutative","ADDITION","MULTIPLICATION","factAt","col","find","maxMinuend","numbers","rowNumbers","Array","from","length","_","i","columnNumbers","headerRow","isHeader","isEmpty","box","dataRows","fact","mirrorFact","primaryBox","mirrorBox","effectiveBox","generateStreakDates","stats","todayMs","Date","setHours","startMs","weekStart","practiced","Set","practicedDates","d","dayMs","ONE_DAY_MS","isPracticed","has","isToday","StreakStatus","TODAY_GAINED","GAINED","TODAY","MISSED"],"sourceRoot":"../../../../../src","sources":["features/fluency/shared/fluency.helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_fluencyConstants","createFluencyMode","mode","label","symbol","colorFamily","palette","COLOR_FAMILY_PALETTES","learning","growing","strong","mastered","shades","select","preset","buttonColor","button","accentColor","header","streakColor","gained","todayBorder","matrix","operatorLabel","levelColors","FluencyMasteryLevel","NOT_STARTED","COLORS","NEUTRAL_2","LEARNING","GROWING","STRONG","MASTERED","exports","buildMatrixGrid","data","facts","Object","values","operations","maxRow","Math","max","map","f","position","row","maxColumn","column","isDivision","FluencyMode","DIVISION","isSubtraction","SUBTRACTION","isCommutative","ADDITION","MULTIPLICATION","factAt","col","find","maxMinuend","numbers","rowNumbers","Array","from","length","_","i","columnNumbers","headerRow","isHeader","isEmpty","box","dataRows","fact","mirrorFact","primaryBox","mirrorBox","effectiveBox","allFactsEmpty","response","every","op","keys","generateStreakDates","stats","todayMs","Date","setHours","startMs","weekStart","practiced","Set","practicedDates","d","dayMs","ONE_DAY_MS","isPracticed","has","isToday","StreakStatus","TODAY_GAINED","GAINED","TODAY","MISSED"],"sourceRoot":"../../../../../src","sources":["features/fluency/shared/fluency.helpers.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAwBO,MAAME,iBAAiB,GAAGA,CAAC;EAChCC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC;AACuB,CAAC,KAAwB;EAChD,MAAMC,OAAO,GAAGC,uCAAqB,CAACF,WAAW,CAAC;EAClD,MAAM,CAACG,QAAQ,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,CAAC,GAAGL,OAAO,CAACM,MAAM;EAE5D,OAAO;IACLV,IAAI;IACJC,KAAK;IACLC,MAAM;IACNS,MAAM,EAAEP,OAAO,CAACO,MAAM;IACtBC,MAAM,EAAE;MACNC,WAAW,EAAET,OAAO,CAACU,MAAM;MAC3BZ,MAAM;MACNa,WAAW,EAAEP,MAAM;MACnBQ,MAAM,EAAE;QACNC,WAAW,EAAE;UAAEC,MAAM,EAAEX,OAAO;UAAEY,WAAW,EAAEX;QAAO;MACtD,CAAC;MACDY,MAAM,EAAE;QACNC,aAAa,EAAEpB,KAAK;QACpBqB,WAAW,EAAE;UACX,CAACC,qCAAmB,CAACC,WAAW,GAAGC,qBAAM,CAACC,SAAS;UACnD,CAACH,qCAAmB,CAACI,QAAQ,GAAGrB,QAAQ;UACxC,CAACiB,qCAAmB,CAACK,OAAO,GAAGrB,OAAO;UACtC,CAACgB,qCAAmB,CAACM,MAAM,GAAGrB,MAAM;UACpC,CAACe,qCAAmB,CAACO,QAAQ,GAAGrB;QAClC;MACF;IACF;EACF,CAAC;AACH,CAAC;AAAAsB,OAAA,CAAAhC,iBAAA,GAAAA,iBAAA;AAEM,MAAMiC,eAAe,GAAGA,CAACC,IAAuB,EAAEjC,IAAiB,KAAiB;EACzF,MAAMkC,KAAK,GAAGC,MAAM,CAACC,MAAM,CAACH,IAAI,CAACI,UAAU,CAACrC,IAAI,CAAC,CAACkC,KAAK,CAAC;EACxD,MAAMI,MAAM,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAGN,KAAK,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACC,GAAG,CAAC,CAAC;EAC/D,MAAMC,SAAS,GAAGN,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAGN,KAAK,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACG,MAAM,CAAC,CAAC;EACrE,MAAMC,UAAU,GAAG/C,IAAI,KAAKgD,6BAAW,CAACC,QAAQ;EAChD,MAAMC,aAAa,GAAGlD,IAAI,KAAKgD,6BAAW,CAACG,WAAW;EACtD,MAAMC,aAAa,GAAGpD,IAAI,KAAKgD,6BAAW,CAACK,QAAQ,IAAIrD,IAAI,KAAKgD,6BAAW,CAACM,cAAc;EAE1F,MAAMC,MAAM,GAAGA,CAACX,GAAW,EAAEY,GAAW,KACtCtB,KAAK,CAACuB,IAAI,CAAEf,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACC,GAAG,KAAKA,GAAG,IAAIF,CAAC,CAACC,QAAQ,CAACG,MAAM,KAAKU,GAAG,CAAC;;EAExE;EACA;EACA;EACA;EACA,MAAME,UAAU,GAAGR,aAAa,GAAGX,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,GAAGN,KAAK,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGrB,MAAM;EAC1F,MAAMsB,UAAU,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEL,UAAU,GAAG;EAAE,CAAC,EAAE,CAACM,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;EACtE,MAAMC,aAAa,GAAGnB,UAAU,GAC5Bc,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAElB;EAAU,CAAC,EAAE,CAACmB,CAAC,EAAEC,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,GAClDJ,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAElB,SAAS,GAAG;EAAE,CAAC,EAAE,CAACmB,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;EAEtD,MAAME,SAAqB,GAAG,CAC5B;IAAEC,QAAQ,EAAE,KAAK;IAAEC,OAAO,EAAE,KAAK;IAAEpE,KAAK,EAAE,IAAI;IAAEqE,GAAG,EAAE,IAAI;IAAEX,OAAO,EAAE;EAAK,CAAC,EAC1E,GAAGO,aAAa,CAACzB,GAAG,CACjBe,GAAG,KAAgB;IAAEY,QAAQ,EAAE,IAAI;IAAEC,OAAO,EAAE,KAAK;IAAEpE,KAAK,EAAEuD,GAAG;IAAEc,GAAG,EAAE,IAAI;IAAEX,OAAO,EAAE;EAAK,CAAC,CAC9F,CAAC,CACF;EAED,MAAMY,QAAsB,GAAGX,UAAU,CAACnB,GAAG,CAAEG,GAAG,IAAK,CACrD;IAAEwB,QAAQ,EAAE,IAAI;IAAEC,OAAO,EAAE,KAAK;IAAEpE,KAAK,EAAE2C,GAAG;IAAE0B,GAAG,EAAE,IAAI;IAAEX,OAAO,EAAE;EAAK,CAAC,EACxE,GAAGO,aAAa,CAACzB,GAAG,CAAEe,GAAG,IAAe;IACtC,IAAIN,aAAa,IAAIM,GAAG,GAAGZ,GAAG,EAAE;MAC9B,OAAO;QAAEwB,QAAQ,EAAE,KAAK;QAAEC,OAAO,EAAE,IAAI;QAAEpE,KAAK,EAAE,IAAI;QAAEqE,GAAG,EAAE,IAAI;QAAEX,OAAO,EAAE;MAAK,CAAC;IAClF;;IAEA;IACA,MAAMa,IAAI,GAAGtB,aAAa,GAAGK,MAAM,CAACX,GAAG,GAAGY,GAAG,EAAEA,GAAG,CAAC,GAAGD,MAAM,CAACX,GAAG,EAAEY,GAAG,CAAC;IACtE,MAAMiB,UAAU,GAAGrB,aAAa,GAAGG,MAAM,CAACC,GAAG,EAAEZ,GAAG,CAAC,GAAG,IAAI;IAC1D,MAAM8B,UAAU,GAAGF,IAAI,EAAEF,GAAG,IAAI,IAAI;IACpC,MAAMK,SAAS,GAAGF,UAAU,EAAEH,GAAG,IAAI,IAAI;IACzC,MAAMM,YAAY,GAChBF,UAAU,KAAK,IAAI,IAAIC,SAAS,KAAK,IAAI,GACrCpC,IAAI,CAACC,GAAG,CAACkC,UAAU,EAAEC,SAAS,CAAC,GAC9BD,UAAU,IAAIC,SAAU;IAC/B,MAAMhB,OAAkC,GACtCa,IAAI,EAAEb,OAAO,KAAKZ,UAAU,GAAG,CAACH,GAAG,GAAGY,GAAG,EAAEA,GAAG,CAAC,GAAG,CAACZ,GAAG,EAAEY,GAAG,CAAC,CAAC;IAC/D,OAAO;MACLY,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,KAAK;MACdpE,KAAK,EAAE,IAAI;MACXqE,GAAG,EAAEM,YAAY;MACjBjB;IACF,CAAC;EACH,CAAC,CAAC,CACH,CAAC;EAEF,OAAO,CAACQ,SAAS,EAAE,GAAGI,QAAQ,CAAC;AACjC,CAAC;AAAAxC,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEM,MAAM6C,aAAa,GAAIC,QAA2B,IACvD3C,MAAM,CAACC,MAAM,CAAC0C,QAAQ,CAACzC,UAAU,CAAC,CAAC0C,KAAK,CAAEC,EAAE,IAAK7C,MAAM,CAAC8C,IAAI,CAACD,EAAE,CAAC9C,KAAK,CAAC,CAAC6B,MAAM,KAAK,CAAC,CAAC;AAAAhC,OAAA,CAAA8C,aAAA,GAAAA,aAAA;AAE/E,MAAMK,mBAAmB,GAAIC,KAA6B,IAAK;EACpE,MAAMC,OAAO,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC/C,MAAMC,OAAO,GAAG,IAAIF,IAAI,CAACF,KAAK,CAACK,SAAS,CAAC,CAACF,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC9D,MAAMG,SAAS,GAAG,IAAIC,GAAG,CAACP,KAAK,CAACQ,cAAc,CAAClD,GAAG,CAAEmD,CAAC,IAAK,IAAIP,IAAI,CAACO,CAAC,CAAC,CAACN,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAE5F,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC7C,GAAG,CAAEwB,CAAC,IAAK;IAChC,MAAM4B,KAAK,GAAGN,OAAO,GAAGtB,CAAC,GAAG6B,4BAAU;IACtC,MAAMC,WAAW,GAAGN,SAAS,CAACO,GAAG,CAACH,KAAK,CAAC;IACxC,MAAMI,OAAO,GAAGJ,KAAK,KAAKT,OAAO;IACjC,IAAIW,WAAW,IAAIE,OAAO,EAAE,OAAOC,8BAAY,CAACC,YAAY;IAC5D,IAAIJ,WAAW,EAAE,OAAOG,8BAAY,CAACE,MAAM;IAC3C,IAAIH,OAAO,EAAE,OAAOC,8BAAY,CAACG,KAAK;IACtC,OAAOH,8BAAY,CAACI,MAAM;EAC5B,CAAC,CAAC;AACJ,CAAC;AAAAvE,OAAA,CAAAmD,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import React from 'react';
4
- import { useGate } from 'effector-react';
4
+ import { useGate, useUnit } from 'effector-react';
5
5
  import { View, StyleSheet } from 'react-native';
6
6
  import { Typography, HeadingVariants, SPACING, COLORS } from '@magmamath/react-native-ui';
7
7
  import { useText } from "../../../i18n/i18n.js";
@@ -10,8 +10,9 @@ import { DayStreakCounter } from "./day-streak-counter/DayStreakCounter.js";
10
10
  import { SelectMathOperator } from "./select-math-operator/SelectMathOperator.js";
11
11
  import { FluencyMatrix } from "./matrix/FluencyMatrix.js";
12
12
  import { MobileMenu } from "./mobile-menu/MobileMenu.js";
13
+ import { FluencyStatusOverlay } from "./FluencyStatusOverlay.js";
13
14
  import { FluencyProvider } from "../context/FluencyContext.js";
14
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
16
  export const Fluency = ({
16
17
  model,
17
18
  config,
@@ -24,6 +25,7 @@ export const Fluency = ({
24
25
  config
25
26
  });
26
27
  const t = useText();
28
+ const status = useUnit(model.$status);
27
29
  return /*#__PURE__*/_jsx(FluencyProvider, {
28
30
  value: {
29
31
  model,
@@ -42,12 +44,16 @@ export const Fluency = ({
42
44
  style: styles.titleText,
43
45
  children: t('student.fluency.title')
44
46
  })]
45
- }), /*#__PURE__*/_jsxs(View, {
46
- style: styles.header,
47
- children: [/*#__PURE__*/_jsx(StartBanner, {}), /*#__PURE__*/_jsx(DayStreakCounter, {})]
48
- }), /*#__PURE__*/_jsxs(View, {
49
- style: styles.matrix,
50
- children: [/*#__PURE__*/_jsx(SelectMathOperator, {}), /*#__PURE__*/_jsx(FluencyMatrix, {})]
47
+ }), status ? /*#__PURE__*/_jsx(FluencyStatusOverlay, {
48
+ status: status
49
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
50
+ children: [/*#__PURE__*/_jsxs(View, {
51
+ style: styles.header,
52
+ children: [/*#__PURE__*/_jsx(StartBanner, {}), /*#__PURE__*/_jsx(DayStreakCounter, {})]
53
+ }), /*#__PURE__*/_jsxs(View, {
54
+ style: styles.matrix,
55
+ children: [/*#__PURE__*/_jsx(SelectMathOperator, {}), /*#__PURE__*/_jsx(FluencyMatrix, {})]
56
+ })]
51
57
  })]
52
58
  })
53
59
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useGate","View","StyleSheet","Typography","HeadingVariants","SPACING","COLORS","useText","StartBanner","DayStreakCounter","SelectMathOperator","FluencyMatrix","MobileMenu","FluencyProvider","jsx","_jsx","jsxs","_jsxs","Fluency","model","config","onMenuPress","onStartPress","onPracticePress","onModeSelectPress","gate","t","value","children","style","styles","root","title","onPress","variant","H2","titleText","header","matrix","create","flex","flexDirection","alignItems","color","NEUTRAL_9","height","marginTop","gap","zIndex"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,UAAU,EAAEC,eAAe,EAAEC,OAAO,EAAEC,MAAM,QAAQ,4BAA4B;AACzF,SAASC,OAAO,QAAQ,uBAAoB;AAC5C,SAASC,WAAW,QAAQ,+BAA4B;AACxD,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,kBAAkB,QAAQ,8CAA2C;AAC9E,SAASC,aAAa,QAAQ,2BAAwB;AACtD,SAASC,UAAU,QAAQ,6BAA0B;AACrD,SAASC,eAAe,QAAQ,8BAA2B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAc3D,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,MAAM;EACNC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC;AACY,CAAC,KAAK;EAClBxB,OAAO,CAACmB,KAAK,CAACM,IAAI,EAAE;IAAEL;EAAO,CAAC,CAAC;EAC/B,MAAMM,CAAC,GAAGnB,OAAO,CAAC,CAAC;EAEnB,oBACEQ,IAAA,CAACF,eAAe;IAACc,KAAK,EAAE;MAAER,KAAK;MAAEG,YAAY;MAAEC,eAAe;MAAEC;IAAkB,CAAE;IAAAI,QAAA,eAClFX,KAAA,CAAChB,IAAI;MAAC4B,KAAK,EAAEC,MAAM,CAACC,IAAK;MAAAH,QAAA,gBACvBX,KAAA,CAAChB,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACE,KAAM;QAAAJ,QAAA,gBACxBb,IAAA,CAACH,UAAU;UAACqB,OAAO,EAAEZ;QAAY,CAAE,CAAC,eACpCN,IAAA,CAACZ,UAAU;UAAC+B,OAAO,EAAE9B,eAAe,CAAC+B,EAAG;UAACN,KAAK,EAAEC,MAAM,CAACM,SAAU;UAAAR,QAAA,EAC9DF,CAAC,CAAC,uBAAuB;QAAC,CACjB,CAAC;MAAA,CACT,CAAC,eAEPT,KAAA,CAAChB,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACO,MAAO;QAAAT,QAAA,gBACzBb,IAAA,CAACP,WAAW,IAAE,CAAC,eACfO,IAAA,CAACN,gBAAgB,IAAE,CAAC;MAAA,CAChB,CAAC,eAEPQ,KAAA,CAAChB,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACQ,MAAO;QAAAV,QAAA,gBACzBb,IAAA,CAACL,kBAAkB,IAAE,CAAC,eACtBK,IAAA,CAACJ,aAAa,IAAE,CAAC;MAAA,CACb,CAAC;IAAA,CACH;EAAC,CACQ,CAAC;AAEtB,CAAC;AAED,MAAMmB,MAAM,GAAG5B,UAAU,CAACqC,MAAM,CAAC;EAC/BR,IAAI,EAAE;IACJS,IAAI,EAAE;EACR,CAAC;EACDR,KAAK,EAAE;IACLS,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDN,SAAS,EAAE;IAAEO,KAAK,EAAErC,MAAM,CAACsC;EAAU,CAAC;EACtCP,MAAM,EAAE;IACNQ,MAAM,EAAE,GAAG;IACXJ,aAAa,EAAE,KAAK;IACpBK,SAAS,EAAEzC,OAAO,CAAC,GAAG,CAAC;IACvB0C,GAAG,EAAE1C,OAAO,CAAC,GAAG,CAAC;IACjB2C,MAAM,EAAE;EACV,CAAC;EACDV,MAAM,EAAE;IACNE,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBK,SAAS,EAAEzC,OAAO,CAAC,GAAG,CAAC;IACvB0C,GAAG,EAAE1C,OAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useGate","useUnit","View","StyleSheet","Typography","HeadingVariants","SPACING","COLORS","useText","StartBanner","DayStreakCounter","SelectMathOperator","FluencyMatrix","MobileMenu","FluencyStatusOverlay","FluencyProvider","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Fluency","model","config","onMenuPress","onStartPress","onPracticePress","onModeSelectPress","gate","t","status","$status","value","children","style","styles","root","title","onPress","variant","H2","titleText","header","matrix","create","flex","flexDirection","alignItems","color","NEUTRAL_9","height","marginTop","gap","zIndex"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { COLORS, ErrorIcon, HeadingVariants, InfoIcon, SPACING, Typography } from '@magmamath/react-native-ui';
6
+ import { FluencyStatus } from "../shared/fluency.constants.js";
7
+ import { useText } from "../../../i18n/i18n.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const FLUENCY_STATUS_VARIANTS = {
10
+ [FluencyStatus.ERROR]: {
11
+ icon: /*#__PURE__*/_jsx(ErrorIcon, {
12
+ color: COLORS.PRIMARY_RED,
13
+ size: 40
14
+ }),
15
+ circleColor: COLORS.RED_1,
16
+ titleKey: 'student.fluency.errorTitle',
17
+ subtitleKey: 'student.fluency.errorSubtitle'
18
+ },
19
+ [FluencyStatus.EMPTY]: {
20
+ icon: /*#__PURE__*/_jsx(InfoIcon, {
21
+ color: COLORS.NEUTRAL_6,
22
+ size: 40
23
+ }),
24
+ circleColor: COLORS.NEUTRAL_2,
25
+ titleKey: 'student.fluency.emptyTitle',
26
+ subtitleKey: 'student.fluency.emptySubtitle'
27
+ }
28
+ };
29
+ export const FluencyStatusOverlay = ({
30
+ status
31
+ }) => {
32
+ const t = useText();
33
+ const variant = FLUENCY_STATUS_VARIANTS[status];
34
+ if (!variant) return null;
35
+ return /*#__PURE__*/_jsx(View, {
36
+ style: styles.container,
37
+ children: /*#__PURE__*/_jsxs(View, {
38
+ style: styles.content,
39
+ children: [/*#__PURE__*/_jsx(View, {
40
+ style: [styles.iconCircle, {
41
+ backgroundColor: variant.circleColor
42
+ }],
43
+ children: variant.icon
44
+ }), /*#__PURE__*/_jsxs(View, {
45
+ style: styles.text,
46
+ children: [/*#__PURE__*/_jsx(Typography, {
47
+ variant: HeadingVariants.H2,
48
+ style: styles.title,
49
+ children: t(variant.titleKey)
50
+ }), /*#__PURE__*/_jsx(Typography, {
51
+ variant: HeadingVariants.H7,
52
+ style: styles.subtitle,
53
+ children: t(variant.subtitleKey)
54
+ })]
55
+ })]
56
+ })
57
+ });
58
+ };
59
+ const styles = StyleSheet.create({
60
+ container: {
61
+ flex: 1,
62
+ alignItems: 'center',
63
+ justifyContent: 'center'
64
+ },
65
+ content: {
66
+ alignItems: 'center',
67
+ gap: SPACING[500],
68
+ paddingBottom: SPACING[800]
69
+ },
70
+ iconCircle: {
71
+ width: 88,
72
+ height: 88,
73
+ borderRadius: 44,
74
+ alignItems: 'center',
75
+ justifyContent: 'center'
76
+ },
77
+ text: {
78
+ alignItems: 'center',
79
+ gap: SPACING[200],
80
+ maxWidth: 340
81
+ },
82
+ title: {
83
+ color: COLORS.NEUTRAL_9,
84
+ textAlign: 'center',
85
+ fontSize: 24,
86
+ fontWeight: '500'
87
+ },
88
+ subtitle: {
89
+ color: COLORS.NEUTRAL_7,
90
+ textAlign: 'center',
91
+ fontSize: 16,
92
+ fontWeight: '400'
93
+ }
94
+ });
95
+ //# sourceMappingURL=FluencyStatusOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","COLORS","ErrorIcon","HeadingVariants","InfoIcon","SPACING","Typography","FluencyStatus","useText","jsx","_jsx","jsxs","_jsxs","FLUENCY_STATUS_VARIANTS","ERROR","icon","color","PRIMARY_RED","size","circleColor","RED_1","titleKey","subtitleKey","EMPTY","NEUTRAL_6","NEUTRAL_2","FluencyStatusOverlay","status","t","variant","style","styles","container","children","content","iconCircle","backgroundColor","text","H2","title","H7","subtitle","create","flex","alignItems","justifyContent","gap","paddingBottom","width","height","borderRadius","maxWidth","NEUTRAL_9","textAlign","fontSize","fontWeight","NEUTRAL_7"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencyStatusOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,18 +15,26 @@ export const SelectMathOperator = () => {
15
15
  model,
16
16
  onModeSelectPress
17
17
  } = useFluency();
18
- const fluencyMode = useUnit(model.matrix.$mode);
19
- const matrix = useUnit(model.matrix.$data);
18
+ const {
19
+ fluencyMode,
20
+ matrix
21
+ } = useUnit({
22
+ fluencyMode: model.matrix.$mode,
23
+ matrix: model.matrix.$data
24
+ });
25
+ const visibleModes = matrix ? FLUENCY_MODES.filter(({
26
+ mode
27
+ }) => Object.keys(matrix.operations?.[mode]?.facts).length > 0) : FLUENCY_MODES;
20
28
  return /*#__PURE__*/_jsx(View, {
21
29
  style: styles.container,
22
- children: FLUENCY_MODES.map(({
30
+ children: visibleModes.map(({
23
31
  mode,
24
32
  label,
25
33
  symbol,
26
34
  select
27
35
  }, index) => {
28
36
  const isSelectedMode = mode === fluencyMode;
29
- const progress = (matrix?.operations[mode].completionRate ?? 0) * 100;
37
+ const progress = (matrix?.operations?.[mode]?.completionRate ?? 0) * 100;
30
38
  return /*#__PURE__*/_jsx(MathOperatorRow, {
31
39
  title: t(label),
32
40
  icon: /*#__PURE__*/_jsx(Typography, {
@@ -41,7 +49,7 @@ export const SelectMathOperator = () => {
41
49
  model.matrix.setMode(mode);
42
50
  onModeSelectPress?.(mode);
43
51
  },
44
- showDivider: index < FLUENCY_MODES.length - 1
52
+ showDivider: index < visibleModes.length - 1
45
53
  }, mode);
46
54
  })
47
55
  });