@magmamath/students-features 1.3.26-rc.11 → 1.3.26-rc.13
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/matrix/components/MatrixCell.js +11 -12
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +8 -0
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.constants.js +6 -6
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js +7 -13
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/commonjs/features/fluency-teacher/assets/PersonIcon.js +32 -0
- package/dist/commonjs/features/fluency-teacher/assets/PersonIcon.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/assets/SortDefaultIcon.js +31 -0
- package/dist/commonjs/features/fluency-teacher/assets/SortDefaultIcon.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js +45 -0
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacherFooter.js +43 -0
- package/dist/commonjs/features/fluency-teacher/components/FluencyTeacherFooter.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js +95 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +73 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js +52 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +118 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +77 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js +48 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js +114 -0
- package/dist/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/header/AverageTimePerStudent.js +135 -0
- package/dist/commonjs/features/fluency-teacher/components/header/AverageTimePerStudent.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/header/FluencyTeacherHeader.js +35 -0
- package/dist/commonjs/features/fluency-teacher/components/header/FluencyTeacherHeader.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/header/HardestFact.js +102 -0
- package/dist/commonjs/features/fluency-teacher/components/header/HardestFact.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/header/TopHardestFacts.js +99 -0
- package/dist/commonjs/features/fluency-teacher/components/header/TopHardestFacts.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.js +50 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js +48 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.js +53 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js +59 -0
- package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js +110 -0
- package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js +78 -0
- package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherFilters.js +35 -0
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherFilters.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +149 -0
- package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js +40 -0
- package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js +84 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js +128 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js +71 -0
- package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/context/TeacherFluencyContext.js +16 -0
- package/dist/commonjs/features/fluency-teacher/context/TeacherFluencyContext.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js +61 -0
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js +75 -0
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.types.js +21 -0
- package/dist/commonjs/features/fluency-teacher/fluencyTeacher.types.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js +60 -0
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.js +37 -0
- package/dist/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/index.js +20 -0
- package/dist/commonjs/features/fluency-teacher/index.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyApiModel.js +15 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyApiModel.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js +28 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js +40 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyTableModel.js +49 -0
- package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyTableModel.js.map +1 -0
- package/dist/commonjs/features/pmProgress/components/content/PmContent.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +3 -3
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -1
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +11 -12
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +7 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/module/features/fluency/fluency.constants.js +5 -5
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/fluency.helpers.js +6 -11
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/module/features/fluency-teacher/assets/PersonIcon.js +24 -0
- package/dist/module/features/fluency-teacher/assets/PersonIcon.js.map +1 -0
- package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js +23 -0
- package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/FluencyTeacher.js +39 -0
- package/dist/module/features/fluency-teacher/components/FluencyTeacher.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/FluencyTeacherFooter.js +37 -0
- package/dist/module/features/fluency-teacher/components/FluencyTeacherFooter.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js +89 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +67 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js +46 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +112 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +71 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js +42 -0
- package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js +107 -0
- package/dist/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/header/AverageTimePerStudent.js +129 -0
- package/dist/module/features/fluency-teacher/components/header/AverageTimePerStudent.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/header/FluencyTeacherHeader.js +29 -0
- package/dist/module/features/fluency-teacher/components/header/FluencyTeacherHeader.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/header/HardestFact.js +96 -0
- package/dist/module/features/fluency-teacher/components/header/HardestFact.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/header/TopHardestFacts.js +93 -0
- package/dist/module/features/fluency-teacher/components/header/TopHardestFacts.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/matrix/DrawerMatrix.js +44 -0
- package/dist/module/features/fluency-teacher/components/matrix/DrawerMatrix.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js +42 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.js +47 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js +53 -0
- package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js +104 -0
- package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js +72 -0
- package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherFilters.js +29 -0
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherFilters.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +143 -0
- package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js +34 -0
- package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js +78 -0
- package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/TableRow.js +121 -0
- package/dist/module/features/fluency-teacher/components/table/TableRow.js.map +1 -0
- package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js +65 -0
- package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +1 -0
- package/dist/module/features/fluency-teacher/context/TeacherFluencyContext.js +11 -0
- package/dist/module/features/fluency-teacher/context/TeacherFluencyContext.js.map +1 -0
- package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js +57 -0
- package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -0
- package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js +67 -0
- package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -0
- package/dist/module/features/fluency-teacher/fluencyTeacher.types.js +17 -0
- package/dist/module/features/fluency-teacher/fluencyTeacher.types.js.map +1 -0
- package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js +55 -0
- package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js.map +1 -0
- package/dist/module/features/fluency-teacher/hooks/useDrawerMatrix.js +32 -0
- package/dist/module/features/fluency-teacher/hooks/useDrawerMatrix.js.map +1 -0
- package/dist/module/features/fluency-teacher/index.js +5 -0
- package/dist/module/features/fluency-teacher/index.js.map +1 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyApiModel.js +10 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyApiModel.js.map +1 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js +23 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js +35 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyTableModel.js +44 -0
- package/dist/module/features/fluency-teacher/model/TeacherFluencyTableModel.js.map +1 -0
- package/dist/module/features/pmProgress/components/content/PmContent.js.map +1 -1
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +1 -1
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -1
- package/dist/module/features/pmProgress/components/locked/PmStatusOverlay.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +5 -5
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +1 -2
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +2 -2
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency-teacher/assets/PersonIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency-teacher/assets/PersonIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/FluencyTeacher.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/FluencyTeacher.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/FluencyTeacherFooter.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/FluencyTeacherFooter.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +12 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerStats.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerStats.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/AverageTimePerStudent.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/AverageTimePerStudent.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/FluencyTeacherHeader.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/FluencyTeacherHeader.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/HardestFact.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/HardestFact.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/TopHardestFacts.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/header/TopHardestFacts.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts +14 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixCell.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixCell.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts +12 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherFilters.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherFilters.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +13 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts +11 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +7 -0
- package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.constants.d.ts +5 -0
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts +22 -0
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.types.d.ts +115 -0
- package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerGrid.d.ts +15 -0
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerGrid.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.d.ts +14 -0
- package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/index.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency-teacher/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyApiModel.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyApiModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts +8 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyModel.d.ts +13 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyTableModel.d.ts +27 -0
- package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyTableModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/pmProgress/components/content/PmContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts +1 -1
- package/dist/typescript/commonjs/features/pmProgress/context/PmProgressContext.d.ts.map +1 -1
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts +5 -5
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +1 -2
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.types.d.ts +2 -2
- package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency-teacher/assets/PersonIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency-teacher/assets/PersonIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/FluencyTeacher.d.ts +11 -0
- package/dist/typescript/module/features/fluency-teacher/components/FluencyTeacher.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/FluencyTeacherFooter.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/FluencyTeacherFooter.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerHeader.d.ts +9 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerHeader.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +12 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts +9 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerStats.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerStats.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/AverageTimePerStudent.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/AverageTimePerStudent.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/FluencyTeacherHeader.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/FluencyTeacherHeader.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/HardestFact.d.ts +11 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/HardestFact.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/TopHardestFacts.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/header/TopHardestFacts.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts +14 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixCell.d.ts +11 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixCell.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts +12 -0
- package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherFilters.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherFilters.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +13 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts +11 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +7 -0
- package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.constants.d.ts +5 -0
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.constants.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts +22 -0
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.types.d.ts +115 -0
- package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.types.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerGrid.d.ts +15 -0
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerGrid.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerMatrix.d.ts +14 -0
- package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerMatrix.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/index.d.ts +3 -0
- package/dist/typescript/module/features/fluency-teacher/index.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyApiModel.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyApiModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts +8 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyModel.d.ts +13 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyTableModel.d.ts +27 -0
- package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyTableModel.d.ts.map +1 -0
- package/dist/typescript/module/features/pmProgress/components/content/PmContent.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/locked/PmStatusOverlay.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts +1 -1
- package/dist/typescript/module/features/pmProgress/components/standard/StandardTag.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts +1 -1
- package/dist/typescript/module/features/pmProgress/context/PmProgressContext.d.ts.map +1 -1
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/fluency/components/matrix/components/MatrixCell.tsx +11 -11
- package/src/features/fluency/components/session-results/FluencySessionResults.tsx +5 -1
- package/src/features/fluency/fluency.constants.ts +5 -5
- package/src/features/fluency/fluency.helpers.ts +8 -9
- package/src/features/fluency/fluency.types.ts +2 -2
- package/src/features/fluency/model/FluencySolvingModel.ts +1 -2
- package/src/features/fluency-teacher/assets/PersonIcon.tsx +16 -0
- package/src/features/fluency-teacher/assets/SortDefaultIcon.tsx +10 -0
- package/src/features/fluency-teacher/components/FluencyTeacher.tsx +41 -0
- package/src/features/fluency-teacher/components/FluencyTeacherFooter.tsx +38 -0
- package/src/features/fluency-teacher/components/drawer/DrawerHeader.tsx +87 -0
- package/src/features/fluency-teacher/components/drawer/DrawerMasteryLegend.tsx +53 -0
- package/src/features/fluency-teacher/components/drawer/DrawerMatrixes.tsx +48 -0
- package/src/features/fluency-teacher/components/drawer/DrawerOperatorBox.tsx +99 -0
- package/src/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.tsx +65 -0
- package/src/features/fluency-teacher/components/drawer/DrawerStats.tsx +47 -0
- package/src/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.tsx +89 -0
- package/src/features/fluency-teacher/components/header/AverageTimePerStudent.tsx +120 -0
- package/src/features/fluency-teacher/components/header/FluencyTeacherHeader.tsx +28 -0
- package/src/features/fluency-teacher/components/header/HardestFact.tsx +98 -0
- package/src/features/fluency-teacher/components/header/TopHardestFacts.tsx +98 -0
- package/src/features/fluency-teacher/components/matrix/DrawerMatrix.tsx +54 -0
- package/src/features/fluency-teacher/components/matrix/MatrixCell.tsx +38 -0
- package/src/features/fluency-teacher/components/matrix/MatrixHeaderRow.tsx +37 -0
- package/src/features/fluency-teacher/components/matrix/MatrixRow.tsx +57 -0
- package/src/features/fluency-teacher/components/table/AllPupilsTableRow.tsx +96 -0
- package/src/features/fluency-teacher/components/table/AverageSortButton.tsx +72 -0
- package/src/features/fluency-teacher/components/table/FluencyTeacherFilters.tsx +23 -0
- package/src/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx +134 -0
- package/src/features/fluency-teacher/components/table/OperatorBadge.tsx +29 -0
- package/src/features/fluency-teacher/components/table/TableColumnSortButton.tsx +87 -0
- package/src/features/fluency-teacher/components/table/TableRow.tsx +114 -0
- package/src/features/fluency-teacher/components/table/TableRowAverageProgress.tsx +65 -0
- package/src/features/fluency-teacher/context/TeacherFluencyContext.ts +16 -0
- package/src/features/fluency-teacher/fluencyTeacher.constants.ts +62 -0
- package/src/features/fluency-teacher/fluencyTeacher.helpers.ts +72 -0
- package/src/features/fluency-teacher/fluencyTeacher.types.ts +135 -0
- package/src/features/fluency-teacher/hooks/useDrawerGrid.ts +58 -0
- package/src/features/fluency-teacher/hooks/useDrawerMatrix.ts +45 -0
- package/src/features/fluency-teacher/index.ts +2 -0
- package/src/features/fluency-teacher/model/TeacherFluencyApiModel.ts +18 -0
- package/src/features/fluency-teacher/model/TeacherFluencyFiltersModel.ts +17 -0
- package/src/features/fluency-teacher/model/TeacherFluencyModel.ts +36 -0
- package/src/features/fluency-teacher/model/TeacherFluencyTableModel.ts +46 -0
- package/src/features/pmProgress/components/content/PmContent.tsx +0 -1
- package/src/features/pmProgress/components/header/PmProgressHeader.tsx +1 -1
- package/src/features/pmProgress/components/locked/PmStatusOverlay.tsx +8 -1
- package/src/features/pmProgress/components/standard/StandardTag.tsx +1 -1
- package/src/features/pmProgress/context/PmProgressContext.tsx +1 -1
- package/src/index.ts +1 -0
|
@@ -2,7 +2,6 @@ import React, { useState } from 'react'
|
|
|
2
2
|
import { Pressable, View, Text, StyleSheet } from 'react-native'
|
|
3
3
|
import Animated, { FadeIn, FadeOut } from 'react-native-reanimated'
|
|
4
4
|
import { BORDER_RADIUS, COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
|
|
5
|
-
import { getMasteryLevelByBox } from '../../../fluency.helpers'
|
|
6
5
|
import { FluencyMasteryLevel } from '../../../fluency.constants'
|
|
7
6
|
import { StarFillIcon } from '../../../assets/StarFillIcon'
|
|
8
7
|
import { CellTooltip } from './CellTooltip'
|
|
@@ -22,17 +21,8 @@ export const MatrixCell = ({
|
|
|
22
21
|
levelColors,
|
|
23
22
|
tooltipLabel,
|
|
24
23
|
}: MatrixCellProps) => {
|
|
25
|
-
if (isEmpty) {
|
|
26
|
-
return (
|
|
27
|
-
<View style={styles.wrapper}>
|
|
28
|
-
<View style={[styles.cell, styles.emptyCell]}>
|
|
29
|
-
<Text style={styles.emptyCellText}>−</Text>
|
|
30
|
-
</View>
|
|
31
|
-
</View>
|
|
32
|
-
)
|
|
33
|
-
}
|
|
34
24
|
const [isActive, setIsActive] = useState(false)
|
|
35
|
-
const masteryLevel = box
|
|
25
|
+
const masteryLevel = box || null
|
|
36
26
|
const isMastered = masteryLevel === FluencyMasteryLevel.MASTERED
|
|
37
27
|
|
|
38
28
|
const bgColor = (() => {
|
|
@@ -46,6 +36,16 @@ export const MatrixCell = ({
|
|
|
46
36
|
const activate = () => setIsActive(true)
|
|
47
37
|
const deactivate = () => setIsActive(false)
|
|
48
38
|
|
|
39
|
+
if (isEmpty) {
|
|
40
|
+
return (
|
|
41
|
+
<View style={styles.wrapper}>
|
|
42
|
+
<View style={[styles.cell, styles.emptyCell]}>
|
|
43
|
+
<Text style={styles.emptyCellText}>−</Text>
|
|
44
|
+
</View>
|
|
45
|
+
</View>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
49
|
return (
|
|
50
50
|
<View style={[styles.wrapper, showTooltip && styles.wrapperActive]}>
|
|
51
51
|
{showTooltip && (
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
TimerIcon,
|
|
15
15
|
} from '@magmamath/react-native-ui'
|
|
16
16
|
import { useUnit } from 'effector-react'
|
|
17
|
-
import { CloseIcon } from '@magmamath/students-features'
|
|
17
|
+
import { CloseIcon } from '@magmamath/students-features' // TODO:
|
|
18
18
|
import { useText } from '../../../../i18n/i18n'
|
|
19
19
|
import { useFluency } from '../../context/FluencyContext'
|
|
20
20
|
import { AttemptStatus } from '../../fluency.constants'
|
|
@@ -114,6 +114,7 @@ export const FluencySessionResults = ({
|
|
|
114
114
|
variant={ButtonVariant.PRIMARY}
|
|
115
115
|
size={ButtonSize.LARGE}
|
|
116
116
|
colorScheme={ButtonColor.YELLOW}
|
|
117
|
+
style={{ text: styles.buttonText }}
|
|
117
118
|
raiseLevel={6}
|
|
118
119
|
>
|
|
119
120
|
{t('student.fluency.claimProgress')}
|
|
@@ -187,4 +188,7 @@ const styles = StyleSheet.create({
|
|
|
187
188
|
claimProgressButtonContainer: {
|
|
188
189
|
alignItems: 'center',
|
|
189
190
|
},
|
|
191
|
+
buttonText: {
|
|
192
|
+
textTransform: 'uppercase',
|
|
193
|
+
},
|
|
190
194
|
})
|
|
@@ -2,7 +2,6 @@ import { ButtonColor, COLORS, SelectOptionColor } from '@magmamath/react-native-
|
|
|
2
2
|
import { createFluencyMode } from './fluency.helpers'
|
|
3
3
|
import type { FluencyColorPalette, FluencyModeConfig, FluencyModePreset } from './fluency.types'
|
|
4
4
|
|
|
5
|
-
export const FALLBACK_MATRIX_SIZE = 21
|
|
6
5
|
export const MAX_INPUT_LENGTH = 3
|
|
7
6
|
export const SESSION_LENGTH = 20
|
|
8
7
|
export const TIME_THRESHOLD_MS = 4000
|
|
@@ -16,10 +15,11 @@ export enum FluencyMode {
|
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
export enum FluencyMasteryLevel {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
NOT_STARTED = 0,
|
|
19
|
+
LEARNING = 1,
|
|
20
|
+
GROWING = 2,
|
|
21
|
+
STRONG = 3,
|
|
22
|
+
MASTERED = 4,
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export enum FluencyColorFamily {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { COLORS } from '@magmamath/react-native-ui'
|
|
1
2
|
import {
|
|
2
3
|
FluencyColorFamily,
|
|
3
4
|
FluencyMasteryLevel,
|
|
@@ -7,14 +8,6 @@ import {
|
|
|
7
8
|
import type { FluencyModeConfig, GetMatrixResponse, GridCell, MatrixGrid } from './fluency.types'
|
|
8
9
|
import type { TranslationKey } from '../../i18n/i18n'
|
|
9
10
|
|
|
10
|
-
export const getMasteryLevelByBox = (box: number): FluencyMasteryLevel | null => {
|
|
11
|
-
if (box === 5) return FluencyMasteryLevel.MASTERED
|
|
12
|
-
if (box === 4) return FluencyMasteryLevel.STRONG
|
|
13
|
-
if (box === 3) return FluencyMasteryLevel.GROWING
|
|
14
|
-
if (box === 2) return FluencyMasteryLevel.LEARNING
|
|
15
|
-
return null
|
|
16
|
-
}
|
|
17
|
-
|
|
18
11
|
type CreateFluencyModeParams = {
|
|
19
12
|
mode: FluencyMode
|
|
20
13
|
label: TranslationKey
|
|
@@ -45,7 +38,13 @@ export const createFluencyMode = ({
|
|
|
45
38
|
},
|
|
46
39
|
matrix: {
|
|
47
40
|
operatorLabel: label,
|
|
48
|
-
levelColors: {
|
|
41
|
+
levelColors: {
|
|
42
|
+
[FluencyMasteryLevel.NOT_STARTED]: COLORS.NEUTRAL_2,
|
|
43
|
+
[FluencyMasteryLevel.LEARNING]: learning,
|
|
44
|
+
[FluencyMasteryLevel.GROWING]: growing,
|
|
45
|
+
[FluencyMasteryLevel.STRONG]: strong,
|
|
46
|
+
[FluencyMasteryLevel.MASTERED]: mastered,
|
|
47
|
+
},
|
|
49
48
|
},
|
|
50
49
|
},
|
|
51
50
|
}
|
|
@@ -85,7 +85,7 @@ type FactPosition = {
|
|
|
85
85
|
export type Fact = {
|
|
86
86
|
attemptsCount: number
|
|
87
87
|
averageTimeMs: number | null
|
|
88
|
-
box:
|
|
88
|
+
box: FluencyMasteryLevel | null
|
|
89
89
|
correctCount: number
|
|
90
90
|
difficulty: number
|
|
91
91
|
lastAttemptedAt: string | null
|
|
@@ -119,7 +119,7 @@ export type GridCell = {
|
|
|
119
119
|
isHeader: boolean
|
|
120
120
|
isEmpty: boolean
|
|
121
121
|
label: number | null
|
|
122
|
-
box:
|
|
122
|
+
box: FluencyMasteryLevel | null
|
|
123
123
|
numbers: readonly [number, number] | null // null for header cells
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -15,10 +15,9 @@ import type {
|
|
|
15
15
|
QuestionOutcome,
|
|
16
16
|
SolvingFact,
|
|
17
17
|
} from '../components/fluency-solving/fluencySolving.types'
|
|
18
|
-
import type { FluencyAttemptItem } from '../fluency.types'
|
|
18
|
+
import type { FluencyAttemptItem, GetMatrixResponse } from '../fluency.types'
|
|
19
19
|
import type { FluencyMatrixModel } from './FluencyMatrixModel'
|
|
20
20
|
import { createAction } from 'effector-action'
|
|
21
|
-
import { GetMatrixResponse } from '@magmamath/students-features'
|
|
22
21
|
|
|
23
22
|
export class FluencySolvingModel {
|
|
24
23
|
public readonly reset = createEvent()
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import Svg, { Path } from 'react-native-svg'
|
|
3
|
+
import { COLORS, IconProps } from '@magmamath/react-native-ui'
|
|
4
|
+
|
|
5
|
+
export const PersonIcon = ({ color = COLORS.NEUTRAL_9, size = 20 }: IconProps) => {
|
|
6
|
+
return (
|
|
7
|
+
<Svg width={size} height={size} viewBox="0 0 20 21" fill="none">
|
|
8
|
+
<Path
|
|
9
|
+
fillRule="evenodd"
|
|
10
|
+
clipRule="evenodd"
|
|
11
|
+
d="M.053 18.678c.76-3.257 4-7.32 9.68-7.32 6.204 0 9.068 4.073 9.712 7.346.263 1.337-.866 2.299-1.997 2.299H2.018c-1.123 0-2.282-.967-1.965-2.325zm9.68-5.605c-4.74 0-7.396 3.366-8.01 5.995a.12.12 0 00-.002.063.143.143 0 00.035.056c.046.05.137.101.261.101h15.43c.124 0 .22-.05.27-.105a.154.154 0 00.045-.148c-.514-2.612-2.782-5.962-8.03-5.962zM9.732 1.715a3.431 3.431 0 00-3.429 3.429c0 1.921 1.359 3.429 3.424 3.429 2.072 0 3.444-1.514 3.434-3.425-.009-1.9-1.541-3.433-3.429-3.433zM4.59 5.144A5.145 5.145 0 019.732 0c2.842 0 5.13 2.306 5.144 5.14.014 2.822-2.088 5.147-5.149 5.147-3.067 0-5.138-2.33-5.138-5.143z"
|
|
12
|
+
fill={color}
|
|
13
|
+
/>
|
|
14
|
+
</Svg>
|
|
15
|
+
)
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import Svg, { Path } from 'react-native-svg'
|
|
3
|
+
import { COLORS, IconProps } from '@magmamath/react-native-ui'
|
|
4
|
+
|
|
5
|
+
export const SortDefaultIcon = ({ color = COLORS.NEUTRAL_9, size = 10 }: IconProps) => (
|
|
6
|
+
<Svg width={size} height={size} viewBox="0 0 10 10" fill="none">
|
|
7
|
+
<Path d="M5 1 L8 4 H2 Z" fill={color} />
|
|
8
|
+
<Path d="M5 9 L2 6 H8 Z" fill={color} />
|
|
9
|
+
</Svg>
|
|
10
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { useGate } from 'effector-react'
|
|
3
|
+
import { View, StyleSheet } from 'react-native'
|
|
4
|
+
import { SPACING } from '@magmamath/react-native-ui'
|
|
5
|
+
import { TeacherFluencyModel } from '../model/TeacherFluencyModel'
|
|
6
|
+
import { FluencyTeacherStudentsTable } from './table/FluencyTeacherStudentsTable'
|
|
7
|
+
import { FluencyTeacherFilters } from './table/FluencyTeacherFilters'
|
|
8
|
+
import { FluencyTeacherHeader } from './header/FluencyTeacherHeader'
|
|
9
|
+
import { FluencyTeacherDrawer } from './drawer/FluencyTeacherDrawer'
|
|
10
|
+
import { FluencyTeacherFooter } from './FluencyTeacherFooter'
|
|
11
|
+
import { FluencyStudent } from '../fluencyTeacher.types'
|
|
12
|
+
import { TeacherFluencyProvider } from '../context/TeacherFluencyContext'
|
|
13
|
+
|
|
14
|
+
type FluencyTeacherProps = {
|
|
15
|
+
model: TeacherFluencyModel
|
|
16
|
+
students: FluencyStudent[]
|
|
17
|
+
grade: number
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const FluencyTeacher = ({ model, students, grade }: FluencyTeacherProps) => {
|
|
21
|
+
useGate(model.gate, { students, grade })
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<TeacherFluencyProvider value={{ model }}>
|
|
25
|
+
<View style={styles.container}>
|
|
26
|
+
<FluencyTeacherHeader />
|
|
27
|
+
<FluencyTeacherFilters />
|
|
28
|
+
<FluencyTeacherStudentsTable />
|
|
29
|
+
<FluencyTeacherDrawer />
|
|
30
|
+
<FluencyTeacherFooter />
|
|
31
|
+
</View>
|
|
32
|
+
</TeacherFluencyProvider>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const styles = StyleSheet.create({
|
|
37
|
+
container: {
|
|
38
|
+
flex: 1,
|
|
39
|
+
gap: SPACING[400],
|
|
40
|
+
},
|
|
41
|
+
})
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, View } from 'react-native'
|
|
3
|
+
import {
|
|
4
|
+
COLORS,
|
|
5
|
+
FONT_FAMILY,
|
|
6
|
+
HeadingVariants,
|
|
7
|
+
InfoIcon,
|
|
8
|
+
SPACING,
|
|
9
|
+
Typography,
|
|
10
|
+
} from '@magmamath/react-native-ui'
|
|
11
|
+
|
|
12
|
+
export const FluencyTeacherFooter = () => (
|
|
13
|
+
<View style={styles.footer}>
|
|
14
|
+
<View style={styles.hint}>
|
|
15
|
+
<InfoIcon size={13} color={COLORS.NEUTRAL_7} />
|
|
16
|
+
<Typography variant={HeadingVariants.H10} style={styles.text}>
|
|
17
|
+
Click a student row to see their full fluency breakdown.
|
|
18
|
+
</Typography>
|
|
19
|
+
</View>
|
|
20
|
+
</View>
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
const styles = StyleSheet.create({
|
|
24
|
+
footer: {
|
|
25
|
+
flexDirection: 'row',
|
|
26
|
+
justifyContent: 'flex-start',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
},
|
|
29
|
+
hint: {
|
|
30
|
+
flexDirection: 'row',
|
|
31
|
+
alignItems: 'center',
|
|
32
|
+
gap: SPACING[100],
|
|
33
|
+
},
|
|
34
|
+
text: {
|
|
35
|
+
color: COLORS.NEUTRAL_7,
|
|
36
|
+
fontFamily: FONT_FAMILY.buenosAiresSemiBold,
|
|
37
|
+
},
|
|
38
|
+
})
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, Text, View } from 'react-native'
|
|
3
|
+
import {
|
|
4
|
+
Button,
|
|
5
|
+
ButtonColor,
|
|
6
|
+
COLORS,
|
|
7
|
+
CrossIcon,
|
|
8
|
+
FONT_FAMILY,
|
|
9
|
+
HeadingVariants,
|
|
10
|
+
SPACING,
|
|
11
|
+
Typography,
|
|
12
|
+
} from '@magmamath/react-native-ui'
|
|
13
|
+
|
|
14
|
+
import type { StudentResult } from '../../fluencyTeacher.types'
|
|
15
|
+
|
|
16
|
+
type DrawerHeaderProps = {
|
|
17
|
+
student: StudentResult
|
|
18
|
+
onClose: () => void
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const DrawerHeader = ({ student, onClose }: DrawerHeaderProps) => (
|
|
22
|
+
<View style={styles.container}>
|
|
23
|
+
<View style={styles.left}>
|
|
24
|
+
<Typography variant={HeadingVariants.H9} style={styles.label}>
|
|
25
|
+
Student Fluency
|
|
26
|
+
</Typography>
|
|
27
|
+
<Text style={styles.name}>{student.name}</Text>
|
|
28
|
+
</View>
|
|
29
|
+
<View style={styles.right}>
|
|
30
|
+
<Text style={styles.masteryLabel}>Overall mastery</Text>
|
|
31
|
+
<Text style={styles.masteryValue}>{student.averagePercent}%</Text>
|
|
32
|
+
</View>
|
|
33
|
+
<Button
|
|
34
|
+
variant="secondary"
|
|
35
|
+
colorScheme={ButtonColor.WHITE}
|
|
36
|
+
icon={<CrossIcon size={18} color={COLORS.NEUTRAL_7} />}
|
|
37
|
+
onPress={onClose}
|
|
38
|
+
style={{ container: styles.closeButton }}
|
|
39
|
+
/>
|
|
40
|
+
</View>
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
const styles = StyleSheet.create({
|
|
44
|
+
container: {
|
|
45
|
+
flexDirection: 'row',
|
|
46
|
+
alignItems: 'center',
|
|
47
|
+
paddingVertical: SPACING[500],
|
|
48
|
+
paddingHorizontal: SPACING[700],
|
|
49
|
+
borderTopWidth: 1,
|
|
50
|
+
borderBottomWidth: 1,
|
|
51
|
+
borderColor: COLORS.NEUTRAL_4,
|
|
52
|
+
},
|
|
53
|
+
left: {
|
|
54
|
+
marginLeft: 48,
|
|
55
|
+
},
|
|
56
|
+
label: {
|
|
57
|
+
color: COLORS.GREEN_7,
|
|
58
|
+
fontFamily: FONT_FAMILY.buenosAiresSemiBold,
|
|
59
|
+
fontWeight: '600',
|
|
60
|
+
},
|
|
61
|
+
name: {
|
|
62
|
+
fontFamily: FONT_FAMILY.buenosAiresBold,
|
|
63
|
+
fontWeight: '700',
|
|
64
|
+
fontSize: 22,
|
|
65
|
+
color: COLORS.NEUTRAL_10,
|
|
66
|
+
},
|
|
67
|
+
right: {
|
|
68
|
+
alignItems: 'flex-end',
|
|
69
|
+
marginLeft: 'auto',
|
|
70
|
+
},
|
|
71
|
+
masteryLabel: {
|
|
72
|
+
fontFamily: FONT_FAMILY.buenosAiresBold,
|
|
73
|
+
fontWeight: '700',
|
|
74
|
+
fontSize: 13,
|
|
75
|
+
color: COLORS.NEUTRAL_7,
|
|
76
|
+
},
|
|
77
|
+
masteryValue: {
|
|
78
|
+
fontFamily: FONT_FAMILY.buenosAiresBold,
|
|
79
|
+
fontWeight: '700',
|
|
80
|
+
fontSize: 28,
|
|
81
|
+
color: COLORS.GREEN_7,
|
|
82
|
+
},
|
|
83
|
+
closeButton: {
|
|
84
|
+
alignSelf: 'center',
|
|
85
|
+
marginLeft: SPACING[600],
|
|
86
|
+
},
|
|
87
|
+
})
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, Text, View } from 'react-native'
|
|
3
|
+
import { COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
|
|
4
|
+
|
|
5
|
+
const MASTERY_LEVELS = [
|
|
6
|
+
{ label: 'Not started', color: COLORS.NEUTRAL_3 },
|
|
7
|
+
{ label: 'Learning', color: COLORS.GREEN_2 },
|
|
8
|
+
{ label: 'Growing', color: COLORS.GREEN_3 },
|
|
9
|
+
{ label: 'Strong', color: COLORS.GREEN_4 },
|
|
10
|
+
{ label: 'Mastered', color: COLORS.GREEN_7 },
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
export const DrawerMasteryLegend = () => (
|
|
14
|
+
<View style={styles.container}>
|
|
15
|
+
{MASTERY_LEVELS.map((item) => (
|
|
16
|
+
<View key={item.label} style={styles.item}>
|
|
17
|
+
<View style={[styles.swatch, { backgroundColor: item.color }]} />
|
|
18
|
+
<Text style={styles.label}>{item.label}</Text>
|
|
19
|
+
</View>
|
|
20
|
+
))}
|
|
21
|
+
</View>
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
const styles = StyleSheet.create({
|
|
25
|
+
container: {
|
|
26
|
+
flexDirection: 'row',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
gap: SPACING[300],
|
|
29
|
+
paddingVertical: SPACING[150],
|
|
30
|
+
paddingHorizontal: SPACING[300],
|
|
31
|
+
borderRadius: 999,
|
|
32
|
+
backgroundColor: COLORS.NEUTRAL_1,
|
|
33
|
+
borderWidth: 1,
|
|
34
|
+
borderColor: COLORS.NEUTRAL_4,
|
|
35
|
+
alignSelf: 'center',
|
|
36
|
+
},
|
|
37
|
+
item: {
|
|
38
|
+
flexDirection: 'row',
|
|
39
|
+
alignItems: 'center',
|
|
40
|
+
gap: SPACING[150],
|
|
41
|
+
},
|
|
42
|
+
swatch: {
|
|
43
|
+
width: 14,
|
|
44
|
+
height: 14,
|
|
45
|
+
borderRadius: 4,
|
|
46
|
+
},
|
|
47
|
+
label: {
|
|
48
|
+
fontFamily: FONT_FAMILY.buenosAiresSemiBold,
|
|
49
|
+
fontSize: 12,
|
|
50
|
+
fontWeight: '600',
|
|
51
|
+
color: COLORS.NEUTRAL_8,
|
|
52
|
+
},
|
|
53
|
+
})
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, View } from 'react-native'
|
|
3
|
+
import { COLORS, SPACING } from '@magmamath/react-native-ui'
|
|
4
|
+
import { DrawerOperatorBox } from './DrawerOperatorBox'
|
|
5
|
+
import { FluencyMathOperatorSymbol, FluencyOperator } from '../../fluencyTeacher.types'
|
|
6
|
+
|
|
7
|
+
export const DrawerMatrixes = () => (
|
|
8
|
+
<View style={styles.grid}>
|
|
9
|
+
<DrawerOperatorBox
|
|
10
|
+
title="Addition"
|
|
11
|
+
symbol={FluencyMathOperatorSymbol.ADDITION}
|
|
12
|
+
iconBg={COLORS.GREEN_1}
|
|
13
|
+
iconColor={COLORS.GREEN_7}
|
|
14
|
+
operator={FluencyOperator.ADDITION}
|
|
15
|
+
/>
|
|
16
|
+
<DrawerOperatorBox
|
|
17
|
+
title="Subtraction"
|
|
18
|
+
symbol={FluencyMathOperatorSymbol.SUBTRACTION}
|
|
19
|
+
iconBg={COLORS.ORANGE_1}
|
|
20
|
+
iconColor={COLORS.ORANGE_7}
|
|
21
|
+
operator={FluencyOperator.SUBTRACTION}
|
|
22
|
+
/>
|
|
23
|
+
<DrawerOperatorBox
|
|
24
|
+
title="Multiplication"
|
|
25
|
+
symbol={FluencyMathOperatorSymbol.MULTIPLICATION}
|
|
26
|
+
iconBg={COLORS.BLUE_1}
|
|
27
|
+
iconColor={COLORS.BLUE_7}
|
|
28
|
+
operator={FluencyOperator.MULTIPLICATION}
|
|
29
|
+
/>
|
|
30
|
+
<DrawerOperatorBox
|
|
31
|
+
title="Division"
|
|
32
|
+
symbol={FluencyMathOperatorSymbol.DIVISION}
|
|
33
|
+
iconBg={COLORS.PURPLE_1}
|
|
34
|
+
iconColor={COLORS.PURPLE_7}
|
|
35
|
+
operator={FluencyOperator.DIVISION}
|
|
36
|
+
/>
|
|
37
|
+
</View>
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
const styles = StyleSheet.create({
|
|
41
|
+
grid: {
|
|
42
|
+
flexDirection: 'row',
|
|
43
|
+
flexWrap: 'wrap',
|
|
44
|
+
gap: SPACING[300],
|
|
45
|
+
marginTop: SPACING[300],
|
|
46
|
+
marginBottom: SPACING[600],
|
|
47
|
+
},
|
|
48
|
+
})
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { ActivityIndicator, StyleSheet, Text, View } from 'react-native'
|
|
3
|
+
import { useUnit } from 'effector-react'
|
|
4
|
+
import { BORDER_RADIUS, COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
|
|
5
|
+
import { useDrawerMatrix } from '../../hooks/useDrawerMatrix'
|
|
6
|
+
import { DrawerMatrix } from '../matrix/DrawerMatrix'
|
|
7
|
+
import { useTeacherFluency } from '../../context/TeacherFluencyContext'
|
|
8
|
+
import type { FluencyOperator } from '../../fluencyTeacher.types'
|
|
9
|
+
|
|
10
|
+
type DrawerOperatorBoxProps = {
|
|
11
|
+
title: string
|
|
12
|
+
symbol: string
|
|
13
|
+
iconBg: string
|
|
14
|
+
iconColor: string
|
|
15
|
+
operator: FluencyOperator
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const DrawerOperatorBox = ({ title, symbol, iconBg, iconColor, operator }: DrawerOperatorBoxProps) => {
|
|
19
|
+
const { model } = useTeacherFluency()
|
|
20
|
+
const isLoading = useUnit(model.api.getStudentDetailsFx.pending)
|
|
21
|
+
const matrixProps = useDrawerMatrix(operator)
|
|
22
|
+
const factsLabel = matrixProps.grid
|
|
23
|
+
? `${matrixProps.grid.colLabels.length}×${matrixProps.grid.rows.length} facts`
|
|
24
|
+
: ''
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<View style={styles.container}>
|
|
28
|
+
<View style={styles.header}>
|
|
29
|
+
<View style={[styles.iconBox, { backgroundColor: iconBg }]}>
|
|
30
|
+
<Text style={[styles.symbol, { color: iconColor }]}>{symbol}</Text>
|
|
31
|
+
</View>
|
|
32
|
+
<Text style={styles.title}>{title}</Text>
|
|
33
|
+
<View style={styles.spacer} />
|
|
34
|
+
<Text style={styles.factsLabel}>{factsLabel}</Text>
|
|
35
|
+
</View>
|
|
36
|
+
<View style={styles.content}>
|
|
37
|
+
{isLoading ? (
|
|
38
|
+
<View style={styles.loader}>
|
|
39
|
+
<ActivityIndicator size="large" color={COLORS.PRIMARY_BLUE} />
|
|
40
|
+
</View>
|
|
41
|
+
) : (
|
|
42
|
+
<DrawerMatrix {...matrixProps} />
|
|
43
|
+
)}
|
|
44
|
+
</View>
|
|
45
|
+
</View>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const styles = StyleSheet.create({
|
|
50
|
+
container: {
|
|
51
|
+
width: 315,
|
|
52
|
+
height: 315,
|
|
53
|
+
borderWidth: 1,
|
|
54
|
+
borderColor: COLORS.NEUTRAL_4,
|
|
55
|
+
borderRadius: BORDER_RADIUS[300],
|
|
56
|
+
padding: SPACING[400],
|
|
57
|
+
},
|
|
58
|
+
header: {
|
|
59
|
+
flexDirection: 'row',
|
|
60
|
+
alignItems: 'center',
|
|
61
|
+
gap: SPACING[200],
|
|
62
|
+
marginBottom: SPACING[300],
|
|
63
|
+
},
|
|
64
|
+
iconBox: {
|
|
65
|
+
width: 24,
|
|
66
|
+
height: 24,
|
|
67
|
+
borderRadius: 6,
|
|
68
|
+
alignItems: 'center',
|
|
69
|
+
justifyContent: 'center',
|
|
70
|
+
},
|
|
71
|
+
symbol: {
|
|
72
|
+
fontFamily: FONT_FAMILY.buenosAiresBold,
|
|
73
|
+
fontSize: 20,
|
|
74
|
+
marginBottom: 2,
|
|
75
|
+
},
|
|
76
|
+
title: {
|
|
77
|
+
fontFamily: FONT_FAMILY.buenosAiresSemiBold,
|
|
78
|
+
fontWeight: '700',
|
|
79
|
+
fontSize: 15,
|
|
80
|
+
color: COLORS.NEUTRAL_10,
|
|
81
|
+
},
|
|
82
|
+
spacer: {
|
|
83
|
+
flex: 1,
|
|
84
|
+
},
|
|
85
|
+
factsLabel: {
|
|
86
|
+
fontFamily: FONT_FAMILY.buenosAiresSemiBold,
|
|
87
|
+
fontSize: 13,
|
|
88
|
+
fontWeight: '600',
|
|
89
|
+
color: COLORS.NEUTRAL_7,
|
|
90
|
+
},
|
|
91
|
+
content: {
|
|
92
|
+
flex: 1,
|
|
93
|
+
},
|
|
94
|
+
loader: {
|
|
95
|
+
flex: 1,
|
|
96
|
+
justifyContent: 'center',
|
|
97
|
+
alignItems: 'center',
|
|
98
|
+
},
|
|
99
|
+
})
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, Text, View } from 'react-native'
|
|
3
|
+
import { COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
|
|
4
|
+
|
|
5
|
+
export type DrawerOperatorStatCardProps = {
|
|
6
|
+
title: string
|
|
7
|
+
value: number | string
|
|
8
|
+
symbol: string
|
|
9
|
+
color: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const DrawerOperatorStatCard = ({
|
|
13
|
+
title,
|
|
14
|
+
value,
|
|
15
|
+
symbol,
|
|
16
|
+
color,
|
|
17
|
+
}: DrawerOperatorStatCardProps) => (
|
|
18
|
+
<View style={styles.container}>
|
|
19
|
+
<View style={[styles.iconContainer, { backgroundColor: color + '26' }]}>
|
|
20
|
+
<Text style={[styles.symbol, { color }]}>{symbol}</Text>
|
|
21
|
+
</View>
|
|
22
|
+
<View>
|
|
23
|
+
<Text style={styles.title}>{title}</Text>
|
|
24
|
+
<Text style={styles.value}>{value}%</Text>
|
|
25
|
+
</View>
|
|
26
|
+
</View>
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
container: {
|
|
31
|
+
flex: 1,
|
|
32
|
+
flexDirection: 'row',
|
|
33
|
+
alignItems: 'center',
|
|
34
|
+
gap: SPACING[300],
|
|
35
|
+
padding: SPACING[300],
|
|
36
|
+
borderRadius: SPACING[300],
|
|
37
|
+
borderWidth: 1,
|
|
38
|
+
borderColor: COLORS.NEUTRAL_4,
|
|
39
|
+
backgroundColor: COLORS.NEUTRAL_2,
|
|
40
|
+
},
|
|
41
|
+
iconContainer: {
|
|
42
|
+
width: 32,
|
|
43
|
+
height: 32,
|
|
44
|
+
borderRadius: SPACING[200],
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
justifyContent: 'center',
|
|
47
|
+
},
|
|
48
|
+
symbol: {
|
|
49
|
+
fontFamily: FONT_FAMILY.buenosAiresBold,
|
|
50
|
+
fontSize: 28,
|
|
51
|
+
marginBottom: 2,
|
|
52
|
+
},
|
|
53
|
+
title: {
|
|
54
|
+
fontFamily: FONT_FAMILY.buenosAires,
|
|
55
|
+
fontWeight: '400',
|
|
56
|
+
fontSize: 12,
|
|
57
|
+
color: COLORS.NEUTRAL_7,
|
|
58
|
+
},
|
|
59
|
+
value: {
|
|
60
|
+
fontFamily: FONT_FAMILY.buenosAiresBold,
|
|
61
|
+
fontWeight: '700',
|
|
62
|
+
fontSize: 18,
|
|
63
|
+
color: COLORS.NEUTRAL_10,
|
|
64
|
+
},
|
|
65
|
+
})
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { StyleSheet, View } from 'react-native'
|
|
3
|
+
import { COLORS, SPACING } from '@magmamath/react-native-ui'
|
|
4
|
+
import { DrawerOperatorStatCard } from './DrawerOperatorStatCard'
|
|
5
|
+
import type { StudentOperatorScores } from '../../fluencyTeacher.types'
|
|
6
|
+
import { FluencyMathOperatorSymbol } from '../../fluencyTeacher.types'
|
|
7
|
+
|
|
8
|
+
type DrawerStatsProps = {
|
|
9
|
+
scores: StudentOperatorScores
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const DrawerStats = ({ scores }: DrawerStatsProps) => (
|
|
13
|
+
<View style={styles.container}>
|
|
14
|
+
<DrawerOperatorStatCard
|
|
15
|
+
title="Addition"
|
|
16
|
+
symbol={FluencyMathOperatorSymbol.ADDITION}
|
|
17
|
+
color={COLORS.PRIMARY_GREEN}
|
|
18
|
+
value={scores.addition}
|
|
19
|
+
/>
|
|
20
|
+
<DrawerOperatorStatCard
|
|
21
|
+
title="Subtraction"
|
|
22
|
+
symbol={FluencyMathOperatorSymbol.SUBTRACTION}
|
|
23
|
+
color={COLORS.PRIMARY_ORANGE}
|
|
24
|
+
value={scores.subtraction}
|
|
25
|
+
/>
|
|
26
|
+
<DrawerOperatorStatCard
|
|
27
|
+
title="Multiplication"
|
|
28
|
+
symbol={FluencyMathOperatorSymbol.MULTIPLICATION}
|
|
29
|
+
color={COLORS.PRIMARY_BLUE}
|
|
30
|
+
value={scores.multiplication}
|
|
31
|
+
/>
|
|
32
|
+
<DrawerOperatorStatCard
|
|
33
|
+
title="Division"
|
|
34
|
+
symbol={FluencyMathOperatorSymbol.DIVISION}
|
|
35
|
+
color={COLORS.PRIMARY_PURPLE}
|
|
36
|
+
value={scores.division}
|
|
37
|
+
/>
|
|
38
|
+
</View>
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
const styles = StyleSheet.create({
|
|
42
|
+
container: {
|
|
43
|
+
flexDirection: 'row',
|
|
44
|
+
gap: SPACING[300],
|
|
45
|
+
paddingBottom: SPACING[300],
|
|
46
|
+
},
|
|
47
|
+
})
|