@magmamath/students-features 1.3.16 → 1.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/config/dataTestIDs.js +80 -0
- package/dist/commonjs/config/dataTestIDs.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/Chat/Chat.js +2 -0
- package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chat/ChatIcon.js +2 -0
- package/dist/commonjs/features/chatbot/components/Chat/ChatIcon.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chat/CloseButton.js +2 -0
- package/dist/commonjs/features/chatbot/components/Chat/CloseButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js +3 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +3 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +2 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js +2 -0
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.js +3 -0
- package/dist/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +2 -0
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.js +4 -0
- package/dist/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js +3 -0
- package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +3 -0
- package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js +4 -1
- package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js +9 -3
- package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButton.js +2 -0
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButton.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -0
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js +2 -0
- package/dist/commonjs/features/exampleSolution/components/ExampleSolutionModalContent.js.map +1 -1
- package/dist/commonjs/features/exampleSolution/components/QuestionSection.js +2 -0
- package/dist/commonjs/features/exampleSolution/components/QuestionSection.js.map +1 -1
- package/dist/commonjs/features/exampleSolution/components/SolutionSection.js +2 -0
- package/dist/commonjs/features/exampleSolution/components/SolutionSection.js.map +1 -1
- package/dist/commonjs/features/feedback/components/EmptyComment.js +2 -0
- package/dist/commonjs/features/feedback/components/EmptyComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js +2 -0
- package/dist/commonjs/features/feedback/components/ListCardCommentsCount.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton.js +3 -0
- package/dist/commonjs/features/feedback/components/TeacherFeedbackButton.js.map +1 -1
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +2 -0
- package/dist/commonjs/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js +2 -0
- package/dist/commonjs/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
- package/dist/commonjs/features/formulaSheet/components/FormulaSheet.js +2 -0
- package/dist/commonjs/features/formulaSheet/components/FormulaSheet.js.map +1 -1
- package/dist/commonjs/features/formulaSheet/components/FormulaSheetModal.js +2 -0
- package/dist/commonjs/features/formulaSheet/components/FormulaSheetModal.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +2 -0
- package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js +9 -4
- package/dist/commonjs/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicLayout/TimeBasicLayout.js +15 -11
- package/dist/commonjs/features/keyboard/components/BasicLayout/TimeBasicLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js +2 -0
- package/dist/commonjs/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -0
- package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/Keyboard.js +2 -0
- package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js +2 -0
- package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/Numpad/Numpad.js +2 -0
- package/dist/commonjs/features/keyboard/components/Numpad/Numpad.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +9 -4
- package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +2 -0
- package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +2 -0
- package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -1
- package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +2 -0
- package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/header/NextUp.js +2 -0
- package/dist/commonjs/features/pmProgress/components/header/NextUp.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js +5 -1
- package/dist/commonjs/features/pmProgress/components/header/PmProgressHeader.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/header/StartButton.js +2 -0
- package/dist/commonjs/features/pmProgress/components/header/StartButton.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js +11 -5
- package/dist/commonjs/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js +3 -1
- package/dist/commonjs/features/pmProgress/components/insights/StatsCard.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/list/ListCard.js +4 -1
- package/dist/commonjs/features/pmProgress/components/list/ListCard.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/list/ListItem.js +3 -1
- package/dist/commonjs/features/pmProgress/components/list/ListItem.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js +4 -1
- package/dist/commonjs/features/pmProgress/components/list/PmDomainList.js.map +1 -1
- package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js +5 -1
- package/dist/commonjs/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -1
- package/dist/commonjs/features/problemSelector/components/ProblemSelectorButton.js +2 -0
- package/dist/commonjs/features/problemSelector/components/ProblemSelectorButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +2 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordDeleteButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordTimer.js +2 -0
- package/dist/commonjs/features/voice/recording/components/VoiceRecordTimer.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js +5 -1
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js +4 -0
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js +4 -0
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -1
- package/dist/commonjs/index.js +8 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/shared/components/PlayButton.js.map +1 -1
- package/dist/module/config/dataTestIDs.js +77 -0
- package/dist/module/config/dataTestIDs.js.map +1 -0
- package/dist/module/features/chatbot/components/Chat/Chat.js +2 -0
- package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
- package/dist/module/features/chatbot/components/Chat/ChatIcon.js +2 -0
- package/dist/module/features/chatbot/components/Chat/ChatIcon.js.map +1 -1
- package/dist/module/features/chatbot/components/Chat/CloseButton.js +2 -0
- package/dist/module/features/chatbot/components/Chat/CloseButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +2 -0
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js +3 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/ChatTextInput.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js +2 -0
- package/dist/module/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js +2 -0
- package/dist/module/features/chatbot/components/ChatInput/FreeText/SendMessageButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +2 -0
- package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +2 -0
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +3 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -0
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +2 -0
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js +2 -0
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/CheatDetected/CheatDetected.js +3 -0
- package/dist/module/features/endOfAssignment/components/CheatDetected/CheatDetected.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +2 -0
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamLeave/ExamLeave.js +4 -0
- package/dist/module/features/endOfAssignment/components/ExamLeave/ExamLeave.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js +3 -0
- package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +3 -0
- package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/Modal/Modal.js +4 -1
- package/dist/module/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js +9 -3
- package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButton.js +2 -0
- package/dist/module/features/endOfAssignment/ui/PracticeButton.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +2 -0
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js +2 -0
- package/dist/module/features/exampleSolution/components/ExampleSolutionModalContent.js.map +1 -1
- package/dist/module/features/exampleSolution/components/QuestionSection.js +2 -0
- package/dist/module/features/exampleSolution/components/QuestionSection.js.map +1 -1
- package/dist/module/features/exampleSolution/components/SolutionSection.js +2 -0
- package/dist/module/features/exampleSolution/components/SolutionSection.js.map +1 -1
- package/dist/module/features/feedback/components/EmptyComment.js +2 -0
- package/dist/module/features/feedback/components/EmptyComment.js.map +1 -1
- package/dist/module/features/feedback/components/ListCardCommentsCount.js +2 -0
- package/dist/module/features/feedback/components/ListCardCommentsCount.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackButton.js +3 -0
- package/dist/module/features/feedback/components/TeacherFeedbackButton.js.map +1 -1
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js +2 -0
- package/dist/module/features/feedback/components/TeacherFeedbackComments/TeacherComment.js.map +1 -1
- package/dist/module/features/feedback/components/UnreadMessagesBadge.js +2 -0
- package/dist/module/features/feedback/components/UnreadMessagesBadge.js.map +1 -1
- package/dist/module/features/formulaSheet/components/FormulaSheet.js +2 -0
- package/dist/module/features/formulaSheet/components/FormulaSheet.js.map +1 -1
- package/dist/module/features/formulaSheet/components/FormulaSheetModal.js +2 -0
- package/dist/module/features/formulaSheet/components/FormulaSheetModal.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +2 -0
- package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js +9 -4
- package/dist/module/features/keyboard/components/BasicLayout/CurrencyBasicLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicLayout/TimeBasicLayout.js +16 -12
- package/dist/module/features/keyboard/components/BasicLayout/TimeBasicLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js +2 -0
- package/dist/module/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -0
- package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/Keyboard.js +2 -0
- package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
- package/dist/module/features/keyboard/components/MainLayout/MainLayout.js +2 -0
- package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/Numpad/Numpad.js +2 -0
- package/dist/module/features/keyboard/components/Numpad/Numpad.js.map +1 -1
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +9 -4
- package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +2 -0
- package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
- package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +2 -0
- package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -1
- package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +2 -0
- package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -1
- package/dist/module/features/pmProgress/components/header/NextUp.js +2 -0
- package/dist/module/features/pmProgress/components/header/NextUp.js.map +1 -1
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js +5 -1
- package/dist/module/features/pmProgress/components/header/PmProgressHeader.js.map +1 -1
- package/dist/module/features/pmProgress/components/header/StartButton.js +2 -0
- package/dist/module/features/pmProgress/components/header/StartButton.js.map +1 -1
- package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js +11 -5
- package/dist/module/features/pmProgress/components/insights/PmTimeframeStats.js.map +1 -1
- package/dist/module/features/pmProgress/components/insights/StatsCard.js +3 -1
- package/dist/module/features/pmProgress/components/insights/StatsCard.js.map +1 -1
- package/dist/module/features/pmProgress/components/list/ListCard.js +4 -1
- package/dist/module/features/pmProgress/components/list/ListCard.js.map +1 -1
- package/dist/module/features/pmProgress/components/list/ListItem.js +3 -1
- package/dist/module/features/pmProgress/components/list/ListItem.js.map +1 -1
- package/dist/module/features/pmProgress/components/list/PmDomainList.js +4 -1
- package/dist/module/features/pmProgress/components/list/PmDomainList.js.map +1 -1
- package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js +5 -1
- package/dist/module/features/pmProgress/components/recs/PmTeacherRecs.js.map +1 -1
- package/dist/module/features/problemSelector/components/ProblemSelectorButton.js +2 -0
- package/dist/module/features/problemSelector/components/ProblemSelectorButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +2 -0
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js +2 -0
- package/dist/module/features/voice/recording/components/VoiceRecordDeleteButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordTimer.js +2 -0
- package/dist/module/features/voice/recording/components/VoiceRecordTimer.js.map +1 -1
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js +5 -1
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js.map +1 -1
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js +4 -0
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -1
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js +4 -0
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/shared/components/PlayButton.js.map +1 -1
- package/dist/typescript/commonjs/config/dataTestIDs.d.ts +75 -0
- package/dist/typescript/commonjs/config/dataTestIDs.d.ts.map +1 -0
- 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/pmProgress/components/header/NextUp.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/header/StartButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts +2 -1
- package/dist/typescript/commonjs/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts +3 -1
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts +2 -1
- package/dist/typescript/commonjs/features/pmProgress/components/list/ListItem.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/pmProgress/components/recs/PmTeacherRecs.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 +3 -1
- 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 +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/components/PlayButton.d.ts +1 -0
- package/dist/typescript/commonjs/shared/components/PlayButton.d.ts.map +1 -1
- package/dist/typescript/module/config/dataTestIDs.d.ts +75 -0
- package/dist/typescript/module/config/dataTestIDs.d.ts.map +1 -0
- 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/pmProgress/components/header/NextUp.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/header/PmProgressHeader.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/header/StartButton.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/insights/PmTimeframeStats.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts +2 -1
- package/dist/typescript/module/features/pmProgress/components/insights/StatsCard.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts +3 -1
- package/dist/typescript/module/features/pmProgress/components/list/ListCard.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts +2 -1
- package/dist/typescript/module/features/pmProgress/components/list/ListItem.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/list/PmDomainList.d.ts.map +1 -1
- package/dist/typescript/module/features/pmProgress/components/recs/PmTeacherRecs.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 +3 -1
- 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 +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/components/PlayButton.d.ts +1 -0
- package/dist/typescript/module/shared/components/PlayButton.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/config/dataTestIDs.ts +81 -0
- package/src/features/chatbot/components/Chat/Chat.tsx +2 -1
- package/src/features/chatbot/components/Chat/ChatIcon.tsx +2 -1
- package/src/features/chatbot/components/Chat/CloseButton.tsx +2 -0
- package/src/features/chatbot/components/ChatControls/ChatControls.tsx +2 -0
- package/src/features/chatbot/components/ChatInput/FreeText/ChatTextInput.tsx +2 -0
- package/src/features/chatbot/components/ChatInput/FreeText/FreeTextInputBlock.tsx +2 -1
- package/src/features/chatbot/components/ChatInput/FreeText/SendMessageButton.tsx +2 -0
- package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +2 -0
- package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +3 -2
- package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +2 -0
- package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +2 -1
- package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +2 -0
- package/src/features/chatbot/errorSpotting/ErrorSpottingButton.tsx +2 -0
- package/src/features/endOfAssignment/components/CheatDetected/CheatDetected.tsx +3 -1
- package/src/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.tsx +2 -0
- package/src/features/endOfAssignment/components/ExamLeave/ExamLeave.tsx +4 -1
- package/src/features/endOfAssignment/components/ExamPaused/ExamPaused.tsx +3 -1
- package/src/features/endOfAssignment/components/ExamSubmit/ExamSubmit.tsx +3 -1
- package/src/features/endOfAssignment/components/Modal/Modal.tsx +6 -1
- package/src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx +6 -1
- package/src/features/endOfAssignment/ui/PracticeButton.tsx +2 -0
- package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +2 -0
- package/src/features/exampleSolution/components/ExampleSolutionModalContent.tsx +2 -0
- package/src/features/exampleSolution/components/QuestionSection.tsx +2 -1
- package/src/features/exampleSolution/components/SolutionSection.tsx +5 -1
- package/src/features/feedback/components/EmptyComment.tsx +2 -1
- package/src/features/feedback/components/ListCardCommentsCount.tsx +2 -1
- package/src/features/feedback/components/TeacherFeedbackButton.tsx +3 -0
- package/src/features/feedback/components/TeacherFeedbackComments/TeacherComment.tsx +2 -1
- package/src/features/feedback/components/UnreadMessagesBadge.tsx +2 -0
- package/src/features/formulaSheet/components/FormulaSheet.tsx +2 -0
- package/src/features/formulaSheet/components/FormulaSheetModal.tsx +2 -1
- package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +2 -1
- package/src/features/keyboard/components/BasicLayout/CurrencyBasicLayout.tsx +5 -1
- package/src/features/keyboard/components/BasicLayout/TimeBasicLayout.tsx +16 -13
- package/src/features/keyboard/components/BasicPlusLayout/BasicPlusLayout.tsx +2 -1
- package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +2 -1
- package/src/features/keyboard/components/Keyboard.tsx +2 -0
- package/src/features/keyboard/components/MainLayout/MainLayout.tsx +5 -1
- package/src/features/keyboard/components/Numpad/Numpad.tsx +2 -1
- package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +9 -1
- package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +2 -1
- package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +2 -1
- package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +2 -1
- package/src/features/pmProgress/components/header/NextUp.tsx +2 -1
- package/src/features/pmProgress/components/header/PmProgressHeader.tsx +4 -0
- package/src/features/pmProgress/components/header/StartButton.tsx +2 -0
- package/src/features/pmProgress/components/insights/PmTimeframeStats.tsx +6 -3
- package/src/features/pmProgress/components/insights/StatsCard.tsx +3 -2
- package/src/features/pmProgress/components/list/ListCard.tsx +5 -0
- package/src/features/pmProgress/components/list/ListItem.tsx +3 -0
- package/src/features/pmProgress/components/list/PmDomainList.tsx +7 -1
- package/src/features/pmProgress/components/recs/PmTeacherRecs.tsx +4 -0
- package/src/features/problemSelector/components/ProblemSelectorButton.tsx +2 -0
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +2 -0
- package/src/features/voice/recording/components/VoiceRecordDeleteButton.tsx +2 -1
- package/src/features/voice/recording/components/VoiceRecordTimer.tsx +2 -1
- package/src/features/voice/recording/modal/ModalFooterButtons.tsx +6 -0
- package/src/features/voice/recording/modal/VoiceRecordDeleteModal.tsx +4 -0
- package/src/features/voice/recording/modal/VoiceRecordUndoModal.tsx +4 -0
- package/src/index.ts +1 -0
- package/src/shared/components/PlayButton.tsx +1 -0
- package/src/i18n/.generated/schema.json +0 -90
|
@@ -4,6 +4,7 @@ import { IS_MOBILE, IS_WEB, SelectOptionColor } from '@magmamath/react-native-ui
|
|
|
4
4
|
import { getLayoutByCharType, isBasicPlusPlusLayout } from '../../constants/keyboardLayouts'
|
|
5
5
|
import { UnderlinedLayout } from '../UnderlinedLayout/UnderlinedLayout'
|
|
6
6
|
import { KeyboardKey, KeyboardKeyValue, ResolvedKeyboard } from '../../types/types'
|
|
7
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
7
8
|
|
|
8
9
|
type LayoutProps = {
|
|
9
10
|
keys: ResolvedKeyboard
|
|
@@ -57,7 +58,10 @@ export const MainLayout = ({
|
|
|
57
58
|
}, [showUnderlinedKeys, animateFade])
|
|
58
59
|
|
|
59
60
|
return (
|
|
60
|
-
<View
|
|
61
|
+
<View
|
|
62
|
+
style={[styles.container, IS_MOBILE && { flex: 1 }]}
|
|
63
|
+
testID={TEST_IDS.KEYBOARD_MAIN_LAYOUT}
|
|
64
|
+
>
|
|
61
65
|
<Layout {...props} onLayoutChange={setIsSecondaryLayoutSelected} />
|
|
62
66
|
{isUnderlinedLayoutVisible && (
|
|
63
67
|
<Animated.View style={{ opacity: fadeAnim }}>
|
|
@@ -5,6 +5,7 @@ import { SPACING } from '@magmamath/react-native-ui'
|
|
|
5
5
|
import { KeyboardLayoutProps, KeyboardType } from '../../types/types'
|
|
6
6
|
import { useText } from '../../../../i18n/i18n'
|
|
7
7
|
import { getMainKeyboardGroup } from '../../helpers'
|
|
8
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
8
9
|
|
|
9
10
|
type NumpadProps = {
|
|
10
11
|
style?: StyleProp<ViewStyle>
|
|
@@ -15,7 +16,7 @@ export const Numpad = ({ style, keys, ...props }: NumpadProps) => {
|
|
|
15
16
|
const keyboardGroup = getMainKeyboardGroup(keys, KeyboardType.Numpad)
|
|
16
17
|
|
|
17
18
|
return (
|
|
18
|
-
<View style={[styles.container, style]}>
|
|
19
|
+
<View style={[styles.container, style]} testID={TEST_IDS.KEYBOARD_NUMPAD}>
|
|
19
20
|
<KeysList keys={keyboardGroup.keys} numOfRows={3} {...props} />
|
|
20
21
|
</View>
|
|
21
22
|
)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
+
import { View } from 'react-native'
|
|
2
3
|
import { KeysList } from '../KeysList/KeysList'
|
|
3
4
|
import { KeyboardLayoutProps, KeyboardType, ResolvedKeyboard } from '../../types/types'
|
|
4
5
|
import { getMainKeyboardGroup } from '../../helpers'
|
|
6
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
5
7
|
|
|
6
8
|
type UnderlinedLayoutProps = {
|
|
7
9
|
keys: ResolvedKeyboard
|
|
@@ -13,6 +15,12 @@ export const UnderlinedLayout = ({ keys, ...props }: UnderlinedLayoutProps) => {
|
|
|
13
15
|
const keysToShow = props.showSlashKey ? keysGroup.keys : keysGroup.keys.slice(0, -1)
|
|
14
16
|
|
|
15
17
|
return (
|
|
16
|
-
<
|
|
18
|
+
<View testID={TEST_IDS.KEYBOARD_UNDERLINED_LAYOUT}>
|
|
19
|
+
<KeysList
|
|
20
|
+
keys={keysToShow}
|
|
21
|
+
numOfRows={props.showSlashKey ? 2 : keysToShow.length}
|
|
22
|
+
{...props}
|
|
23
|
+
/>
|
|
24
|
+
</View>
|
|
17
25
|
)
|
|
18
26
|
}
|
|
@@ -9,6 +9,7 @@ import { useUnitTabs } from './hooks/useUnitTabs'
|
|
|
9
9
|
import { getMainKeyboardGroup } from '../../helpers'
|
|
10
10
|
import { KeyboardUnitsGroupType, SelectedLayout } from './types'
|
|
11
11
|
import { getSelectOptions } from './helpers'
|
|
12
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
12
13
|
|
|
13
14
|
export const UnitsLayout = ({ onLayoutChange, keys, ...props }: KeyboardLayoutProps) => {
|
|
14
15
|
const { width } = useWindowDimensions()
|
|
@@ -42,7 +43,7 @@ export const UnitsLayout = ({ onLayoutChange, keys, ...props }: KeyboardLayoutPr
|
|
|
42
43
|
)
|
|
43
44
|
|
|
44
45
|
return (
|
|
45
|
-
<View style={styles.container}>
|
|
46
|
+
<View style={styles.container} testID={TEST_IDS.KEYBOARD_UNITS_LAYOUT}>
|
|
46
47
|
{isDesktop && (
|
|
47
48
|
<SelectGroup
|
|
48
49
|
numOfRows={2}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { View, StyleSheet, Text } from 'react-native'
|
|
3
3
|
import { SPACING, BORDER_RADIUS, COLORS } from '@magmamath/react-native-ui'
|
|
4
|
+
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
4
5
|
|
|
5
6
|
type OEAttemptsLimitProps = {
|
|
6
7
|
text: string
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export const OpenEndedAttemptsLimit = ({ text }: OEAttemptsLimitProps) => (
|
|
10
|
-
<View style={styles.container}>
|
|
11
|
+
<View testID={TEST_IDS.OPEN_ENDED_ATTEMPTS_LIMIT} style={styles.container}>
|
|
11
12
|
<Text style={styles.text}>{text}</Text>
|
|
12
13
|
</View>
|
|
13
14
|
)
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
import { getScoreLabelColor } from '../oe.helpers'
|
|
11
11
|
import { OpenEndedScoreLabelVariant } from '../oe.types'
|
|
12
12
|
import { isWeb } from '../../../shared/common.constants'
|
|
13
|
+
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
13
14
|
|
|
14
15
|
type OpenEndedScoreLabelProps = {
|
|
15
16
|
label: string
|
|
@@ -38,7 +39,7 @@ export const OpenEndedScoreLabel = ({
|
|
|
38
39
|
score !== null && score >= 10 ? SCORE_WIDTH.LARGE : SCORE_WIDTH.DEFAULT
|
|
39
40
|
|
|
40
41
|
return (
|
|
41
|
-
<View style={styles.container}>
|
|
42
|
+
<View testID={TEST_IDS.OPEN_ENDED_SCORE_LABEL} style={styles.container}>
|
|
42
43
|
<View style={[styles.score, { width: scoreContainerWidth }]}>
|
|
43
44
|
<Typography
|
|
44
45
|
variant={HeadingVariants.H3}
|
|
@@ -3,6 +3,7 @@ import { StyleSheet, View } from 'react-native'
|
|
|
3
3
|
import { COLORS, HeadingVariants, SPACING, Typography } from '@magmamath/react-native-ui'
|
|
4
4
|
import { SketchArrowRight } from '../../../../shared/icons/SketchArrowRight'
|
|
5
5
|
import { SliceDiamondIcon } from '../../../../shared/icons/SliceDiamondIcon'
|
|
6
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
6
7
|
import { useUnit } from 'effector-react'
|
|
7
8
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
8
9
|
import { OpeningLoaderId, SolvingFlow } from '../../shared/pmProgress.constants'
|
|
@@ -32,7 +33,7 @@ export const NextUp = () => {
|
|
|
32
33
|
</Typography>
|
|
33
34
|
</View>
|
|
34
35
|
<View style={[styles.row, styles.tilted]}>
|
|
35
|
-
<Typography variant={HeadingVariants.H7} style={styles.muted}>
|
|
36
|
+
<Typography variant={HeadingVariants.H7} style={styles.muted} testID={TEST_IDS.PM_PROGRESS_NEXT_UP_DOMAIN_NAME}>
|
|
36
37
|
{nextUp.domain.title}
|
|
37
38
|
</Typography>
|
|
38
39
|
<View style={styles.diamond}>
|
|
@@ -18,6 +18,7 @@ import { useStoreMap, useUnit } from 'effector-react'
|
|
|
18
18
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
19
19
|
import { formatGradeLabel } from '../../shared/pmProgress.helpers'
|
|
20
20
|
import { MenuIcon } from '../../../../shared/icons/MenuIcon'
|
|
21
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
21
22
|
import { NextUp } from './NextUp'
|
|
22
23
|
import { BURGER_MENU_BREAKPOINT, MENU_MAX_HEIGHT } from '@magmamath/students-features'
|
|
23
24
|
import { useText } from '../../../../i18n/i18n'
|
|
@@ -44,6 +45,7 @@ export const PmProgressHeader = () => {
|
|
|
44
45
|
key: grade.value,
|
|
45
46
|
title: formatGradeLabel(grade.value, customGradeLabels),
|
|
46
47
|
disabled: grade.isLocked,
|
|
48
|
+
testID: TEST_IDS.PM_PROGRESS_GRADE_ITEM(grade.value),
|
|
47
49
|
...menuItemProps,
|
|
48
50
|
})),
|
|
49
51
|
})
|
|
@@ -57,6 +59,7 @@ export const PmProgressHeader = () => {
|
|
|
57
59
|
onPress={onMenuPress}
|
|
58
60
|
variant={ButtonVariant.TERTIARY}
|
|
59
61
|
icon={<MenuIcon size={24} />}
|
|
62
|
+
testID={TEST_IDS.PM_PROGRESS_BURGER_MENU_BUTTON}
|
|
60
63
|
/>
|
|
61
64
|
</View>
|
|
62
65
|
)}
|
|
@@ -71,6 +74,7 @@ export const PmProgressHeader = () => {
|
|
|
71
74
|
<Button
|
|
72
75
|
variant={ButtonVariant.TERTIARY}
|
|
73
76
|
onPress={() => setIsDropdownOpen((prev) => !prev)}
|
|
77
|
+
testID={TEST_IDS.PM_PROGRESS_GRADE_DROPDOWN_BUTTON}
|
|
74
78
|
>
|
|
75
79
|
<Typography variant={HeadingVariants.H8} style={styles.dark}>
|
|
76
80
|
{grade !== null
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
SPACING,
|
|
12
12
|
Typography,
|
|
13
13
|
} from '@magmamath/react-native-ui'
|
|
14
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
14
15
|
import { useText } from '../../../../i18n/i18n'
|
|
15
16
|
|
|
16
17
|
const PULSATION_COLOR = '#FFBE4E66'
|
|
@@ -131,6 +132,7 @@ export const StartButton = ({
|
|
|
131
132
|
colorScheme={ButtonColor.YELLOW}
|
|
132
133
|
raiseLevel={6}
|
|
133
134
|
style={{ container: styles.startButton }}
|
|
135
|
+
testID={TEST_IDS.PM_PROGRESS_START_BUTTON}
|
|
134
136
|
>
|
|
135
137
|
<Typography variant={HeadingVariants.H6} style={styles.startButtonText}>
|
|
136
138
|
{t('pmProgress.startButton')}
|
|
@@ -17,6 +17,7 @@ import { useUnit } from 'effector-react'
|
|
|
17
17
|
import { formatTime } from '../../shared/pmProgress.helpers'
|
|
18
18
|
import { InsightsTimeframe, STATS_MAX_HEIGHT } from '../../shared/pmProgress.constants'
|
|
19
19
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
20
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
20
21
|
import { useText } from '../../../../i18n/i18n'
|
|
21
22
|
|
|
22
23
|
const optionStyle: SelectOptionProps['style'] = {
|
|
@@ -34,9 +35,9 @@ export const PmTimeframeStats = () => {
|
|
|
34
35
|
const insights = useUnit(model.insights.$insights)
|
|
35
36
|
|
|
36
37
|
const OPTIONS: SelectOptionProps[] = [
|
|
37
|
-
{ key: InsightsTimeframe.WEEK, title: t('pmProgress.thisWeek'), style: optionStyle },
|
|
38
|
-
{ key: InsightsTimeframe.LAST_WEEK, title: t('pmProgress.lastWeek'), style: optionStyle },
|
|
39
|
-
{ key: InsightsTimeframe.ALL, title: t('pmProgress.allTime'), style: optionStyle },
|
|
38
|
+
{ key: InsightsTimeframe.WEEK, title: t('pmProgress.thisWeek'), style: optionStyle, testID: TEST_IDS.PM_PROGRESS_TIMEFRAME_TAB(InsightsTimeframe.WEEK) },
|
|
39
|
+
{ key: InsightsTimeframe.LAST_WEEK, title: t('pmProgress.lastWeek'), style: optionStyle, testID: TEST_IDS.PM_PROGRESS_TIMEFRAME_TAB(InsightsTimeframe.LAST_WEEK) },
|
|
40
|
+
{ key: InsightsTimeframe.ALL, title: t('pmProgress.allTime'), style: optionStyle, testID: TEST_IDS.PM_PROGRESS_TIMEFRAME_TAB(InsightsTimeframe.ALL) },
|
|
40
41
|
]
|
|
41
42
|
|
|
42
43
|
return (
|
|
@@ -48,6 +49,7 @@ export const PmTimeframeStats = () => {
|
|
|
48
49
|
label={t('pmProgress.stars')}
|
|
49
50
|
color={COLORS.PRIMARY_YELLOW}
|
|
50
51
|
icon={<StarIcon />}
|
|
52
|
+
testID={TEST_IDS.PM_PROGRESS_STARS_CARD}
|
|
51
53
|
/>
|
|
52
54
|
<StatsCard
|
|
53
55
|
value={formatTime(insights?.timeInPracticeMs ?? 0)}
|
|
@@ -55,6 +57,7 @@ export const PmTimeframeStats = () => {
|
|
|
55
57
|
color={COLORS.PRIMARY_PURPLE}
|
|
56
58
|
iconStyle={styles.timeIcon}
|
|
57
59
|
icon={<TimerIcon />}
|
|
60
|
+
testID={TEST_IDS.PM_PROGRESS_TIME_CARD}
|
|
58
61
|
/>
|
|
59
62
|
</View>
|
|
60
63
|
|
|
@@ -8,11 +8,12 @@ type StatsCardProps = {
|
|
|
8
8
|
color: string
|
|
9
9
|
icon: ReactNode
|
|
10
10
|
iconStyle?: ViewStyle
|
|
11
|
+
testID?: string
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
export const StatsCard = ({ value, label, color, icon, iconStyle }: StatsCardProps) => {
|
|
14
|
+
export const StatsCard = ({ value, label, color, icon, iconStyle, testID }: StatsCardProps) => {
|
|
14
15
|
return (
|
|
15
|
-
<View style={[styles.card, { borderColor: color }]}>
|
|
16
|
+
<View style={[styles.card, { borderColor: color }]} testID={testID}>
|
|
16
17
|
<View style={[styles.iconContainer, { backgroundColor: color }, iconStyle]}>{icon}</View>
|
|
17
18
|
<View>
|
|
18
19
|
<Text style={[styles.value, { color }]}>{value}</Text>
|
|
@@ -22,6 +22,7 @@ export type ListCardItem = {
|
|
|
22
22
|
subtitle: string
|
|
23
23
|
isCompleted: boolean
|
|
24
24
|
skillsLeft: number
|
|
25
|
+
testID?: string
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
function getVisibleItems<T>(items: T[], maxItems?: number) {
|
|
@@ -49,6 +50,7 @@ type ListCardProps<T extends ListCardItem> = {
|
|
|
49
50
|
isSkillsLeftHidden?: boolean
|
|
50
51
|
isHighlighted?: boolean
|
|
51
52
|
loadingItemId?: string | null
|
|
53
|
+
testID?: string
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
export const ListCard = <T extends ListCardItem>({
|
|
@@ -70,6 +72,7 @@ export const ListCard = <T extends ListCardItem>({
|
|
|
70
72
|
expandedColor = COLORS.NEUTRAL_3,
|
|
71
73
|
isSkillsLeftHidden = false,
|
|
72
74
|
loadingItemId = null,
|
|
75
|
+
testID,
|
|
73
76
|
}: ListCardProps<T>) => {
|
|
74
77
|
const t = useText()
|
|
75
78
|
const [isHovered, setIsHovered] = useState(false)
|
|
@@ -96,6 +99,7 @@ export const ListCard = <T extends ListCardItem>({
|
|
|
96
99
|
isLast && !isExpanded && styles.headerLast,
|
|
97
100
|
withHighlight && { backgroundColor: expandedColor },
|
|
98
101
|
]}
|
|
102
|
+
testID={testID}
|
|
99
103
|
onPress={onPress}
|
|
100
104
|
onHoverIn={() => {
|
|
101
105
|
setIsHovered(true)
|
|
@@ -138,6 +142,7 @@ export const ListCard = <T extends ListCardItem>({
|
|
|
138
142
|
isFinished={standard.isCompleted}
|
|
139
143
|
isLoading={loadingItemId === standard.id}
|
|
140
144
|
isSkillsLeftHidden={isSkillsLeftHidden}
|
|
145
|
+
testID={standard.testID}
|
|
141
146
|
onPress={() => onItemPress?.(standard)}
|
|
142
147
|
/>
|
|
143
148
|
))}
|
|
@@ -26,6 +26,7 @@ export type ListItemProps = {
|
|
|
26
26
|
isLoading?: boolean
|
|
27
27
|
onPress?: () => void
|
|
28
28
|
isSkillsLeftHidden?: boolean
|
|
29
|
+
testID?: string
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
export const ListItem = ({
|
|
@@ -36,6 +37,7 @@ export const ListItem = ({
|
|
|
36
37
|
isLoading = false,
|
|
37
38
|
onPress,
|
|
38
39
|
isSkillsLeftHidden = false,
|
|
40
|
+
testID,
|
|
39
41
|
}: ListItemProps) => {
|
|
40
42
|
const t = useText()
|
|
41
43
|
const [isHovered, setIsHovered] = useState(false)
|
|
@@ -46,6 +48,7 @@ export const ListItem = ({
|
|
|
46
48
|
<Pressable
|
|
47
49
|
onPress={onPress}
|
|
48
50
|
disabled={isLoading}
|
|
51
|
+
testID={testID}
|
|
49
52
|
style={[
|
|
50
53
|
styles.card,
|
|
51
54
|
isFinished && styles.finished,
|
|
@@ -8,6 +8,7 @@ import { SliceDiamondIcon } from '../../../../shared/icons/SliceDiamondIcon'
|
|
|
8
8
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
9
9
|
import { isFluencyDomain } from '../../shared/pmProgress.helpers'
|
|
10
10
|
import { SolvingFlow } from '../../shared/pmProgress.constants'
|
|
11
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
11
12
|
|
|
12
13
|
export const PmDomainList = () => {
|
|
13
14
|
const { model, onStandardPress } = usePmProgress()
|
|
@@ -31,7 +32,12 @@ export const PmDomainList = () => {
|
|
|
31
32
|
renderItem={({ item, index }) => (
|
|
32
33
|
<ListCard
|
|
33
34
|
title={item.title}
|
|
34
|
-
|
|
35
|
+
testID={TEST_IDS.PM_PROGRESS_DOMAIN_CARD(item.domainId)}
|
|
36
|
+
items={item.standards.map((standard) => ({
|
|
37
|
+
...standard,
|
|
38
|
+
id: standard.standardId,
|
|
39
|
+
testID: TEST_IDS.PM_PROGRESS_STANDARD_ITEM(standard.standardId),
|
|
40
|
+
}))}
|
|
35
41
|
progress={item.scorePercentage}
|
|
36
42
|
color={item.color}
|
|
37
43
|
onPress={() => model.highlight.expand(item.domainId)}
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
import { useStoreMap, useUnit } from 'effector-react'
|
|
15
15
|
import { CustomDomain, OpeningLoaderId, SolvingFlow } from '../../shared/pmProgress.constants'
|
|
16
16
|
import { usePmProgress } from '../../context/PmProgressContext'
|
|
17
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
17
18
|
import { useText } from '../../../../i18n/i18n'
|
|
18
19
|
|
|
19
20
|
export const PmTeacherRecs = () => {
|
|
@@ -33,6 +34,7 @@ export const PmTeacherRecs = () => {
|
|
|
33
34
|
subtitle: skill.shortDescriptionTranslations,
|
|
34
35
|
isCompleted: false,
|
|
35
36
|
skillsLeft: 0,
|
|
37
|
+
testID: TEST_IDS.PM_PROGRESS_TEACHER_REC_ITEM(skill._id),
|
|
36
38
|
})),
|
|
37
39
|
}),
|
|
38
40
|
)
|
|
@@ -48,6 +50,7 @@ export const PmTeacherRecs = () => {
|
|
|
48
50
|
maxItems={3}
|
|
49
51
|
color={COLORS.PRIMARY_YELLOW}
|
|
50
52
|
expandedColor={COLORS.YELLOW_1}
|
|
53
|
+
testID={TEST_IDS.PM_PROGRESS_TEACHER_RECS_CARD}
|
|
51
54
|
onPress={() => model.highlight.expand(CustomDomain.TEACHER)}
|
|
52
55
|
onItemPress={async (item) => {
|
|
53
56
|
try {
|
|
@@ -83,6 +86,7 @@ export const PmTeacherRecs = () => {
|
|
|
83
86
|
isLoading={loaderOpeningId === OpeningLoaderId.PRACTICE_BUTTON}
|
|
84
87
|
size={ButtonSize.SMALL}
|
|
85
88
|
variant={ButtonVariant.SECONDARY}
|
|
89
|
+
testID={TEST_IDS.PM_PROGRESS_TEACHER_REC_PRACTICE_BUTTON}
|
|
86
90
|
>
|
|
87
91
|
{t('pmProgress.practiceButton')}
|
|
88
92
|
</Button>
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
} from '@magmamath/react-native-ui'
|
|
14
14
|
|
|
15
15
|
import { BADGE_COORDINATES, BUTTON_BORDER_WIDTH, BUTTON_SIZE, COLOR_SCHEME_MAP } from '../constants'
|
|
16
|
+
import { TEST_IDS } from '../../../config/dataTestIDs'
|
|
16
17
|
|
|
17
18
|
import { ProblemSelectorButtonProps } from '../types'
|
|
18
19
|
|
|
@@ -28,6 +29,7 @@ export const ProblemSelectorButton = ({
|
|
|
28
29
|
return (
|
|
29
30
|
<View style={styles.wrapper}>
|
|
30
31
|
<Button
|
|
32
|
+
testID={TEST_IDS.PROBLEM_SELECTOR_BUTTON(text)}
|
|
31
33
|
variant={ButtonVariant.PRIMARY}
|
|
32
34
|
size={ButtonSize.MEDIUM}
|
|
33
35
|
customColorScheme={customColorScheme}
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
import { Pressable, StyleSheet } from 'react-native'
|
|
16
16
|
import { VoiceRecordModel } from '../model/VoiceRecord.model'
|
|
17
17
|
import { useUnit } from 'effector-react'
|
|
18
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
18
19
|
import { VOICE_RECORD_SHADOWS, VoiceRecorderState } from '../../constants'
|
|
19
20
|
import { RecordButtonVariant } from '../../types'
|
|
20
21
|
import { useText } from '../../../../i18n/i18n'
|
|
@@ -105,6 +106,7 @@ export const VoiceRecordButton = ({ model, buttonVariant }: VoiceRecordButtonPro
|
|
|
105
106
|
/>
|
|
106
107
|
) : (
|
|
107
108
|
<Button
|
|
109
|
+
testID={TEST_IDS.VOICE_RECORD_BUTTON}
|
|
108
110
|
disabled={isButtonDisabled}
|
|
109
111
|
onPressIn={() => model.recorderButtonHandler()}
|
|
110
112
|
style={defaultButtonStyles}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { StyleSheet, TouchableOpacity } from 'react-native'
|
|
2
2
|
import { COLORS, TrashcanIcon } from '@magmamath/react-native-ui'
|
|
3
3
|
import React from 'react'
|
|
4
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
4
5
|
|
|
5
6
|
type VoiceRecordDeleteProps = {
|
|
6
7
|
onPress?: () => void
|
|
@@ -9,7 +10,7 @@ type VoiceRecordDeleteProps = {
|
|
|
9
10
|
|
|
10
11
|
export const VoiceRecordDeleteButton = ({ onPress, isDisabled }: VoiceRecordDeleteProps) => {
|
|
11
12
|
return (
|
|
12
|
-
<TouchableOpacity style={styles.container} onPress={onPress} disabled={isDisabled}>
|
|
13
|
+
<TouchableOpacity testID={TEST_IDS.VOICE_RECORD_DELETE_BUTTON} style={styles.container} onPress={onPress} disabled={isDisabled}>
|
|
13
14
|
<TrashcanIcon size={20} color={isDisabled ? COLORS.NEUTRAL_5 : COLORS.NEUTRAL_9} />
|
|
14
15
|
</TouchableOpacity>
|
|
15
16
|
)
|
|
@@ -4,6 +4,7 @@ import React from 'react'
|
|
|
4
4
|
import { VoiceRecordModel } from '../model/VoiceRecord.model'
|
|
5
5
|
import { useUnit } from 'effector-react'
|
|
6
6
|
import { formatDuration } from '../../helpers'
|
|
7
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
7
8
|
|
|
8
9
|
type VoiceRecordTimerProps = {
|
|
9
10
|
style?: StyleProp<ViewStyle>
|
|
@@ -20,7 +21,7 @@ export const VoiceRecordTimer = ({
|
|
|
20
21
|
const displayDurationMs = recordingFileDurationMs || savedAudioFileDurationMs
|
|
21
22
|
|
|
22
23
|
return (
|
|
23
|
-
<View style={[styles.container, style]}>
|
|
24
|
+
<View testID={TEST_IDS.VOICE_RECORD_TIMER} style={[styles.container, style]}>
|
|
24
25
|
<Typography variant="h9" style={styles.text}>
|
|
25
26
|
{displayDurationMs ? formatDuration(displayDurationMs) : '0:00'}
|
|
26
27
|
</Typography>
|
|
@@ -8,6 +8,8 @@ type ModalFooterButtonsProps = {
|
|
|
8
8
|
onConfirm: () => void
|
|
9
9
|
confirmLabel: TranslationKey
|
|
10
10
|
confirmColor?: ButtonColor
|
|
11
|
+
cancelTestID?: string
|
|
12
|
+
confirmTestID?: string
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
export const ModalFooterButtons = ({
|
|
@@ -15,12 +17,15 @@ export const ModalFooterButtons = ({
|
|
|
15
17
|
onConfirm,
|
|
16
18
|
confirmLabel,
|
|
17
19
|
confirmColor = ButtonColor.BLUE,
|
|
20
|
+
cancelTestID,
|
|
21
|
+
confirmTestID,
|
|
18
22
|
}: ModalFooterButtonsProps) => {
|
|
19
23
|
const t = useText()
|
|
20
24
|
|
|
21
25
|
return (
|
|
22
26
|
<View style={styles.container}>
|
|
23
27
|
<Button
|
|
28
|
+
testID={cancelTestID}
|
|
24
29
|
style={{ text: styles.buttonLabel }}
|
|
25
30
|
variant={ButtonVariant.TERTIARY}
|
|
26
31
|
size={ButtonSize.LARGE}
|
|
@@ -29,6 +34,7 @@ export const ModalFooterButtons = ({
|
|
|
29
34
|
{t('voice.cancel')}
|
|
30
35
|
</Button>
|
|
31
36
|
<Button
|
|
37
|
+
testID={confirmTestID}
|
|
32
38
|
colorScheme={confirmColor}
|
|
33
39
|
variant={ButtonVariant.PRIMARY}
|
|
34
40
|
size={ButtonSize.LARGE}
|
|
@@ -6,6 +6,7 @@ import { VoiceRecorderState } from '../../constants'
|
|
|
6
6
|
import { useText } from '../../../../i18n/i18n'
|
|
7
7
|
import { ModalFooterButtons } from './ModalFooterButtons'
|
|
8
8
|
import { VoiceRecordModalParams } from '../../types'
|
|
9
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
9
10
|
|
|
10
11
|
type VoiceRecordDeleteModalComponentProps = {
|
|
11
12
|
modal: {
|
|
@@ -57,6 +58,7 @@ export const VoiceRecordDeleteModal = ({
|
|
|
57
58
|
|
|
58
59
|
return (
|
|
59
60
|
<BaseModal
|
|
61
|
+
testID={TEST_IDS.VOICE_RECORD_DELETE_MODAL}
|
|
60
62
|
style={{
|
|
61
63
|
container: styles.modalContainer,
|
|
62
64
|
}}
|
|
@@ -64,6 +66,8 @@ export const VoiceRecordDeleteModal = ({
|
|
|
64
66
|
content={t('voice.youWontBeAbleToRecover')}
|
|
65
67
|
footer={
|
|
66
68
|
<ModalFooterButtons
|
|
69
|
+
cancelTestID={TEST_IDS.VOICE_RECORD_DELETE_CANCEL_BUTTON}
|
|
70
|
+
confirmTestID={TEST_IDS.VOICE_RECORD_DELETE_CONFIRM_BUTTON}
|
|
67
71
|
onCancel={closeModal}
|
|
68
72
|
onConfirm={handleDelete}
|
|
69
73
|
confirmLabel="voice.delete"
|
|
@@ -4,6 +4,7 @@ import { StyleSheet } from 'react-native'
|
|
|
4
4
|
import { useText } from '../../../../i18n/i18n'
|
|
5
5
|
import { ModalFooterButtons } from './ModalFooterButtons'
|
|
6
6
|
import { VoiceRecordModalParams } from '../../types'
|
|
7
|
+
import { TEST_IDS } from '../../../../config/dataTestIDs'
|
|
7
8
|
|
|
8
9
|
type VoiceRecordUndoModalProps = {
|
|
9
10
|
modal: {
|
|
@@ -26,6 +27,7 @@ export const VoiceRecordUndoModal = ({
|
|
|
26
27
|
|
|
27
28
|
return (
|
|
28
29
|
<BaseModal
|
|
30
|
+
testID={TEST_IDS.VOICE_RECORD_UNDO_MODAL}
|
|
29
31
|
style={{
|
|
30
32
|
container: styles.modalStyle,
|
|
31
33
|
}}
|
|
@@ -33,6 +35,8 @@ export const VoiceRecordUndoModal = ({
|
|
|
33
35
|
content={t('voice.thisWillRemoveRecording')}
|
|
34
36
|
footer={
|
|
35
37
|
<ModalFooterButtons
|
|
38
|
+
cancelTestID={TEST_IDS.VOICE_RECORD_UNDO_CANCEL_BUTTON}
|
|
39
|
+
confirmTestID={TEST_IDS.VOICE_RECORD_UNDO_CONFIRM_BUTTON}
|
|
36
40
|
onCancel={closeModal}
|
|
37
41
|
onConfirm={redoRecording}
|
|
38
42
|
confirmLabel="voice.redo"
|
package/src/index.ts
CHANGED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"chat": {
|
|
3
|
-
"anotherHint": "Give me another hint",
|
|
4
|
-
"answerAgain": "Answer again to get another hint!",
|
|
5
|
-
"errorMessage": "Something went wrong! Try again",
|
|
6
|
-
"getHint": "Get a hint",
|
|
7
|
-
"giveHint": "I need a hint",
|
|
8
|
-
"giveHintOpenChat": "I need a hint",
|
|
9
|
-
"howCanIHelp": "Hi! Do you want help?",
|
|
10
|
-
"inputPlaceholder": "Type...",
|
|
11
|
-
"needHint": "I need a hint",
|
|
12
|
-
"showError": "Show error"
|
|
13
|
-
},
|
|
14
|
-
"exampleSolution": {
|
|
15
|
-
"aha": "Aha!",
|
|
16
|
-
"errorMessage": "Something went wrong with generating an example solution",
|
|
17
|
-
"exampleSolution": "Example solution",
|
|
18
|
-
"letMeThink": "Let me think..."
|
|
19
|
-
},
|
|
20
|
-
"gifCelebrations": {
|
|
21
|
-
"almostThere": "Almost there",
|
|
22
|
-
"greatStart": "Great start!",
|
|
23
|
-
"onTheWay": "On the way!"
|
|
24
|
-
},
|
|
25
|
-
"keyboard": {
|
|
26
|
-
"area": "Area",
|
|
27
|
-
"length": "Length",
|
|
28
|
-
"time": "Time",
|
|
29
|
-
"volume": "Volume",
|
|
30
|
-
"weight": "Weight"
|
|
31
|
-
},
|
|
32
|
-
"locale": "en-SE",
|
|
33
|
-
"pmProgress": {
|
|
34
|
-
"allLockedSubtitle": "Your teacher has locked all grades.\nAsk them to unlock grades so you can start practicing.",
|
|
35
|
-
"allLockedTitle": "All grades are locked",
|
|
36
|
-
"allTime": "All time",
|
|
37
|
-
"andMore": "and '{{'count'}}' more...",
|
|
38
|
-
"fluency": "Fluency",
|
|
39
|
-
"grade": "Grade",
|
|
40
|
-
"gradeK": "K",
|
|
41
|
-
"gradeOther": "Other",
|
|
42
|
-
"initErrorSubtitle": "We couldn't load your progress.\nPlease try again later.",
|
|
43
|
-
"initErrorTitle": "Something went wrong",
|
|
44
|
-
"lastWeek": "Last week",
|
|
45
|
-
"loading": "Loading...",
|
|
46
|
-
"nextUp": "Next up!",
|
|
47
|
-
"practiceButton": "PRACTICE",
|
|
48
|
-
"skillLeft": "skill left",
|
|
49
|
-
"skillsLeft": "skills left",
|
|
50
|
-
"stars": "Practice stars",
|
|
51
|
-
"startButton": "START",
|
|
52
|
-
"teacherRecs": "Teacher recommendations",
|
|
53
|
-
"thisWeek": "This week",
|
|
54
|
-
"time": "Practice time",
|
|
55
|
-
"title": "Practice & Progress"
|
|
56
|
-
},
|
|
57
|
-
"teacherFeedback": {
|
|
58
|
-
"noComments": "No comments yet"
|
|
59
|
-
},
|
|
60
|
-
"time": {
|
|
61
|
-
"dayAgo": "day ago",
|
|
62
|
-
"daysAgo": "{{count}} days ago",
|
|
63
|
-
"hourAgo": "hour ago",
|
|
64
|
-
"hoursAgo": "{{count}} hours ago",
|
|
65
|
-
"justNow": "just now",
|
|
66
|
-
"minuteAgo": "minute ago",
|
|
67
|
-
"minutesAgo": "{{count}} minutes ago",
|
|
68
|
-
"monthAgo": "month ago",
|
|
69
|
-
"monthsAgo": "{{count}} months ago",
|
|
70
|
-
"yearAgo": "year ago",
|
|
71
|
-
"yearsAgo": "{{count}} years ago"
|
|
72
|
-
},
|
|
73
|
-
"voice": {
|
|
74
|
-
"attempt": "Attempt {{ number }}",
|
|
75
|
-
"cancel": "Cancel",
|
|
76
|
-
"delete": "Delete",
|
|
77
|
-
"deleteRecording": "Delete recording?",
|
|
78
|
-
"noMicrophoneAccess": "No microphone access.",
|
|
79
|
-
"noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
|
|
80
|
-
"noMicrophoneFound": "No microphone found.",
|
|
81
|
-
"recordingDeleted": "Recording successfully deleted.",
|
|
82
|
-
"redo": "Redo",
|
|
83
|
-
"redoRecording": "Redo recording?",
|
|
84
|
-
"thisWillRemoveRecording": "This will remove your previous recording.",
|
|
85
|
-
"transcriptions": "Transcriptions",
|
|
86
|
-
"transcriptNotAvailable": "Transcript not available",
|
|
87
|
-
"uploadFailed": "Upload failed. Please try again.",
|
|
88
|
-
"youWontBeAbleToRecover": "You won't be able to recover this file once it's gone."
|
|
89
|
-
}
|
|
90
|
-
}
|