@magmamath/students-features 0.9.9 → 0.9.14-rc.10
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/.editorconfig +15 -0
- package/.eslintignore +2 -0
- package/.eslintrc +22 -0
- package/.gitattributes +3 -0
- package/.github/actions/setup/action.yml +37 -0
- package/.github/workflows/ci.yml +73 -0
- package/.gitignore +84 -0
- package/.idea/.gitignore +8 -0
- package/.idea/codeStyles/Project.xml +62 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/copilot.data.migration.agent.xml +6 -0
- package/.idea/copilot.data.migration.ask.xml +6 -0
- package/.idea/copilot.data.migration.ask2agent.xml +6 -0
- package/.idea/copilot.data.migration.edit.xml +6 -0
- package/.idea/inspectionProfiles/Project_Default.xml +8 -0
- package/.idea/jsLinters/eslint.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +7 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_10_[Changes]/shelved.patch +18 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_11_[Changes]/shelved.patch +19 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025__13_10__Changes_.xml +4 -0
- package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025__13_11__Changes_.xml +4 -0
- package/.idea/students-features.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +643 -0
- package/.nvmrc +1 -0
- package/.prettierrc +11 -0
- package/.release-it.json +17 -0
- package/.watchmanconfig +1 -0
- package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +541 -0
- package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +28 -0
- package/.yarn/releases/yarn-3.6.1.cjs +874 -0
- package/babel.config.js +5 -0
- package/bob.config.js +25 -0
- package/dist/commonjs/features/celebrations/helpers.js +4 -1
- package/dist/commonjs/features/celebrations/helpers.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
- package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js +8 -6
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/t2s.js +4 -3
- package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
- package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +3 -2
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/commonjs/features/feedback/model/model.js.map +1 -1
- package/dist/commonjs/features/feedback/model/sockets.js +8 -5
- package/dist/commonjs/features/feedback/model/sockets.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js +5 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/Keyboard.js +24 -9
- package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/{MainLayout.js → MainLayout/MainLayout.js} +9 -7
- package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -0
- package/dist/commonjs/features/keyboard/components/{constants.js → MainLayout/constants.js} +7 -2
- package/dist/commonjs/features/keyboard/components/MainLayout/constants.js.map +1 -0
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +3 -2
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +2 -1
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +2 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +3 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +26 -6
- package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js +1 -0
- package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js.map +1 -1
- package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +22 -1
- package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
- package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +7 -0
- package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +3 -30
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.js +27 -0
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.js.map +1 -1
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js +18 -3
- package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
- package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js +1 -0
- package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js.map +1 -1
- package/dist/commonjs/lib/helpers/helpers.js +28 -5
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
- package/dist/commonjs/lib/types/requests.js +2 -0
- package/dist/commonjs/lib/types/requests.js.map +1 -0
- package/dist/commonjs/shared/icons/TimeIcon.js +37 -0
- package/dist/commonjs/shared/icons/TimeIcon.js.map +1 -0
- package/dist/commonjs/shared/translation/constants.js +3 -1
- package/dist/commonjs/shared/translation/constants.js.map +1 -1
- package/dist/commonjs/shared/translation/localization/ca.json +7 -6
- package/dist/commonjs/shared/translation/localization/de.json +43 -0
- package/dist/commonjs/shared/translation/localization/en.json +7 -6
- package/dist/commonjs/shared/translation/localization/gb.json +7 -6
- package/dist/commonjs/shared/translation/localization/sct.json +7 -6
- package/dist/commonjs/shared/translation/localization/sw.json +7 -6
- package/dist/commonjs/shared/translation/types.js +1 -0
- package/dist/commonjs/shared/translation/types.js.map +1 -1
- package/dist/module/features/celebrations/helpers.js +4 -1
- package/dist/module/features/celebrations/helpers.js.map +1 -1
- package/dist/module/features/chatbot/components/Chatbot.js +2 -2
- package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/module/features/chatbot/model/ChatBotModel.js +8 -6
- package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/module/features/chatbot/model/t2s.js +4 -3
- package/dist/module/features/chatbot/model/t2s.js.map +1 -1
- package/dist/module/features/chatbot/types/model.types.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +3 -2
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/module/features/feedback/model/model.js.map +1 -1
- package/dist/module/features/feedback/model/sockets.js +8 -5
- package/dist/module/features/feedback/model/sockets.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js +4 -0
- package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
- package/dist/module/features/keyboard/components/Keyboard.js +23 -8
- package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/module/features/keyboard/components/KeysList/KeysList.js.map +1 -1
- package/dist/module/features/keyboard/components/{MainLayout.js → MainLayout/MainLayout.js} +9 -7
- package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -0
- package/dist/module/features/keyboard/components/{constants.js → MainLayout/constants.js} +6 -1
- package/dist/module/features/keyboard/components/MainLayout/constants.js.map +1 -0
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +3 -2
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +2 -1
- package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +2 -1
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +2 -1
- package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +26 -6
- package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
- package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/types.js +1 -0
- package/dist/module/features/keyboard/components/UnitsLayout/types.js.map +1 -1
- package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +24 -3
- package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
- package/dist/module/features/keyboard/constants/keyboardLayouts.js +6 -0
- package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
- package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +3 -30
- package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
- package/dist/module/features/keyboard/types/MathKeysGroups/specialOperators.js +27 -0
- package/dist/module/features/keyboard/types/MathKeysGroups/specialOperators.js.map +1 -1
- package/dist/module/features/keyboard/types/MathKeysGroups/units.js +18 -3
- package/dist/module/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
- package/dist/module/features/keyboard/types/keyboardGroupIds.js +1 -0
- package/dist/module/features/keyboard/types/keyboardGroupIds.js.map +1 -1
- package/dist/module/lib/helpers/helpers.js +28 -5
- package/dist/module/lib/helpers/helpers.js.map +1 -1
- package/dist/module/lib/types/requests.js +2 -0
- package/dist/module/lib/types/requests.js.map +1 -0
- package/dist/module/shared/icons/TimeIcon.js +29 -0
- package/dist/module/shared/icons/TimeIcon.js.map +1 -0
- package/dist/module/shared/translation/constants.js +3 -1
- package/dist/module/shared/translation/constants.js.map +1 -1
- package/dist/module/shared/translation/localization/ca.json +7 -6
- package/dist/module/shared/translation/localization/de.json +43 -0
- package/dist/module/shared/translation/localization/en.json +7 -6
- package/dist/module/shared/translation/localization/gb.json +7 -6
- package/dist/module/shared/translation/localization/sct.json +7 -6
- package/dist/module/shared/translation/localization/sw.json +7 -6
- package/dist/module/shared/translation/types.js +1 -0
- package/dist/module/shared/translation/types.js.map +1 -1
- package/dist/typescript/commonjs/features/celebrations/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +8 -7
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts +2 -2
- package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +11 -1
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +8 -5
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/model.d.ts +4 -1
- package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +3 -2
- package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/{MainLayout.d.ts → MainLayout/MainLayout.d.ts} +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -0
- package/dist/typescript/{module/features/keyboard/components → commonjs/features/keyboard/components/MainLayout}/constants.d.ts +5 -0
- package/dist/typescript/commonjs/features/keyboard/components/MainLayout/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +5 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +0 -18
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.d.ts +18 -0
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts +15 -0
- package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/types/requests.d.ts +4 -0
- package/dist/typescript/commonjs/lib/types/requests.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +48 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/types.d.ts +2 -1
- package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
- package/dist/typescript/module/features/celebrations/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +8 -7
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts +2 -2
- package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts +11 -1
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts +8 -5
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/model.d.ts +4 -1
- package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +3 -2
- package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/{MainLayout.d.ts → MainLayout/MainLayout.d.ts} +1 -1
- package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -0
- package/dist/typescript/{commonjs/features/keyboard/components → module/features/keyboard/components/MainLayout}/constants.d.ts +5 -0
- package/dist/typescript/module/features/keyboard/components/MainLayout/constants.d.ts.map +1 -0
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +5 -1
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +0 -18
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/specialOperators.d.ts +18 -0
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/specialOperators.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts +15 -0
- package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/lib/types/requests.d.ts +4 -0
- package/dist/typescript/module/lib/types/requests.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/TimeIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/TimeIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/constants.d.ts +48 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +2 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/types.d.ts +2 -1
- package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
- package/example/.expo/README.md +8 -0
- package/example/.expo/devices.json +3 -0
- package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
- package/example/app.json +30 -0
- package/example/assets/adaptive-icon.png +0 -0
- package/example/assets/favicon.png +0 -0
- package/example/assets/icon.png +0 -0
- package/example/assets/splash-icon.png +0 -0
- package/example/babel.config.js +28 -0
- package/example/index.js +8 -0
- package/example/metro.config.js +18 -0
- package/example/package.json +25 -0
- package/example/src/App.tsx +8 -0
- package/example/tsconfig.json +6 -0
- package/example/yarn.lock +6552 -0
- package/package.json +1 -1
- package/src/features/celebrations/helpers.ts +35 -33
- package/src/features/chatbot/components/Chatbot.tsx +2 -2
- package/src/features/chatbot/model/ChatBotModel.ts +10 -5
- package/src/features/chatbot/model/t2s.ts +3 -2
- package/src/features/chatbot/types/api.types.ts +14 -1
- package/src/features/chatbot/types/model.types.ts +12 -5
- package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +4 -3
- package/src/features/feedback/model/model.ts +4 -1
- package/src/features/feedback/model/sockets.ts +8 -6
- package/src/features/keyboard/components/BasicLayout/keyboardGroups.ts +4 -0
- package/src/features/keyboard/components/Keyboard.tsx +44 -11
- package/src/features/keyboard/components/KeysList/KeysList.tsx +1 -1
- package/src/features/keyboard/components/{MainLayout.tsx → MainLayout/MainLayout.tsx} +6 -7
- package/src/features/keyboard/components/{constants.ts → MainLayout/constants.ts} +6 -1
- package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +7 -2
- package/src/features/keyboard/components/UnderlinedLayout/keyboardGroups.ts +5 -3
- package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +1 -0
- package/src/features/keyboard/components/UnitsLayout/helpers.tsx +3 -0
- package/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts +32 -21
- package/src/features/keyboard/components/UnitsLayout/keyboardGroups.ts +11 -0
- package/src/features/keyboard/components/UnitsLayout/types.ts +7 -0
- package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +23 -0
- package/src/features/keyboard/constants/keyboardLayouts.ts +11 -0
- package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +3 -24
- package/src/features/keyboard/types/MathKeysGroups/specialOperators.tsx +21 -0
- package/src/features/keyboard/types/MathKeysGroups/units.tsx +15 -0
- package/src/features/keyboard/types/keyboardGroupIds.ts +1 -0
- package/src/lib/helpers/helpers.ts +23 -8
- package/src/lib/types/requests.ts +1 -0
- package/src/shared/icons/TimeIcon.tsx +23 -0
- package/src/shared/translation/constants.ts +2 -0
- package/src/shared/translation/localization/ca.json +7 -6
- package/src/shared/translation/localization/de.json +43 -0
- package/src/shared/translation/localization/en.json +7 -6
- package/src/shared/translation/localization/gb.json +7 -6
- package/src/shared/translation/localization/sct.json +7 -6
- package/src/shared/translation/localization/sw.json +7 -6
- package/src/shared/translation/types.ts +4 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +34 -0
- package/yarn.lock +8623 -0
- package/dist/commonjs/features/keyboard/components/MainLayout.js.map +0 -1
- package/dist/commonjs/features/keyboard/components/constants.js.map +0 -1
- package/dist/module/features/keyboard/components/MainLayout.js.map +0 -1
- package/dist/module/features/keyboard/components/constants.js.map +0 -1
- package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/keyboard/components/constants.d.ts.map +0 -1
- package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts.map +0 -1
- package/dist/typescript/module/features/keyboard/components/constants.d.ts.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MATH_AREA_UNITS,
|
|
3
3
|
MATH_LENGTH_UNITS,
|
|
4
|
+
MATH_TIME_UNITS,
|
|
4
5
|
MATH_VOLUME_UNITS,
|
|
5
6
|
MATH_WEIGHT_UNITS,
|
|
6
7
|
} from '../../types/MathKeysGroups/units'
|
|
@@ -10,6 +11,7 @@ import { VolumeIcon } from '../../../../shared/icons/VolumeIcon'
|
|
|
10
11
|
import { WeightIcon } from '../../../../shared/icons/WeightIcon'
|
|
11
12
|
import { KeyboardUnitsGroupType, UnitKeyboardGroups } from './types'
|
|
12
13
|
import { MathEntryKeyboardGroupId } from '../../types/keyboardGroupIds'
|
|
14
|
+
import { TimeIcon } from '../../../../shared/icons/TimeIcon'
|
|
13
15
|
|
|
14
16
|
export const MATH_ENTRY_LENGTH_UNITS_SW_KEYBOARD_GROUPS: UnitKeyboardGroups = {
|
|
15
17
|
id: MathEntryKeyboardGroupId.LENGTH_UNITS_SW,
|
|
@@ -171,6 +173,11 @@ export const MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS: UnitKeyboardGroups = {
|
|
|
171
173
|
],
|
|
172
174
|
}
|
|
173
175
|
|
|
176
|
+
export const MATH_ENTRY_TIME_UNITS_SW_KEYBOARD_GROUPS: UnitKeyboardGroups = {
|
|
177
|
+
id: MathEntryKeyboardGroupId.TIME_SW,
|
|
178
|
+
keys: [[MATH_TIME_UNITS.S, MATH_TIME_UNITS.M, MATH_TIME_UNITS.H]],
|
|
179
|
+
}
|
|
180
|
+
|
|
174
181
|
export const MATH_ENTRY_WEIGHT_UNITS_US_KEYBOARD_GROUPS: UnitKeyboardGroups = {
|
|
175
182
|
id: MathEntryKeyboardGroupId.WEIGHT_UNITS_US,
|
|
176
183
|
keys: [
|
|
@@ -199,4 +206,8 @@ export const UNITS_KEYBOARD_GROUPS = new Map([
|
|
|
199
206
|
KeyboardUnitsGroupType.WEIGHT,
|
|
200
207
|
{ keys: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS.keys, icon: WeightIcon },
|
|
201
208
|
],
|
|
209
|
+
[
|
|
210
|
+
KeyboardUnitsGroupType.TIME,
|
|
211
|
+
{ keys: MATH_ENTRY_TIME_UNITS_SW_KEYBOARD_GROUPS.keys, icon: TimeIcon },
|
|
212
|
+
],
|
|
202
213
|
])
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { KeyboardGroup, KeyboardKey } from '@magmamath/students-features'
|
|
2
|
+
import { TabOptionProps } from '@magmamath/react-native-ui'
|
|
2
3
|
|
|
3
4
|
export enum SelectedLayout {
|
|
4
5
|
ALGEBRA = 'algebra',
|
|
@@ -10,8 +11,14 @@ export enum KeyboardUnitsGroupType {
|
|
|
10
11
|
AREA = 'area',
|
|
11
12
|
VOLUME = 'volume',
|
|
12
13
|
WEIGHT = 'weight',
|
|
14
|
+
TIME = 'time',
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
export type UnitKeyboardGroups = {
|
|
16
18
|
keys: KeyboardKey[][]
|
|
17
19
|
} & Omit<KeyboardGroup, 'keys'>
|
|
20
|
+
|
|
21
|
+
export type UnitTab = Omit<TabOptionProps, 'key'> & {
|
|
22
|
+
key: KeyboardUnitsGroupType
|
|
23
|
+
minWidth?: number
|
|
24
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { KeyboardGroup, KeyboardType } from '../types/types'
|
|
2
2
|
import {
|
|
3
|
+
MATH_CURRENCY_DE_KEYBOARD_GROUP,
|
|
3
4
|
MATH_CURRENCY_SW_KEYBOARD_GROUP,
|
|
4
5
|
MATH_CURRENCY_UK_KEYBOARD_GROUP,
|
|
5
6
|
MATH_CURRENCY_US_KEYBOARD_GROUP,
|
|
@@ -30,6 +31,7 @@ import {
|
|
|
30
31
|
MATH_ENTRY_AREA_UNITS_US_KEYBOARD_GROUPS,
|
|
31
32
|
MATH_ENTRY_LENGTH_UNITS_SW_KEYBOARD_GROUPS,
|
|
32
33
|
MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS,
|
|
34
|
+
MATH_ENTRY_TIME_UNITS_SW_KEYBOARD_GROUPS,
|
|
33
35
|
MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
|
|
34
36
|
MATH_ENTRY_VOLUME_UNITS_UK_KEYBOARD_GROUPS,
|
|
35
37
|
MATH_ENTRY_VOLUME_UNITS_US_KEYBOARD_GROUPS,
|
|
@@ -69,6 +71,7 @@ function createKeyboardUnitsLocale(
|
|
|
69
71
|
[KeyboardUnitsGroupType.AREA]: MATH_ENTRY_AREA_UNITS_US_KEYBOARD_GROUPS,
|
|
70
72
|
[KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_US_KEYBOARD_GROUPS,
|
|
71
73
|
[KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_US_KEYBOARD_GROUPS,
|
|
74
|
+
[KeyboardUnitsGroupType.TIME]: MATH_ENTRY_TIME_UNITS_SW_KEYBOARD_GROUPS,
|
|
72
75
|
}
|
|
73
76
|
return { ...base, ...overrides }
|
|
74
77
|
}
|
|
@@ -98,6 +101,20 @@ export const KEYBOARD_GROUPS_BY_LOCALE: Record<Locale, Record<KeyboardType, Keyb
|
|
|
98
101
|
[KeyboardType.BasicTime]: MATH_TIME_SW_KEYBOARD_GROUP,
|
|
99
102
|
[KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_SW_KEYBOARD_GROUP,
|
|
100
103
|
}),
|
|
104
|
+
[Locale.DE]: createKeyboardLocale({
|
|
105
|
+
[KeyboardType.Basic]: MATH_ENTRY_BASIC_SW_KEYBOARD_GROUP,
|
|
106
|
+
[KeyboardType.BasicPlus]: MATH_ENTRY_BASIC_SW_PLUS,
|
|
107
|
+
[KeyboardType.BasicPlusMobile]: MATH_ENTRY_BASIC_PLUS_MOBILE_SW,
|
|
108
|
+
[KeyboardType.BasicPlusPlus]: MATH_ENTRY_BASIC_PLUS_PLUS_SW,
|
|
109
|
+
[KeyboardType.BasicPlusPlusMobile]: MATH_ENTRY_BASIC_PLUS_PLUS_MOBILE_SW,
|
|
110
|
+
[KeyboardType.BasicUnits]: {
|
|
111
|
+
...MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS,
|
|
112
|
+
keys: MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS.keys[0],
|
|
113
|
+
},
|
|
114
|
+
[KeyboardType.BasicCurrency]: MATH_CURRENCY_DE_KEYBOARD_GROUP,
|
|
115
|
+
[KeyboardType.BasicTime]: MATH_TIME_SW_KEYBOARD_GROUP,
|
|
116
|
+
[KeyboardType.Numpad]: MATH_ENTRY_NUMBERS_SW_KEYBOARD_GROUP,
|
|
117
|
+
}),
|
|
101
118
|
}
|
|
102
119
|
export const KEYBOARD_UNITS_GROUPS_BY_LOCALE: Record<
|
|
103
120
|
Locale,
|
|
@@ -119,4 +136,10 @@ export const KEYBOARD_UNITS_GROUPS_BY_LOCALE: Record<
|
|
|
119
136
|
[KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
|
|
120
137
|
[KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS,
|
|
121
138
|
}),
|
|
139
|
+
[Locale.DE]: createKeyboardUnitsLocale({
|
|
140
|
+
[KeyboardUnitsGroupType.LENGTH]: MATH_ENTRY_LENGTH_UNITS_SW_KEYBOARD_GROUPS,
|
|
141
|
+
[KeyboardUnitsGroupType.AREA]: MATH_ENTRY_AREA_UNITS_SW_KEYBOARD_GROUPS,
|
|
142
|
+
[KeyboardUnitsGroupType.VOLUME]: MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS,
|
|
143
|
+
[KeyboardUnitsGroupType.WEIGHT]: MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS,
|
|
144
|
+
}),
|
|
122
145
|
}
|
|
@@ -71,3 +71,14 @@ export function getLayoutByCharType(charType?: number) {
|
|
|
71
71
|
}
|
|
72
72
|
return AlgebraLayout
|
|
73
73
|
}
|
|
74
|
+
|
|
75
|
+
export function isBasicPlusPlusLayout(charType?: number) {
|
|
76
|
+
if (!charType) {
|
|
77
|
+
return true
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return (
|
|
81
|
+
KEYBOARD_LAYOUTS[KeyboardType.BasicPlusPlus].characterTypes.includes(charType) ||
|
|
82
|
+
KEYBOARD_LAYOUTS[KeyboardType.AlgebraAdvanced].characterTypes.includes(charType)
|
|
83
|
+
)
|
|
84
|
+
}
|
|
@@ -42,9 +42,6 @@ import { EqualsIcon } from '../../../../shared/icons/keyboard/EqualsIcon/EqualsI
|
|
|
42
42
|
import { AbsoluteValueIcon } from '../../../../shared/icons/keyboard/AbsoluteValueIcon/AbsoluteValueIcon'
|
|
43
43
|
import { IntervalIcon } from '../../../../shared/icons/keyboard/IntervalIcon/IntervalIcon'
|
|
44
44
|
import { createMathKeysGroup } from './helpers'
|
|
45
|
-
import { UnderlinedTenIcon } from '../../../../shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon'
|
|
46
|
-
import { UnderlinedOneIcon } from '../../../../shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon'
|
|
47
|
-
import { UnderlinedUIcon } from '../../../../shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon'
|
|
48
45
|
|
|
49
46
|
export const MATH_BASIC_OPERATORS = createMathKeysGroup({
|
|
50
47
|
ADDITION: {
|
|
@@ -98,7 +95,7 @@ export const MATH_BASIC_OPERATORS = createMathKeysGroup({
|
|
|
98
95
|
},
|
|
99
96
|
NOT_EQUAL: {
|
|
100
97
|
icon: <NotEqualIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
101
|
-
mathliveValue: '
|
|
98
|
+
mathliveValue: '≠',
|
|
102
99
|
katexValue: '≠',
|
|
103
100
|
},
|
|
104
101
|
APPROXIMATELY_EQUAL: {
|
|
@@ -113,7 +110,7 @@ export const MATH_BASIC_OPERATORS = createMathKeysGroup({
|
|
|
113
110
|
},
|
|
114
111
|
COMMA: {
|
|
115
112
|
icon: <CommaIcon {...DEFAULT_KEY_ICON_PROPS} size={22} />,
|
|
116
|
-
mathliveValue: ',',
|
|
113
|
+
mathliveValue: '{,}',
|
|
117
114
|
katexValue: ',',
|
|
118
115
|
},
|
|
119
116
|
COLON: {
|
|
@@ -266,25 +263,7 @@ export const MATH_BASIC_OPERATORS = createMathKeysGroup({
|
|
|
266
263
|
},
|
|
267
264
|
INTERVAL: {
|
|
268
265
|
icon: <IntervalIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
269
|
-
mathliveValue: '$\\left[
|
|
266
|
+
mathliveValue: '$\\left[\\placeholder{},\\placeholder{}\\right]$',
|
|
270
267
|
katexValue: '[ , ]',
|
|
271
268
|
},
|
|
272
|
-
UNDERLINED_TEN: {
|
|
273
|
-
icon: <UnderlinedTenIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
274
|
-
mathliveValue: '\\underline{10}',
|
|
275
|
-
katexValue: '10̲',
|
|
276
|
-
spreadsheetValue: 'TEN',
|
|
277
|
-
},
|
|
278
|
-
UNDERLINED_ONE: {
|
|
279
|
-
icon: <UnderlinedOneIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
280
|
-
mathliveValue: '\\underline{1}',
|
|
281
|
-
katexValue: '1̲',
|
|
282
|
-
spreadsheetValue: 'ONE_FOOT_NOTE',
|
|
283
|
-
},
|
|
284
|
-
UNDERLINED_U: {
|
|
285
|
-
icon: <UnderlinedUIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
286
|
-
mathliveValue: '\\underline{u}',
|
|
287
|
-
katexValue: 'U̲',
|
|
288
|
-
spreadsheetValue: 'FRACTION',
|
|
289
|
-
},
|
|
290
269
|
})
|
|
@@ -2,6 +2,9 @@ import React from 'react'
|
|
|
2
2
|
import { DEFAULT_KEY_ICON_PROPS } from '../../constants/constants'
|
|
3
3
|
import { BackspaceIcon } from '../../../../shared/icons/keyboard/BackspaceIcon/BackspaceIcon'
|
|
4
4
|
import { createMathKeysGroup } from './helpers'
|
|
5
|
+
import { UnderlinedTenIcon } from '../../../../shared/icons/keyboard/UnderlinedTenIcon/UnderlinedTenIcon'
|
|
6
|
+
import { UnderlinedOneIcon } from '../../../../shared/icons/keyboard/UnderlinedOneIcon/UnderlinedOneIcon'
|
|
7
|
+
import { UnderlinedUIcon } from '../../../../shared/icons/keyboard/UnderlinedUIcon/UnderlinedUIcon'
|
|
5
8
|
|
|
6
9
|
export const MATH_SPECIAL_OPERATORS = createMathKeysGroup({
|
|
7
10
|
LIM: {
|
|
@@ -49,4 +52,22 @@ export const MATH_SPECIAL_OPERATORS = createMathKeysGroup({
|
|
|
49
52
|
mathliveValue: 'backspace',
|
|
50
53
|
katexValue: 'backspace',
|
|
51
54
|
},
|
|
55
|
+
UNDERLINED_TEN: {
|
|
56
|
+
icon: <UnderlinedTenIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
57
|
+
mathliveValue: '\\underline{10}',
|
|
58
|
+
katexValue: '10̲',
|
|
59
|
+
spreadsheetValue: 'TEN',
|
|
60
|
+
},
|
|
61
|
+
UNDERLINED_ONE: {
|
|
62
|
+
icon: <UnderlinedOneIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
63
|
+
mathliveValue: '\\underline{1}',
|
|
64
|
+
katexValue: '1̲',
|
|
65
|
+
spreadsheetValue: 'ONE_FOOT_NOTE',
|
|
66
|
+
},
|
|
67
|
+
UNDERLINED_U: {
|
|
68
|
+
icon: <UnderlinedUIcon {...DEFAULT_KEY_ICON_PROPS} />,
|
|
69
|
+
mathliveValue: '\\underline{u}',
|
|
70
|
+
katexValue: 'U̲',
|
|
71
|
+
spreadsheetValue: 'FRACTION',
|
|
72
|
+
},
|
|
52
73
|
})
|
|
@@ -427,16 +427,31 @@ export const MATH_TIME_UNITS = createMathKeysGroup({
|
|
|
427
427
|
label: 's',
|
|
428
428
|
mathliveValue: '\\mathrm{s}',
|
|
429
429
|
katexValue: 's',
|
|
430
|
+
style: {
|
|
431
|
+
button: {
|
|
432
|
+
width: 50,
|
|
433
|
+
},
|
|
434
|
+
},
|
|
430
435
|
},
|
|
431
436
|
M: {
|
|
432
437
|
label: 'min',
|
|
433
438
|
mathliveValue: '$\\mathrm{min}',
|
|
434
439
|
katexValue: 'min',
|
|
440
|
+
style: {
|
|
441
|
+
button: {
|
|
442
|
+
width: 50,
|
|
443
|
+
},
|
|
444
|
+
},
|
|
435
445
|
},
|
|
436
446
|
H: {
|
|
437
447
|
label: 'h',
|
|
438
448
|
mathliveValue: '\\mathrm{h}',
|
|
439
449
|
katexValue: 'h',
|
|
450
|
+
style: {
|
|
451
|
+
button: {
|
|
452
|
+
width: 50,
|
|
453
|
+
},
|
|
454
|
+
},
|
|
440
455
|
},
|
|
441
456
|
DAY: {
|
|
442
457
|
label: 'day',
|
|
@@ -27,12 +27,27 @@ export const getRelativeTimeText = (date: Date) => {
|
|
|
27
27
|
const years = getYears(days)
|
|
28
28
|
|
|
29
29
|
if (seconds < 60) return getText('time.justNow')
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
|
|
31
|
+
if (minutes < 60) {
|
|
32
|
+
if (minutes === 1) return `1 ${getText('time.minuteAgo')}`
|
|
33
|
+
return getText('time.minutesAgo', { count: minutes.toString() })
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (hours < 24) {
|
|
37
|
+
if (hours === 1) return `1 ${getText('time.hourAgo')}`
|
|
38
|
+
return getText('time.hoursAgo', { count: hours.toString() })
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (days < 30) {
|
|
42
|
+
if (days === 1) return `1 ${getText('time.dayAgo')}`
|
|
43
|
+
return getText('time.daysAgo', { count: days.toString() })
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (months < 12) {
|
|
47
|
+
if (months === 1) return `1 ${getText('time.monthAgo')}`
|
|
48
|
+
return getText('time.monthsAgo', { count: months.toString() })
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (years === 1) return `1 ${getText('time.yearAgo')}`
|
|
52
|
+
return getText('time.yearsAgo', { count: years.toString() })
|
|
38
53
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type WithAbortSignal<T> = T & { signal?: AbortSignal }
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { COLORS } from '@magmamath/react-native-ui'
|
|
2
|
+
import { IconProps } from './icon.types'
|
|
3
|
+
import Svg, { Path } from 'react-native-svg'
|
|
4
|
+
import React from 'react'
|
|
5
|
+
|
|
6
|
+
export const TimeIcon = ({ size = 20, color = COLORS.NEUTRAL_9 }: IconProps) => {
|
|
7
|
+
return (
|
|
8
|
+
<Svg width={size} height={size} viewBox="0 0 17 17" fill="none">
|
|
9
|
+
<Path
|
|
10
|
+
fillRule="evenodd"
|
|
11
|
+
clipRule="evenodd"
|
|
12
|
+
d="M7.84 1.5C4.33851 1.5 1.5 4.33851 1.5 7.84C1.5 11.3415 4.33851 14.18 7.84 14.18C11.3415 14.18 14.18 11.3415 14.18 7.84C14.18 4.33851 11.3415 1.5 7.84 1.5ZM0 7.84C0 3.51009 3.51009 0 7.84 0C12.1699 0 15.68 3.51009 15.68 7.84C15.68 12.1699 12.1699 15.68 7.84 15.68C3.51009 15.68 0 12.1699 0 7.84Z"
|
|
13
|
+
fill={color}
|
|
14
|
+
/>
|
|
15
|
+
<Path
|
|
16
|
+
fillRule="evenodd"
|
|
17
|
+
clipRule="evenodd"
|
|
18
|
+
d="M7.83999 3.0826C8.2542 3.0826 8.58999 3.41839 8.58999 3.8326V7.8033L10.4859 9.42838C10.8004 9.69794 10.8368 10.1714 10.5673 10.4859C10.2977 10.8004 9.82421 10.8368 9.50972 10.5673L7.57539 8.90926C7.2673 8.64519 7.08999 8.25967 7.08999 7.85389V3.8326C7.08999 3.41839 7.42578 3.0826 7.83999 3.0826Z"
|
|
19
|
+
fill={color}
|
|
20
|
+
/>
|
|
21
|
+
</Svg>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
@@ -4,6 +4,7 @@ import GB from './localization/gb.json'
|
|
|
4
4
|
import SW from './localization/sw.json'
|
|
5
5
|
import CA from './localization/ca.json'
|
|
6
6
|
import SCT from './localization/sct.json'
|
|
7
|
+
import DE from './localization/de.json'
|
|
7
8
|
|
|
8
9
|
export const LOCALIZATION_CONFIGS = {
|
|
9
10
|
[Locale.EN]: EN,
|
|
@@ -11,4 +12,5 @@ export const LOCALIZATION_CONFIGS = {
|
|
|
11
12
|
[Locale.SW]: SW,
|
|
12
13
|
[Locale.CA]: CA,
|
|
13
14
|
[Locale.SCT]: SCT,
|
|
15
|
+
[Locale.DE]: DE,
|
|
14
16
|
}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "minutes ago",
|
|
6
|
+
"time.minutesAgo": "{{count}} minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "hours ago",
|
|
8
|
+
"time.hoursAgo": "{{count}} hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "days ago",
|
|
10
|
+
"time.daysAgo": "{{count}} days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "months ago",
|
|
12
|
+
"time.monthsAgo": "{{count}} months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "years ago",
|
|
14
|
+
"time.yearsAgo": "{{count}} years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"length": "Length",
|
|
38
38
|
"area": "Area",
|
|
39
39
|
"volume": "Volume",
|
|
40
|
-
"weight": "Weight"
|
|
40
|
+
"weight": "Weight",
|
|
41
|
+
"time": "Time"
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"locale": "de-DE",
|
|
3
|
+
"teacherFeedback.noComments": "Noch keine Kommentare",
|
|
4
|
+
"time.justNow": "gerade eben",
|
|
5
|
+
"time.minuteAgo": "vor einer Minute",
|
|
6
|
+
"time.minutesAgo": "vor {{count}} Minuten",
|
|
7
|
+
"time.hourAgo": "vor einer Stunde",
|
|
8
|
+
"time.hoursAgo": "vor {{count}} Stunden",
|
|
9
|
+
"time.dayAgo": "vor einem Tag",
|
|
10
|
+
"time.daysAgo": "vor {{count}} Tagen",
|
|
11
|
+
"time.monthAgo": "vor einem Monat",
|
|
12
|
+
"time.monthsAgo": "vor {{count}} Monaten",
|
|
13
|
+
"time.yearAgo": "vor einem Jahr",
|
|
14
|
+
"time.yearsAgo": "vor {{count}} Jahren",
|
|
15
|
+
"chat": {
|
|
16
|
+
"anotherHint": "Gib mir noch einen Hinweis",
|
|
17
|
+
"giveHint": "Ich brauche einen Hinweis",
|
|
18
|
+
"giveHintOpenChat": "Ich brauche einen Hinweis",
|
|
19
|
+
"answerAgain": "Noch einmal antworten, um einen weiteren Hinweis zu bekommen!",
|
|
20
|
+
"errorMessage": "Etwas ist schiefgelaufen! Versuch es erneut",
|
|
21
|
+
"howCanIHelp": "Hi! Möchtest du Hilfe?",
|
|
22
|
+
"showError": "Fehler anzeigen",
|
|
23
|
+
"inputPlaceholder": "Tippe..."
|
|
24
|
+
},
|
|
25
|
+
"gifCelebrations": {
|
|
26
|
+
"greatStart": "Toller Start!",
|
|
27
|
+
"onTheWay": "Auf dem Weg!",
|
|
28
|
+
"almostThere": "Fast geschafft"
|
|
29
|
+
},
|
|
30
|
+
"exampleSolution": {
|
|
31
|
+
"exampleSolution": "Beispiellösung",
|
|
32
|
+
"letMeThink": "Lass mich nachdenken...",
|
|
33
|
+
"aha": "Aha!",
|
|
34
|
+
"errorMessage": "Beim Erstellen einer Beispiellösung ist etwas schiefgelaufen"
|
|
35
|
+
},
|
|
36
|
+
"keyboard": {
|
|
37
|
+
"length": "Länge",
|
|
38
|
+
"area": "Fläche",
|
|
39
|
+
"volume": "Volumen",
|
|
40
|
+
"weight": "Gewicht",
|
|
41
|
+
"time": "Zeit"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "minutes ago",
|
|
6
|
+
"time.minutesAgo": "{{count}} minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "hours ago",
|
|
8
|
+
"time.hoursAgo": "{{count}} hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "days ago",
|
|
10
|
+
"time.daysAgo": "{{count}} days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "months ago",
|
|
12
|
+
"time.monthsAgo": "{{count}} months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "years ago",
|
|
14
|
+
"time.yearsAgo": "{{count}} years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"length": "Length",
|
|
38
38
|
"area": "Area",
|
|
39
39
|
"volume": "Volume",
|
|
40
|
-
"weight": "Weight"
|
|
40
|
+
"weight": "Weight",
|
|
41
|
+
"time": "Time"
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "minutes ago",
|
|
6
|
+
"time.minutesAgo": "{{count}} minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "hours ago",
|
|
8
|
+
"time.hoursAgo": "{{count}} hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "days ago",
|
|
10
|
+
"time.daysAgo": "{{count}} days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "months ago",
|
|
12
|
+
"time.monthsAgo": "{{count}} months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "years ago",
|
|
14
|
+
"time.yearsAgo": "{{count}} years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"length": "Length",
|
|
38
38
|
"area": "Area",
|
|
39
39
|
"volume": "Volume",
|
|
40
|
-
"weight": "Weight"
|
|
40
|
+
"weight": "Weight",
|
|
41
|
+
"time": "Time"
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "No comments yet",
|
|
4
4
|
"time.justNow": "just now",
|
|
5
5
|
"time.minuteAgo": "minute ago",
|
|
6
|
-
"time.minutesAgo": "minutes ago",
|
|
6
|
+
"time.minutesAgo": "{{count}} minutes ago",
|
|
7
7
|
"time.hourAgo": "hour ago",
|
|
8
|
-
"time.hoursAgo": "hours ago",
|
|
8
|
+
"time.hoursAgo": "{{count}} hours ago",
|
|
9
9
|
"time.dayAgo": "day ago",
|
|
10
|
-
"time.daysAgo": "days ago",
|
|
10
|
+
"time.daysAgo": "{{count}} days ago",
|
|
11
11
|
"time.monthAgo": "month ago",
|
|
12
|
-
"time.monthsAgo": "months ago",
|
|
12
|
+
"time.monthsAgo": "{{count}} months ago",
|
|
13
13
|
"time.yearAgo": "year ago",
|
|
14
|
-
"time.yearsAgo": "years ago",
|
|
14
|
+
"time.yearsAgo": "{{count}} years ago",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Give me another hint",
|
|
17
17
|
"giveHint": "I need a hint",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"length": "Length",
|
|
38
38
|
"area": "Area",
|
|
39
39
|
"volume": "Volume",
|
|
40
|
-
"weight": "Weight"
|
|
40
|
+
"weight": "Weight",
|
|
41
|
+
"time": "Time"
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"teacherFeedback.noComments": "Inga kommentarer än",
|
|
4
4
|
"time.justNow": "alldeles nyss",
|
|
5
5
|
"time.minuteAgo": "minut sedan",
|
|
6
|
-
"time.minutesAgo": "minuter sedan",
|
|
6
|
+
"time.minutesAgo": "{{count}} minuter sedan",
|
|
7
7
|
"time.hourAgo": "timme sedan",
|
|
8
|
-
"time.hoursAgo": "timmar sedan",
|
|
8
|
+
"time.hoursAgo": "{{count}} timmar sedan",
|
|
9
9
|
"time.dayAgo": "dag sedan",
|
|
10
|
-
"time.daysAgo": "dagar sedan",
|
|
10
|
+
"time.daysAgo": "{{count}} dagar sedan",
|
|
11
11
|
"time.monthAgo": "månad sedan",
|
|
12
|
-
"time.monthsAgo": "månader sedan",
|
|
12
|
+
"time.monthsAgo": "{{count}} månader sedan",
|
|
13
13
|
"time.yearAgo": "år sedan",
|
|
14
|
-
"time.yearsAgo": "år sedan",
|
|
14
|
+
"time.yearsAgo": "{{count}} år sedan",
|
|
15
15
|
"chat": {
|
|
16
16
|
"anotherHint": "Ge mig en till ledtråd",
|
|
17
17
|
"giveHint": "Ge mig en ledtråd",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"length": "Längd",
|
|
38
38
|
"area": "Area",
|
|
39
39
|
"volume": "Volym",
|
|
40
|
-
"weight": "Vikt"
|
|
40
|
+
"weight": "Vikt",
|
|
41
|
+
"time": "Tid"
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -3,6 +3,8 @@ import swTranslations from './localization/sw.json'
|
|
|
3
3
|
import gbTranslations from './localization/gb.json'
|
|
4
4
|
import caTranslations from './localization/ca.json'
|
|
5
5
|
import sctTranslations from './localization/sct.json'
|
|
6
|
+
import deTranslations from "./localization/de.json"
|
|
7
|
+
|
|
6
8
|
import { RetrieveKeys } from '../../lib/types/keys'
|
|
7
9
|
import { ISValidTranslation } from './validation.types'
|
|
8
10
|
|
|
@@ -16,6 +18,7 @@ export enum Locale {
|
|
|
16
18
|
GB = 'en-GB',
|
|
17
19
|
CA = 'en-CA',
|
|
18
20
|
SCT = 'en-SCT',
|
|
21
|
+
DE = 'de-DE'
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
// Validation of translations, do not remove
|
|
@@ -24,3 +27,4 @@ type ISValidSW = ISValidTranslation<typeof swTranslations>
|
|
|
24
27
|
type ISValidGB = ISValidTranslation<typeof gbTranslations>
|
|
25
28
|
type ISValidCA = ISValidTranslation<typeof caTranslations>
|
|
26
29
|
type ISValidSCT = ISValidTranslation<typeof sctTranslations>
|
|
30
|
+
type ISValidDE = ISValidTranslation<typeof deTranslations>
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"paths": {
|
|
4
|
+
"@magmamath/students-features": ["./src/index"]
|
|
5
|
+
},
|
|
6
|
+
"target": "esnext",
|
|
7
|
+
"baseUrl": "./",
|
|
8
|
+
"lib": [
|
|
9
|
+
"dom",
|
|
10
|
+
"dom.iterable",
|
|
11
|
+
"esnext"
|
|
12
|
+
],
|
|
13
|
+
"declaration": true,
|
|
14
|
+
"allowJs": true,
|
|
15
|
+
"skipLibCheck": true,
|
|
16
|
+
"esModuleInterop": true,
|
|
17
|
+
"allowSyntheticDefaultImports": true,
|
|
18
|
+
"strict": true,
|
|
19
|
+
"forceConsistentCasingInFileNames": true,
|
|
20
|
+
"module": "esnext",
|
|
21
|
+
"moduleResolution": "node",
|
|
22
|
+
"resolveJsonModule": true,
|
|
23
|
+
"isolatedModules": true,
|
|
24
|
+
"jsx": "react",
|
|
25
|
+
"experimentalDecorators": true
|
|
26
|
+
},
|
|
27
|
+
"include": [
|
|
28
|
+
"src"
|
|
29
|
+
],
|
|
30
|
+
"exclude": [
|
|
31
|
+
"node_modules",
|
|
32
|
+
"example"
|
|
33
|
+
]
|
|
34
|
+
}
|