@magmamath/students-features 1.3.26-rc.4 → 1.3.26-rc.6
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/assets/FlameIcon.js +30 -0
- package/dist/commonjs/features/fluency/assets/FlameIcon.js.map +1 -0
- package/dist/commonjs/features/fluency/assets/{SpringIcon.js → FlashIcon.js} +15 -14
- package/dist/commonjs/features/fluency/assets/FlashIcon.js.map +1 -0
- package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js +231 -0
- package/dist/commonjs/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
- package/dist/commonjs/features/fluency/assets/StarFillIcon.js +5 -3
- package/dist/commonjs/features/fluency/assets/StarFillIcon.js.map +1 -1
- package/dist/commonjs/features/fluency/assets/TrophyBg.js +41 -0
- package/dist/commonjs/features/fluency/assets/TrophyBg.js.map +1 -0
- package/dist/commonjs/features/fluency/components/Fluency.js +2 -2
- package/dist/commonjs/features/fluency/components/Fluency.js.map +1 -1
- package/dist/commonjs/features/fluency/components/FluencySolving.js +15 -10
- package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js +4 -4
- package/dist/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +54 -14
- package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +8 -2
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js +2 -2
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +4 -33
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +13 -6
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +5 -3
- package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js +42 -14
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.js +4 -0
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js +56 -0
- package/dist/commonjs/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js +45 -29
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js +10 -4
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js +7 -1
- package/dist/commonjs/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js +1 -57
- package/dist/commonjs/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js +13 -5
- package/dist/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js +144 -130
- package/dist/commonjs/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js +40 -62
- package/dist/commonjs/features/fluency/components/session-results/SessionStatCard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
- package/dist/commonjs/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js +1 -0
- package/dist/commonjs/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js +36 -9
- package/dist/commonjs/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.constants.js +16 -6
- package/dist/commonjs/features/fluency/fluency.constants.js.map +1 -1
- package/dist/commonjs/features/fluency/fluency.helpers.js +9 -8
- package/dist/commonjs/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js +59 -73
- package/dist/commonjs/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js +57 -0
- package/dist/commonjs/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
- package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js +26 -0
- package/dist/commonjs/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js +0 -1
- package/dist/commonjs/features/fluency/model/FluencyMatrixModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js +31 -1
- package/dist/commonjs/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js +129 -46
- package/dist/commonjs/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/module/features/fluency/assets/FlameIcon.js +22 -0
- package/dist/module/features/fluency/assets/FlameIcon.js.map +1 -0
- package/dist/module/features/fluency/assets/FlashIcon.js +22 -0
- package/dist/module/features/fluency/assets/FlashIcon.js.map +1 -0
- package/dist/module/features/fluency/assets/SnurrisnurrBg.js +224 -0
- package/dist/module/features/fluency/assets/SnurrisnurrBg.js.map +1 -0
- package/dist/module/features/fluency/assets/StarFillIcon.js +5 -3
- package/dist/module/features/fluency/assets/StarFillIcon.js.map +1 -1
- package/dist/module/features/fluency/assets/TrophyBg.js +33 -0
- package/dist/module/features/fluency/assets/TrophyBg.js.map +1 -0
- package/dist/module/features/fluency/components/Fluency.js +2 -2
- package/dist/module/features/fluency/components/Fluency.js.map +1 -1
- package/dist/module/features/fluency/components/FluencySolving.js +14 -10
- package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js +4 -4
- package/dist/module/features/fluency/components/day-streak-counter/DayStreakCounter.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +53 -14
- package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +8 -2
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js +2 -2
- package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js +3 -31
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +14 -7
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +5 -3
- package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js +38 -14
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.helpers.js.map +1 -1
- package/dist/module/features/fluency/components/fluency-solving/fluencySolving.types.js +2 -0
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js +50 -0
- package/dist/module/features/fluency/components/matrix/components/CellTooltip.js.map +1 -0
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js +45 -30
- package/dist/module/features/fluency/components/matrix/components/MatrixCell.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js +10 -4
- package/dist/module/features/fluency/components/matrix/components/MatrixFill.js.map +1 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js +7 -1
- package/dist/module/features/fluency/components/matrix/components/MatrixLegend.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js +1 -57
- package/dist/module/features/fluency/components/select-math-operator/ProgressBar.js.map +1 -1
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js +14 -6
- package/dist/module/features/fluency/components/select-math-operator/SelectMathOperator.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js +145 -132
- package/dist/module/features/fluency/components/session-results/FluencySessionResults.js.map +1 -1
- package/dist/module/features/fluency/components/session-results/SessionStatCard.js +42 -64
- package/dist/module/features/fluency/components/session-results/SessionStatCard.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js +29 -29
- package/dist/module/features/fluency/components/start-banner/BannerFlashcards.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/MathFlashcard.js +2 -1
- package/dist/module/features/fluency/components/start-banner/MathFlashcard.js.map +1 -1
- package/dist/module/features/fluency/components/start-banner/StartBanner.js +38 -11
- package/dist/module/features/fluency/components/start-banner/StartBanner.js.map +1 -1
- package/dist/module/features/fluency/fluency.constants.js +15 -6
- package/dist/module/features/fluency/fluency.constants.js.map +1 -1
- package/dist/module/features/fluency/fluency.helpers.js +9 -8
- package/dist/module/features/fluency/fluency.helpers.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyModePreset.js +1 -1
- package/dist/module/features/fluency/hooks/useFluencyModePreset.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js +61 -74
- package/dist/module/features/fluency/hooks/useFluencyNumpad.js.map +1 -1
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js +52 -0
- package/dist/module/features/fluency/hooks/useFluencySolvingPreset.js.map +1 -0
- package/dist/module/features/fluency/hooks/usePreventWebKeys.js +21 -0
- package/dist/module/features/fluency/hooks/usePreventWebKeys.js.map +1 -0
- package/dist/module/features/fluency/model/FluencyMatrixModel.js +0 -1
- package/dist/module/features/fluency/model/FluencyMatrixModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencyModel.js +32 -2
- package/dist/module/features/fluency/model/FluencyModel.js.map +1 -1
- package/dist/module/features/fluency/model/FluencySolvingModel.js +131 -48
- package/dist/module/features/fluency/model/FluencySolvingModel.js.map +1 -1
- package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/assets/FlameIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts +4 -0
- package/dist/typescript/commonjs/features/fluency/assets/FlashIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts +5 -1
- package/dist/typescript/commonjs/features/fluency/assets/StarFillIcon.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts +3 -0
- package/dist/typescript/commonjs/features/fluency/assets/TrophyBg.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts +3 -2
- package/dist/typescript/commonjs/features/fluency/components/Fluency.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/FluencySolving.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts +4 -2
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +2 -2
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +3 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +11 -1
- package/dist/typescript/commonjs/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts +4 -2
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts +3 -5
- package/dist/typescript/commonjs/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts +5 -4
- package/dist/typescript/commonjs/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts +2 -5
- package/dist/typescript/commonjs/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts +21 -12
- package/dist/typescript/commonjs/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts +1 -5
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts +14 -14
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts +22 -0
- package/dist/typescript/commonjs/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
- package/dist/typescript/commonjs/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts +0 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts +2 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencyModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts +18 -12
- package/dist/typescript/commonjs/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency/assets/FlameIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts +4 -0
- package/dist/typescript/module/features/fluency/assets/FlashIcon.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts +3 -0
- package/dist/typescript/module/features/fluency/assets/SnurrisnurrBg.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts +5 -1
- package/dist/typescript/module/features/fluency/assets/StarFillIcon.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts +3 -0
- package/dist/typescript/module/features/fluency/assets/TrophyBg.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts +3 -2
- package/dist/typescript/module/features/fluency/components/Fluency.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/FluencySolving.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/day-streak-counter/DayStreakCounter.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts +4 -2
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts +2 -2
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts +3 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts +11 -1
- package/dist/typescript/module/features/fluency/components/fluency-solving/fluencySolving.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts +7 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/CellTooltip.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts +4 -2
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixCell.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixFill.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/matrix/components/MatrixLegend.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/select-math-operator/ProgressBar.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/select-math-operator/SelectMathOperator.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts +3 -5
- package/dist/typescript/module/features/fluency/components/session-results/FluencySessionResults.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts +5 -4
- package/dist/typescript/module/features/fluency/components/session-results/SessionStatCard.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/components/start-banner/StartBanner.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts +9 -0
- package/dist/typescript/module/features/fluency/fluency.constants.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts +2 -5
- package/dist/typescript/module/features/fluency/fluency.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/fluency.types.d.ts +21 -12
- package/dist/typescript/module/features/fluency/fluency.types.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts +1 -5
- package/dist/typescript/module/features/fluency/hooks/useFluencyModePreset.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts +14 -14
- package/dist/typescript/module/features/fluency/hooks/useFluencyNumpad.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts +22 -0
- package/dist/typescript/module/features/fluency/hooks/useFluencySolvingPreset.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts +9 -0
- package/dist/typescript/module/features/fluency/hooks/usePreventWebKeys.d.ts.map +1 -0
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts +0 -1
- package/dist/typescript/module/features/fluency/model/FluencyMatrixModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts +2 -1
- package/dist/typescript/module/features/fluency/model/FluencyModel.d.ts.map +1 -1
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts +18 -12
- package/dist/typescript/module/features/fluency/model/FluencySolvingModel.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/features/fluency/assets/FlameIcon.tsx +14 -0
- package/src/features/fluency/assets/FlashIcon.tsx +14 -0
- package/src/features/fluency/assets/SnurrisnurrBg.tsx +193 -0
- package/src/features/fluency/assets/StarFillIcon.tsx +7 -3
- package/src/features/fluency/assets/TrophyBg.tsx +32 -0
- package/src/features/fluency/components/Fluency.tsx +4 -3
- package/src/features/fluency/components/FluencySolving.tsx +15 -9
- package/src/features/fluency/components/day-streak-counter/DayStreakCounter.tsx +6 -6
- package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +51 -13
- package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +12 -2
- package/src/features/fluency/components/fluency-solving/components/FluencyNumpad.tsx +3 -3
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx +3 -36
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +13 -4
- package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +8 -4
- package/src/features/fluency/components/fluency-solving/fluencySolving.helpers.ts +40 -16
- package/src/features/fluency/components/fluency-solving/fluencySolving.types.ts +12 -1
- package/src/features/fluency/components/matrix/components/CellTooltip.tsx +46 -0
- package/src/features/fluency/components/matrix/components/MatrixCell.tsx +47 -28
- package/src/features/fluency/components/matrix/components/MatrixFill.tsx +16 -3
- package/src/features/fluency/components/matrix/components/MatrixLegend.tsx +7 -2
- package/src/features/fluency/components/select-math-operator/ProgressBar.tsx +1 -66
- package/src/features/fluency/components/select-math-operator/SelectMathOperator.tsx +25 -5
- package/src/features/fluency/components/session-results/FluencySessionResults.tsx +127 -147
- package/src/features/fluency/components/session-results/SessionStatCard.tsx +35 -77
- package/src/features/fluency/components/start-banner/BannerFlashcards.tsx +15 -15
- package/src/features/fluency/components/start-banner/MathFlashcard.tsx +2 -1
- package/src/features/fluency/components/start-banner/StartBanner.tsx +38 -10
- package/src/features/fluency/fluency.constants.ts +15 -6
- package/src/features/fluency/fluency.helpers.ts +11 -10
- package/src/features/fluency/fluency.types.ts +28 -7
- package/src/features/fluency/hooks/useFluencyModePreset.ts +2 -3
- package/src/features/fluency/hooks/useFluencyNumpad.tsx +61 -80
- package/src/features/fluency/hooks/useFluencySolvingPreset.ts +49 -0
- package/src/features/fluency/hooks/usePreventWebKeys.ts +24 -0
- package/src/features/fluency/model/FluencyMatrixModel.ts +1 -1
- package/src/features/fluency/model/FluencyModel.ts +35 -3
- package/src/features/fluency/model/FluencySolvingModel.ts +170 -57
- package/dist/commonjs/features/fluency/assets/SpringIcon.js.map +0 -1
- package/dist/module/features/fluency/assets/SpringIcon.js +0 -22
- package/dist/module/features/fluency/assets/SpringIcon.js.map +0 -1
- package/dist/typescript/commonjs/features/fluency/assets/SpringIcon.d.ts +0 -3
- package/dist/typescript/commonjs/features/fluency/assets/SpringIcon.d.ts.map +0 -1
- package/dist/typescript/module/features/fluency/assets/SpringIcon.d.ts +0 -3
- package/dist/typescript/module/features/fluency/assets/SpringIcon.d.ts.map +0 -1
- package/src/features/fluency/assets/SpringIcon.tsx +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Svg","Defs","G","LinearGradient","Path","Stop","jsx","_jsx","jsxs","_jsxs","SnurrisnurrBg","width","height","viewBox","fill","children","opacity","d","id","x1","y1","x2","y2","gradientUnits","stopColor","offset","stopOpacity"],"sourceRoot":"../../../../../src","sources":["features/fluency/assets/SnurrisnurrBg.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import Svg, { Path } from 'react-native-svg';
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
export const StarFillIcon = (
|
|
6
|
+
export const StarFillIcon = ({
|
|
7
|
+
color
|
|
8
|
+
}) => {
|
|
7
9
|
return /*#__PURE__*/_jsx(Svg, {
|
|
8
10
|
width: 10,
|
|
9
11
|
height: 11,
|
|
@@ -13,8 +15,8 @@ export const StarFillIcon = () => {
|
|
|
13
15
|
fillRule: "evenodd",
|
|
14
16
|
clipRule: "evenodd",
|
|
15
17
|
d: "M5.767.432a.89.89 0 00-1.526 0L2.925 2.625l-2.25.563A.89.89 0 00.26 4.68l1.664 1.664-.553 2.626a.89.89 0 001.287.97l2.34-1.24 1.55.862.824.412a.89.89 0 001.269-.98l-.559-2.65L9.747 4.68a.89.89 0 00-.413-1.492l-2.251-.563L5.767.432z",
|
|
16
|
-
fill:
|
|
17
|
-
fillOpacity: 0.25
|
|
18
|
+
fill: color ?? '#33334D',
|
|
19
|
+
fillOpacity: color ? 1 : 0.25
|
|
18
20
|
})
|
|
19
21
|
});
|
|
20
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Svg","Path","jsx","_jsx","StarFillIcon","width","height","viewBox","fill","children","fillRule","clipRule","d","fillOpacity"],"sourceRoot":"../../../../../src","sources":["features/fluency/assets/StarFillIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","Svg","Path","jsx","_jsx","StarFillIcon","color","width","height","viewBox","fill","children","fillRule","clipRule","d","fillOpacity"],"sourceRoot":"../../../../../src","sources":["features/fluency/assets/StarFillIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAM5C,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAAEC;AAAyB,CAAC,KAAK;EAC5D,oBACEF,IAAA,CAACH,GAAG;IAACM,KAAK,EAAE,EAAG;IAACC,MAAM,EAAE,EAAG;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eACzDP,IAAA,CAACF,IAAI;MACHU,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,yOAAyO;MAC3OJ,IAAI,EAAEJ,KAAK,IAAI,SAAU;MACzBS,WAAW,EAAET,KAAK,GAAG,CAAC,GAAG;IAAK,CAC/B;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import Svg, { Path } from 'react-native-svg';
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
export const TrophyBg = () => {
|
|
7
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
8
|
+
width: 465,
|
|
9
|
+
height: 342,
|
|
10
|
+
viewBox: "0 0 465 342",
|
|
11
|
+
fill: "none",
|
|
12
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
13
|
+
d: "M257.477 243.501l-5.73 32.767 16.383 2.86c8.048 1.408 15.796 2.106 23.223 2.106 15.696.011 29.984-3.137 42.765-9.389 6.729-3.292 13.025-7.438 18.9-12.448 44.672-38.121 50.248-115.859 49.605-158.813-.288-18.468-9.467-35.849-24.575-46.49-9.356-6.607-20.23-10.21-31.348-10.575a58.006 58.006 0 00-17.936 2.206c-14.355 4.09-26.359 13.379-33.875 25.994L262.51 57.386l-13.457 30.417 39.163 17.325c6.274 2.772 13.246 2.916 19.631.388 6.374-2.516 11.373-7.382 14.056-13.7a24.557 24.557 0 0115.973-14.112c2.993-.853 6.052-1.13 9.056-.853a24.576 24.576 0 0111.961 4.423c6.44 4.534 10.353 11.95 10.475 19.82 1.164 76.84-18.822 112.223-32.024 127.143-2.195 2.494-4.212 4.412-5.908 5.864-14.632 12.471-33.465 16.483-57.586 12.271l-16.373-2.871zM36.646 281.238c7.429 0 15.173-.702 23.223-2.11l16.379-2.865-5.73-32.757-16.378 2.865c-24.126 4.221-42.953.203-57.575-12.273-11.858-10.12-39.294-43.337-37.935-133.007.118-7.871 4.035-15.28 10.475-19.82A24.601 24.601 0 01-9.88 77.703 24.606 24.606 0 016.098 91.814c2.683 6.319 7.675 11.186 14.058 13.709 6.384 2.522 13.355 2.38 19.63-.396l39.152-17.329-13.46-30.409-32.37 14.327C25.594 59.106 13.593 49.814-.764 45.721c-16.936-4.827-34.901-1.777-49.293 8.37-15.102 10.646-24.285 28.029-24.565 46.497-.652 42.947 4.926 120.687 49.6 158.806 17.036 14.535 37.71 21.844 61.668 21.844z",
|
|
14
|
+
fill: "#FFD690"
|
|
15
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
16
|
+
opacity: 0.1,
|
|
17
|
+
d: "M334.118 271.846c6.729-3.292 13.025-7.438 18.9-12.448 44.672-38.121 50.248-115.86 49.605-158.814-.288-18.467-9.467-35.848-24.575-46.49-9.356-6.606-20.23-10.209-31.348-10.575 3.325 3.692 14.299 18.058.232 33.333a24.575 24.575 0 0111.961 4.423c6.44 4.533 10.353 11.95 10.475 19.819 1.164 76.841-18.822 112.224-32.024 127.144 0 0 21.66 24.498-3.226 43.608z",
|
|
18
|
+
fill: "#D25B00"
|
|
19
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
20
|
+
d: "M25.176 201.871l20.496-176.73a11.505 11.505 0 0111.429-10.18h213.797a11.505 11.505 0 0111.429 10.18l20.494 176.73c4.463 38.483-10.944 76.387-39.056 96.086l-8.178 5.731c-15.467 10.837-32.136 18.806-49.435 23.744-11.86 3.385-19.699 16.815-18.042 31.208l5.699 49.527H134.19l5.7-49.527c1.656-14.393-6.182-27.824-18.043-31.208-17.299-4.938-33.967-12.905-49.434-23.744l-8.178-5.731c-28.115-19.699-43.522-57.604-39.059-96.086z",
|
|
21
|
+
fill: "#FFD690"
|
|
22
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
23
|
+
opacity: 0.1,
|
|
24
|
+
d: "M168.054 358.634l1.751 36.867h22.547l-4.246-36.867c-1.652-14.388 6.185-27.823 18.046-31.204 17.293-4.933 33.964-12.903 49.428-23.744l8.18-5.731c28.112-19.698 43.52-57.597 39.063-96.084L282.322 25.136a11.505 11.505 0 00-11.429-10.179h-50.531l12.193 186.913c2.506 38.487-6.152 76.386-21.959 96.084l-4.6 5.731c-8.702 10.841-18.068 18.811-27.801 23.744-6.661 3.382-11.073 16.817-10.141 31.205z",
|
|
25
|
+
fill: "#D25B00"
|
|
26
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
27
|
+
opacity: 0.3,
|
|
28
|
+
d: "M72.805 16.15c-1.8.655-4.135 2.152-6.082 4.198-2.015 2.118-2.781 3.928-2.902 4.848-3.966 30.145-7.066 56.336-10.696 87.003-3.112 26.288-9.844 72.334-12.788 92.948-2.944 20.613-2.944 23.442-2.944 35.337 0 22.086 10.365 42.197 10.365 42.197-4.634-5.04-14.078-23.056-15.59-26.678-5.246-12.574-9.598-33.753-7.343-51.81 4.73-37.864 7.789-67.528 10.907-93.863 5.03-41.445 4.878-42.092 8.977-77.441C46.495 17.497 45.79 14.82 58.685 14.82h18.25c-1.45.416-2.835.86-4.13 1.33z",
|
|
29
|
+
fill: "#fff"
|
|
30
|
+
})]
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=TrophyBg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Svg","Path","jsx","_jsx","jsxs","_jsxs","TrophyBg","width","height","viewBox","fill","children","d","opacity"],"sourceRoot":"../../../../../src","sources":["features/fluency/assets/TrophyBg.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE5C,OAAO,MAAMC,QAAQ,GAAGA,CAAA,KAAM;EAC5B,oBACED,KAAA,CAACL,GAAG;IAACO,KAAK,EAAE,GAAI;IAACC,MAAM,EAAE,GAAI;IAACC,OAAO,EAAC,aAAa;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,gBAC7DR,IAAA,CAACF,IAAI;MACHW,CAAC,EAAC,+xCAA+xC;MACjyCF,IAAI,EAAC;IAAS,CACf,CAAC,eACFP,IAAA,CAACF,IAAI;MACHY,OAAO,EAAE,GAAI;MACbD,CAAC,EAAC,mWAAmW;MACrWF,IAAI,EAAC;IAAS,CACf,CAAC,eACFP,IAAA,CAACF,IAAI;MACHW,CAAC,EAAC,qaAAqa;MACvaF,IAAI,EAAC;IAAS,CACf,CAAC,eACFP,IAAA,CAACF,IAAI;MACHY,OAAO,EAAE,GAAI;MACbD,CAAC,EAAC,uYAAuY;MACzYF,IAAI,EAAC;IAAS,CACf,CAAC,eACFP,IAAA,CAACF,IAAI;MACHY,OAAO,EAAE,GAAI;MACbD,CAAC,EAAC,odAAod;MACtdF,IAAI,EAAC;IAAM,CACZ,CAAC;EAAA,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -14,14 +14,14 @@ import { FluencyProvider } from "../context/FluencyContext.js";
|
|
|
14
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
export const Fluency = ({
|
|
16
16
|
model,
|
|
17
|
-
|
|
17
|
+
config,
|
|
18
18
|
onMenuPress,
|
|
19
19
|
onStartPress,
|
|
20
20
|
onPracticePress,
|
|
21
21
|
onModeSelectPress
|
|
22
22
|
}) => {
|
|
23
23
|
useGate(model.gate, {
|
|
24
|
-
|
|
24
|
+
config
|
|
25
25
|
});
|
|
26
26
|
const t = useText();
|
|
27
27
|
return /*#__PURE__*/_jsx(FluencyProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useGate","View","StyleSheet","Typography","HeadingVariants","SPACING","COLORS","useText","StartBanner","DayStreakCounter","SelectMathOperator","FluencyMatrix","MobileMenu","FluencyProvider","jsx","_jsx","jsxs","_jsxs","Fluency","model","
|
|
1
|
+
{"version":3,"names":["React","useGate","View","StyleSheet","Typography","HeadingVariants","SPACING","COLORS","useText","StartBanner","DayStreakCounter","SelectMathOperator","FluencyMatrix","MobileMenu","FluencyProvider","jsx","_jsx","jsxs","_jsxs","Fluency","model","config","onMenuPress","onStartPress","onPracticePress","onModeSelectPress","gate","t","value","children","style","styles","title","onPress","variant","H2","titleText","header","matrix","create","flexDirection","alignItems","color","NEUTRAL_9","height","marginTop","gap","zIndex"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/Fluency.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,UAAU,EAAEC,eAAe,EAAEC,OAAO,EAAEC,MAAM,QAAQ,4BAA4B;AACzF,SAASC,OAAO,QAAQ,uBAAoB;AAC5C,SAASC,WAAW,QAAQ,+BAA4B;AACxD,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,kBAAkB,QAAQ,8CAA2C;AAC9E,SAASC,aAAa,QAAQ,2BAAwB;AACtD,SAASC,UAAU,QAAQ,6BAA0B;AACrD,SAASC,eAAe,QAAQ,8BAA2B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAc3D,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,MAAM;EACNC,WAAW;EACXC,YAAY;EACZC,eAAe;EACfC;AACY,CAAC,KAAK;EAClBxB,OAAO,CAACmB,KAAK,CAACM,IAAI,EAAE;IAAEL;EAAO,CAAC,CAAC;EAC/B,MAAMM,CAAC,GAAGnB,OAAO,CAAC,CAAC;EAEnB,oBACEQ,IAAA,CAACF,eAAe;IAACc,KAAK,EAAE;MAAER,KAAK;MAAEG,YAAY;MAAEC,eAAe;MAAEC;IAAkB,CAAE;IAAAI,QAAA,eAClFX,KAAA,CAAChB,IAAI;MAAA2B,QAAA,gBACHX,KAAA,CAAChB,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACC,KAAM;QAAAH,QAAA,gBACxBb,IAAA,CAACH,UAAU;UAACoB,OAAO,EAAEX;QAAY,CAAE,CAAC,eACpCN,IAAA,CAACZ,UAAU;UAAC8B,OAAO,EAAE7B,eAAe,CAAC8B,EAAG;UAACL,KAAK,EAAEC,MAAM,CAACK,SAAU;UAAAP,QAAA,EAC9DF,CAAC,CAAC,uBAAuB;QAAC,CACjB,CAAC;MAAA,CACT,CAAC,eAEPT,KAAA,CAAChB,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACM,MAAO;QAAAR,QAAA,gBACzBb,IAAA,CAACP,WAAW,IAAE,CAAC,eACfO,IAAA,CAACN,gBAAgB,IAAE,CAAC;MAAA,CAChB,CAAC,eAEPQ,KAAA,CAAChB,IAAI;QAAC4B,KAAK,EAAEC,MAAM,CAACO,MAAO;QAAAT,QAAA,gBACzBb,IAAA,CAACL,kBAAkB,IAAE,CAAC,eACtBK,IAAA,CAACJ,aAAa,IAAE,CAAC;MAAA,CACb,CAAC;IAAA,CACH;EAAC,CACQ,CAAC;AAEtB,CAAC;AAED,MAAMmB,MAAM,GAAG5B,UAAU,CAACoC,MAAM,CAAC;EAC/BP,KAAK,EAAE;IACLQ,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDL,SAAS,EAAE;IAAEM,KAAK,EAAEnC,MAAM,CAACoC;EAAU,CAAC;EACtCN,MAAM,EAAE;IACNO,MAAM,EAAE,GAAG;IACXJ,aAAa,EAAE,KAAK;IACpBK,SAAS,EAAEvC,OAAO,CAAC,GAAG,CAAC;IACvBwC,GAAG,EAAExC,OAAO,CAAC,GAAG,CAAC;IACjByC,MAAM,EAAE;EACV,CAAC;EACDT,MAAM,EAAE;IACNE,aAAa,EAAE,KAAK;IACpBK,SAAS,EAAEvC,OAAO,CAAC,GAAG,CAAC;IACvBwC,GAAG,EAAExC,OAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { View, StyleSheet } from 'react-native';
|
|
3
|
+
import React, { useEffect } from 'react';
|
|
4
|
+
import { View, StyleSheet, Platform } from 'react-native';
|
|
5
5
|
import { COLORS } from '@magmamath/react-native-ui';
|
|
6
6
|
import { useUnit } from 'effector-react';
|
|
7
7
|
import { SESSION_LENGTH } from "../fluency.constants.js";
|
|
@@ -18,14 +18,19 @@ export const FluencySolving = ({
|
|
|
18
18
|
}) => {
|
|
19
19
|
const {
|
|
20
20
|
outcomes,
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
isSessionComplete,
|
|
22
|
+
config
|
|
23
23
|
} = useUnit({
|
|
24
24
|
outcomes: model.solving.$outcomes,
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
isSessionComplete: model.solving.$isSessionComplete,
|
|
26
|
+
config: model.$config
|
|
27
27
|
});
|
|
28
|
-
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (Platform.OS !== 'web' || isSessionComplete) return;
|
|
30
|
+
const handleBeforeUnload = event => event.preventDefault();
|
|
31
|
+
window.addEventListener('beforeunload', handleBeforeUnload);
|
|
32
|
+
return () => window.removeEventListener('beforeunload', handleBeforeUnload);
|
|
33
|
+
}, []);
|
|
29
34
|
return /*#__PURE__*/_jsxs(FluencyProvider, {
|
|
30
35
|
value: {
|
|
31
36
|
model
|
|
@@ -40,9 +45,8 @@ export const FluencySolving = ({
|
|
|
40
45
|
outcomes: outcomes
|
|
41
46
|
}), /*#__PURE__*/_jsx(FluencySolvingCard, {})]
|
|
42
47
|
}), isSessionComplete && /*#__PURE__*/_jsx(FluencySessionResults, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
facts: facts,
|
|
48
|
+
studentName: config?.name ?? '',
|
|
49
|
+
onClosePress: onClosePress,
|
|
46
50
|
onEndModalPress: onEndModalPress
|
|
47
51
|
})]
|
|
48
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","COLORS","useUnit","SESSION_LENGTH","FluencyProvider","FluencySolvingHeader","FluencySolvingProgress","FluencySolvingCard","FluencySessionResults","jsx","_jsx","jsxs","_jsxs","FluencySolving","model","onClosePress","onEndModalPress","outcomes","
|
|
1
|
+
{"version":3,"names":["React","useEffect","View","StyleSheet","Platform","COLORS","useUnit","SESSION_LENGTH","FluencyProvider","FluencySolvingHeader","FluencySolvingProgress","FluencySolvingCard","FluencySessionResults","jsx","_jsx","jsxs","_jsxs","FluencySolving","model","onClosePress","onEndModalPress","outcomes","isSessionComplete","config","solving","$outcomes","$isSessionComplete","$config","OS","handleBeforeUnload","event","preventDefault","window","addEventListener","removeEventListener","value","children","style","styles","container","total","activeIndex","length","studentName","name","create","flex","backgroundColor","NEUTRAL_1"],"sourceRoot":"../../../../../src","sources":["features/fluency/components/FluencySolving.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACzD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,OAAO,QAAQ,gBAAgB;AAExC,SAASC,cAAc,QAAQ,yBAAsB;AACrD,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SAASC,oBAAoB,QAAQ,sDAAmD;AACxF,SAASC,sBAAsB,QAAQ,wDAAqD;AAC5F,SAASC,kBAAkB,QAAQ,oDAAiD;AACpF,SAASC,qBAAqB,QAAQ,4CAAyC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ/E,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAqC,CAAC,KAAK;EAC/F,MAAM;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC;EAAO,CAAC,GAAGjB,OAAO,CAAC;IACtDe,QAAQ,EAAEH,KAAK,CAACM,OAAO,CAACC,SAAS;IACjCH,iBAAiB,EAAEJ,KAAK,CAACM,OAAO,CAACE,kBAAkB;IACnDH,MAAM,EAAEL,KAAK,CAACS;EAChB,CAAC,CAAC;EAEF1B,SAAS,CAAC,MAAM;IACd,IAAIG,QAAQ,CAACwB,EAAE,KAAK,KAAK,IAAIN,iBAAiB,EAAE;IAEhD,MAAMO,kBAAkB,GAAIC,KAAwB,IAAKA,KAAK,CAACC,cAAc,CAAC,CAAC;IAE/EC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,kBAAkB,CAAC;IAC3D,OAAO,MAAMG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,kBAAkB,CAAC;EAC7E,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEb,KAAA,CAACR,eAAe;IAAC2B,KAAK,EAAE;MAAEjB;IAAM,CAAE;IAAAkB,QAAA,gBAChCpB,KAAA,CAACd,IAAI;MAACmC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,gBAC5BtB,IAAA,CAACL,oBAAoB;QAACU,YAAY,EAAEA;MAAa,CAAE,CAAC,eACpDL,IAAA,CAACJ,sBAAsB;QACrB8B,KAAK,EAAEjC,cAAe;QACtBkC,WAAW,EAAEpB,QAAQ,CAACqB,MAAO;QAC7BrB,QAAQ,EAAEA;MAAS,CACpB,CAAC,eACFP,IAAA,CAACH,kBAAkB,IAAE,CAAC;IAAA,CAClB,CAAC,EAENW,iBAAiB,iBAChBR,IAAA,CAACF,qBAAqB;MACpB+B,WAAW,EAAEpB,MAAM,EAAEqB,IAAI,IAAI,EAAG;MAChCzB,YAAY,EAAEA,YAAa;MAC3BC,eAAe,EAAEA;IAAgB,CAClC,CACF;EAAA,CACc,CAAC;AAEtB,CAAC;AAED,MAAMkB,MAAM,GAAGnC,UAAU,CAAC0C,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE1C,MAAM,CAAC2C;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -13,9 +13,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
const ONE_DAY_MS = 86_400_000;
|
|
14
14
|
const DAY_LABEL_KEYS = ['student.fluency.dayMonday', 'student.fluency.dayTuesday', 'student.fluency.dayWednesday', 'student.fluency.dayThursday', 'student.fluency.dayFriday'];
|
|
15
15
|
const generateStreakDates = stats => {
|
|
16
|
-
const todayMs = new Date().
|
|
17
|
-
const startMs = Date
|
|
18
|
-
const practiced = new Set(stats.practicedDates.map(d => new Date(d).
|
|
16
|
+
const todayMs = new Date().setHours(0, 0, 0, 0);
|
|
17
|
+
const startMs = new Date(stats.weekStart).setHours(0, 0, 0, 0);
|
|
18
|
+
const practiced = new Set(stats.practicedDates.map(d => new Date(d).setHours(0, 0, 0, 0)));
|
|
19
19
|
return [0, 1, 2, 3, 4].map(i => {
|
|
20
20
|
const dayMs = startMs + i * ONE_DAY_MS;
|
|
21
21
|
if (practiced.has(dayMs)) return StreakStatus.GAINED;
|
|
@@ -47,8 +47,8 @@ export const DayStreakCounter = () => {
|
|
|
47
47
|
};
|
|
48
48
|
const styles = StyleSheet.create({
|
|
49
49
|
container: {
|
|
50
|
-
height: '100%',
|
|
51
50
|
width: 230,
|
|
51
|
+
height: 110,
|
|
52
52
|
paddingVertical: SPACING[200],
|
|
53
53
|
paddingHorizontal: SPACING[400],
|
|
54
54
|
borderRadius: BORDER_RADIUS[300],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","COLORS","SHADOWS","SPACING","Typography","StreakDay","useFluencyModePreset","useText","useFluency","useStoreMap","StreakStatus","jsx","_jsx","jsxs","_jsxs","ONE_DAY_MS","DAY_LABEL_KEYS","generateStreakDates","stats","todayMs","Date","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","BORDER_RADIUS","COLORS","SHADOWS","SPACING","Typography","StreakDay","useFluencyModePreset","useText","useFluency","useStoreMap","StreakStatus","jsx","_jsx","jsxs","_jsxs","ONE_DAY_MS","DAY_LABEL_KEYS","generateStreakDates","stats","todayMs","Date","setHours","startMs","weekStart","practiced","Set","practicedDates","map","d","i","dayMs","has","GAINED","TODAY","MISSED","DayStreakCounter","t","model","modePreset","statuses","streak","$stats","style","styles","container","children","label","streakDays","key","status","streakColor","colors","create","width","height","paddingVertical","paddingHorizontal","borderRadius","backgroundColor","NEUTRAL_1","fontSize","fontWeight","color","NEUTRAL_8","flexDirection","marginTop","gap"],"sourceRoot":"../../../../../../src","sources":["features/fluency/components/day-streak-counter/DayStreakCounter.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { View, StyleSheet } from 'react-native';
|
|
3
|
+
import React, { useRef } from 'react';
|
|
4
|
+
import { View, StyleSheet, TextInput, Platform } from 'react-native';
|
|
5
5
|
import { COLORS, FONT_FAMILY, HeadingVariants, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
-
import {
|
|
6
|
+
import { useFluencySolvingPreset } from "../../../hooks/useFluencySolvingPreset.js";
|
|
7
|
+
import { usePreventWebKeys } from "../../../hooks/usePreventWebKeys.js";
|
|
8
|
+
import { MAX_INPUT_LENGTH } from "../../../fluency.constants.js";
|
|
7
9
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
|
+
const CURSOR_MOVE_KEYS = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];
|
|
8
11
|
export const EquationContent = ({
|
|
9
12
|
leftOperand,
|
|
10
13
|
rightOperand,
|
|
11
|
-
|
|
14
|
+
value = '',
|
|
15
|
+
readOnly = false,
|
|
16
|
+
onChange
|
|
12
17
|
}) => {
|
|
13
|
-
const modePreset =
|
|
14
|
-
const
|
|
18
|
+
const modePreset = useFluencySolvingPreset();
|
|
19
|
+
const inputRef = useRef(null);
|
|
20
|
+
usePreventWebKeys({
|
|
21
|
+
ref: inputRef,
|
|
22
|
+
keys: CURSOR_MOVE_KEYS,
|
|
23
|
+
enabled: !readOnly
|
|
24
|
+
});
|
|
15
25
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
16
26
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
17
27
|
variant: HeadingVariants.H9,
|
|
@@ -22,9 +32,11 @@ export const EquationContent = ({
|
|
|
22
32
|
children: [/*#__PURE__*/_jsx(Typography, {
|
|
23
33
|
style: styles.number,
|
|
24
34
|
children: leftOperand
|
|
25
|
-
}), /*#__PURE__*/_jsx(
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
36
|
+
style: [styles.number, {
|
|
37
|
+
color: modePreset.colors.accent
|
|
38
|
+
}],
|
|
39
|
+
children: modePreset.symbol
|
|
28
40
|
}), /*#__PURE__*/_jsx(Typography, {
|
|
29
41
|
style: styles.number,
|
|
30
42
|
children: rightOperand
|
|
@@ -32,12 +44,27 @@ export const EquationContent = ({
|
|
|
32
44
|
style: styles.equals,
|
|
33
45
|
children: "="
|
|
34
46
|
}), /*#__PURE__*/_jsx(View, {
|
|
35
|
-
style: styles.answerBox,
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
style: [styles.answerBox, value.length > 0 && {
|
|
48
|
+
borderBottomColor: modePreset.colors.accent
|
|
49
|
+
}],
|
|
50
|
+
children: !readOnly ? /*#__PURE__*/_jsx(TextInput, {
|
|
51
|
+
ref: inputRef,
|
|
52
|
+
value: value,
|
|
53
|
+
onChangeText: onChange,
|
|
54
|
+
keyboardType: "number-pad",
|
|
55
|
+
maxLength: MAX_INPUT_LENGTH,
|
|
56
|
+
selection: {
|
|
57
|
+
start: value.length,
|
|
58
|
+
end: value.length
|
|
59
|
+
},
|
|
60
|
+
style: [styles.number, styles.answerInput, {
|
|
38
61
|
color: modePreset.colors.accent
|
|
39
62
|
}],
|
|
40
|
-
|
|
63
|
+
autoFocus: true
|
|
64
|
+
}) : /*#__PURE__*/_jsx(Typography, {
|
|
65
|
+
style: [styles.number, styles.answerText, {
|
|
66
|
+
color: modePreset.colors.accent
|
|
67
|
+
}]
|
|
41
68
|
})
|
|
42
69
|
})]
|
|
43
70
|
})]
|
|
@@ -70,7 +97,7 @@ const styles = StyleSheet.create({
|
|
|
70
97
|
fontFamily: FONT_FAMILY.buenosAires
|
|
71
98
|
},
|
|
72
99
|
answerBox: {
|
|
73
|
-
width:
|
|
100
|
+
width: 110,
|
|
74
101
|
height: 44,
|
|
75
102
|
alignItems: 'center',
|
|
76
103
|
borderBottomWidth: 8,
|
|
@@ -78,6 +105,18 @@ const styles = StyleSheet.create({
|
|
|
78
105
|
},
|
|
79
106
|
answerText: {
|
|
80
107
|
position: 'absolute'
|
|
108
|
+
},
|
|
109
|
+
answerInput: {
|
|
110
|
+
position: 'absolute',
|
|
111
|
+
bottom: -SPACING[400],
|
|
112
|
+
textAlign: 'center',
|
|
113
|
+
width: '100%',
|
|
114
|
+
borderWidth: 0,
|
|
115
|
+
backgroundColor: 'transparent',
|
|
116
|
+
...(Platform.OS === 'web' && {
|
|
117
|
+
outlineStyle: 'none',
|
|
118
|
+
caretColor: 'transparent'
|
|
119
|
+
})
|
|
81
120
|
}
|
|
82
121
|
});
|
|
83
122
|
//# sourceMappingURL=EquationContent.js.map
|
package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","COLORS","FONT_FAMILY","HeadingVariants","SPACING","Typography","
|
|
1
|
+
{"version":3,"names":["React","useRef","View","StyleSheet","TextInput","Platform","COLORS","FONT_FAMILY","HeadingVariants","SPACING","Typography","useFluencySolvingPreset","usePreventWebKeys","MAX_INPUT_LENGTH","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CURSOR_MOVE_KEYS","EquationContent","leftOperand","rightOperand","value","readOnly","onChange","modePreset","inputRef","ref","keys","enabled","children","variant","H9","style","styles","cardLabel","equationRow","number","color","colors","accent","symbol","equals","answerBox","length","borderBottomColor","onChangeText","keyboardType","maxLength","selection","start","end","answerInput","autoFocus","answerText","create","fontSize","fontWeight","letterSpacing","marginBottom","NEUTRAL_7","flexDirection","alignItems","gap","marginTop","NEUTRAL_10","fontFamily","buenosAires","width","height","borderBottomWidth","position","bottom","textAlign","borderWidth","backgroundColor","OS","outlineStyle","caretColor"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/EquationContent.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js
CHANGED
|
@@ -23,6 +23,10 @@ export const FluencyEquationCard = ({
|
|
|
23
23
|
});
|
|
24
24
|
const left = fact?.numbers[0] ?? 0;
|
|
25
25
|
const right = fact?.numbers[1] ?? 0;
|
|
26
|
+
const updateAnswer = text => {
|
|
27
|
+
const digits = text.replace(/\D/g, '');
|
|
28
|
+
model.solving.setAnswer(digits || null);
|
|
29
|
+
};
|
|
26
30
|
return /*#__PURE__*/_jsxs(View, {
|
|
27
31
|
style: styles.stack,
|
|
28
32
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
@@ -33,14 +37,16 @@ export const FluencyEquationCard = ({
|
|
|
33
37
|
style: [styles.card, styles.cardNear, animationStyles.near],
|
|
34
38
|
children: /*#__PURE__*/_jsx(EquationContent, {
|
|
35
39
|
leftOperand: left,
|
|
36
|
-
rightOperand: right
|
|
40
|
+
rightOperand: right,
|
|
41
|
+
readOnly: true
|
|
37
42
|
})
|
|
38
43
|
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
39
44
|
style: [styles.card, styles.cardFront, animationStyles.front],
|
|
40
45
|
children: /*#__PURE__*/_jsx(EquationContent, {
|
|
41
46
|
leftOperand: left,
|
|
42
47
|
rightOperand: right,
|
|
43
|
-
|
|
48
|
+
value: answer ?? '',
|
|
49
|
+
onChange: updateAnswer
|
|
44
50
|
})
|
|
45
51
|
})]
|
|
46
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useUnit","View","StyleSheet","Animated","BORDER_RADIUS","COLORS","SHADOWS","EquationContent","useFluency","jsx","_jsx","jsxs","_jsxs","FluencyEquationCard","animationStyles","model","answer","fact","solving","$answer","$current","left","numbers","right","style","styles","stack","children","card","cardFar","far","cardMid","mid","cardNear","near","leftOperand","rightOperand","cardFront","front","
|
|
1
|
+
{"version":3,"names":["React","useUnit","View","StyleSheet","Animated","BORDER_RADIUS","COLORS","SHADOWS","EquationContent","useFluency","jsx","_jsx","jsxs","_jsxs","FluencyEquationCard","animationStyles","model","answer","fact","solving","$answer","$current","left","numbers","right","updateAnswer","text","digits","replace","setAnswer","style","styles","stack","children","card","cardFar","far","cardMid","mid","cardNear","near","leftOperand","rightOperand","readOnly","cardFront","front","value","onChange","create","width","maxWidth","height","borderRadius","backgroundColor","NEUTRAL_1","position","top","opacity","alignItems","justifyContent"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,12 +6,12 @@ import { FONT_FAMILY, SelectGroup, SelectOptionColor, SelectOptionSize, SPACING
|
|
|
6
6
|
import { useFluencyNumpad } from "../../../hooks/useFluencyNumpad.js";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
export const FluencyNumpad = ({
|
|
9
|
-
|
|
9
|
+
onSubmit
|
|
10
10
|
}) => {
|
|
11
11
|
const {
|
|
12
12
|
options
|
|
13
13
|
} = useFluencyNumpad({
|
|
14
|
-
|
|
14
|
+
onSubmit
|
|
15
15
|
});
|
|
16
16
|
return /*#__PURE__*/_jsx(View, {
|
|
17
17
|
style: styles.container,
|
package/dist/module/features/fluency/components/fluency-solving/components/FluencyNumpad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","FONT_FAMILY","SelectGroup","SelectOptionColor","SelectOptionSize","SPACING","useFluencyNumpad","jsx","_jsx","FluencyNumpad","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","FONT_FAMILY","SelectGroup","SelectOptionColor","SelectOptionSize","SPACING","useFluencyNumpad","jsx","_jsx","FluencyNumpad","onSubmit","options","style","styles","container","children","numOfRows","color","GREY","size","SMALL","grid","row","option","button","optionButton","text","optionText","create","alignItems","paddingVertical","marginTop","width","gap","height","fontSize","fontWeight","fontFamily","buenosAires"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencyNumpad.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,WAAW,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,OAAO,QAAQ,4BAA4B;AACnH,SAASC,gBAAgB,QAAQ,oCAAiC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAMlE,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAAEC;AAA6B,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAQ,CAAC,GAAGL,gBAAgB,CAAC;IAAEI;EAAS,CAAC,CAAC;EAElD,oBACEF,IAAA,CAACR,IAAI;IAACY,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BP,IAAA,CAACN,WAAW;MACVc,SAAS,EAAE,CAAE;MACbC,KAAK,EAAEd,iBAAiB,CAACe,IAAK;MAC9BC,IAAI,EAAEf,gBAAgB,CAACgB,KAAM;MAC7BT,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAE;QACLE,SAAS,EAAED,MAAM,CAACQ,IAAI;QACtBC,GAAG,EAAET,MAAM,CAACS,GAAG;QACfC,MAAM,EAAE;UACNC,MAAM,EAAEX,MAAM,CAACY,YAAY;UAC3BC,IAAI,EAAEb,MAAM,CAACc;QACf;MACF;IAAE,CACH;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMd,MAAM,GAAGd,UAAU,CAAC6B,MAAM,CAAC;EAC/Bd,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEzB,OAAO,CAAC,GAAG,CAAC;IAC7B0B,SAAS,EAAE1B,OAAO,CAAC,GAAG;EACxB,CAAC;EACDgB,IAAI,EAAE;IACJW,KAAK,EAAE,GAAG;IACVC,GAAG,EAAE5B,OAAO,CAAC,GAAG;EAClB,CAAC;EACDiB,GAAG,EAAE;IACHW,GAAG,EAAE5B,OAAO,CAAC,GAAG;EAClB,CAAC;EACDoB,YAAY,EAAE;IACZS,MAAM,EAAE;EACV,CAAC;EACDP,UAAU,EAAE;IACVQ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAEpC,WAAW,CAACqC;EAC1B;AACF,CAAC,CAAC","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import { View, StyleSheet } from 'react-native';
|
|
5
5
|
import { SPACING } from '@magmamath/react-native-ui';
|
|
6
6
|
import { useUnit } from 'effector-react/effector-react.mjs';
|
|
@@ -9,9 +9,6 @@ import { FluencyEquationCard } from "./FluencyEquationCard.js";
|
|
|
9
9
|
import { useFluency } from "../../../context/FluencyContext.js";
|
|
10
10
|
import { useCardSnapAnimation } from "../../../hooks/useCardSnapAnimation.js";
|
|
11
11
|
import { useSuccessSound } from "../../../hooks/useSuccessSound.js";
|
|
12
|
-
import { isWeb } from "../../../../../shared/common.constants.js";
|
|
13
|
-
import { KeyboardKeys } from "../../../../../lib/constants.js";
|
|
14
|
-
import { MAX_INPUT_LENGTH } from "../../../fluency.constants.js";
|
|
15
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
13
|
export const FluencySolvingCard = () => {
|
|
17
14
|
const {
|
|
@@ -26,12 +23,9 @@ export const FluencySolvingCard = () => {
|
|
|
26
23
|
});
|
|
27
24
|
const animation = useCardSnapAnimation();
|
|
28
25
|
const successSound = useSuccessSound();
|
|
29
|
-
const answerRef = useRef(answer);
|
|
30
|
-
const submitRef = useRef(() => {});
|
|
31
|
-
answerRef.current = answer;
|
|
32
26
|
const submit = () => {
|
|
33
27
|
if (!fact) return;
|
|
34
|
-
const isCorrect =
|
|
28
|
+
const isCorrect = answer !== null && Number(answer) === fact.answer;
|
|
35
29
|
if (isCorrect) {
|
|
36
30
|
successSound.play();
|
|
37
31
|
animation.trigger('right');
|
|
@@ -40,28 +34,6 @@ export const FluencySolvingCard = () => {
|
|
|
40
34
|
}
|
|
41
35
|
model.solving.submit();
|
|
42
36
|
};
|
|
43
|
-
submitRef.current = submit;
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (!isWeb) return;
|
|
46
|
-
const handleKeyDown = event => {
|
|
47
|
-
const isDigit = /^\d$/.test(event.key);
|
|
48
|
-
if (isDigit) {
|
|
49
|
-
const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
|
|
50
|
-
if (currentStr.length >= MAX_INPUT_LENGTH) return;
|
|
51
|
-
model.solving.setAnswer(parseInt(currentStr + event.key, 10));
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
if (event.key === KeyboardKeys.BACKSPACE) {
|
|
55
|
-
const currentStr = answerRef.current !== null ? answerRef.current.toString() : '';
|
|
56
|
-
const newStr = currentStr.slice(0, -1);
|
|
57
|
-
model.solving.setAnswer(newStr ? parseInt(newStr, 10) : null);
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (event.key === KeyboardKeys.ENTER) submitRef.current();
|
|
61
|
-
};
|
|
62
|
-
window.addEventListener('keydown', handleKeyDown);
|
|
63
|
-
return () => window.removeEventListener('keydown', handleKeyDown);
|
|
64
|
-
}, []);
|
|
65
37
|
return /*#__PURE__*/_jsxs(View, {
|
|
66
38
|
children: [/*#__PURE__*/_jsx(View, {
|
|
67
39
|
style: styles.wrapper,
|
|
@@ -69,7 +41,7 @@ export const FluencySolvingCard = () => {
|
|
|
69
41
|
animationStyles: animation.snapStyles
|
|
70
42
|
})
|
|
71
43
|
}), /*#__PURE__*/_jsx(FluencyNumpad, {
|
|
72
|
-
|
|
44
|
+
onSubmit: submit
|
|
73
45
|
})]
|
|
74
46
|
});
|
|
75
47
|
};
|
package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingCard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","SPACING","useUnit","FluencyNumpad","FluencyEquationCard","useFluency","useCardSnapAnimation","useSuccessSound","jsx","_jsx","jsxs","_jsxs","FluencySolvingCard","model","answer","fact","solving","$answer","$current","animation","successSound","submit","isCorrect","Number","play","trigger","children","style","styles","wrapper","animationStyles","snapStyles","onSubmit","create","alignItems","paddingVertical","paddingHorizontal","marginTop"],"sourceRoot":"../../../../../../../src","sources":["features/fluency/components/fluency-solving/components/FluencySolvingCard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,OAAO,QAAQ,4BAA4B;AACpD,SAASC,OAAO,QAAQ,mCAAmC;AAC3D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,UAAU,QAAQ,oCAAiC;AAC5D,SAASC,oBAAoB,QAAQ,wCAAqC;AAC1E,SAASC,eAAe,QAAQ,mCAAgC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEhE,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAM;IAAEC;EAAM,CAAC,GAAGR,UAAU,CAAC,CAAC;EAC9B,MAAM;IAAES,MAAM;IAAEC;EAAK,CAAC,GAAGb,OAAO,CAAC;IAC/BY,MAAM,EAAED,KAAK,CAACG,OAAO,CAACC,OAAO;IAC7BF,IAAI,EAAEF,KAAK,CAACG,OAAO,CAACE;EACtB,CAAC,CAAC;EACF,MAAMC,SAAS,GAAGb,oBAAoB,CAAC,CAAC;EACxC,MAAMc,YAAY,GAAGb,eAAe,CAAC,CAAC;EAEtC,MAAMc,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAI,CAACN,IAAI,EAAE;IAEX,MAAMO,SAAS,GAAGR,MAAM,KAAK,IAAI,IAAIS,MAAM,CAACT,MAAM,CAAC,KAAKC,IAAI,CAACD,MAAM;IACnE,IAAIQ,SAAS,EAAE;MACbF,YAAY,CAACI,IAAI,CAAC,CAAC;MACnBL,SAAS,CAACM,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC,MAAM;MACLN,SAAS,CAACM,OAAO,CAAC,MAAM,CAAC;IAC3B;IAEAZ,KAAK,CAACG,OAAO,CAACK,MAAM,CAAC,CAAC;EACxB,CAAC;EAED,oBACEV,KAAA,CAACZ,IAAI;IAAA2B,QAAA,gBACHjB,IAAA,CAACV,IAAI;MAAC4B,KAAK,EAAEC,MAAM,CAACC,OAAQ;MAAAH,QAAA,eAC1BjB,IAAA,CAACL,mBAAmB;QAAC0B,eAAe,EAAEX,SAAS,CAACY;MAAW,CAAE;IAAC,CAC1D,CAAC,eACPtB,IAAA,CAACN,aAAa;MAAC6B,QAAQ,EAAEX;IAAO,CAAE,CAAC;EAAA,CAC/B,CAAC;AAEX,CAAC;AAED,MAAMO,MAAM,GAAG5B,UAAU,CAACiC,MAAM,CAAC;EAC/BJ,OAAO,EAAE;IACPK,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAElC,OAAO,CAAC,GAAG,CAAC;IAC7BmC,iBAAiB,EAAEnC,OAAO,CAAC,GAAG,CAAC;IAC/BoC,SAAS,EAAEpC,OAAO,CAAC,GAAG;EACxB;AACF,CAAC,CAAC","ignoreList":[]}
|
package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js
CHANGED
|
@@ -2,29 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, StyleSheet } from 'react-native';
|
|
5
|
-
import { BORDER_RADIUS, Button, ButtonSize, ButtonVariant, COLORS, HeadingVariants, SHADOWS, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
-
import {
|
|
5
|
+
import { BORDER_RADIUS, Button, ButtonColor, ButtonSize, ButtonVariant, COLORS, HeadingVariants, SHADOWS, SPACING, Typography } from '@magmamath/react-native-ui';
|
|
6
|
+
import { useFluencySolvingPreset } from "../../../hooks/useFluencySolvingPreset.js";
|
|
7
7
|
import { XCloseIcon } from "../../../../../shared/icons/XCloseIcon.js";
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
export const FluencySolvingHeader = ({
|
|
10
10
|
onClosePress
|
|
11
11
|
}) => {
|
|
12
|
-
const modePreset =
|
|
13
|
-
const OperatorIcon = modePreset.icon;
|
|
12
|
+
const modePreset = useFluencySolvingPreset();
|
|
14
13
|
return /*#__PURE__*/_jsxs(View, {
|
|
15
14
|
style: styles.container,
|
|
16
15
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
17
16
|
variant: ButtonVariant.SECONDARY,
|
|
18
17
|
size: ButtonSize.LARGE,
|
|
18
|
+
colorScheme: ButtonColor.WHITE,
|
|
19
19
|
icon: /*#__PURE__*/_jsx(XCloseIcon, {}),
|
|
20
20
|
onPress: onClosePress
|
|
21
21
|
}), /*#__PURE__*/_jsx(View, {
|
|
22
22
|
style: [styles.operatorBadge, {
|
|
23
23
|
backgroundColor: modePreset.colors.accent
|
|
24
24
|
}],
|
|
25
|
-
children: /*#__PURE__*/_jsx(
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
26
|
+
variant: HeadingVariants.H7,
|
|
27
|
+
style: styles.symbol,
|
|
28
|
+
children: modePreset.symbol
|
|
28
29
|
})
|
|
29
30
|
}), /*#__PURE__*/_jsx(Typography, {
|
|
30
31
|
variant: HeadingVariants.H4,
|
|
@@ -54,6 +55,12 @@ const styles = StyleSheet.create({
|
|
|
54
55
|
title: {
|
|
55
56
|
color: COLORS.NEUTRAL_10,
|
|
56
57
|
fontWeight: '700'
|
|
58
|
+
},
|
|
59
|
+
symbol: {
|
|
60
|
+
fontSize: 32,
|
|
61
|
+
fontWeight: '100',
|
|
62
|
+
marginBottom: 2,
|
|
63
|
+
color: COLORS.NEUTRAL_1
|
|
57
64
|
}
|
|
58
65
|
});
|
|
59
66
|
//# sourceMappingURL=FluencySolvingHeader.js.map
|