@magmamath/students-features 1.8.2 → 1.8.3-rc.0
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/pmProgress/shared/TreeNormalizer.js +5 -1
- package/dist/commonjs/features/pmProgress/shared/TreeNormalizer.js.map +1 -1
- package/dist/commonjs/i18n/i18n.js +1 -3
- package/dist/commonjs/i18n/i18n.js.map +1 -1
- package/dist/module/features/pmProgress/shared/TreeNormalizer.js +5 -1
- package/dist/module/features/pmProgress/shared/TreeNormalizer.js.map +1 -1
- package/dist/module/i18n/i18n.js +1 -3
- package/dist/module/i18n/i18n.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts +4 -0
- package/dist/typescript/commonjs/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionController.d.ts +1 -1
- package/dist/typescript/commonjs/i18n/i18n.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +2 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts +4 -0
- package/dist/typescript/module/features/pmProgress/shared/TreeNormalizer.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionController.d.ts +1 -1
- package/dist/typescript/module/i18n/i18n.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/features/pmProgress/shared/TreeNormalizer.ts +5 -1
- package/src/i18n/.generated/schema.json +178 -0
- package/src/i18n/i18n.ts +1 -2
- package/dist/commonjs/features/exampleSolution/ExampleSolutionModal.js +0 -29
- package/dist/commonjs/features/exampleSolution/ExampleSolutionModal.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/assets/grid.webp +0 -0
- package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js +0 -97
- package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/components/QuestionSection.js +0 -70
- package/dist/commonjs/features/exampleSolution/components/QuestionSection.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/components/SolutionSection.js +0 -104
- package/dist/commonjs/features/exampleSolution/components/SolutionSection.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/constants.js +0 -13
- package/dist/commonjs/features/exampleSolution/constants.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/hooks/useExampleSolution.js +0 -61
- package/dist/commonjs/features/exampleSolution/hooks/useExampleSolution.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/index.js +0 -39
- package/dist/commonjs/features/exampleSolution/index.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/model/ExampleSolution.model.js +0 -24
- package/dist/commonjs/features/exampleSolution/model/ExampleSolution.model.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/model/ExampleSolutionApi.js +0 -28
- package/dist/commonjs/features/exampleSolution/model/ExampleSolutionApi.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/model/ExampleSolutionCache.js +0 -18
- package/dist/commonjs/features/exampleSolution/model/ExampleSolutionCache.js.map +0 -1
- package/dist/commonjs/features/exampleSolution/types.js +0 -6
- package/dist/commonjs/features/exampleSolution/types.js.map +0 -1
- package/dist/module/features/exampleSolution/ExampleSolutionModal.js +0 -23
- package/dist/module/features/exampleSolution/ExampleSolutionModal.js.map +0 -1
- package/dist/module/features/exampleSolution/assets/grid.webp +0 -0
- package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js +0 -91
- package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js.map +0 -1
- package/dist/module/features/exampleSolution/components/QuestionSection.js +0 -62
- package/dist/module/features/exampleSolution/components/QuestionSection.js.map +0 -1
- package/dist/module/features/exampleSolution/components/SolutionSection.js +0 -96
- package/dist/module/features/exampleSolution/components/SolutionSection.js.map +0 -1
- package/dist/module/features/exampleSolution/constants.js +0 -9
- package/dist/module/features/exampleSolution/constants.js.map +0 -1
- package/dist/module/features/exampleSolution/hooks/useExampleSolution.js +0 -56
- package/dist/module/features/exampleSolution/hooks/useExampleSolution.js.map +0 -1
- package/dist/module/features/exampleSolution/index.js +0 -6
- package/dist/module/features/exampleSolution/index.js.map +0 -1
- package/dist/module/features/exampleSolution/model/ExampleSolution.model.js +0 -19
- package/dist/module/features/exampleSolution/model/ExampleSolution.model.js.map +0 -1
- package/dist/module/features/exampleSolution/model/ExampleSolutionApi.js +0 -23
- package/dist/module/features/exampleSolution/model/ExampleSolutionApi.js.map +0 -1
- package/dist/module/features/exampleSolution/model/ExampleSolutionCache.js +0 -13
- package/dist/module/features/exampleSolution/model/ExampleSolutionCache.js.map +0 -1
- package/dist/module/features/exampleSolution/types.js +0 -4
- package/dist/module/features/exampleSolution/types.js.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/ExampleSolutionModal.d.ts +0 -11
- package/dist/typescript/commonjs/features/exampleSolution/ExampleSolutionModal.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.d.ts +0 -8
- package/dist/typescript/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/components/QuestionSection.d.ts +0 -10
- package/dist/typescript/commonjs/features/exampleSolution/components/QuestionSection.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/components/SolutionSection.d.ts +0 -9
- package/dist/typescript/commonjs/features/exampleSolution/components/SolutionSection.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/constants.d.ts +0 -6
- package/dist/typescript/commonjs/features/exampleSolution/constants.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/hooks/useExampleSolution.d.ts +0 -9
- package/dist/typescript/commonjs/features/exampleSolution/hooks/useExampleSolution.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/index.d.ts +0 -4
- package/dist/typescript/commonjs/features/exampleSolution/index.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolution.model.d.ts +0 -10
- package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolution.model.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolutionApi.d.ts +0 -13
- package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolutionApi.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolutionCache.d.ts +0 -11
- package/dist/typescript/commonjs/features/exampleSolution/model/ExampleSolutionCache.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/exampleSolution/types.d.ts +0 -27
- package/dist/typescript/commonjs/features/exampleSolution/types.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/ExampleSolutionModal.d.ts +0 -11
- package/dist/typescript/module/features/exampleSolution/ExampleSolutionModal.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/components/ExampleSolutionModalContent.d.ts +0 -8
- package/dist/typescript/module/features/exampleSolution/components/ExampleSolutionModalContent.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/components/QuestionSection.d.ts +0 -10
- package/dist/typescript/module/features/exampleSolution/components/QuestionSection.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/components/SolutionSection.d.ts +0 -9
- package/dist/typescript/module/features/exampleSolution/components/SolutionSection.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/constants.d.ts +0 -6
- package/dist/typescript/module/features/exampleSolution/constants.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/hooks/useExampleSolution.d.ts +0 -9
- package/dist/typescript/module/features/exampleSolution/hooks/useExampleSolution.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/index.d.ts +0 -4
- package/dist/typescript/module/features/exampleSolution/index.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/model/ExampleSolution.model.d.ts +0 -10
- package/dist/typescript/module/features/exampleSolution/model/ExampleSolution.model.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/model/ExampleSolutionApi.d.ts +0 -13
- package/dist/typescript/module/features/exampleSolution/model/ExampleSolutionApi.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/model/ExampleSolutionCache.d.ts +0 -11
- package/dist/typescript/module/features/exampleSolution/model/ExampleSolutionCache.d.ts.map +0 -1
- package/dist/typescript/module/features/exampleSolution/types.d.ts +0 -27
- package/dist/typescript/module/features/exampleSolution/types.d.ts.map +0 -1
- package/src/features/exampleSolution/ExampleSolutionModal.tsx +0 -23
- package/src/features/exampleSolution/assets/grid.webp +0 -0
- package/src/features/exampleSolution/components/ExampleSolutionModalContent.tsx +0 -80
- package/src/features/exampleSolution/components/QuestionSection.tsx +0 -61
- package/src/features/exampleSolution/components/SolutionSection.tsx +0 -117
- package/src/features/exampleSolution/constants.ts +0 -5
- package/src/features/exampleSolution/hooks/useExampleSolution.ts +0 -66
- package/src/features/exampleSolution/index.ts +0 -3
- package/src/features/exampleSolution/model/ExampleSolution.model.ts +0 -15
- package/src/features/exampleSolution/model/ExampleSolutionApi.ts +0 -29
- package/src/features/exampleSolution/model/ExampleSolutionCache.ts +0 -20
- package/src/features/exampleSolution/types.ts +0 -27
|
@@ -9,6 +9,10 @@ exports.TreeNormalizer = void 0;
|
|
|
9
9
|
* making them impossible to open in the solving flow. This normalizer strips those skills
|
|
10
10
|
* and cascades the cleanup - removing standards, domains, etc. that end up empty.
|
|
11
11
|
*
|
|
12
|
+
* It also de-duplicates skill ids within a node: the API tree can list the same skill twice,
|
|
13
|
+
* which inflates a standard's denominator (achieved/total) and leaves a finished standard
|
|
14
|
+
* stuck below 100%, e.g. 18 unique skills counted as 18/19. (students-web#4038)
|
|
15
|
+
*
|
|
12
16
|
* Acts as a single place to sanitize the tree API response before it enters the app.
|
|
13
17
|
* Can be extended with additional normalizations as new edge cases arise.
|
|
14
18
|
*/
|
|
@@ -33,7 +37,7 @@ class TreeNormalizer {
|
|
|
33
37
|
const emptyIds = this.getEmptyNodeIds(treeMapping, validIds);
|
|
34
38
|
return Object.fromEntries(Object.entries(treeMapping).filter(([id]) => !emptyIds.has(id)).map(([id, node]) => [id, {
|
|
35
39
|
...node,
|
|
36
|
-
skills: node.skills.filter(sid => validIds.has(sid)),
|
|
40
|
+
skills: [...new Set(node.skills.filter(sid => validIds.has(sid)))],
|
|
37
41
|
children: node.children.filter(cid => !emptyIds.has(cid))
|
|
38
42
|
}]));
|
|
39
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TreeNormalizer","normalize","response","skillsMapping","getOnlyValidSkills","validIds","Set","Object","keys","treeMapping","removeEmptyNodes","isSkillValid","skill","Boolean","ability","sectionId","functionName","mapping","fromEntries","entries","filter","emptyIds","getEmptyNodeIds","id","has","map","node","skills","sid","children","cid","empty","leafToRoot","sort","a","b","parents","length","isEmptyLeaf","every","s","isEmptyParent","c","add","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/TreeNormalizer.ts"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,cAAc,CAAC;EAC1B,OAAOC,SAASA,CAACC,QAA6B,EAAuB;IACnE,MAAMC,aAAa,GAAG,IAAI,CAACC,kBAAkB,CAACF,QAAQ,CAACC,aAAa,CAAC;IACrE,MAAME,QAAQ,GAAG,IAAIC,GAAG,CAACC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,CAAC;IACpD,MAAMM,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACR,QAAQ,CAACO,WAAW,EAAEJ,QAAQ,CAAC;IACzE,OAAO;MAAE,GAAGH,QAAQ;MAAEC,aAAa;MAAEM;IAAY,CAAC;EACpD;EAEA,OAAOE,YAAYA,CAACC,KAAY,EAAE;IAChC,OAAOC,OAAO,CAACD,KAAK,EAAEE,OAAO,KAAKF,KAAK,CAACE,OAAO,CAACC,SAAS,IAAIH,KAAK,CAACE,OAAO,CAACE,YAAY,CAAC,CAAC;EAC3F;EAEA,OAAeZ,kBAAkBA,CAACa,OAAsB,EAAiB;IACvE,OAAOV,MAAM,CAACW,WAAW,CACvBX,MAAM,CAACY,OAAO,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,CAAC,GAAGR,KAAK,CAAC,KAAK,IAAI,CAACD,YAAY,CAACC,KAAK,CAAC,CACxE,CAAC;EACH;EAEA,OAAeF,gBAAgBA,CAACD,WAAwB,EAAEJ,QAAqB,EAAe;IAC5F,MAAMgB,QAAQ,GAAG,IAAI,CAACC,eAAe,CAACb,WAAW,EAAEJ,QAAQ,CAAC;IAE5D,OAAOE,MAAM,CAACW,WAAW,CACvBX,MAAM,CAACY,OAAO,CAACV,WAAW,CAAC,CACxBW,MAAM,CAAC,CAAC,CAACG,EAAE,CAAC,KAAK,CAACF,QAAQ,CAACG,GAAG,CAACD,EAAE,CAAC,CAAC,CACnCE,GAAG,CAAC,CAAC,CAACF,EAAE,EAAEG,IAAI,CAAC,KAAK,CACnBH,EAAE,EACF;MACE,GAAGG,IAAI;MACPC,MAAM,
|
|
1
|
+
{"version":3,"names":["TreeNormalizer","normalize","response","skillsMapping","getOnlyValidSkills","validIds","Set","Object","keys","treeMapping","removeEmptyNodes","isSkillValid","skill","Boolean","ability","sectionId","functionName","mapping","fromEntries","entries","filter","emptyIds","getEmptyNodeIds","id","has","map","node","skills","sid","children","cid","empty","leafToRoot","sort","a","b","parents","length","isEmptyLeaf","every","s","isEmptyParent","c","add","exports"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/TreeNormalizer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,9 +9,7 @@ var _reactI18next = require("react-i18next");
|
|
|
9
9
|
var _constants = require("@magmamath/frontend-config/translation/constants");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const NAMESPACE = exports.NAMESPACE = _constants.TranslationNamespace.STUDENTS_FEATURES;
|
|
12
|
-
const getText = (key, options) =>
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
-
_i18next.default.t(key, {
|
|
12
|
+
const getText = (key, options) => _i18next.default.t(key, {
|
|
15
13
|
ns: NAMESPACE,
|
|
16
14
|
...options
|
|
17
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18next","_interopRequireDefault","require","_reactI18next","_constants","e","__esModule","default","NAMESPACE","exports","TranslationNamespace","STUDENTS_FEATURES","getText","key","options","i18next","t","ns","useText","useTranslation"],"sourceRoot":"../../../src","sources":["i18n/i18n.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAAuF,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhF,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,+BAAoB,CAACC,iBAAiB;AAKxD,MAAMC,OAAgB,GAAIA,CAACC,GAAmB,EAAEC,OAAgB
|
|
1
|
+
{"version":3,"names":["_i18next","_interopRequireDefault","require","_reactI18next","_constants","e","__esModule","default","NAMESPACE","exports","TranslationNamespace","STUDENTS_FEATURES","getText","key","options","i18next","t","ns","useText","useTranslation"],"sourceRoot":"../../../src","sources":["i18n/i18n.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAAuF,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhF,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,+BAAoB,CAACC,iBAAiB;AAKxD,MAAMC,OAAgB,GAAIA,CAACC,GAAmB,EAAEC,OAAgB,KACrEC,gBAAO,CAACC,CAAC,CAACH,GAAG,EAAE;EAAEI,EAAE,EAAET,SAAS;EAAE,GAAGM;AAAQ,CAAC,CAAa;AAAAL,OAAA,CAAAG,OAAA,GAAAA,OAAA;AAEpD,MAAMM,OAAO,GAAGA,CAAA,KAAe,IAAAC,4BAAc,EAACX,SAAS,CAAC,CAACQ,CAAC;AAAAP,OAAA,CAAAS,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* making them impossible to open in the solving flow. This normalizer strips those skills
|
|
6
6
|
* and cascades the cleanup - removing standards, domains, etc. that end up empty.
|
|
7
7
|
*
|
|
8
|
+
* It also de-duplicates skill ids within a node: the API tree can list the same skill twice,
|
|
9
|
+
* which inflates a standard's denominator (achieved/total) and leaves a finished standard
|
|
10
|
+
* stuck below 100%, e.g. 18 unique skills counted as 18/19. (students-web#4038)
|
|
11
|
+
*
|
|
8
12
|
* Acts as a single place to sanitize the tree API response before it enters the app.
|
|
9
13
|
* Can be extended with additional normalizations as new edge cases arise.
|
|
10
14
|
*/
|
|
@@ -29,7 +33,7 @@ export class TreeNormalizer {
|
|
|
29
33
|
const emptyIds = this.getEmptyNodeIds(treeMapping, validIds);
|
|
30
34
|
return Object.fromEntries(Object.entries(treeMapping).filter(([id]) => !emptyIds.has(id)).map(([id, node]) => [id, {
|
|
31
35
|
...node,
|
|
32
|
-
skills: node.skills.filter(sid => validIds.has(sid)),
|
|
36
|
+
skills: [...new Set(node.skills.filter(sid => validIds.has(sid)))],
|
|
33
37
|
children: node.children.filter(cid => !emptyIds.has(cid))
|
|
34
38
|
}]));
|
|
35
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TreeNormalizer","normalize","response","skillsMapping","getOnlyValidSkills","validIds","Set","Object","keys","treeMapping","removeEmptyNodes","isSkillValid","skill","Boolean","ability","sectionId","functionName","mapping","fromEntries","entries","filter","emptyIds","getEmptyNodeIds","id","has","map","node","skills","sid","children","cid","empty","leafToRoot","sort","a","b","parents","length","isEmptyLeaf","every","s","isEmptyParent","c","add"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/TreeNormalizer.ts"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,cAAc,CAAC;EAC1B,OAAOC,SAASA,CAACC,QAA6B,EAAuB;IACnE,MAAMC,aAAa,GAAG,IAAI,CAACC,kBAAkB,CAACF,QAAQ,CAACC,aAAa,CAAC;IACrE,MAAME,QAAQ,GAAG,IAAIC,GAAG,CAACC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,CAAC;IACpD,MAAMM,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAACR,QAAQ,CAACO,WAAW,EAAEJ,QAAQ,CAAC;IACzE,OAAO;MAAE,GAAGH,QAAQ;MAAEC,aAAa;MAAEM;IAAY,CAAC;EACpD;EAEA,OAAOE,YAAYA,CAACC,KAAY,EAAE;IAChC,OAAOC,OAAO,CAACD,KAAK,EAAEE,OAAO,KAAKF,KAAK,CAACE,OAAO,CAACC,SAAS,IAAIH,KAAK,CAACE,OAAO,CAACE,YAAY,CAAC,CAAC;EAC3F;EAEA,OAAeZ,kBAAkBA,CAACa,OAAsB,EAAiB;IACvE,OAAOV,MAAM,CAACW,WAAW,CACvBX,MAAM,CAACY,OAAO,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,CAAC,GAAGR,KAAK,CAAC,KAAK,IAAI,CAACD,YAAY,CAACC,KAAK,CAAC,CACxE,CAAC;EACH;EAEA,OAAeF,gBAAgBA,CAACD,WAAwB,EAAEJ,QAAqB,EAAe;IAC5F,MAAMgB,QAAQ,GAAG,IAAI,CAACC,eAAe,CAACb,WAAW,EAAEJ,QAAQ,CAAC;IAE5D,OAAOE,MAAM,CAACW,WAAW,CACvBX,MAAM,CAACY,OAAO,CAACV,WAAW,CAAC,CACxBW,MAAM,CAAC,CAAC,CAACG,EAAE,CAAC,KAAK,CAACF,QAAQ,CAACG,GAAG,CAACD,EAAE,CAAC,CAAC,CACnCE,GAAG,CAAC,CAAC,CAACF,EAAE,EAAEG,IAAI,CAAC,KAAK,CACnBH,EAAE,EACF;MACE,GAAGG,IAAI;MACPC,MAAM,
|
|
1
|
+
{"version":3,"names":["TreeNormalizer","normalize","response","skillsMapping","getOnlyValidSkills","validIds","Set","Object","keys","treeMapping","removeEmptyNodes","isSkillValid","skill","Boolean","ability","sectionId","functionName","mapping","fromEntries","entries","filter","emptyIds","getEmptyNodeIds","id","has","map","node","skills","sid","children","cid","empty","leafToRoot","sort","a","b","parents","length","isEmptyLeaf","every","s","isEmptyParent","c","add"],"sourceRoot":"../../../../../src","sources":["features/pmProgress/shared/TreeNormalizer.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/i18n/i18n.js
CHANGED
|
@@ -4,9 +4,7 @@ import i18next from 'i18next';
|
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
import { TranslationNamespace } from '@magmamath/frontend-config/translation/constants';
|
|
6
6
|
export const NAMESPACE = TranslationNamespace.STUDENTS_FEATURES;
|
|
7
|
-
export const getText = (key, options) =>
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
i18next.t(key, {
|
|
7
|
+
export const getText = (key, options) => i18next.t(key, {
|
|
10
8
|
ns: NAMESPACE,
|
|
11
9
|
...options
|
|
12
10
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["i18next","useTranslation","TranslationNamespace","NAMESPACE","STUDENTS_FEATURES","getText","key","options","t","ns","useText"],"sourceRoot":"../../../src","sources":["i18n/i18n.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAgC,SAAS;AACvD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,oBAAoB,QAAQ,kDAAkD;AAEvF,OAAO,MAAMC,SAAS,GAAGD,oBAAoB,CAACE,iBAAiB;AAK/D,OAAO,MAAMC,OAAgB,GAAIA,CAACC,GAAmB,EAAEC,OAAgB
|
|
1
|
+
{"version":3,"names":["i18next","useTranslation","TranslationNamespace","NAMESPACE","STUDENTS_FEATURES","getText","key","options","t","ns","useText"],"sourceRoot":"../../../src","sources":["i18n/i18n.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAAgC,SAAS;AACvD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,oBAAoB,QAAQ,kDAAkD;AAEvF,OAAO,MAAMC,SAAS,GAAGD,oBAAoB,CAACE,iBAAiB;AAK/D,OAAO,MAAMC,OAAgB,GAAIA,CAACC,GAAmB,EAAEC,OAAgB,KACrEP,OAAO,CAACQ,CAAC,CAACF,GAAG,EAAE;EAAEG,EAAE,EAAEN,SAAS;EAAE,GAAGI;AAAQ,CAAC,CAAa;AAE3D,OAAO,MAAMG,OAAO,GAAGA,CAAA,KAAeT,cAAc,CAACE,SAAS,CAAC,CAACK,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
type UseFluencyNumpadProps = {
|
|
2
3
|
onSubmit: () => void;
|
|
3
4
|
};
|
|
4
5
|
export declare const useFluencyNumpad: ({ onSubmit }: UseFluencyNumpadProps) => {
|
|
5
6
|
options: {
|
|
6
|
-
title:
|
|
7
|
+
title: React.ReactNode;
|
|
7
8
|
selected: boolean;
|
|
8
9
|
customColorScheme: {
|
|
9
10
|
1: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFluencyNumpad.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencyNumpad.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFluencyNumpad.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencyNumpad.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAW1D,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AA4ED,eAAO,MAAM,gBAAgB,iBAAkB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAzE7D,MAAM;;CA4HZ,CAAA"}
|
|
@@ -4,6 +4,10 @@ import type { Skill, TreeMappingResponse } from './pmProgress.types';
|
|
|
4
4
|
* making them impossible to open in the solving flow. This normalizer strips those skills
|
|
5
5
|
* and cascades the cleanup - removing standards, domains, etc. that end up empty.
|
|
6
6
|
*
|
|
7
|
+
* It also de-duplicates skill ids within a node: the API tree can list the same skill twice,
|
|
8
|
+
* which inflates a standard's denominator (achieved/total) and leaves a finished standard
|
|
9
|
+
* stuck below 100%, e.g. 18 unique skills counted as 18/19. (students-web#4038)
|
|
10
|
+
*
|
|
7
11
|
* Acts as a single place to sanitize the tree API response before it enters the app.
|
|
8
12
|
* Can be extended with additional normalizations as new edge cases arise.
|
|
9
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNormalizer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/shared/TreeNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAInF
|
|
1
|
+
{"version":3,"file":"TreeNormalizer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/shared/TreeNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAInF;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,mBAAmB;IAOpE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK;IAIhC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAMjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiB/B,OAAO,CAAC,MAAM,CAAC,eAAe;CAgB/B"}
|
package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionController.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ type Params = {
|
|
|
11
11
|
export type VoiceTranscriptionController = ReturnType<typeof useVoiceTranscriptionController>;
|
|
12
12
|
export declare const useVoiceTranscriptionController: ({ model, answers, attemptOffset, attemptsCount, problemId, }: Params) => {
|
|
13
13
|
display: {
|
|
14
|
-
text:
|
|
14
|
+
text: string;
|
|
15
15
|
isLoading: boolean;
|
|
16
16
|
};
|
|
17
17
|
flags: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,eAAO,MAAM,SAAS,yCAAyC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,eAAO,MAAM,SAAS,yCAAyC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjD,eAAO,MAAM,OAAO,EAAE,OACqC,CAAA;AAE3D,eAAO,MAAM,OAAO,QAAO,OAAsC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/helpers/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAAW,CAAA;AAE5B,eAAO,MAAM,gBAAgB,cACsC,CAAA;AASnE,eAAO,MAAM,mBAAmB,SAAU,IAAI,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/helpers/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAAW,CAAA;AAE5B,eAAO,MAAM,gBAAgB,cACsC,CAAA;AASnE,eAAO,MAAM,mBAAmB,SAAU,IAAI,WAsC7C,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
type UseFluencyNumpadProps = {
|
|
2
3
|
onSubmit: () => void;
|
|
3
4
|
};
|
|
4
5
|
export declare const useFluencyNumpad: ({ onSubmit }: UseFluencyNumpadProps) => {
|
|
5
6
|
options: {
|
|
6
|
-
title:
|
|
7
|
+
title: React.ReactNode;
|
|
7
8
|
selected: boolean;
|
|
8
9
|
customColorScheme: {
|
|
9
10
|
1: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFluencyNumpad.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencyNumpad.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFluencyNumpad.d.ts","sourceRoot":"","sources":["../../../../../../src/features/fluency/hooks/useFluencyNumpad.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAW1D,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AA4ED,eAAO,MAAM,gBAAgB,iBAAkB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAzE7D,MAAM;;CA4HZ,CAAA"}
|
|
@@ -4,6 +4,10 @@ import type { Skill, TreeMappingResponse } from './pmProgress.types';
|
|
|
4
4
|
* making them impossible to open in the solving flow. This normalizer strips those skills
|
|
5
5
|
* and cascades the cleanup - removing standards, domains, etc. that end up empty.
|
|
6
6
|
*
|
|
7
|
+
* It also de-duplicates skill ids within a node: the API tree can list the same skill twice,
|
|
8
|
+
* which inflates a standard's denominator (achieved/total) and leaves a finished standard
|
|
9
|
+
* stuck below 100%, e.g. 18 unique skills counted as 18/19. (students-web#4038)
|
|
10
|
+
*
|
|
7
11
|
* Acts as a single place to sanitize the tree API response before it enters the app.
|
|
8
12
|
* Can be extended with additional normalizations as new edge cases arise.
|
|
9
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNormalizer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/shared/TreeNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAInF
|
|
1
|
+
{"version":3,"file":"TreeNormalizer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/pmProgress/shared/TreeNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAInF;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,mBAAmB;IAOpE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK;IAIhC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAMjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiB/B,OAAO,CAAC,MAAM,CAAC,eAAe;CAgB/B"}
|
package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionController.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ type Params = {
|
|
|
11
11
|
export type VoiceTranscriptionController = ReturnType<typeof useVoiceTranscriptionController>;
|
|
12
12
|
export declare const useVoiceTranscriptionController: ({ model, answers, attemptOffset, attemptsCount, problemId, }: Params) => {
|
|
13
13
|
display: {
|
|
14
|
-
text:
|
|
14
|
+
text: string;
|
|
15
15
|
isLoading: boolean;
|
|
16
16
|
};
|
|
17
17
|
flags: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,eAAO,MAAM,SAAS,yCAAyC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,eAAO,MAAM,SAAS,yCAAyC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AACxD,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjD,eAAO,MAAM,OAAO,EAAE,OACqC,CAAA;AAE3D,eAAO,MAAM,OAAO,QAAO,OAAsC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/helpers/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAAW,CAAA;AAE5B,eAAO,MAAM,gBAAgB,cACsC,CAAA;AASnE,eAAO,MAAM,mBAAmB,SAAU,IAAI,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/helpers/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAAW,CAAA;AAE5B,eAAO,MAAM,gBAAgB,cACsC,CAAA;AASnE,eAAO,MAAM,mBAAmB,SAAU,IAAI,WAsC7C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magmamath/students-features",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.3-rc.0",
|
|
4
4
|
"description": "Magmamath features library",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"pull-translations": "node scripts/pullTranslations.mjs"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@magmamath/frontend-config": ">=1.7.
|
|
49
|
+
"@magmamath/frontend-config": ">=1.7.2",
|
|
50
50
|
"@magmamath/react-native-draw-board": "*",
|
|
51
51
|
"@magmamath/react-native-ui": "*",
|
|
52
52
|
"@magmamath/students-qa": "*",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"react-native-svg": "^15.10.0"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@magmamath/frontend-config": "1.7.
|
|
75
|
+
"@magmamath/frontend-config": "1.7.2",
|
|
76
76
|
"@magmamath/react-native-draw-board": "1.8.3",
|
|
77
77
|
"@magmamath/react-native-ui": "0.5.9",
|
|
78
78
|
"@magmamath/students-qa": "0.2.3",
|
|
@@ -145,4 +145,4 @@
|
|
|
145
145
|
"type": "library",
|
|
146
146
|
"version": "0.44.3"
|
|
147
147
|
}
|
|
148
|
-
}
|
|
148
|
+
}
|
|
@@ -7,6 +7,10 @@ type TreeMapping = TreeMappingResponse['treeMapping']
|
|
|
7
7
|
* making them impossible to open in the solving flow. This normalizer strips those skills
|
|
8
8
|
* and cascades the cleanup - removing standards, domains, etc. that end up empty.
|
|
9
9
|
*
|
|
10
|
+
* It also de-duplicates skill ids within a node: the API tree can list the same skill twice,
|
|
11
|
+
* which inflates a standard's denominator (achieved/total) and leaves a finished standard
|
|
12
|
+
* stuck below 100%, e.g. 18 unique skills counted as 18/19. (students-web#4038)
|
|
13
|
+
*
|
|
10
14
|
* Acts as a single place to sanitize the tree API response before it enters the app.
|
|
11
15
|
* Can be extended with additional normalizations as new edge cases arise.
|
|
12
16
|
*/
|
|
@@ -38,7 +42,7 @@ export class TreeNormalizer {
|
|
|
38
42
|
id,
|
|
39
43
|
{
|
|
40
44
|
...node,
|
|
41
|
-
skills: node.skills.filter((sid) => validIds.has(sid)),
|
|
45
|
+
skills: [...new Set(node.skills.filter((sid) => validIds.has(sid)))],
|
|
42
46
|
children: node.children.filter((cid) => !emptyIds.has(cid)),
|
|
43
47
|
},
|
|
44
48
|
]),
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
{
|
|
2
|
+
"chat": {
|
|
3
|
+
"anotherHint": "Give me another hint",
|
|
4
|
+
"answerAgain": "Answer again to get another hint!",
|
|
5
|
+
"errorMessage": "Something went wrong! Try again",
|
|
6
|
+
"getHint": "Get a hint",
|
|
7
|
+
"giveHint": "I need a hint",
|
|
8
|
+
"giveHintOpenChat": "I need a hint",
|
|
9
|
+
"howCanIHelp": "Hi! Do you want help?",
|
|
10
|
+
"inputPlaceholder": "Type...",
|
|
11
|
+
"needHint": "I need a hint",
|
|
12
|
+
"showError": "Show error"
|
|
13
|
+
},
|
|
14
|
+
"exampleSolution": {
|
|
15
|
+
"aha": "Aha!",
|
|
16
|
+
"errorMessage": "Something went wrong with generating an example solution",
|
|
17
|
+
"exampleSolution": "Example solution",
|
|
18
|
+
"letMeThink": "Let me think..."
|
|
19
|
+
},
|
|
20
|
+
"gifCelebrations": {
|
|
21
|
+
"almostThere": "Almost there",
|
|
22
|
+
"greatStart": "Great start!",
|
|
23
|
+
"onTheWay": "On the way!"
|
|
24
|
+
},
|
|
25
|
+
"keyboard": {
|
|
26
|
+
"area": "Area",
|
|
27
|
+
"length": "Length",
|
|
28
|
+
"time": "Time",
|
|
29
|
+
"volume": "Volume",
|
|
30
|
+
"weight": "Weight"
|
|
31
|
+
},
|
|
32
|
+
"locale": "en-SE",
|
|
33
|
+
"pmProgress": {
|
|
34
|
+
"allLockedSubtitle": "Your teacher has locked all grades.\nAsk them to unlock grades so you can start practicing.",
|
|
35
|
+
"allLockedTitle": "All grades are locked",
|
|
36
|
+
"allTime": "All time",
|
|
37
|
+
"andMore": "and {{ count }} more...",
|
|
38
|
+
"fluency": "Fact Fluency",
|
|
39
|
+
"grade": "Grade",
|
|
40
|
+
"gradeK": "K",
|
|
41
|
+
"gradeOther": "Other",
|
|
42
|
+
"initErrorSubtitle": "We couldn't load your progress.\nPlease try again later.",
|
|
43
|
+
"initErrorTitle": "Something went wrong",
|
|
44
|
+
"lastWeek": "Last week",
|
|
45
|
+
"loading": "Loading...",
|
|
46
|
+
"nextUp": "Next up!",
|
|
47
|
+
"practiceButton": "PRACTICE",
|
|
48
|
+
"skillLeft": "skill left",
|
|
49
|
+
"skillsLeft": "skills left",
|
|
50
|
+
"stars": "Practice stars",
|
|
51
|
+
"startButton": "START",
|
|
52
|
+
"teacherRecs": "Teacher recommendations",
|
|
53
|
+
"thisWeek": "This week",
|
|
54
|
+
"time": "Practice time",
|
|
55
|
+
"title": "Practice & Progress"
|
|
56
|
+
},
|
|
57
|
+
"profile": {
|
|
58
|
+
"accountInfo": "Account info",
|
|
59
|
+
"changePasswordNote": "Ask your teacher if you need to change password",
|
|
60
|
+
"fullName": "Full name",
|
|
61
|
+
"joinClassButton": "Join new class",
|
|
62
|
+
"joinClassTitle": "Write your new class code",
|
|
63
|
+
"joinNewClass": "Join a new class",
|
|
64
|
+
"languageSettings": "Language settings",
|
|
65
|
+
"logOut": "Log out",
|
|
66
|
+
"noLanguage": "No language",
|
|
67
|
+
"preferences": "Preferences",
|
|
68
|
+
"school": "School",
|
|
69
|
+
"search": "Search",
|
|
70
|
+
"selectLanguage": "Select language",
|
|
71
|
+
"solveMode": "Solve mode",
|
|
72
|
+
"textSettings": "Text settings",
|
|
73
|
+
"textSize": "Text size",
|
|
74
|
+
"textToSpeech": "Text-to-speech",
|
|
75
|
+
"translationLanguage": "Translation language",
|
|
76
|
+
"translationModalTitle": "Translation language",
|
|
77
|
+
"username": "Username"
|
|
78
|
+
},
|
|
79
|
+
"student": {
|
|
80
|
+
"fluency": {
|
|
81
|
+
"addition": "Addition",
|
|
82
|
+
"cardsReady": "individualized facts ready",
|
|
83
|
+
"claimProgress": "Claim progress",
|
|
84
|
+
"correct": "Correct! ",
|
|
85
|
+
"dayFriday": "F",
|
|
86
|
+
"dayMonday": "M",
|
|
87
|
+
"dayThursday": "T",
|
|
88
|
+
"dayTuesday": "T",
|
|
89
|
+
"dayWednesday": "W",
|
|
90
|
+
"division": "Division",
|
|
91
|
+
"emptySubtitle": "Ask your teacher to unlock fluency for your grade",
|
|
92
|
+
"emptyTitle": "No facts available for your grade",
|
|
93
|
+
"enter": "Submit",
|
|
94
|
+
"errorSubtitle": "We couldn't load your exercises. Please try again later.",
|
|
95
|
+
"errorTitle": "Something went wrong",
|
|
96
|
+
"fast": "Fast!",
|
|
97
|
+
"incorrect": "INCORRECT — ANSWER: {{answer}}",
|
|
98
|
+
"masteryGrowing": "Familiar",
|
|
99
|
+
"masteryLearning": "New",
|
|
100
|
+
"masteryMastered": "Automatic",
|
|
101
|
+
"masteryStrong": "Strong",
|
|
102
|
+
"multiplication": "Multiplication",
|
|
103
|
+
"notStarted": "New",
|
|
104
|
+
"practice": "Practice",
|
|
105
|
+
"practiceThisWeek": "Practice this week",
|
|
106
|
+
"resultCorrectCardLabel": "Wow there! ",
|
|
107
|
+
"resultStreakCardLabel": "Nice streak!",
|
|
108
|
+
"resultSubtitle": "Nice job {{name}}!",
|
|
109
|
+
"resultTitle": "Checked and done",
|
|
110
|
+
"skipped": "Skipped",
|
|
111
|
+
"startPractice": "Start fluency practice",
|
|
112
|
+
"subtraction": "Subtraction",
|
|
113
|
+
"title": "Fluency practice",
|
|
114
|
+
"typeYourAnswer": "Type your answer"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"teacherFeedback": {
|
|
118
|
+
"noComments": "No comments yet"
|
|
119
|
+
},
|
|
120
|
+
"teacher": {
|
|
121
|
+
"fluency": {
|
|
122
|
+
"allPupils": "All students",
|
|
123
|
+
"average": "Progress",
|
|
124
|
+
"avgTimeTitle": "Avg Time / Student",
|
|
125
|
+
"factFluency": "Fact Fluency",
|
|
126
|
+
"factsGridLabel": "{{cols}}×{{rows}} facts",
|
|
127
|
+
"hardestFactsEmpty": "No hardest facts yet",
|
|
128
|
+
"hardestFactsTitle": "Top 3 Hardest Facts",
|
|
129
|
+
"minGoal": "/ {{goal}} min goal",
|
|
130
|
+
"noFactsPracticed": "No facts practiced yet",
|
|
131
|
+
"noStudents": "This class has no students",
|
|
132
|
+
"noStudentsFound": "No students match your search",
|
|
133
|
+
"overallMastery": "Automaticity progress",
|
|
134
|
+
"progressDeveloping": "Developing",
|
|
135
|
+
"progressFluent": "Fluent",
|
|
136
|
+
"progressLearning": "Learning",
|
|
137
|
+
"progressNotStarted": "Not started",
|
|
138
|
+
"progressProficient": "Proficient",
|
|
139
|
+
"rowClickHint": "Click a student row to see their full fluency breakdown.",
|
|
140
|
+
"search": "Search",
|
|
141
|
+
"studentFluency": "Student Fluency"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"time": {
|
|
145
|
+
"dayAgo": "day ago",
|
|
146
|
+
"daysAgo": "{{count}} days ago",
|
|
147
|
+
"hourAgo": "hour ago",
|
|
148
|
+
"hoursAgo": "{{count}} hours ago",
|
|
149
|
+
"justNow": "just now",
|
|
150
|
+
"minuteAgo": "minute ago",
|
|
151
|
+
"minutesAgo": "{{count}} minutes ago",
|
|
152
|
+
"monthAgo": "month ago",
|
|
153
|
+
"monthsAgo": "{{count}} months ago",
|
|
154
|
+
"yearAgo": "year ago",
|
|
155
|
+
"yearsAgo": "{{count}} years ago"
|
|
156
|
+
},
|
|
157
|
+
"voice": {
|
|
158
|
+
"attempt": "Attempt {{ number }}",
|
|
159
|
+
"cancel": "Cancel",
|
|
160
|
+
"delete": "Delete",
|
|
161
|
+
"deleteRecording": "Delete recording?",
|
|
162
|
+
"noMicrophoneAccess": "No microphone access.",
|
|
163
|
+
"noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
|
|
164
|
+
"noMicrophoneFound": "No microphone found.",
|
|
165
|
+
"preparingTranscript": "Preparing transcript",
|
|
166
|
+
"recordAnswer": "Record answer",
|
|
167
|
+
"recordingDeleted": "Recording successfully deleted.",
|
|
168
|
+
"redo": "Redo",
|
|
169
|
+
"redoRecording": "Redo recording?",
|
|
170
|
+
"stopRecording": "Stop recording",
|
|
171
|
+
"thisWillRemoveRecording": "This will remove your previous recording.",
|
|
172
|
+
"transcriptionError": "Transcription request error",
|
|
173
|
+
"transcriptions": "Transcriptions",
|
|
174
|
+
"transcriptNotAvailable": "Transcript not available",
|
|
175
|
+
"uploadFailed": "Upload failed. Please try again.",
|
|
176
|
+
"youWontBeAbleToRecover": "You won't be able to recover this file once it's gone."
|
|
177
|
+
}
|
|
178
|
+
}
|
package/src/i18n/i18n.ts
CHANGED
|
@@ -8,7 +8,6 @@ export type TranslationKey = ParseKeys<typeof NAMESPACE>
|
|
|
8
8
|
export type GetText = TFunction<typeof NAMESPACE>
|
|
9
9
|
|
|
10
10
|
export const getText: GetText = ((key: TranslationKey, options?: object) =>
|
|
11
|
-
|
|
12
|
-
(i18next.t as any)(key, { ns: NAMESPACE, ...options })) as GetText
|
|
11
|
+
i18next.t(key, { ns: NAMESPACE, ...options })) as GetText
|
|
13
12
|
|
|
14
13
|
export const useText = (): GetText => useTranslation(NAMESPACE).t
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ExampleSolutionModal = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
9
|
-
var _ExampleSolutionModalContent = require("./components/ExampleSolutionModalContent.js");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
const ExampleSolutionModal = ({
|
|
13
|
-
modal: {
|
|
14
|
-
closeModal,
|
|
15
|
-
params
|
|
16
|
-
}
|
|
17
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.BaseModal, {
|
|
18
|
-
style: {
|
|
19
|
-
container: {
|
|
20
|
-
paddingHorizontal: _reactNativeUi.SPACING[800]
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
onClose: closeModal,
|
|
24
|
-
content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExampleSolutionModalContent.ExampleSolutionModalContent, {
|
|
25
|
-
params: params
|
|
26
|
-
})
|
|
27
|
-
});
|
|
28
|
-
exports.ExampleSolutionModal = ExampleSolutionModal;
|
|
29
|
-
//# sourceMappingURL=ExampleSolutionModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeUi","_ExampleSolutionModalContent","_jsxRuntime","e","__esModule","default","ExampleSolutionModal","modal","closeModal","params","jsx","BaseModal","style","container","paddingHorizontal","SPACING","onClose","content","ExampleSolutionModalContent","exports"],"sourceRoot":"../../../../src","sources":["features/exampleSolution/ExampleSolutionModal.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,4BAAA,GAAAF,OAAA;AAAsF,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAU/E,MAAMG,oBAAoB,GAAGA,CAAC;EACnCC,KAAK,EAAE;IAAEC,UAAU;IAAEC;EAAO;AACM,CAAC,kBACnC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,cAAA,CAAAW,SAAS;EACRC,KAAK,EAAE;IACLC,SAAS,EAAE;MAAEC,iBAAiB,EAAEC,sBAAO,CAAC,GAAG;IAAE;EAC/C,CAAE;EACFC,OAAO,EAAER,UAAW;EACpBS,OAAO,eAAE,IAAAf,WAAA,CAAAQ,GAAA,EAACT,4BAAA,CAAAiB,2BAA2B;IAACT,MAAM,EAAEA;EAAO,CAAE;AAAE,CAC1D,CACF;AAAAU,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
Binary file
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ExampleSolutionModalContent = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
|
-
var _QuestionSection = require("./QuestionSection.js");
|
|
11
|
-
var _SolutionSection = require("./SolutionSection.js");
|
|
12
|
-
var _useExampleSolution = require("../hooks/useExampleSolution.js");
|
|
13
|
-
var _studentsQa = require("@magmamath/students-qa");
|
|
14
|
-
var _i18n = require("../../../i18n/i18n.js");
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
const CONTAINER_HEIGHT = 593;
|
|
18
|
-
const ExampleSolutionModalContent = ({
|
|
19
|
-
params: {
|
|
20
|
-
model,
|
|
21
|
-
payload,
|
|
22
|
-
cacheKey
|
|
23
|
-
}
|
|
24
|
-
}) => {
|
|
25
|
-
const {
|
|
26
|
-
result,
|
|
27
|
-
status
|
|
28
|
-
} = (0, _useExampleSolution.useExampleSolution)({
|
|
29
|
-
model,
|
|
30
|
-
payload,
|
|
31
|
-
cacheKey
|
|
32
|
-
});
|
|
33
|
-
const t = (0, _i18n.useText)();
|
|
34
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
35
|
-
testID: _studentsQa.TEST_IDS.EXAMPLE_SOLUTION_MODAL,
|
|
36
|
-
style: [styles.container, _reactNativeUi.IS_WEB ? {
|
|
37
|
-
maxHeight: CONTAINER_HEIGHT
|
|
38
|
-
} : {
|
|
39
|
-
height: CONTAINER_HEIGHT
|
|
40
|
-
}],
|
|
41
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
42
|
-
align: "center",
|
|
43
|
-
variant: _reactNativeUi.HeadingVariants.H2,
|
|
44
|
-
style: {
|
|
45
|
-
color: _reactNativeUi.COLORS.NEUTRAL_9
|
|
46
|
-
},
|
|
47
|
-
children: t('exampleSolution.exampleSolution')
|
|
48
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
49
|
-
style: styles.content,
|
|
50
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_QuestionSection.QuestionSection, {
|
|
51
|
-
status: status,
|
|
52
|
-
question: result?.question,
|
|
53
|
-
renderKatexComponent: model.renderKatexComponent
|
|
54
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SolutionSection.SolutionSection, {
|
|
55
|
-
status: status,
|
|
56
|
-
answer: result?.answer
|
|
57
|
-
})]
|
|
58
|
-
})]
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
exports.ExampleSolutionModalContent = ExampleSolutionModalContent;
|
|
62
|
-
const styles = _reactNative.StyleSheet.create({
|
|
63
|
-
container: {
|
|
64
|
-
width: 880
|
|
65
|
-
},
|
|
66
|
-
content: {
|
|
67
|
-
flex: 1,
|
|
68
|
-
flexDirection: 'row',
|
|
69
|
-
marginTop: _reactNativeUi.SPACING[400],
|
|
70
|
-
gap: _reactNativeUi.SPACING[400]
|
|
71
|
-
},
|
|
72
|
-
solutionContainer: {
|
|
73
|
-
width: 351,
|
|
74
|
-
overflow: 'hidden',
|
|
75
|
-
borderRadius: 8,
|
|
76
|
-
borderWidth: 1,
|
|
77
|
-
borderColor: _reactNativeUi.COLORS.NEUTRAL_5
|
|
78
|
-
},
|
|
79
|
-
lavaIconContainer: {
|
|
80
|
-
position: 'absolute',
|
|
81
|
-
bottom: -24,
|
|
82
|
-
right: -26
|
|
83
|
-
},
|
|
84
|
-
loaderContainer: {
|
|
85
|
-
paddingTop: 34,
|
|
86
|
-
position: 'absolute',
|
|
87
|
-
width: '100%',
|
|
88
|
-
height: '100%',
|
|
89
|
-
backgroundColor: _reactNativeUi.COLORS.NEUTRAL_1
|
|
90
|
-
},
|
|
91
|
-
messageBlock: {
|
|
92
|
-
position: 'absolute',
|
|
93
|
-
right: 58,
|
|
94
|
-
bottom: -12
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=ExampleSolutionModalContent.js.map
|