@magmamath/students-features 1.3.26-rc.17 → 1.3.26-rc.19
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.
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +9 -14
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +2 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +5 -5
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.constants.js +7 -2
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +3 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js +1 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +5 -3
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +32 -2
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js +9 -1
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +9 -14
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +2 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +5 -5
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
- package/dist/module/features/fluency/fluency.constants.js +5 -1
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js +3 -1
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyModel.js +1 -1
- package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencySolvingModel.js +6 -4
- package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +33 -3
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js +9 -1
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +4 -2
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyTableModel.d.ts +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts +1 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +4 -2
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts +1 -1
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyTableModel.d.ts +1 -1
- package/package.json +1 -1
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +14 -17
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +2 -1
- package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +5 -5
- package/src/features/fluency/fluency.constants.ts +6 -1
- package/src/features/fluency/hooks/useFluencyNumpad.tsx +3 -1
- package/src/features/fluency/model/FluencyModel.ts +1 -1
- package/src/features/fluency/model/FluencySolvingModel.ts +10 -4
- package/src/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx +36 -3
- package/src/features/fluency-teacher/model/TeacherFluencyModel.ts +10 -1
- package/src/i18n/.generated/schema.json +5 -0
package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js
CHANGED
|
@@ -15,23 +15,16 @@ 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_LABELS = {
|
|
19
|
+
[_fluencyConstants.AttemptStatus.CORRECT]: 'student.fluency.correct',
|
|
20
|
+
[_fluencyConstants.AttemptStatus.INCORRECT]: 'student.fluency.incorrect',
|
|
21
|
+
[_fluencyConstants.AttemptStatus.SKIPPED]: 'student.fluency.skipped'
|
|
22
|
+
};
|
|
18
23
|
const STATUS_COLOR = {
|
|
19
24
|
[_fluencyConstants.AttemptStatus.CORRECT]: _reactNativeUi.COLORS.PRIMARY_GREEN,
|
|
20
25
|
[_fluencyConstants.AttemptStatus.INCORRECT]: _reactNativeUi.COLORS.PRIMARY_RED,
|
|
21
26
|
[_fluencyConstants.AttemptStatus.SKIPPED]: _reactNativeUi.COLORS.NEUTRAL_7
|
|
22
27
|
};
|
|
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
|
-
};
|
|
35
28
|
const EquationContent = ({
|
|
36
29
|
leftOperand,
|
|
37
30
|
rightOperand,
|
|
@@ -47,7 +40,9 @@ const EquationContent = ({
|
|
|
47
40
|
mode
|
|
48
41
|
});
|
|
49
42
|
const labelColor = status ? STATUS_COLOR[status] : _reactNativeUi.COLORS.NEUTRAL_7;
|
|
50
|
-
const labelText =
|
|
43
|
+
const labelText = status ? t(STATUS_LABELS[status], {
|
|
44
|
+
answer: correctAnswer
|
|
45
|
+
}) : t('student.fluency.typeYourAnswer');
|
|
51
46
|
const answerAreaColor = status === _fluencyConstants.AttemptStatus.INCORRECT ? _reactNativeUi.COLORS.PRIMARY_RED : modePreset.colors.accent;
|
|
52
47
|
const inputRef = (0, _react.useRef)(null);
|
|
53
48
|
(0, _usePreventWebKeys.usePreventWebKeys)({
|
|
@@ -96,7 +91,7 @@ const EquationContent = ({
|
|
|
96
91
|
style: [styles.number, styles.answerInput, {
|
|
97
92
|
color: answerAreaColor
|
|
98
93
|
}],
|
|
99
|
-
autoFocus:
|
|
94
|
+
autoFocus: false
|
|
100
95
|
})
|
|
101
96
|
})]
|
|
102
97
|
})]
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map
CHANGED
|
@@ -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","
|
|
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_LABELS","AttemptStatus","CORRECT","INCORRECT","SKIPPED","STATUS_COLOR","COLORS","PRIMARY_GREEN","PRIMARY_RED","NEUTRAL_7","EquationContent","leftOperand","rightOperand","mode","value","readOnly","status","correctAnswer","onChange","useText","modePreset","useFluencySolvingPreset","labelColor","labelText","answer","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":[]}
|
package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js
CHANGED
|
@@ -39,7 +39,8 @@ const FluencySolvingCard = () => {
|
|
|
39
39
|
};
|
|
40
40
|
const submit = () => {
|
|
41
41
|
if (!currentFact) return;
|
|
42
|
-
|
|
42
|
+
if (currentAnswer === null) return;
|
|
43
|
+
const isCorrect = Number(currentAnswer) === currentFact.answer;
|
|
43
44
|
const direction = isCorrect ? 'right' : 'left';
|
|
44
45
|
const status = isCorrect ? _fluencyConstants.AttemptStatus.CORRECT : _fluencyConstants.AttemptStatus.INCORRECT;
|
|
45
46
|
if (!cardDeckAnimation.startCardExit({
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,4BAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AAA0D,IAAAU,WAAA,GAAAV,OAAA;AAAA,SAAAD,uBAAAY,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGnD,MAAMG,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,0BAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,aAAa;IAAEC;EAAY,CAAC,GAAG,IAAAC,sBAAO,EAAC;IAC7CF,aAAa,EAAEF,KAAK,CAACK,OAAO,CAACC,OAAO;IACpCH,WAAW,EAAEH,KAAK,CAACK,OAAO,CAACE;EAC7B,CAAC,CAAC;EACF,MAAMC,iBAAiB,GAAG,IAAAC,wDAA2B,EAAC,CAAC;EACvD,MAAMC,YAAY,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEtC,MAAMC,kBAAkB,GAAG;IAAEC,IAAI,EAAEV,WAAW;IAAEW,MAAM,EAAEZ,aAAa,IAAI;EAAG,CAAC;EAE7E,MAAMa,YAAY,GAAIC,IAAY,IAAK;IACrC,MAAMC,MAAM,GAAGD,IAAI,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACtClB,KAAK,CAACK,OAAO,CAACc,SAAS,CAACF,MAAM,IAAI,IAAI,CAAC;EACzC,CAAC;EAED,MAAMG,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAI,CAACjB,WAAW,EAAE;
|
|
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":[]}
|
|
@@ -39,8 +39,7 @@ function computePriority(fact, now, params, maxDifficulty) {
|
|
|
39
39
|
}
|
|
40
40
|
function selectNextFact(facts, now, params = _fluencySolvingConstants.DEFAULT_PICKER_PARAMS) {
|
|
41
41
|
if (facts.length === 0) return null;
|
|
42
|
-
const
|
|
43
|
-
const pool = available.length > 0 ? available : facts;
|
|
42
|
+
const pool = facts;
|
|
44
43
|
const maxDifficulty = pool.reduce((m, f) => Math.max(m, f.difficulty), 1);
|
|
45
44
|
let best = pool[0];
|
|
46
45
|
let bestScore = -Infinity;
|
|
@@ -79,8 +78,9 @@ function calculateNextBox({
|
|
|
79
78
|
hasFailedThisSession
|
|
80
79
|
}) {
|
|
81
80
|
if (!isCorrect) return Math.max(1, currentBox - 1);
|
|
82
|
-
if (!isFast) return currentBox;
|
|
83
|
-
if (hasFailedThisSession
|
|
84
|
-
|
|
81
|
+
if (!isFast) return currentBox === 0 ? 1 : currentBox;
|
|
82
|
+
if (hasFailedThisSession) return Math.min(currentBox + 1, sessionStartBox);
|
|
83
|
+
if (currentBox >= sessionStartBox + 1) return currentBox;
|
|
84
|
+
return Math.min(currentBox + 1, 4);
|
|
85
85
|
}
|
|
86
86
|
//# sourceMappingURL=fluencySolving.helpers.js.map
|
package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fluencyConstants","require","_fluencySolvingConstants","toSolvingFacts","factMap","mode","Object","entries","map","id","fact","a","b","numbers","answer","MODE_ANSWER_EVAL_FORMULA","box","difficulty","lastSeenMs","lastAttemptedAt","Date","getTime","sessionStartBox","hasFailedThisSession","attemptsCount","correctCount","computePriority","now","params","maxDifficulty","interval","Math","max","boxIntervals","overdueness","min","weakness","numBoxes","ease","wDue","wWeak","wEase","wRand","random","selectNextFact","facts","DEFAULT_PICKER_PARAMS","length","
|
|
1
|
+
{"version":3,"names":["_fluencyConstants","require","_fluencySolvingConstants","toSolvingFacts","factMap","mode","Object","entries","map","id","fact","a","b","numbers","answer","MODE_ANSWER_EVAL_FORMULA","box","difficulty","lastSeenMs","lastAttemptedAt","Date","getTime","sessionStartBox","hasFailedThisSession","attemptsCount","correctCount","computePriority","now","params","maxDifficulty","interval","Math","max","boxIntervals","overdueness","min","weakness","numBoxes","ease","wDue","wWeak","wEase","wRand","random","selectNextFact","facts","DEFAULT_PICKER_PARAMS","length","pool","reduce","m","f","best","bestScore","Infinity","score","formatSessionDuration","ms","totalSeconds","floor","minutes","seconds","toString","padStart","exports","calculateMaxStreak","outcomes","acc","outcome","current","status","AttemptStatus","CORRECT","calculateNextBox","currentBox","isCorrect","isFast"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/fluency-solving/fluencySolving.helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.getTimeThresholdByGrade = exports.StreakStatus = exports.SESSION_LENGTH = 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;
|
|
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;
|
|
10
10
|
const SESSION_LENGTH = exports.SESSION_LENGTH = 20;
|
|
11
|
-
const TIME_THRESHOLD_MS = exports.TIME_THRESHOLD_MS = 4000;
|
|
12
11
|
const FLUSH_ATTEMPTS_COUNT = exports.FLUSH_ATTEMPTS_COUNT = 5;
|
|
12
|
+
const getTimeThresholdByGrade = grade => {
|
|
13
|
+
if (grade == null || grade >= 4) return 4000;
|
|
14
|
+
if (grade >= 2) return 5000;
|
|
15
|
+
return 6000;
|
|
16
|
+
};
|
|
17
|
+
exports.getTimeThresholdByGrade = getTimeThresholdByGrade;
|
|
13
18
|
let FluencyMode = exports.FluencyMode = /*#__PURE__*/function (FluencyMode) {
|
|
14
19
|
FluencyMode["ADDITION"] = "addition";
|
|
15
20
|
FluencyMode["SUBTRACTION"] = "subtraction";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeUi","require","_fluencyHelpers","MAX_INPUT_LENGTH","exports","SESSION_LENGTH","
|
|
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"],"sourceRoot":"../../../../src","sources":["features/fluency/fluency.constants.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -120,9 +120,11 @@ const useFluencyNumpad = ({
|
|
|
120
120
|
const answer = (0, _effectorReact.useUnit)(model.solving.$answer);
|
|
121
121
|
const [pressedKey, setPressedKey] = (0, _react.useState)(null);
|
|
122
122
|
const pressedKeyTimeoutRef = (0, _react.useRef)();
|
|
123
|
+
const onSubmitRef = (0, _react.useRef)(onSubmit);
|
|
124
|
+
onSubmitRef.current = onSubmit;
|
|
123
125
|
const pressKey = key => {
|
|
124
126
|
if (key === _constants.KeyboardKeys.ENTER) {
|
|
125
|
-
|
|
127
|
+
onSubmitRef.current();
|
|
126
128
|
return;
|
|
127
129
|
}
|
|
128
130
|
if (key === _constants.KeyboardKeys.BACKSPACE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_BackspaceIcon","_effectorReact","_commonConstants","_constants","_i18n","_FluencyContext","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ACTION_KEY_COLOR_SCHEME","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","KeyboardKeys","BACKSPACE","jsx","BackspaceIcon","size","customColorScheme","ENTER","ENTER_COLOR_SCHEME","PRIMARY_GREEN","GREEN_6","NEUTRAL_1","PRESSED","ACTIVE","useFluencyNumpad","onSubmit","useText","model","useFluency","answer","useUnit","solving","$answer","pressedKey","setPressedKey","useState","pressedKeyTimeoutRef","useRef","pressKey","setAnswer","length","slice","MAX_INPUT_LENGTH","useEffect","isWeb","handleKeyDown","event","test","clearTimeout","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_BackspaceIcon","_effectorReact","_commonConstants","_constants","_i18n","_FluencyContext","_fluencyConstants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ACTION_KEY_COLOR_SCHEME","ButtonStates","DEFAULT","backgroundColor","COLORS","NEUTRAL_3","borderColor","NEUTRAL_5","raiseColor","color","NEUTRAL_9","HOVER","NEUTRAL_2","NEUTRAL_4","NUMPAD_KEYS","key","title","value","KeyboardKeys","BACKSPACE","jsx","BackspaceIcon","size","customColorScheme","ENTER","ENTER_COLOR_SCHEME","PRIMARY_GREEN","GREEN_6","NEUTRAL_1","PRESSED","ACTIVE","useFluencyNumpad","onSubmit","useText","model","useFluency","answer","useUnit","solving","$answer","pressedKey","setPressedKey","useState","pressedKeyTimeoutRef","useRef","onSubmitRef","current","pressKey","setAnswer","length","slice","MAX_INPUT_LENGTH","useEffect","isWeb","handleKeyDown","event","test","clearTimeout","setTimeout","window","addEventListener","removeEventListener","options","map","props","selected","onPressIn","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/hooks/useFluencyNumpad.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,7 +21,7 @@ class FluencyModel {
|
|
|
21
21
|
this.api = new _FluencyApiModel.FluencyApiModel(api);
|
|
22
22
|
this.streak = new _FluencyDaysStreakModel.FluencyDaysStreakModel(this.api);
|
|
23
23
|
this.matrix = new _FluencyMatrixModel.FluencyMatrixModel(this.api);
|
|
24
|
-
this.solving = new _FluencySolvingModel.FluencySolvingModel(this.matrix);
|
|
24
|
+
this.solving = new _FluencySolvingModel.FluencySolvingModel(this.matrix, this.$config);
|
|
25
25
|
this.init();
|
|
26
26
|
}
|
|
27
27
|
init() {
|
|
@@ -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,CAAC;
|
|
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":[]}
|
|
@@ -25,8 +25,9 @@ class FluencySolvingModel {
|
|
|
25
25
|
$timeSpentInCurrentMs = (0, _effector.createStore)(0).reset(this.reset);
|
|
26
26
|
$isSessionComplete = (0, _effector.restore)(this.setSessionCompleted, false).reset(this.reset);
|
|
27
27
|
$pendingAttempts = (0, _effector.createStore)([]).reset(this.flushAttempts).reset(this.reset);
|
|
28
|
-
constructor(matrixModel) {
|
|
28
|
+
constructor(matrixModel, $config) {
|
|
29
29
|
this.matrixModel = matrixModel;
|
|
30
|
+
this.$config = $config;
|
|
30
31
|
this.setupStartTrigger();
|
|
31
32
|
this.setupSubmitTrigger();
|
|
32
33
|
this.setupFlushTrigger();
|
|
@@ -71,7 +72,8 @@ class FluencySolvingModel {
|
|
|
71
72
|
outcomes: this.$outcomes,
|
|
72
73
|
timeSpentInCurrentMs: this.$timeSpentInCurrentMs,
|
|
73
74
|
sessionDurationMs: this.$sessionDurationMs,
|
|
74
|
-
pendingAttempts: this.$pendingAttempts
|
|
75
|
+
pendingAttempts: this.$pendingAttempts,
|
|
76
|
+
config: this.$config
|
|
75
77
|
},
|
|
76
78
|
target: {
|
|
77
79
|
$current: this.$current,
|
|
@@ -88,7 +90,7 @@ class FluencySolvingModel {
|
|
|
88
90
|
if (!source.facts || !source.current) return;
|
|
89
91
|
const timeTakenToSolveFactMs = Date.now() - source.timeSpentInCurrentMs;
|
|
90
92
|
const isCorrect = source.answer !== null && Number(source.answer) === source.current.answer;
|
|
91
|
-
const isFast = timeTakenToSolveFactMs <= _fluencyConstants.
|
|
93
|
+
const isFast = timeTakenToSolveFactMs <= (0, _fluencyConstants.getTimeThresholdByGrade)(source.config?.grade);
|
|
92
94
|
const isLastQuestion = source.outcomes.length + 1 >= _fluencyConstants.SESSION_LENGTH;
|
|
93
95
|
const nextBox = (0, _fluencySolvingHelpers.calculateNextBox)({
|
|
94
96
|
isFast,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_fluencyConstants","_fluencySolvingHelpers","_effectorAction","FluencySolvingModel","reset","createEvent","start","submit","setAnswer","setSessionCompleted","updateFact","flushAttempts","$answer","restore","$current","createStore","$outcomes","$facts","on","facts","updatedFact","map","fact","id","$sessionDurationMs","$completedDurationMs","$timeSpentInCurrentMs","$isSessionComplete","$pendingAttempts","constructor","matrixModel","setupStartTrigger","setupSubmitTrigger","setupFlushTrigger","createAction","source","data","$data","target","fn","mode","getFactsFromData","undefined","selectNextFact","Date","now","answer","current","outcomes","timeSpentInCurrentMs","sessionDurationMs","pendingAttempts","update","timeTakenToSolveFactMs","isCorrect","Number","isFast","
|
|
1
|
+
{"version":3,"names":["_effector","require","_fluencyConstants","_fluencySolvingHelpers","_effectorAction","FluencySolvingModel","reset","createEvent","start","submit","setAnswer","setSessionCompleted","updateFact","flushAttempts","$answer","restore","$current","createStore","$outcomes","$facts","on","facts","updatedFact","map","fact","id","$sessionDurationMs","$completedDurationMs","$timeSpentInCurrentMs","$isSessionComplete","$pendingAttempts","constructor","matrixModel","$config","setupStartTrigger","setupSubmitTrigger","setupFlushTrigger","createAction","source","data","$data","target","fn","mode","getFactsFromData","undefined","selectNextFact","Date","now","answer","current","outcomes","timeSpentInCurrentMs","sessionDurationMs","pendingAttempts","config","update","timeTakenToSolveFactMs","isCorrect","Number","isFast","getTimeThresholdByGrade","grade","isLastQuestion","length","SESSION_LENGTH","nextBox","calculateNextBox","currentBox","box","sessionStartBox","hasFailedThisSession","lastSeenMs","attemptsCount","correctCount","updatedFacts","f","attemptItem","factId","status","AttemptStatus","CORRECT","INCORRECT","startedAt","toISOString","timeToSolve","boxAfter","numbers","sample","clock","filter","attempts","FLUSH_ATTEMPTS_COUNT","toSolvingFacts","operations","Object","entries","flatMap","key","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency/model/FluencySolvingModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAOA,IAAAE,sBAAA,GAAAF,OAAA;AAWA,IAAAG,eAAA,GAAAH,OAAA;AAGO,MAAMI,mBAAmB,CAAC;EACfC,KAAK,GAAG,IAAAC,qBAAW,EAAC,CAAC;EAErBC,KAAK,GAAG,IAAAD,qBAAW,EAAqB,CAAC;EACzCE,MAAM,GAAG,IAAAF,qBAAW,EAAC,CAAC;EACtBG,SAAS,GAAG,IAAAH,qBAAW,EAAgB,CAAC;EACxCI,mBAAmB,GAAG,IAAAJ,qBAAW,EAAU,CAAC;EAC5CK,UAAU,GAAG,IAAAL,qBAAW,EAAc,CAAC;EACvCM,aAAa,GAAG,IAAAN,qBAAW,EAAuB,CAAC;EAEnDO,OAAO,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACL,SAAS,EAAE,IAAI,CAAC,CAACJ,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACzDU,QAAQ,GAAG,IAAAC,qBAAW,EAAqB,IAAI,CAAC,CAACX,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAClEY,SAAS,GAAG,IAAAD,qBAAW,EAAoB,EAAE,CAAC,CAACX,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChEa,MAAM,GAAG,IAAAF,qBAAW,EAAgB,EAAE,CAAC,CACpDG,EAAE,CAAC,IAAI,CAACR,UAAU,EAAE,CAACS,KAAK,EAAEC,WAAW,KACtCD,KAAK,CAACE,GAAG,CAAEC,IAAI,IAAMA,IAAI,CAACC,EAAE,KAAKH,WAAW,CAACG,EAAE,GAAGH,WAAW,GAAGE,IAAK,CACvE,CAAC,CACAlB,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEJoB,kBAAkB,GAAG,IAAAT,qBAAW,EAAC,CAAC,CAAC,CAACX,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACrDqB,oBAAoB,GAAG,IAAAV,qBAAW,EAAC,CAAC,CAAC,CAACX,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACvDsB,qBAAqB,GAAG,IAAAX,qBAAW,EAAC,CAAC,CAAC,CAACX,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAExDuB,kBAAkB,GAAG,IAAAd,iBAAO,EAAC,IAAI,CAACJ,mBAAmB,EAAE,KAAK,CAAC,CAACL,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAC/EwB,gBAAgB,GAAG,IAAAb,qBAAW,EAAuB,EAAE,CAAC,CACrEX,KAAK,CAAC,IAAI,CAACO,aAAa,CAAC,CACzBP,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEpByB,WAAWA,CACQC,WAA+B,EAC/BC,OAAoC,EACrD;IAAA,KAFiBD,WAA+B,GAA/BA,WAA+B;IAAA,KAC/BC,OAAoC,GAApCA,OAAoC;IAErD,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,iBAAiB,CAAC,CAAC;EAC1B;EAEQF,iBAAiBA,CAAA,EAAG;IAC1B,IAAAG,4BAAY,EAAC,IAAI,CAAC7B,KAAK,EAAE;MACvB8B,MAAM,EAAE;QAAEC,IAAI,EAAE,IAAI,CAACP,WAAW,CAACQ;MAAM,CAAC;MACxCC,MAAM,EAAE;QACNtB,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBH,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBF,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBI,SAAS,EAAE,IAAI,CAACA,SAAS;QACzBW,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;QACvCJ,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,oBAAoB,EAAE,IAAI,CAACA,oBAAoB;QAC/CC,qBAAqB,EAAE,IAAI,CAACA;MAC9B,CAAC;MACDc,EAAE,EAAEA,CAACD,MAAM,EAAEH,MAAM,EAAEK,IAAI,KAAK;QAC5B,IAAI,CAACL,MAAM,CAACC,IAAI,EAAE;QAElB,MAAMlB,KAAK,GAAG,IAAI,CAACuB,gBAAgB,CAACN,MAAM,CAACC,IAAI,EAAEI,IAAI,IAAIE,SAAS,CAAC;QACnEJ,MAAM,CAACtB,MAAM,CAACE,KAAK,CAAC;QACpBoB,MAAM,CAACzB,QAAQ,CAAC,IAAA8B,qCAAc,EAACzB,KAAK,EAAE0B,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClDP,MAAM,CAAC3B,OAAO,CAAC,IAAI,CAAC;QACpB2B,MAAM,CAACvB,SAAS,CAAC,EAAE,CAAC;QACpBuB,MAAM,CAACZ,kBAAkB,CAAC,KAAK,CAAC;QAChCY,MAAM,CAACX,gBAAgB,CAAC,EAAE,CAAC;QAC3BW,MAAM,CAACf,kBAAkB,CAACqB,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QACrCP,MAAM,CAACd,oBAAoB,CAAC,CAAC,CAAC;QAC9Bc,MAAM,CAACb,qBAAqB,CAACmB,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC1C;IACF,CAAC,CAAC;EACJ;EAEQb,kBAAkBA,CAAA,EAAG;IAC3B,IAAAE,4BAAY,EAAC,IAAI,CAAC5B,MAAM,EAAE;MACxB6B,MAAM,EAAE;QACNW,MAAM,EAAE,IAAI,CAACnC,OAAO;QACpBO,KAAK,EAAE,IAAI,CAACF,MAAM;QAClB+B,OAAO,EAAE,IAAI,CAAClC,QAAQ;QACtBmC,QAAQ,EAAE,IAAI,CAACjC,SAAS;QACxBkC,oBAAoB,EAAE,IAAI,CAACxB,qBAAqB;QAChDyB,iBAAiB,EAAE,IAAI,CAAC3B,kBAAkB;QAC1C4B,eAAe,EAAE,IAAI,CAACxB,gBAAgB;QACtCyB,MAAM,EAAE,IAAI,CAACtB;MACf,CAAC;MACDQ,MAAM,EAAE;QACNzB,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBE,SAAS,EAAE,IAAI,CAACA,SAAS;QACzBJ,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBY,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CC,oBAAoB,EAAE,IAAI,CAACA,oBAAoB;QAC/CC,qBAAqB,EAAE,IAAI,CAACA,qBAAqB;QACjDE,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;QACvC0B,MAAM,EAAE,IAAI,CAAC5C,UAAU;QACvBD,mBAAmB,EAAE,IAAI,CAACA;MAC5B,CAAC;MACD+B,EAAE,EAAEA,CAACD,MAAM,EAAEH,MAAM,KAAK;QACtB,IAAI,CAACA,MAAM,CAACjB,KAAK,IAAI,CAACiB,MAAM,CAACY,OAAO,EAAE;QAEtC,MAAMO,sBAAsB,GAAGV,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGV,MAAM,CAACc,oBAAoB;QACvE,MAAMM,SAAS,GAAGpB,MAAM,CAACW,MAAM,KAAK,IAAI,IAAIU,MAAM,CAACrB,MAAM,CAACW,MAAM,CAAC,KAAKX,MAAM,CAACY,OAAO,CAACD,MAAM;QAC3F,MAAMW,MAAM,GAAGH,sBAAsB,IAAI,IAAAI,yCAAuB,EAACvB,MAAM,CAACiB,MAAM,EAAEO,KAAK,CAAC;QACtF,MAAMC,cAAc,GAAGzB,MAAM,CAACa,QAAQ,CAACa,MAAM,GAAG,CAAC,IAAIC,gCAAc;QAEnE,MAAMC,OAAO,GAAG,IAAAC,uCAAgB,EAAC;UAC/BP,MAAM;UACNF,SAAS;UACTU,UAAU,EAAE9B,MAAM,CAACY,OAAO,CAACmB,GAAG;UAC9BC,eAAe,EAAEhC,MAAM,CAACY,OAAO,CAACoB,eAAe;UAC/CC,oBAAoB,EAAEjC,MAAM,CAACY,OAAO,CAACqB;QACvC,CAAC,CAAC;QAEF,MAAMjD,WAAW,GAAG;UAClB,GAAGgB,MAAM,CAACY,OAAO;UACjBmB,GAAG,EAAEH,OAAO;UACZM,UAAU,EAAEzB,IAAI,CAACC,GAAG,CAAC,CAAC;UACtBuB,oBAAoB,EAAEjC,MAAM,CAACY,OAAO,CAACqB,oBAAoB,IAAI,CAACb,SAAS;UACvEe,aAAa,EAAEnC,MAAM,CAACY,OAAO,CAACuB,aAAa,GAAG,CAAC;UAC/CC,YAAY,EAAEpC,MAAM,CAACY,OAAO,CAACwB,YAAY,IAAIhB,SAAS,GAAG,CAAC,GAAG,CAAC;QAChE,CAAC;QAED,MAAMiB,YAAY,GAAGrC,MAAM,CAACjB,KAAK,CAACE,GAAG,CAAEqD,CAAC,IAAMA,CAAC,CAACnD,EAAE,KAAKH,WAAW,CAACG,EAAE,GAAGH,WAAW,GAAGsD,CAAE,CAAC;QACzFnC,MAAM,CAACe,MAAM,CAAClC,WAAW,CAAC;QAE1B,MAAMuD,WAA+B,GAAG;UACtCC,MAAM,EAAExC,MAAM,CAACY,OAAO,CAACzB,EAAE;UACzBsD,MAAM,EAAErB,SAAS,GAAGsB,+BAAa,CAACC,OAAO,GAAGD,+BAAa,CAACE,SAAS;UACnEC,SAAS,EAAE,IAAIpC,IAAI,CAACT,MAAM,CAACc,oBAAoB,CAAC,CAACgC,WAAW,CAAC,CAAC;UAC9DC,WAAW,EAAE5B,sBAAsB;UACnC6B,QAAQ,EAAEpB;QACZ,CAAC;QACDzB,MAAM,CAACX,gBAAgB,CAAC,CAAC,GAAGQ,MAAM,CAACgB,eAAe,EAAEuB,WAAW,CAAC,CAAC;QACjEpC,MAAM,CAACvB,SAAS,CAAC,CACf,GAAGoB,MAAM,CAACa,QAAQ,EAClB;UACE2B,MAAM,EAAExC,MAAM,CAACY,OAAO,CAACzB,EAAE;UACzBsD,MAAM,EAAErB,SAAS,GAAGsB,+BAAa,CAACC,OAAO,GAAGD,+BAAa,CAACE,SAAS;UACnEjC,MAAM,EAAEX,MAAM,CAACW,MAAM;UACrBsC,OAAO,EAAEjD,MAAM,CAACY,OAAO,CAACqC,OAAO;UAC/B5C,IAAI,EAAEL,MAAM,CAACY,OAAO,CAACP;QACvB,CAAC,CACF,CAAC;QAEF,IAAIoB,cAAc,EAAE;UAClBtB,MAAM,CAACd,oBAAoB,CAACoB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGV,MAAM,CAACe,iBAAiB,CAAC;UAClEZ,MAAM,CAACf,kBAAkB,CAAC,CAAC,CAAC;UAC5Be,MAAM,CAAC9B,mBAAmB,CAAC,IAAI,CAAC;UAChC;QACF;QAEA8B,MAAM,CAACzB,QAAQ,CAAC,IAAA8B,qCAAc,EAAC6B,YAAY,EAAE5B,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzDP,MAAM,CAAC3B,OAAO,CAAC,IAAI,CAAC;QACpB2B,MAAM,CAACb,qBAAqB,CAACmB,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC1C;IACF,CAAC,CAAC;EACJ;EAEQZ,iBAAiBA,CAAA,EAAG;IAC1B,IAAAoD,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAAC3D,gBAAgB;MAC5B4D,MAAM,EAAGC,QAAQ,IAAKA,QAAQ,CAAC3B,MAAM,IAAI4B,sCAAoB;MAC7DnD,MAAM,EAAE,IAAI,CAAC5B;IACf,CAAC,CAAC;EACJ;EAEQ+B,gBAAgBA,CAACL,IAAuB,EAAEI,IAAkB,EAAE;IACpE,OAAOA,IAAI,GACP,IAAAkD,qCAAc,EAACtD,IAAI,CAACuD,UAAU,CAACnD,IAAI,CAAC,CAACtB,KAAK,EAAEsB,IAAI,CAAC,GACjDoD,MAAM,CAACC,OAAO,CAACzD,IAAI,CAACuD,UAAU,CAAC,CAACG,OAAO,CAAC,CAAC,CAACC,GAAG,EAAE;MAAE7E;IAAM,CAAC,CAAC,KACvD,IAAAwE,qCAAc,EAACxE,KAAK,EAAE6E,GAAkB,CAC1C,CAAC;EACP;AACF;AAACC,OAAA,CAAA9F,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js
CHANGED
|
@@ -31,16 +31,23 @@ const FluencyTeacherStudentsTable = () => {
|
|
|
31
31
|
search: model.filters.$search,
|
|
32
32
|
isLoading: model.api.getClassSummaryFx.pending
|
|
33
33
|
});
|
|
34
|
-
const
|
|
34
|
+
const {
|
|
35
|
+
sortedStudents,
|
|
36
|
+
hasStudents
|
|
37
|
+
} = (0, _effectorReact.useStoreMap)({
|
|
35
38
|
store: model.table.$table,
|
|
36
39
|
keys: [search, sort],
|
|
37
40
|
fn: (students, [searchTerm, sortState]) => {
|
|
38
41
|
const filtered = searchTerm ? students.filter(s => s.name.toLowerCase().includes(searchTerm.toLowerCase())) : students;
|
|
39
|
-
|
|
42
|
+
const sorted = [...filtered].sort((a, b) => {
|
|
40
43
|
const aVal = sortState.column === 'average' ? a.averagePercent : a.scores[sortState.column];
|
|
41
44
|
const bVal = sortState.column === 'average' ? b.averagePercent : b.scores[sortState.column];
|
|
42
45
|
return sortState.direction === 'desc' ? bVal - aVal : aVal - bVal;
|
|
43
46
|
});
|
|
47
|
+
return {
|
|
48
|
+
sortedStudents: sorted,
|
|
49
|
+
hasStudents: students.length > 0
|
|
50
|
+
};
|
|
44
51
|
}
|
|
45
52
|
});
|
|
46
53
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
@@ -94,6 +101,15 @@ const FluencyTeacherStudentsTable = () => {
|
|
|
94
101
|
averagePercent: student.averagePercent,
|
|
95
102
|
averageLabel: t(student.averageLabel),
|
|
96
103
|
scores: student.scores
|
|
104
|
+
}),
|
|
105
|
+
contentContainerStyle: sortedStudents.length === 0 ? styles.emptyContainer : undefined,
|
|
106
|
+
ListEmptyComponent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
107
|
+
style: styles.emptyState,
|
|
108
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
109
|
+
variant: _reactNativeUi.HeadingVariants.H9,
|
|
110
|
+
style: styles.emptyText,
|
|
111
|
+
children: hasStudents ? t('teacher.fluency.noStudentsFound') : t('teacher.fluency.noStudents')
|
|
112
|
+
})
|
|
97
113
|
})
|
|
98
114
|
})]
|
|
99
115
|
})]
|
|
@@ -146,6 +162,20 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
146
162
|
operator: {
|
|
147
163
|
flex: 1,
|
|
148
164
|
alignItems: 'center'
|
|
165
|
+
},
|
|
166
|
+
emptyContainer: {
|
|
167
|
+
flexGrow: 1
|
|
168
|
+
},
|
|
169
|
+
emptyState: {
|
|
170
|
+
flex: 1,
|
|
171
|
+
alignItems: 'center',
|
|
172
|
+
justifyContent: 'center'
|
|
173
|
+
},
|
|
174
|
+
emptyText: {
|
|
175
|
+
fontFamily: _reactNativeUi.FONT_FAMILY.buenosAires,
|
|
176
|
+
fontWeight: '400',
|
|
177
|
+
fontSize: 32,
|
|
178
|
+
color: _reactNativeUi.COLORS.NEUTRAL_9
|
|
149
179
|
}
|
|
150
180
|
});
|
|
151
181
|
//# sourceMappingURL=FluencyTeacherStudentsTable.js.map
|
package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_effectorReact","_reactNativeUi","_i18n","_TeacherFluencyContext","_TableRow","_fluencyTeacherConstants","_TableColumnSortButton","_AllPupilsTableRow","_AverageSortButton","_jsxRuntime","e","__esModule","default","FluencyTeacherStudentsTable","t","useText","model","useTeacherFluency","sort","search","isLoading","useUnit","filters","$sort","$search","api","getClassSummaryFx","pending","sortedStudents","useStoreMap","store","table","$table","keys","fn","students","searchTerm","sortState","filtered","filter","s","name","toLowerCase","includes","a","b","aVal","column","averagePercent","scores","bVal","direction","jsxs","View","style","styles","container","children","row","headerRow","jsx","nameCell","average","AverageSortButton","onPress","toggleSort","operators","TABLE_OPERATOR_COLUMNS","map","operator","labelKey","symbol","badgeBg","badgeText","TableColumnSortButton","label","isActive","activeBg","activeText","loader","ActivityIndicator","size","color","COLORS","PRIMARY_BLUE","Fragment","AllPupilsTableRow","FlatList","data","keyExtractor","student","id","renderItem","item","TableRow","setStudentInfoDrawer","averageLabel","exports","StyleSheet","create","flex","borderRadius","BORDER_RADIUS","overflow","SHADOWS","justifyContent","alignItems","flexDirection","paddingHorizontal","SPACING","paddingVertical","gap","backgroundColor","NEUTRAL_1","borderBottomWidth","borderBottomColor","NEUTRAL_4","NEUTRAL_2","width","height"],"sourceRoot":"../../../../../../src","sources":["features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_effectorReact","_reactNativeUi","_i18n","_TeacherFluencyContext","_TableRow","_fluencyTeacherConstants","_TableColumnSortButton","_AllPupilsTableRow","_AverageSortButton","_jsxRuntime","e","__esModule","default","FluencyTeacherStudentsTable","t","useText","model","useTeacherFluency","sort","search","isLoading","useUnit","filters","$sort","$search","api","getClassSummaryFx","pending","sortedStudents","hasStudents","useStoreMap","store","table","$table","keys","fn","students","searchTerm","sortState","filtered","filter","s","name","toLowerCase","includes","sorted","a","b","aVal","column","averagePercent","scores","bVal","direction","length","jsxs","View","style","styles","container","children","row","headerRow","jsx","nameCell","average","AverageSortButton","onPress","toggleSort","operators","TABLE_OPERATOR_COLUMNS","map","operator","labelKey","symbol","badgeBg","badgeText","TableColumnSortButton","label","isActive","activeBg","activeText","loader","ActivityIndicator","size","color","COLORS","PRIMARY_BLUE","Fragment","AllPupilsTableRow","FlatList","data","keyExtractor","student","id","renderItem","item","TableRow","setStudentInfoDrawer","averageLabel","contentContainerStyle","emptyContainer","undefined","ListEmptyComponent","emptyState","Typography","variant","HeadingVariants","H9","emptyText","exports","StyleSheet","create","flex","borderRadius","BORDER_RADIUS","overflow","SHADOWS","justifyContent","alignItems","flexDirection","paddingHorizontal","SPACING","paddingVertical","gap","backgroundColor","NEUTRAL_1","borderBottomWidth","borderBottomColor","NEUTRAL_4","NEUTRAL_2","width","height","flexGrow","fontFamily","FONT_FAMILY","buenosAires","fontWeight","fontSize","NEUTRAL_9"],"sourceRoot":"../../../../../../src","sources":["features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,7 +21,15 @@ class TeacherFluencyModel {
|
|
|
21
21
|
}
|
|
22
22
|
init() {
|
|
23
23
|
(0, _effector.sample)({
|
|
24
|
-
clock: this.gate.
|
|
24
|
+
clock: this.gate.state,
|
|
25
|
+
filter: props => props.students.length === 0,
|
|
26
|
+
target: this.table.reset
|
|
27
|
+
});
|
|
28
|
+
(0, _effector.sample)({
|
|
29
|
+
clock: this.gate.state,
|
|
30
|
+
source: this.table.initFx.pending,
|
|
31
|
+
filter: (isPending, props) => !isPending && props.students.length > 0,
|
|
32
|
+
fn: (_, props) => props,
|
|
25
33
|
target: this.table.initFx
|
|
26
34
|
});
|
|
27
35
|
(0, _effector.sample)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_effectorReact","_TeacherFluencyApiModel","_TeacherFluencyFiltersModel","_TeacherFluencyTableModel","TeacherFluencyModel","gate","createGate","constructor","api","TeacherFluencyApiModel","filters","TeacherFluencyFiltersModel","table","TeacherFluencyTableModel","init","sample","clock","
|
|
1
|
+
{"version":3,"names":["_effector","require","_effectorReact","_TeacherFluencyApiModel","_TeacherFluencyFiltersModel","_TeacherFluencyTableModel","TeacherFluencyModel","gate","createGate","constructor","api","TeacherFluencyApiModel","filters","TeacherFluencyFiltersModel","table","TeacherFluencyTableModel","init","sample","clock","state","filter","props","students","length","target","reset","source","initFx","pending","isPending","fn","_","setStudentInfoDrawer","student","gateProps","studentId","id","grade","getStudentDetailsFx","exports"],"sourceRoot":"../../../../../src","sources":["features/fluency-teacher/model/TeacherFluencyModel.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AAGO,MAAMK,mBAAmB,CAAC;EACfC,IAAI,GAAG,IAAAC,yBAAU,EAA0B,CAAC;EAM5DC,WAAWA,CAAC;IAAEC;EAA8B,CAAC,EAAE;IAC7C,IAAI,CAACA,GAAG,GAAG,IAAIC,8CAAsB,CAACD,GAAG,CAAC;IAC1C,IAAI,CAACE,OAAO,GAAG,IAAIC,sDAA0B,CAAC,CAAC;IAC/C,IAAI,CAACC,KAAK,GAAG,IAAIC,kDAAwB,CAAC,IAAI,CAACL,GAAG,CAAC;IACnD,IAAI,CAACM,IAAI,CAAC,CAAC;EACb;EAEQA,IAAIA,CAAA,EAAG;IACb,IAAAC,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACX,IAAI,CAACY,KAAK;MACtBC,MAAM,EAAGC,KAAK,IAAKA,KAAK,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;MAC9CC,MAAM,EAAE,IAAI,CAACV,KAAK,CAACW;IACrB,CAAC,CAAC;IAEF,IAAAR,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACX,IAAI,CAACY,KAAK;MACtBO,MAAM,EAAE,IAAI,CAACZ,KAAK,CAACa,MAAM,CAACC,OAAO;MACjCR,MAAM,EAAEA,CAACS,SAAS,EAAER,KAAK,KAAK,CAACQ,SAAS,IAAIR,KAAK,CAACC,QAAQ,CAACC,MAAM,GAAG,CAAC;MACrEO,EAAE,EAAEA,CAACC,CAAC,EAAEV,KAAK,KAAKA,KAAK;MACvBG,MAAM,EAAE,IAAI,CAACV,KAAK,CAACa;IACrB,CAAC,CAAC;IAEF,IAAAV,gBAAM,EAAC;MACLC,KAAK,EAAE,IAAI,CAACJ,KAAK,CAACkB,oBAAoB;MACtCN,MAAM,EAAE,IAAI,CAACnB,IAAI,CAACY,KAAK;MACvBC,MAAM,EAAEA,CAACW,CAAC,EAAEE,OAAO,KAAKA,OAAO,KAAK,IAAI;MACxCH,EAAE,EAAEA,CAACI,SAAS,EAAED,OAAO,MAAM;QAAEE,SAAS,EAAEF,OAAO,CAAEG,EAAE;QAAEC,KAAK,EAAEH,SAAS,CAACG;MAAM,CAAC,CAAC;MAChFb,MAAM,EAAE,IAAI,CAACd,GAAG,CAAC4B;IACnB,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAAjC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js
CHANGED
|
@@ -9,23 +9,16 @@ import { usePreventWebKeys } from "../../../hooks/usePreventWebKeys.js";
|
|
|
9
9
|
import { AttemptStatus, MAX_INPUT_LENGTH } from "../../../fluency.constants.js";
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
11
|
const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];
|
|
12
|
+
const STATUS_LABELS = {
|
|
13
|
+
[AttemptStatus.CORRECT]: 'student.fluency.correct',
|
|
14
|
+
[AttemptStatus.INCORRECT]: 'student.fluency.incorrect',
|
|
15
|
+
[AttemptStatus.SKIPPED]: 'student.fluency.skipped'
|
|
16
|
+
};
|
|
12
17
|
const STATUS_COLOR = {
|
|
13
18
|
[AttemptStatus.CORRECT]: COLORS.PRIMARY_GREEN,
|
|
14
19
|
[AttemptStatus.INCORRECT]: COLORS.PRIMARY_RED,
|
|
15
20
|
[AttemptStatus.SKIPPED]: COLORS.NEUTRAL_7
|
|
16
21
|
};
|
|
17
|
-
const getLabelText = (status, defaultText, correctAnswer) => {
|
|
18
|
-
switch (status) {
|
|
19
|
-
case AttemptStatus.CORRECT:
|
|
20
|
-
return 'Correct!';
|
|
21
|
-
case AttemptStatus.INCORRECT:
|
|
22
|
-
return `INCORRECT — ANSWER: ${correctAnswer ?? ''}`;
|
|
23
|
-
case AttemptStatus.SKIPPED:
|
|
24
|
-
return 'Skipped';
|
|
25
|
-
default:
|
|
26
|
-
return defaultText;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
22
|
export const EquationContent = ({
|
|
30
23
|
leftOperand,
|
|
31
24
|
rightOperand,
|
|
@@ -41,7 +34,9 @@ export const EquationContent = ({
|
|
|
41
34
|
mode
|
|
42
35
|
});
|
|
43
36
|
const labelColor = status ? STATUS_COLOR[status] : COLORS.NEUTRAL_7;
|
|
44
|
-
const labelText =
|
|
37
|
+
const labelText = status ? t(STATUS_LABELS[status], {
|
|
38
|
+
answer: correctAnswer
|
|
39
|
+
}) : t('student.fluency.typeYourAnswer');
|
|
45
40
|
const answerAreaColor = status === AttemptStatus.INCORRECT ? COLORS.PRIMARY_RED : modePreset.colors.accent;
|
|
46
41
|
const inputRef = useRef(null);
|
|
47
42
|
usePreventWebKeys({
|
|
@@ -90,7 +85,7 @@ export const EquationContent = ({
|
|
|
90
85
|
style: [styles.number, styles.answerInput, {
|
|
91
86
|
color: answerAreaColor
|
|
92
87
|
}],
|
|
93
|
-
autoFocus:
|
|
88
|
+
autoFocus: false
|
|
94
89
|
})
|
|
95
90
|
})]
|
|
96
91
|
})]
|