@magmamath/students-features 1.3.7-test-ids-rc.0 → 1.3.7
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/.claude/settings.local.json +25 -0
- 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/students-features.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +672 -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/chatbot/components/Chat/Chat.js +0 -2
- package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chat/ChatIcon.js +0 -2
- package/dist/commonjs/features/chatbot/components/Chat/ChatIcon.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chat/CloseButton.js +0 -2
- package/dist/commonjs/features/chatbot/components/Chat/CloseButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js +1 -3
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +1 -3
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +0 -2
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js +0 -2
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.js +0 -3
- package/dist/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +0 -2
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.js +0 -3
- package/dist/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js +0 -3
- package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +0 -3
- package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js +1 -4
- package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js +3 -9
- package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButton.js +0 -2
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButton.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +0 -2
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js +0 -2
- package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js.map +1 -1
- package/dist/commonjs/features/exampleSolution/components/QuestionSection.js +0 -2
- package/dist/commonjs/features/exampleSolution/components/QuestionSection.js.map +1 -1
- package/dist/commonjs/features/exampleSolution/components/SolutionSection.js +0 -2
- package/dist/commonjs/features/exampleSolution/components/SolutionSection.js.map +1 -1
- package/dist/commonjs/features/feedback/components/EmptyComment.js +0 -2
- package/dist/commonjs/features/feedback/components/EmptyComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js +0 -2
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton.js +0 -3
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +0 -2
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js +0 -2
- package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
- package/dist/commonjs/features/formulaSheet/components/FormulaSheet.js +0 -2
- package/dist/commonjs/features/formulaSheet/components/FormulaSheet.js.map +1 -1
- package/dist/commonjs/features/formulaSheet/components/FormulaSheetModal.js +0 -2
- package/dist/commonjs/features/formulaSheet/components/FormulaSheetModal.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +0 -2
- package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js +4 -9
- package/dist/commonjs/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/TimeBasicLayout.js +11 -15
- package/dist/commonjs/features/keyboard/components/BasicLayout/TimeBasicLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js +0 -2
- package/dist/commonjs/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +0 -2
- package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/Keyboard.js +0 -2
- package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js +0 -2
- package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/Numpad/Numpad.js +0 -2
- package/dist/commonjs/features/keyboard/components/Numpad/Numpad.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +4 -9
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +0 -2
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +0 -2
- package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -1
- package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +0 -2
- package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -1
- package/dist/commonjs/features/problemSelector/components/ProblemSelectorButton.js +0 -2
- package/dist/commonjs/features/problemSelector/components/ProblemSelectorButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +0 -2
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +0 -2
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordTimer.js +0 -2
- package/dist/commonjs/features/voice/recording/components/VoiceRecordTimer.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js +1 -5
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js +0 -4
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js +0 -4
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -1
- package/dist/commonjs/index.js +0 -8
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/shared/components/PlayButton.js.map +1 -1
- package/dist/module/features/chatbot/components/Chat/Chat.js +0 -2
- package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
- package/dist/module/features/chatbot/components/Chat/ChatIcon.js +0 -2
- package/dist/module/features/chatbot/components/Chat/ChatIcon.js.map +1 -1
- package/dist/module/features/chatbot/components/Chat/CloseButton.js +0 -2
- package/dist/module/features/chatbot/components/Chat/CloseButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +0 -2
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js +1 -3
- package/dist/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js +0 -2
- package/dist/module/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js +0 -2
- package/dist/module/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +0 -2
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +0 -2
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +1 -3
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +0 -2
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +0 -2
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js +0 -2
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/CheatDetected/CheatDetected.js +0 -3
- package/dist/module/features/endOfAssignment/components/CheatDetected/CheatDetected.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +0 -2
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamLeave/ExamLeave.js +0 -3
- package/dist/module/features/endOfAssignment/components/ExamLeave/ExamLeave.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js +0 -3
- package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +0 -3
- package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/Modal/Modal.js +1 -4
- package/dist/module/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js +3 -9
- package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButton.js +0 -2
- package/dist/module/features/endOfAssignment/ui/PracticeButton.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +0 -2
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js +0 -2
- package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js.map +1 -1
- package/dist/module/features/exampleSolution/components/QuestionSection.js +0 -2
- package/dist/module/features/exampleSolution/components/QuestionSection.js.map +1 -1
- package/dist/module/features/exampleSolution/components/SolutionSection.js +0 -2
- package/dist/module/features/exampleSolution/components/SolutionSection.js.map +1 -1
- package/dist/module/features/feedback/components/EmptyComment.js +0 -2
- package/dist/module/features/feedback/components/EmptyComment.js.map +1 -1
- package/dist/module/features/feedback/components/ListCardCommentsCount.js +0 -2
- package/dist/module/features/feedback/components/ListCardCommentsCount.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackButton.js +0 -3
- package/dist/module/features/feedback/components/TeacherFeedbackButton.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +0 -2
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/module/features/feedback/components/UnreadMessagesBadge.js +0 -2
- package/dist/module/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
- package/dist/module/features/formulaSheet/components/FormulaSheet.js +0 -2
- package/dist/module/features/formulaSheet/components/FormulaSheet.js.map +1 -1
- package/dist/module/features/formulaSheet/components/FormulaSheetModal.js +0 -2
- package/dist/module/features/formulaSheet/components/FormulaSheetModal.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +0 -2
- package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js +4 -9
- package/dist/module/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/TimeBasicLayout.js +12 -16
- package/dist/module/features/keyboard/components/BasicLayout/TimeBasicLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js +0 -2
- package/dist/module/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +0 -2
- package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/Keyboard.js +0 -2
- package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/module/features/keyboard/components/MainLayout/MainLayout.js +0 -2
- package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/Numpad/Numpad.js +0 -2
- package/dist/module/features/keyboard/components/Numpad/Numpad.js.map +1 -1
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +4 -9
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +0 -2
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +0 -2
- package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -1
- package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +0 -2
- package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -1
- package/dist/module/features/problemSelector/components/ProblemSelectorButton.js +0 -2
- package/dist/module/features/problemSelector/components/ProblemSelectorButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +0 -2
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +0 -2
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordTimer.js +0 -2
- package/dist/module/features/voice/recording/components/VoiceRecordTimer.js.map +1 -1
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js +1 -5
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js.map +1 -1
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js +0 -4
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -1
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js +0 -4
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -1
- package/dist/module/index.js +0 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/shared/components/PlayButton.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chat/ChatIcon.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chat/CloseButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/FreeText/SendMessageButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/Modal.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/exampleSolution/components/QuestionSection.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/exampleSolution/components/SolutionSection.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/EmptyComment.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/formulaSheet/components/FormulaSheet.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/formulaSheet/components/FormulaSheetModal.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/BasicLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/CurrencyBasicLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/TimeBasicLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/Numpad/Numpad.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/problemSelector/components/ProblemSelectorButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordTimer.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/modal/ModalFooterButtons.d.ts +1 -3
- package/dist/typescript/commonjs/features/voice/recording/modal/ModalFooterButtons.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.d.ts.map +1 -1
- package/dist/typescript/commonjs/index.d.ts +0 -1
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/components/PlayButton.d.ts +0 -1
- package/dist/typescript/commonjs/shared/components/PlayButton.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chat/ChatIcon.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chat/CloseButton.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/FreeText/SendMessageButton.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/CheatDetected/CheatDetected.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/ExamLeave/ExamLeave.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/Modal/Modal.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/ui/PracticeButton.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/module/features/exampleSolution/components/ExampleSolutionModalContent.d.ts.map +1 -1
- package/dist/typescript/module/features/exampleSolution/components/QuestionSection.d.ts.map +1 -1
- package/dist/typescript/module/features/exampleSolution/components/SolutionSection.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/EmptyComment.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/ListCardCommentsCount.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.d.ts.map +1 -1
- package/dist/typescript/module/features/feedback/components/UnreadMessagesBadge.d.ts.map +1 -1
- package/dist/typescript/module/features/formulaSheet/components/FormulaSheet.d.ts.map +1 -1
- package/dist/typescript/module/features/formulaSheet/components/FormulaSheetModal.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicLayout/BasicLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicLayout/CurrencyBasicLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicLayout/TimeBasicLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/Numpad/Numpad.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/UnitsLayout.d.ts.map +1 -1
- package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -1
- package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -1
- package/dist/typescript/module/features/problemSelector/components/ProblemSelectorButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordDeleteButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordTimer.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/modal/ModalFooterButtons.d.ts +1 -3
- package/dist/typescript/module/features/voice/recording/modal/ModalFooterButtons.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/modal/VoiceRecordDeleteModal.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/modal/VoiceRecordUndoModal.d.ts.map +1 -1
- package/dist/typescript/module/index.d.ts +0 -1
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/shared/components/PlayButton.d.ts +0 -1
- package/dist/typescript/module/shared/components/PlayButton.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/package.json +1 -1
- package/src/features/chatbot/components/Chat/Chat.tsx +1 -2
- package/src/features/chatbot/components/Chat/ChatIcon.tsx +1 -2
- package/src/features/chatbot/components/Chat/CloseButton.tsx +0 -2
- package/src/features/chatbot/components/ChatControls/ChatControls.tsx +0 -2
- package/src/features/chatbot/components/ChatInput/FreeText/ChatTextInput.tsx +0 -2
- package/src/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.tsx +1 -2
- package/src/features/chatbot/components/ChatInput/FreeText/SendMessageButton.tsx +0 -2
- package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +0 -2
- package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +2 -3
- package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +0 -2
- package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +1 -2
- package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +0 -2
- package/src/features/chatbot/errorSpotting/ErrorSpottingButton.tsx +0 -2
- package/src/features/endOfAssignment/components/CheatDetected/CheatDetected.tsx +1 -3
- package/src/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.tsx +0 -2
- package/src/features/endOfAssignment/components/ExamLeave/ExamLeave.tsx +1 -3
- package/src/features/endOfAssignment/components/ExamPaused/ExamPaused.tsx +1 -3
- package/src/features/endOfAssignment/components/ExamSubmit/ExamSubmit.tsx +1 -3
- package/src/features/endOfAssignment/components/Modal/Modal.tsx +1 -6
- package/src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx +1 -6
- package/src/features/endOfAssignment/ui/PracticeButton.tsx +0 -2
- package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +0 -2
- package/src/features/exampleSolution/components/ExampleSolutionModalContent.tsx +0 -2
- package/src/features/exampleSolution/components/QuestionSection.tsx +1 -2
- package/src/features/exampleSolution/components/SolutionSection.tsx +1 -5
- package/src/features/feedback/components/EmptyComment.tsx +1 -2
- package/src/features/feedback/components/ListCardCommentsCount.tsx +1 -2
- package/src/features/feedback/components/TeacherFeedbackButton.tsx +0 -3
- package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +1 -2
- package/src/features/feedback/components/UnreadMessagesBadge.tsx +0 -2
- package/src/features/formulaSheet/components/FormulaSheet.tsx +0 -2
- package/src/features/formulaSheet/components/FormulaSheetModal.tsx +1 -2
- package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +1 -2
- package/src/features/keyboard/components/BasicLayout/CurrencyBasicLayout.tsx +1 -5
- package/src/features/keyboard/components/BasicLayout/TimeBasicLayout.tsx +13 -16
- package/src/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.tsx +1 -2
- package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +1 -2
- package/src/features/keyboard/components/Keyboard.tsx +0 -2
- package/src/features/keyboard/components/MainLayout/MainLayout.tsx +1 -5
- package/src/features/keyboard/components/Numpad/Numpad.tsx +1 -2
- package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +1 -9
- package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +1 -2
- package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +1 -2
- package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +1 -2
- package/src/features/problemSelector/components/ProblemSelectorButton.tsx +0 -2
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +0 -2
- package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +1 -2
- package/src/features/voice/recording/components/VoiceRecordTimer.tsx +1 -2
- package/src/features/voice/recording/modal/ModalFooterButtons.tsx +0 -6
- package/src/features/voice/recording/modal/VoiceRecordDeleteModal.tsx +0 -4
- package/src/features/voice/recording/modal/VoiceRecordUndoModal.tsx +0 -4
- package/src/index.ts +0 -1
- package/src/shared/components/PlayButton.tsx +0 -1
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +34 -0
- package/yarn.lock +10984 -0
- package/dist/commonjs/config/dataTestIDs.js +0 -66
- package/dist/commonjs/config/dataTestIDs.js.map +0 -1
- package/dist/module/config/dataTestIDs.js +0 -63
- package/dist/module/config/dataTestIDs.js.map +0 -1
- package/dist/typescript/commonjs/config/dataTestIDs.d.ts +0 -61
- package/dist/typescript/commonjs/config/dataTestIDs.d.ts.map +0 -1
- package/dist/typescript/module/config/dataTestIDs.d.ts +0 -61
- package/dist/typescript/module/config/dataTestIDs.d.ts.map +0 -1
- package/src/config/dataTestIDs.ts +0 -66
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { getDefaultConfig } = require('@expo/metro-config');
|
|
3
|
+
const { getConfig } = require('react-native-builder-bob/metro-config');
|
|
4
|
+
const pkg = require('../package.json');
|
|
5
|
+
|
|
6
|
+
const root = path.resolve(__dirname, '..');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Metro configuration
|
|
10
|
+
* https://facebook.github.io/metro/docs/configuration
|
|
11
|
+
*
|
|
12
|
+
* @type {import('metro-config').MetroConfig}
|
|
13
|
+
*/
|
|
14
|
+
module.exports = getConfig(getDefaultConfig(__dirname), {
|
|
15
|
+
root,
|
|
16
|
+
pkg,
|
|
17
|
+
project: __dirname,
|
|
18
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@magmamath/students-features-example",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"start": "expo start",
|
|
7
|
+
"android": "expo start --android",
|
|
8
|
+
"ios": "expo start --ios",
|
|
9
|
+
"web": "expo start --web"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@expo/metro-runtime": "~4.0.0",
|
|
13
|
+
"expo": "~52.0.11",
|
|
14
|
+
"expo-status-bar": "~2.0.0",
|
|
15
|
+
"react": "18.3.1",
|
|
16
|
+
"react-dom": "18.3.1",
|
|
17
|
+
"react-native": "0.76.3",
|
|
18
|
+
"react-native-web": "~0.19.13"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@babel/core": "^7.20.0",
|
|
22
|
+
"react-native-builder-bob": "^0.33.3"
|
|
23
|
+
},
|
|
24
|
+
"private": true
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -21,7 +21,6 @@ import { MessageItem } from './MessageItem'
|
|
|
21
21
|
import { CHAT_CONTAINER_WIDTH } from '../../constants'
|
|
22
22
|
import { useChatScroll } from '../../hooks/useChatScroll'
|
|
23
23
|
import { useChatFade, FadeOverlays } from '../../hooks/useChatFade'
|
|
24
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
25
24
|
|
|
26
25
|
const Separator = () => <View style={styles.separator} />
|
|
27
26
|
const keyExtractor = (item: ConversationMessage, index: number) => `${item.id}-${index}`
|
|
@@ -116,7 +115,7 @@ export const Chat = ({
|
|
|
116
115
|
if (!isOpen) return null
|
|
117
116
|
|
|
118
117
|
return (
|
|
119
|
-
<View
|
|
118
|
+
<View style={[styles.container, { maxHeight }]}>
|
|
120
119
|
<View style={styles.listWrapper}>
|
|
121
120
|
<FlatList
|
|
122
121
|
ref={listRef}
|
|
@@ -5,14 +5,13 @@ import { IS_WEB } from '@magmamath/react-native-ui'
|
|
|
5
5
|
import { ChatbotIcon } from '../../../../shared/icons/ChatbotIcon'
|
|
6
6
|
import { LavaIconInGlasses } from '../../../../shared/icons/LavaIconInGlasses'
|
|
7
7
|
import { CHATBOT_ICON_SIZE } from '../../constants'
|
|
8
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
9
8
|
|
|
10
9
|
type ChatIconProps = {
|
|
11
10
|
isLoading: boolean
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
export const ChatIcon = ({ isLoading }: ChatIconProps) => (
|
|
15
|
-
<View style={styles.container}
|
|
14
|
+
<View style={styles.container}>
|
|
16
15
|
{isLoading ? (
|
|
17
16
|
<LavaIconInGlasses width={CHATBOT_ICON_SIZE.width} height={CHATBOT_ICON_SIZE.height} />
|
|
18
17
|
) : (
|
|
@@ -2,7 +2,6 @@ import React from 'react'
|
|
|
2
2
|
import { StyleSheet } from 'react-native'
|
|
3
3
|
import { Button, ButtonColor, ButtonSize, ButtonVariant, COLORS } from '@magmamath/react-native-ui'
|
|
4
4
|
import { CloseIcon } from '../../../../shared/icons/CloseIcon'
|
|
5
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
6
5
|
|
|
7
6
|
type CloseButtonProps = {
|
|
8
7
|
onPress?: () => void
|
|
@@ -16,7 +15,6 @@ export const CloseButton = ({ onPress }: CloseButtonProps) => (
|
|
|
16
15
|
size={ButtonSize.MEDIUM}
|
|
17
16
|
colorScheme={ButtonColor.WHITE}
|
|
18
17
|
raiseLevel={5}
|
|
19
|
-
testID={TEST_IDS.CHAT_CLOSE_BUTTON}
|
|
20
18
|
>
|
|
21
19
|
<CloseIcon width={18} height={18} />
|
|
22
20
|
</Button>
|
|
@@ -5,7 +5,6 @@ import { Button, ButtonColor, ButtonSize, ButtonVariant } from '@magmamath/react
|
|
|
5
5
|
import { useUnit } from 'effector-react'
|
|
6
6
|
import { ChatbotModel } from '../../model/ChatBotModel'
|
|
7
7
|
import { ChatbotIcon } from '../../../../shared/icons/ChatbotIcon'
|
|
8
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
9
8
|
|
|
10
9
|
type ChatControlsProps = {
|
|
11
10
|
model: ChatbotModel
|
|
@@ -44,7 +43,6 @@ export const ChatControls = ({
|
|
|
44
43
|
raiseLevel={3}
|
|
45
44
|
onPress={onPressHelpButton}
|
|
46
45
|
style={{ text: styles.helpButtonText }}
|
|
47
|
-
testID={TEST_IDS.CHAT_GET_A_HINT_BUTTON}
|
|
48
46
|
>
|
|
49
47
|
{(isTranslated && getHint.translatedText) || getHint.text}
|
|
50
48
|
</Button>
|
|
@@ -14,7 +14,6 @@ import { useKeyBoard } from '../../../../../shared/hooks/useKeyboard'
|
|
|
14
14
|
import { KeyboardKeys } from '../../../../../lib/constants'
|
|
15
15
|
|
|
16
16
|
import { SendMessageButton } from './SendMessageButton'
|
|
17
|
-
import { TEST_IDS } from '../../../../../config/dataTestIDs'
|
|
18
17
|
|
|
19
18
|
const MAX_AVAILABLE_MESSAGE_LENGTH = 500
|
|
20
19
|
const COMPACT_WIDTH = 134
|
|
@@ -111,7 +110,6 @@ export const ChatTextInput = ({
|
|
|
111
110
|
placeholder={placeholder}
|
|
112
111
|
placeholderTextColor={COLORS.NEUTRAL_5}
|
|
113
112
|
style={styles.input}
|
|
114
|
-
testID={TEST_IDS.OPEN_CHAT_TEXT_INPUT}
|
|
115
113
|
/>
|
|
116
114
|
<SendMessageButton
|
|
117
115
|
onPress={handleSendMessage}
|
|
@@ -6,7 +6,6 @@ import { HintButtonVariant, RequestHintButton } from '../RequestHintButton'
|
|
|
6
6
|
import { useChatModel } from '../../../context/ChatBotModelContext'
|
|
7
7
|
import { t } from '../../../../../shared/translation'
|
|
8
8
|
import { ChatTextInput } from './ChatTextInput'
|
|
9
|
-
import { TEST_IDS } from '../../../../../config/dataTestIDs'
|
|
10
9
|
|
|
11
10
|
type FreeTextInputBlockProps = {
|
|
12
11
|
optionLabel: string
|
|
@@ -39,7 +38,7 @@ export const FreeTextInputBlock = ({
|
|
|
39
38
|
const handleOnChangeText = (text: string) => model.textInput.setValue(text)
|
|
40
39
|
|
|
41
40
|
return (
|
|
42
|
-
<View style={styles.container}
|
|
41
|
+
<View style={styles.container}>
|
|
43
42
|
<ChatTextInput
|
|
44
43
|
value={inputValue}
|
|
45
44
|
onSubmit={handleOnSubmit}
|
|
@@ -9,7 +9,6 @@ import Animated, {
|
|
|
9
9
|
import { ArrowUpIcon, COLORS, IS_MOBILE } from '@magmamath/react-native-ui'
|
|
10
10
|
import { ColorScheme } from '@magmamath/students-features'
|
|
11
11
|
import { MESSAGE_COLORS_MAP } from '../../../constants'
|
|
12
|
-
import { TEST_IDS } from '../../../../../config/dataTestIDs'
|
|
13
12
|
|
|
14
13
|
type SendMessageButtonProps = {
|
|
15
14
|
onPress: () => void
|
|
@@ -55,7 +54,6 @@ export const SendMessageButton = ({
|
|
|
55
54
|
disabled={disabled}
|
|
56
55
|
accessibilityState={{ disabled }}
|
|
57
56
|
accessibilityRole="button"
|
|
58
|
-
testID={TEST_IDS.OPEN_CHAT_SEND_MESSAGE_BUTTON}
|
|
59
57
|
>
|
|
60
58
|
{IS_MOBILE ? (
|
|
61
59
|
<Animated.View
|
|
@@ -14,7 +14,6 @@ import {
|
|
|
14
14
|
SPACING,
|
|
15
15
|
} from '@magmamath/react-native-ui'
|
|
16
16
|
import { ColorScheme } from '@magmamath/students-features'
|
|
17
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
18
17
|
import { INPUT_WIDTH, MESSAGE_COLORS_MAP } from '../../constants'
|
|
19
18
|
|
|
20
19
|
export enum HintButtonVariant {
|
|
@@ -104,7 +103,6 @@ export const RequestHintButton = memo(
|
|
|
104
103
|
disabled={disabled}
|
|
105
104
|
accessibilityState={{ disabled }}
|
|
106
105
|
accessibilityRole="button"
|
|
107
|
-
testID={TEST_IDS.CHAT_NEED_A_HINT_BUTTON}
|
|
108
106
|
>
|
|
109
107
|
<Animated.View style={[styles.content, animatedTextContainerStyle]}>
|
|
110
108
|
<Animated.Text numberOfLines={1} style={[styles.text, animatedTextStyle, { fontSize }]}>
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from 'react'
|
|
1
|
+
import React, { PropsWithChildren } from 'react'
|
|
2
2
|
import { StyleSheet, View } from 'react-native'
|
|
3
3
|
import { BORDER_RADIUS, COLORS, Loader, LoaderColor } from '@magmamath/react-native-ui'
|
|
4
4
|
import { SPACING } from '@magmamath/react-native-ui'
|
|
5
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
6
5
|
|
|
7
6
|
type MessageLoaderProps = {
|
|
8
7
|
isLoading?: boolean
|
|
@@ -12,7 +11,7 @@ export const MessageLoader = ({ isLoading }: MessageLoaderProps) => {
|
|
|
12
11
|
if (!isLoading) return null
|
|
13
12
|
|
|
14
13
|
return (
|
|
15
|
-
<View style={styles.loader}
|
|
14
|
+
<View style={styles.loader}>
|
|
16
15
|
<Loader color={LoaderColor.GRAY} />
|
|
17
16
|
</View>
|
|
18
17
|
)
|
|
@@ -6,7 +6,6 @@ import { ConversationMessage } from '../../types/units.types'
|
|
|
6
6
|
import { MessageVariant } from '../../types/model.types'
|
|
7
7
|
import { ColorScheme } from '../../types/style.types'
|
|
8
8
|
import { MESSAGE_COLORS_MAP } from '../../constants'
|
|
9
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
10
9
|
|
|
11
10
|
type MessageTextToSpeechProps = {
|
|
12
11
|
state: T2SState
|
|
@@ -35,7 +34,6 @@ export const MessageTextToSpeech = ({
|
|
|
35
34
|
colorScheme={MESSAGE_COLORS_MAP[colorScheme][variant].icon}
|
|
36
35
|
state={state}
|
|
37
36
|
onPress={play}
|
|
38
|
-
testID={TEST_IDS.CHAT_TTS_BUTTON}
|
|
39
37
|
/>
|
|
40
38
|
)
|
|
41
39
|
}
|
|
@@ -7,7 +7,6 @@ import { ColorScheme } from '../../types/style.types'
|
|
|
7
7
|
import { MessageVariant } from '../../types/model.types'
|
|
8
8
|
import { VariantProps } from './ChatMessage'
|
|
9
9
|
import { MessageContent } from './MessageContent'
|
|
10
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
11
10
|
|
|
12
11
|
export const ReceivedMessage = ({
|
|
13
12
|
message,
|
|
@@ -22,7 +21,7 @@ export const ReceivedMessage = ({
|
|
|
22
21
|
const text = isTranslated ? message.translatedMessage : message.message
|
|
23
22
|
|
|
24
23
|
return (
|
|
25
|
-
<View style={styles.container}
|
|
24
|
+
<View style={styles.container}>
|
|
26
25
|
<View style={[styles.iconWrapper, { opacity: withIcon ? 1 : 0 }]}>
|
|
27
26
|
<ChatbotIcon width={CHATBOT_ICON_SIZE.width} height={CHATBOT_ICON_SIZE.height} />
|
|
28
27
|
</View>
|
|
@@ -7,7 +7,6 @@ import { VariantProps } from './ChatMessage'
|
|
|
7
7
|
import { MESSAGE_COLORS_MAP } from '../../constants'
|
|
8
8
|
import { ColorScheme } from '../../types/style.types'
|
|
9
9
|
import { MessageVariant } from '../../types/model.types'
|
|
10
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
11
10
|
|
|
12
11
|
export const SentMessage = React.memo(
|
|
13
12
|
({ message, isTranslated, colorScheme = ColorScheme.Blue }: VariantProps) => {
|
|
@@ -15,7 +14,6 @@ export const SentMessage = React.memo(
|
|
|
15
14
|
|
|
16
15
|
return (
|
|
17
16
|
<View
|
|
18
|
-
testID={TEST_IDS.CHAT_MESSAGE_SENT}
|
|
19
17
|
style={[
|
|
20
18
|
styles.container,
|
|
21
19
|
{ backgroundColor: MESSAGE_COLORS_MAP[colorScheme][MessageVariant.SENT].background },
|
|
@@ -6,7 +6,6 @@ import { StyleSheet } from 'react-native'
|
|
|
6
6
|
import { HighlighterIcon } from '../../../shared/icons/HighlighterIcon'
|
|
7
7
|
import { ConversationMessage } from '../types/units.types'
|
|
8
8
|
import { useText } from '../../../shared/translation'
|
|
9
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
10
9
|
|
|
11
10
|
type ErrorSpottingButtonProps = {
|
|
12
11
|
contextMessage: ConversationMessage
|
|
@@ -33,7 +32,6 @@ export const ErrorSpottingButton = ({ contextMessage }: ErrorSpottingButtonProps
|
|
|
33
32
|
variant={'secondary'}
|
|
34
33
|
colorScheme={'blue'}
|
|
35
34
|
size={'small'}
|
|
36
|
-
testID={TEST_IDS.CHAT_ERROR_SPOTTING_BUTTON}
|
|
37
35
|
onPress={() => {
|
|
38
36
|
model.errorSpotting.errorSpottingPressed({ message: contextMessage })
|
|
39
37
|
}}
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
import { EOAModalContentProps } from '../../types'
|
|
14
14
|
import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
|
|
15
15
|
import { KeyboardKeys } from '../../../../lib/constants'
|
|
16
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
17
16
|
|
|
18
17
|
export const CheatDetected = ({ textContent, model }: EOAModalContentProps) => {
|
|
19
18
|
useKeyBoard({
|
|
@@ -25,7 +24,7 @@ export const CheatDetected = ({ textContent, model }: EOAModalContentProps) => {
|
|
|
25
24
|
})
|
|
26
25
|
|
|
27
26
|
return (
|
|
28
|
-
<View style={styles.container}
|
|
27
|
+
<View style={styles.container}>
|
|
29
28
|
<Typography variant="h2" style={styles.title}>
|
|
30
29
|
{textContent.title}
|
|
31
30
|
</Typography>
|
|
@@ -40,7 +39,6 @@ export const CheatDetected = ({ textContent, model }: EOAModalContentProps) => {
|
|
|
40
39
|
size={ButtonSize.LARGE}
|
|
41
40
|
style={{ text: styles.buttonText }}
|
|
42
41
|
onPress={model.hidePopUpAndLeave}
|
|
43
|
-
testID={TEST_IDS.EOA_LEAVE_BUTTON}
|
|
44
42
|
>
|
|
45
43
|
{textContent.leftButtonText}
|
|
46
44
|
</Button>
|
|
@@ -12,7 +12,6 @@ import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
|
|
|
12
12
|
import { KeyboardKeys } from '../../../../lib/constants'
|
|
13
13
|
import { getEoaButtonColor } from '../../helpers'
|
|
14
14
|
import { AssessmentScoreCard } from '../AssessmentScoreCard/AssessmentScoreCard'
|
|
15
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
16
15
|
|
|
17
16
|
export const CorrectAnswer = ({ textContent, model, onPracticePress }: EOAModalContentProps) => {
|
|
18
17
|
const popUpData = useUnit(model.$popUpData)
|
|
@@ -60,7 +59,6 @@ export const CorrectAnswer = ({ textContent, model, onPracticePress }: EOAModalC
|
|
|
60
59
|
|
|
61
60
|
return (
|
|
62
61
|
<View
|
|
63
|
-
testID={TEST_IDS.EOA_WITH_CORRECT_ANSWER}
|
|
64
62
|
style={[
|
|
65
63
|
styles.wrapper,
|
|
66
64
|
modalVariant !== EOAModalVariant.HAS_GOOD_DRAWING && { alignItems: 'center' },
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
import { EOAModalContentProps } from '../../types'
|
|
14
14
|
import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
|
|
15
15
|
import { KeyboardKeys } from '../../../../lib/constants'
|
|
16
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
17
16
|
|
|
18
17
|
export const ExamLeave = ({ textContent, model }: EOAModalContentProps) => {
|
|
19
18
|
const handleDismiss = () => model.hidePopUp()
|
|
@@ -27,7 +26,7 @@ export const ExamLeave = ({ textContent, model }: EOAModalContentProps) => {
|
|
|
27
26
|
})
|
|
28
27
|
|
|
29
28
|
return (
|
|
30
|
-
<View style={styles.container}
|
|
29
|
+
<View style={styles.container}>
|
|
31
30
|
<Typography variant="h1" style={styles.description}>
|
|
32
31
|
{textContent.description}
|
|
33
32
|
</Typography>
|
|
@@ -48,7 +47,6 @@ export const ExamLeave = ({ textContent, model }: EOAModalContentProps) => {
|
|
|
48
47
|
size={ButtonSize.LARGE}
|
|
49
48
|
style={{ text: styles.buttonText }}
|
|
50
49
|
onPress={model.hidePopUpAndLeave}
|
|
51
|
-
testID={TEST_IDS.EOA_LEAVE_BUTTON}
|
|
52
50
|
>
|
|
53
51
|
{textContent.rightButtonText}
|
|
54
52
|
</Button>
|
|
@@ -15,7 +15,6 @@ import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
|
|
|
15
15
|
import { KeyboardKeys } from '../../../../lib/constants'
|
|
16
16
|
import { getEoaButtonColor } from '../../helpers'
|
|
17
17
|
import { useUnit } from 'effector-react'
|
|
18
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
19
18
|
|
|
20
19
|
export const ExamPaused = ({ textContent, model }: EOAModalContentProps) => {
|
|
21
20
|
const popUpData = useUnit(model.$popUpData)
|
|
@@ -29,7 +28,7 @@ export const ExamPaused = ({ textContent, model }: EOAModalContentProps) => {
|
|
|
29
28
|
})
|
|
30
29
|
|
|
31
30
|
return (
|
|
32
|
-
<View style={styles.container}
|
|
31
|
+
<View style={styles.container}>
|
|
33
32
|
<Typography variant="h2" style={styles.title}>
|
|
34
33
|
{textContent.title}
|
|
35
34
|
</Typography>
|
|
@@ -44,7 +43,6 @@ export const ExamPaused = ({ textContent, model }: EOAModalContentProps) => {
|
|
|
44
43
|
size={ButtonSize.LARGE}
|
|
45
44
|
style={{ text: styles.buttonText }}
|
|
46
45
|
onPress={model.hidePopUpAndLeave}
|
|
47
|
-
testID={TEST_IDS.EOA_LEAVE_BUTTON}
|
|
48
46
|
>
|
|
49
47
|
{textContent.leftButtonText}
|
|
50
48
|
</Button>
|
|
@@ -18,7 +18,6 @@ import { PracticeButton } from '../../ui/PracticeButton'
|
|
|
18
18
|
import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
|
|
19
19
|
import { KeyboardKeys } from '../../../../lib/constants'
|
|
20
20
|
import { getEoaButtonColor } from '../../helpers'
|
|
21
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
22
21
|
|
|
23
22
|
export const ExamSubmit = ({ textContent, model, onPracticePress }: EOAModalContentProps) => {
|
|
24
23
|
const popUpData = useUnit(model.$popUpData)
|
|
@@ -42,7 +41,7 @@ export const ExamSubmit = ({ textContent, model, onPracticePress }: EOAModalCont
|
|
|
42
41
|
})
|
|
43
42
|
|
|
44
43
|
return (
|
|
45
|
-
<View style={styles.container}
|
|
44
|
+
<View style={styles.container}>
|
|
46
45
|
<View style={styles.contentBackground}>
|
|
47
46
|
{IS_MOBILE ? (
|
|
48
47
|
<Image source={require('./blurred-card.png')} />
|
|
@@ -64,7 +63,6 @@ export const ExamSubmit = ({ textContent, model, onPracticePress }: EOAModalCont
|
|
|
64
63
|
colorScheme={getEoaButtonColor(popUpData)}
|
|
65
64
|
style={{ text: { textTransform: 'uppercase' } }}
|
|
66
65
|
onPress={model.hidePopUpAndLeave}
|
|
67
|
-
testID={TEST_IDS.EOA_LEAVE_BUTTON}
|
|
68
66
|
>
|
|
69
67
|
{textContent.leftButtonText ?? ''}
|
|
70
68
|
</Button>
|
|
@@ -23,7 +23,6 @@ import {
|
|
|
23
23
|
|
|
24
24
|
import { ModalModel } from './model'
|
|
25
25
|
import { ModalBackground } from './ModalBackground'
|
|
26
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
27
26
|
|
|
28
27
|
const stopPropagation = {
|
|
29
28
|
onTouchStart: (event: GestureResponderEvent) => {
|
|
@@ -72,10 +71,7 @@ export const Modal = ({
|
|
|
72
71
|
if (!isVisible) return null
|
|
73
72
|
return (
|
|
74
73
|
<TouchableWithoutFeedback onPress={() => isDismissable && onClose?.()}>
|
|
75
|
-
<Animated.View
|
|
76
|
-
style={[styles.overlay, style?.overlay, modalModel.animatedStyle]}
|
|
77
|
-
testID={TEST_IDS.EOA_MODAL}
|
|
78
|
-
>
|
|
74
|
+
<Animated.View style={[styles.overlay, style?.overlay, modalModel.animatedStyle]}>
|
|
79
75
|
<TouchableWithoutFeedback {...stopPropagation}>
|
|
80
76
|
<View style={[styles.container, style?.container]}>
|
|
81
77
|
{withBackground && <View style={styles.backgroundWrapper}>{<ModalBackground />}</View>}
|
|
@@ -85,7 +81,6 @@ export const Modal = ({
|
|
|
85
81
|
variant={ButtonVariant.TERTIARY}
|
|
86
82
|
icon={<CrossIcon size={18} color={COLORS.NEUTRAL_7} />}
|
|
87
83
|
onPress={onClose}
|
|
88
|
-
testID={TEST_IDS.EOA_MODAL_CLOSE_BUTTON}
|
|
89
84
|
/>
|
|
90
85
|
</View>
|
|
91
86
|
)}
|
|
@@ -18,7 +18,6 @@ import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
|
|
|
18
18
|
import { KeyboardKeys } from '../../../../lib/constants'
|
|
19
19
|
import { getEoaButtonColor } from '../../helpers'
|
|
20
20
|
import { AssessmentScoreCard } from '../AssessmentScoreCard/AssessmentScoreCard'
|
|
21
|
-
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
22
21
|
|
|
23
22
|
export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalContentProps) => {
|
|
24
23
|
const popUpData = useUnit(model.$popUpData)
|
|
@@ -31,7 +30,6 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
|
|
|
31
30
|
text: textContent.leftButtonText ?? '',
|
|
32
31
|
colorScheme: getEoaButtonColor(popUpData),
|
|
33
32
|
onPress: () => model.hidePopUpAndLeave(),
|
|
34
|
-
testID: TEST_IDS.EOA_LEAVE_BUTTON as string | undefined,
|
|
35
33
|
},
|
|
36
34
|
]
|
|
37
35
|
|
|
@@ -43,7 +41,6 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
|
|
|
43
41
|
model.goToFirstProblemPressed()
|
|
44
42
|
model.hidePopUp()
|
|
45
43
|
},
|
|
46
|
-
testID: TEST_IDS.EOA_GO_TO_PROBLEM_ONE_BUTTON,
|
|
47
44
|
})
|
|
48
45
|
return buttons
|
|
49
46
|
}
|
|
@@ -58,7 +55,6 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
|
|
|
58
55
|
onPracticePress?.()
|
|
59
56
|
model.hidePopUp()
|
|
60
57
|
},
|
|
61
|
-
testID: TEST_IDS.EOA_PRACTICE_BUTTON,
|
|
62
58
|
})
|
|
63
59
|
}
|
|
64
60
|
|
|
@@ -77,7 +73,7 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
|
|
|
77
73
|
})
|
|
78
74
|
|
|
79
75
|
return (
|
|
80
|
-
<View style={styles.container}
|
|
76
|
+
<View style={styles.container}>
|
|
81
77
|
<View style={styles.textContainer}>
|
|
82
78
|
{!!textContent.title && (
|
|
83
79
|
<Typography variant="h2" style={styles.title}>
|
|
@@ -112,7 +108,6 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
|
|
|
112
108
|
colorScheme={button.colorScheme}
|
|
113
109
|
style={{ text: { textTransform: 'uppercase' } }}
|
|
114
110
|
onPress={button.onPress}
|
|
115
|
-
testID={button.testID}
|
|
116
111
|
>
|
|
117
112
|
{button.text}
|
|
118
113
|
</Button>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
|
|
3
3
|
import { Button, ButtonColor } from '@magmamath/react-native-ui'
|
|
4
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
5
4
|
|
|
6
5
|
type PracticeButtonProps = {
|
|
7
6
|
onPress: () => void
|
|
@@ -21,7 +20,6 @@ export const PracticeButton = ({
|
|
|
21
20
|
size="large"
|
|
22
21
|
style={{ text: { textTransform: 'uppercase' } }}
|
|
23
22
|
onPress={onPress}
|
|
24
|
-
testID={TEST_IDS.EOA_PRACTICE_BUTTON}
|
|
25
23
|
>
|
|
26
24
|
{text}
|
|
27
25
|
</Button>
|
|
@@ -11,7 +11,6 @@ import Animated, {
|
|
|
11
11
|
import { ButtonVariant, SPACING, Button, ButtonSize, ButtonColor } from '@magmamath/react-native-ui'
|
|
12
12
|
|
|
13
13
|
import { PracticeButton } from './PracticeButton'
|
|
14
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
15
14
|
|
|
16
15
|
type PracticeButtonGroupProps = {
|
|
17
16
|
textContent: { leftButtonText?: string; rightButtonText?: string }
|
|
@@ -51,7 +50,6 @@ export const PracticeButtonGroup = ({
|
|
|
51
50
|
colorScheme={buttonColor}
|
|
52
51
|
style={{ text: { textTransform: 'uppercase' } }}
|
|
53
52
|
onPress={onLeftButtonPress}
|
|
54
|
-
testID={TEST_IDS.EOA_LEAVE_BUTTON}
|
|
55
53
|
>
|
|
56
54
|
{textContent.leftButtonText}
|
|
57
55
|
</Button>
|
|
@@ -7,7 +7,6 @@ import { ExampleSolutionModalParams } from '../types'
|
|
|
7
7
|
import { QuestionSection } from './QuestionSection'
|
|
8
8
|
import { SolutionSection } from './SolutionSection'
|
|
9
9
|
import { useExampleSolution } from '../hooks/useExampleSolution'
|
|
10
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
11
10
|
|
|
12
11
|
type ExampleSolutionModalContentProps = {
|
|
13
12
|
params: ExampleSolutionModalParams
|
|
@@ -23,7 +22,6 @@ export const ExampleSolutionModalContent = ({
|
|
|
23
22
|
|
|
24
23
|
return (
|
|
25
24
|
<View
|
|
26
|
-
testID={TEST_IDS.EXAMPLE_SOLUTION_MODAL}
|
|
27
25
|
style={[
|
|
28
26
|
styles.container,
|
|
29
27
|
IS_WEB ? { maxHeight: CONTAINER_HEIGHT } : { height: CONTAINER_HEIGHT },
|
|
@@ -3,7 +3,6 @@ import React from 'react'
|
|
|
3
3
|
import { COLORS, Loader, LoaderColor, SPACING } from '@magmamath/react-native-ui'
|
|
4
4
|
import Animated, { FadeOut } from 'react-native-reanimated'
|
|
5
5
|
import { ExampleSolutionStatuses } from '../constants'
|
|
6
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
7
6
|
|
|
8
7
|
type QuestionSectionProps = {
|
|
9
8
|
question?: string
|
|
@@ -17,7 +16,7 @@ export const QuestionSection = ({
|
|
|
17
16
|
renderKatexComponent,
|
|
18
17
|
}: QuestionSectionProps) => {
|
|
19
18
|
return (
|
|
20
|
-
<View style={styles.container}
|
|
19
|
+
<View style={styles.container}>
|
|
21
20
|
{question && <View style={styles.katexContainer}>{renderKatexComponent(question)}</View>}
|
|
22
21
|
{status === ExampleSolutionStatuses.LOADING && (
|
|
23
22
|
<Animated.View exiting={FadeOut} style={styles.loaderContainer}>
|
|
@@ -11,7 +11,6 @@ import { COLORS, IS_WEB, SPACING } from '@magmamath/react-native-ui'
|
|
|
11
11
|
import Animated, { FadeIn } from 'react-native-reanimated'
|
|
12
12
|
import { ExampleSolutionStatuses } from '../constants'
|
|
13
13
|
import gridImage from '../assets/grid.webp'
|
|
14
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
15
14
|
|
|
16
15
|
type SolutionSectionProps = {
|
|
17
16
|
answer?: string
|
|
@@ -35,10 +34,7 @@ export const SolutionSection = ({ answer, status }: SolutionSectionProps) => {
|
|
|
35
34
|
(status === ExampleSolutionStatuses.DONE_DATA || status === ExampleSolutionStatuses.CACHE)
|
|
36
35
|
|
|
37
36
|
return (
|
|
38
|
-
<View
|
|
39
|
-
style={[styles.container, IS_WEB && { maxHeight: height - CONTAINER_HEIGHT_OFFSET }]}
|
|
40
|
-
testID={TEST_IDS.EXAMPLE_SOLUTION_SOLUTION_SECTION}
|
|
41
|
-
>
|
|
37
|
+
<View style={[styles.container, IS_WEB && { maxHeight: height - CONTAINER_HEIGHT_OFFSET }]}>
|
|
42
38
|
<ScrollView
|
|
43
39
|
style={styles.solutionScroll}
|
|
44
40
|
contentContainerStyle={styles.solutionScrollContent}
|
|
@@ -3,12 +3,11 @@ import { StyleSheet, Text, View } from 'react-native'
|
|
|
3
3
|
import { COLORS } from '@magmamath/react-native-ui'
|
|
4
4
|
import { BUENOS_AIRES_FONT } from '../constants'
|
|
5
5
|
import { useText } from '../../../shared/translation'
|
|
6
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
7
6
|
|
|
8
7
|
export const EmptyComment = () => {
|
|
9
8
|
const t = useText()
|
|
10
9
|
return (
|
|
11
|
-
<View style={styles.container}
|
|
10
|
+
<View style={styles.container}>
|
|
12
11
|
<Text style={styles.text}>{t('teacherFeedback.noComments')}</Text>
|
|
13
12
|
</View>
|
|
14
13
|
)
|
|
@@ -3,7 +3,6 @@ import { Text, View, StyleSheet } from 'react-native'
|
|
|
3
3
|
import { MessageBubbleIcon } from '../../../shared/icons/MessageBubbleIcon'
|
|
4
4
|
import { COLORS } from '@magmamath/react-native-ui'
|
|
5
5
|
import { BUENOS_AIRES_FONT } from '../constants'
|
|
6
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
7
6
|
|
|
8
7
|
type ListCardCommentsCountProps = {
|
|
9
8
|
count: number
|
|
@@ -11,7 +10,7 @@ type ListCardCommentsCountProps = {
|
|
|
11
10
|
|
|
12
11
|
export const ListCardCommentsCount = ({ count }: ListCardCommentsCountProps) => {
|
|
13
12
|
return (
|
|
14
|
-
<View style={styles.container}
|
|
13
|
+
<View style={styles.container}>
|
|
15
14
|
<MessageBubbleIcon size={23} color={COLORS.NEUTRAL_7} />
|
|
16
15
|
<Text style={styles.text}>{count}</Text>
|
|
17
16
|
</View>
|
|
@@ -5,7 +5,6 @@ import { UnreadMessagesBadge } from './UnreadMessagesBadge'
|
|
|
5
5
|
import { MessageBubbleIcon } from '../../../shared/icons/MessageBubbleIcon'
|
|
6
6
|
import { XCloseIcon } from '../../../shared/icons/XCloseIcon'
|
|
7
7
|
import { FeedbackButtonSize, TEACHER_FEEDBACK_BUTTON_ID } from '../constants'
|
|
8
|
-
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
9
8
|
|
|
10
9
|
const ICON_SIZES = {
|
|
11
10
|
[FeedbackButtonSize.LARGE]: 37,
|
|
@@ -37,7 +36,6 @@ export const TeacherFeedbackButton = ({
|
|
|
37
36
|
return (
|
|
38
37
|
<Button
|
|
39
38
|
id={TEACHER_FEEDBACK_BUTTON_ID}
|
|
40
|
-
testID={TEST_IDS.TEACHER_COMMENTS_BUTTON}
|
|
41
39
|
onPress={onPress}
|
|
42
40
|
size="large"
|
|
43
41
|
variant="primary"
|
|
@@ -56,7 +54,6 @@ export const TeacherFeedbackButton = ({
|
|
|
56
54
|
return (
|
|
57
55
|
<Button
|
|
58
56
|
id={TEACHER_FEEDBACK_BUTTON_ID}
|
|
59
|
-
testID={TEST_IDS.TEACHER_COMMENTS_BUTTON}
|
|
60
57
|
onPress={onPress}
|
|
61
58
|
size="large"
|
|
62
59
|
variant="primary"
|