@100mslive/react-native-room-kit 1.1.0 → 1.1.2
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/README.md +1 -1
- package/lib/commonjs/HMSRoomSetup.js +47 -0
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/Add/assets/add-circle.png +0 -0
- package/lib/commonjs/Icons/Add/assets/add-circle@2x.png +0 -0
- package/lib/commonjs/Icons/Add/assets/add-circle@3x.png +0 -0
- package/lib/commonjs/Icons/Add/index.js +35 -0
- package/lib/commonjs/Icons/Add/index.js.map +1 -0
- package/lib/commonjs/Icons/Check/assets/check-in-circle.png +0 -0
- package/lib/commonjs/Icons/Check/assets/check-in-circle@2x.png +0 -0
- package/lib/commonjs/Icons/Check/assets/check-in-circle@3x.png +0 -0
- package/lib/commonjs/Icons/Check/index.js +2 -1
- package/lib/commonjs/Icons/Check/index.js.map +1 -1
- package/lib/commonjs/Icons/CheckBox/assets/checkbox-checked.png +0 -0
- package/lib/commonjs/Icons/CheckBox/assets/checkbox-checked@2x.png +0 -0
- package/lib/commonjs/Icons/CheckBox/assets/checkbox-checked@3x.png +0 -0
- package/lib/commonjs/Icons/CheckBox/assets/checkbox.png +0 -0
- package/lib/commonjs/Icons/CheckBox/assets/checkbox@2x.png +0 -0
- package/lib/commonjs/Icons/CheckBox/assets/checkbox@3x.png +0 -0
- package/lib/commonjs/Icons/CheckBox/index.js +41 -0
- package/lib/commonjs/Icons/CheckBox/index.js.map +1 -0
- package/lib/commonjs/Icons/Poll/assets/poll.png +0 -0
- package/lib/commonjs/Icons/Poll/assets/poll@2x.png +0 -0
- package/lib/commonjs/Icons/Poll/assets/poll@3x.png +0 -0
- package/lib/commonjs/Icons/Poll/index.js +33 -0
- package/lib/commonjs/Icons/Poll/index.js.map +1 -0
- package/lib/commonjs/Icons/PollVote/assets/poll-vote.png +0 -0
- package/lib/commonjs/Icons/PollVote/assets/poll-vote@2x.png +0 -0
- package/lib/commonjs/Icons/PollVote/assets/poll-vote@3x.png +0 -0
- package/lib/commonjs/Icons/PollVote/index.js +33 -0
- package/lib/commonjs/Icons/PollVote/index.js.map +1 -0
- package/lib/commonjs/Icons/Quiz/assets/quiz.png +0 -0
- package/lib/commonjs/Icons/Quiz/assets/quiz@2x.png +0 -0
- package/lib/commonjs/Icons/Quiz/assets/quiz@3x.png +0 -0
- package/lib/commonjs/Icons/Quiz/index.js +33 -0
- package/lib/commonjs/Icons/Quiz/index.js.map +1 -0
- package/lib/commonjs/Icons/TrashBin/assets/trash-bin.png +0 -0
- package/lib/commonjs/Icons/TrashBin/assets/trash-bin@2x.png +0 -0
- package/lib/commonjs/Icons/TrashBin/assets/trash-bin@3x.png +0 -0
- package/lib/commonjs/Icons/TrashBin/index.js +34 -0
- package/lib/commonjs/Icons/TrashBin/index.js.map +1 -0
- package/lib/commonjs/Icons/index.js +66 -0
- package/lib/commonjs/Icons/index.js.map +1 -1
- package/lib/commonjs/components/CheckboxInputRow.js +53 -0
- package/lib/commonjs/components/CheckboxInputRow.js.map +1 -0
- package/lib/commonjs/components/CreatePoll.js +209 -0
- package/lib/commonjs/components/CreatePoll.js.map +1 -0
- package/lib/commonjs/components/Footer.js +6 -1
- package/lib/commonjs/components/Footer.js.map +1 -1
- package/lib/commonjs/components/GridView.js +4 -8
- package/lib/commonjs/components/GridView.js.map +1 -1
- package/lib/commonjs/components/HLSPlayerEmoticons.js +2 -3
- package/lib/commonjs/components/HLSPlayerEmoticons.js.map +1 -1
- package/lib/commonjs/components/HMSBaseButton.js +4 -2
- package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
- package/lib/commonjs/components/HMSNotification.js +5 -1
- package/lib/commonjs/components/HMSNotification.js.map +1 -1
- package/lib/commonjs/components/HMSNotifications.js +4 -0
- package/lib/commonjs/components/HMSNotifications.js.map +1 -1
- package/lib/commonjs/components/HMSPollsQuizzesNotification.js +95 -0
- package/lib/commonjs/components/HMSPollsQuizzesNotification.js.map +1 -0
- package/lib/commonjs/components/HMSRoomOptions.js +2 -1
- package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
- package/lib/commonjs/components/HMSSecondaryButton.js +56 -0
- package/lib/commonjs/components/HMSSecondaryButton.js.map +1 -0
- package/lib/commonjs/components/PollAndQuizQuestionResponseCard.js +233 -0
- package/lib/commonjs/components/PollAndQuizQuestionResponseCard.js.map +1 -0
- package/lib/commonjs/components/PollAndQuizQuestionResponseCards.js +53 -0
- package/lib/commonjs/components/PollAndQuizQuestionResponseCards.js.map +1 -0
- package/lib/commonjs/components/PollAndQuizVoting.js +135 -0
- package/lib/commonjs/components/PollAndQuizVoting.js.map +1 -0
- package/lib/commonjs/components/PollAndQuizzStateLabel.js +72 -0
- package/lib/commonjs/components/PollAndQuizzStateLabel.js.map +1 -0
- package/lib/commonjs/components/PollQDeleteConfirmationSheetView.js +68 -0
- package/lib/commonjs/components/PollQDeleteConfirmationSheetView.js.map +1 -0
- package/lib/commonjs/components/PollQuestion.js +424 -0
- package/lib/commonjs/components/PollQuestion.js.map +1 -0
- package/lib/commonjs/components/PollQuestionDeleteConfirmation.js +97 -0
- package/lib/commonjs/components/PollQuestionDeleteConfirmation.js.map +1 -0
- package/lib/commonjs/components/PollQuestions.js +203 -0
- package/lib/commonjs/components/PollQuestions.js.map +1 -0
- package/lib/commonjs/components/PollResponseProgressView.js +68 -0
- package/lib/commonjs/components/PollResponseProgressView.js.map +1 -0
- package/lib/commonjs/components/PollsAndQuizBottomSheet.js +59 -0
- package/lib/commonjs/components/PollsAndQuizBottomSheet.js.map +1 -0
- package/lib/commonjs/components/PollsAndQuizzesCard.js +97 -0
- package/lib/commonjs/components/PollsAndQuizzesCard.js.map +1 -0
- package/lib/commonjs/components/PollsAndQuizzesModalContent.js +159 -0
- package/lib/commonjs/components/PollsAndQuizzesModalContent.js.map +1 -0
- package/lib/commonjs/components/PollsConfigAndList.js +32 -0
- package/lib/commonjs/components/PollsConfigAndList.js.map +1 -0
- package/lib/commonjs/components/PreviousPollsAndQuizzesList.js +76 -0
- package/lib/commonjs/components/PreviousPollsAndQuizzesList.js.map +1 -0
- package/lib/commonjs/components/QuizEndOptionsView.js +63 -0
- package/lib/commonjs/components/QuizEndOptionsView.js.map +1 -0
- package/lib/commonjs/components/RadioInput.js +49 -0
- package/lib/commonjs/components/RadioInput.js.map +1 -0
- package/lib/commonjs/components/RadioInputRow.js +57 -0
- package/lib/commonjs/components/RadioInputRow.js.map +1 -0
- package/lib/commonjs/components/RoomSettingsModalContent.js +31 -6
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/SwitchRow.js +2 -1
- package/lib/commonjs/components/SwitchRow.js.map +1 -1
- package/lib/commonjs/components/TilesContainer.js +3 -4
- package/lib/commonjs/components/TilesContainer.js.map +1 -1
- package/lib/commonjs/hooks-util.js +26 -1
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/redux/actionTypes.js +40 -1
- package/lib/commonjs/redux/actionTypes.js.map +1 -1
- package/lib/commonjs/redux/actions/index.js +153 -1
- package/lib/commonjs/redux/actions/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/index.js +3 -1
- package/lib/commonjs/redux/reducers/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/polls.js +278 -0
- package/lib/commonjs/redux/reducers/polls.js.map +1 -0
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/functions.js +52 -2
- package/lib/commonjs/utils/functions.js.map +1 -1
- package/lib/commonjs/utils/types.js +1 -0
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +50 -3
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/Add/assets/add-circle.png +0 -0
- package/lib/module/Icons/Add/assets/add-circle@2x.png +0 -0
- package/lib/module/Icons/Add/assets/add-circle@3x.png +0 -0
- package/lib/module/Icons/Add/index.js +27 -0
- package/lib/module/Icons/Add/index.js.map +1 -0
- package/lib/module/Icons/Check/assets/check-in-circle.png +0 -0
- package/lib/module/Icons/Check/assets/check-in-circle@2x.png +0 -0
- package/lib/module/Icons/Check/assets/check-in-circle@3x.png +0 -0
- package/lib/module/Icons/Check/index.js +2 -1
- package/lib/module/Icons/Check/index.js.map +1 -1
- package/lib/module/Icons/CheckBox/assets/checkbox-checked.png +0 -0
- package/lib/module/Icons/CheckBox/assets/checkbox-checked@2x.png +0 -0
- package/lib/module/Icons/CheckBox/assets/checkbox-checked@3x.png +0 -0
- package/lib/module/Icons/CheckBox/assets/checkbox.png +0 -0
- package/lib/module/Icons/CheckBox/assets/checkbox@2x.png +0 -0
- package/lib/module/Icons/CheckBox/assets/checkbox@3x.png +0 -0
- package/lib/module/Icons/CheckBox/index.js +33 -0
- package/lib/module/Icons/CheckBox/index.js.map +1 -0
- package/lib/module/Icons/Poll/assets/poll.png +0 -0
- package/lib/module/Icons/Poll/assets/poll@2x.png +0 -0
- package/lib/module/Icons/Poll/assets/poll@3x.png +0 -0
- package/lib/module/Icons/Poll/index.js +25 -0
- package/lib/module/Icons/Poll/index.js.map +1 -0
- package/lib/module/Icons/PollVote/assets/poll-vote.png +0 -0
- package/lib/module/Icons/PollVote/assets/poll-vote@2x.png +0 -0
- package/lib/module/Icons/PollVote/assets/poll-vote@3x.png +0 -0
- package/lib/module/Icons/PollVote/index.js +25 -0
- package/lib/module/Icons/PollVote/index.js.map +1 -0
- package/lib/module/Icons/Quiz/assets/quiz.png +0 -0
- package/lib/module/Icons/Quiz/assets/quiz@2x.png +0 -0
- package/lib/module/Icons/Quiz/assets/quiz@3x.png +0 -0
- package/lib/module/Icons/Quiz/index.js +25 -0
- package/lib/module/Icons/Quiz/index.js.map +1 -0
- package/lib/module/Icons/TrashBin/assets/trash-bin.png +0 -0
- package/lib/module/Icons/TrashBin/assets/trash-bin@2x.png +0 -0
- package/lib/module/Icons/TrashBin/assets/trash-bin@3x.png +0 -0
- package/lib/module/Icons/TrashBin/index.js +26 -0
- package/lib/module/Icons/TrashBin/index.js.map +1 -0
- package/lib/module/Icons/index.js +6 -0
- package/lib/module/Icons/index.js.map +1 -1
- package/lib/module/components/CheckboxInputRow.js +45 -0
- package/lib/module/components/CheckboxInputRow.js.map +1 -0
- package/lib/module/components/CreatePoll.js +200 -0
- package/lib/module/components/CreatePoll.js.map +1 -0
- package/lib/module/components/Footer.js +6 -1
- package/lib/module/components/Footer.js.map +1 -1
- package/lib/module/components/GridView.js +5 -9
- package/lib/module/components/GridView.js.map +1 -1
- package/lib/module/components/HLSPlayerEmoticons.js +2 -3
- package/lib/module/components/HLSPlayerEmoticons.js.map +1 -1
- package/lib/module/components/HMSBaseButton.js +5 -3
- package/lib/module/components/HMSBaseButton.js.map +1 -1
- package/lib/module/components/HMSNotification.js +5 -1
- package/lib/module/components/HMSNotification.js.map +1 -1
- package/lib/module/components/HMSNotifications.js +4 -0
- package/lib/module/components/HMSNotifications.js.map +1 -1
- package/lib/module/components/HMSPollsQuizzesNotification.js +86 -0
- package/lib/module/components/HMSPollsQuizzesNotification.js.map +1 -0
- package/lib/module/components/HMSRoomOptions.js +2 -1
- package/lib/module/components/HMSRoomOptions.js.map +1 -1
- package/lib/module/components/HMSSecondaryButton.js +47 -0
- package/lib/module/components/HMSSecondaryButton.js.map +1 -0
- package/lib/module/components/PollAndQuizQuestionResponseCard.js +224 -0
- package/lib/module/components/PollAndQuizQuestionResponseCard.js.map +1 -0
- package/lib/module/components/PollAndQuizQuestionResponseCards.js +44 -0
- package/lib/module/components/PollAndQuizQuestionResponseCards.js.map +1 -0
- package/lib/module/components/PollAndQuizVoting.js +126 -0
- package/lib/module/components/PollAndQuizVoting.js.map +1 -0
- package/lib/module/components/PollAndQuizzStateLabel.js +63 -0
- package/lib/module/components/PollAndQuizzStateLabel.js.map +1 -0
- package/lib/module/components/PollQDeleteConfirmationSheetView.js +60 -0
- package/lib/module/components/PollQDeleteConfirmationSheetView.js.map +1 -0
- package/lib/module/components/PollQuestion.js +415 -0
- package/lib/module/components/PollQuestion.js.map +1 -0
- package/lib/module/components/PollQuestionDeleteConfirmation.js +88 -0
- package/lib/module/components/PollQuestionDeleteConfirmation.js.map +1 -0
- package/lib/module/components/PollQuestions.js +194 -0
- package/lib/module/components/PollQuestions.js.map +1 -0
- package/lib/module/components/PollResponseProgressView.js +59 -0
- package/lib/module/components/PollResponseProgressView.js.map +1 -0
- package/lib/module/components/PollsAndQuizBottomSheet.js +50 -0
- package/lib/module/components/PollsAndQuizBottomSheet.js.map +1 -0
- package/lib/module/components/PollsAndQuizzesCard.js +88 -0
- package/lib/module/components/PollsAndQuizzesCard.js.map +1 -0
- package/lib/module/components/PollsAndQuizzesModalContent.js +150 -0
- package/lib/module/components/PollsAndQuizzesModalContent.js.map +1 -0
- package/lib/module/components/PollsConfigAndList.js +23 -0
- package/lib/module/components/PollsConfigAndList.js.map +1 -0
- package/lib/module/components/PreviousPollsAndQuizzesList.js +67 -0
- package/lib/module/components/PreviousPollsAndQuizzesList.js.map +1 -0
- package/lib/module/components/QuizEndOptionsView.js +54 -0
- package/lib/module/components/QuizEndOptionsView.js.map +1 -0
- package/lib/module/components/RadioInput.js +41 -0
- package/lib/module/components/RadioInput.js.map +1 -0
- package/lib/module/components/RadioInputRow.js +49 -0
- package/lib/module/components/RadioInputRow.js.map +1 -0
- package/lib/module/components/RoomSettingsModalContent.js +32 -7
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/components/SwitchRow.js +2 -1
- package/lib/module/components/SwitchRow.js.map +1 -1
- package/lib/module/components/TilesContainer.js +5 -6
- package/lib/module/components/TilesContainer.js.map +1 -1
- package/lib/module/hooks-util.js +26 -4
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/redux/actionTypes.js +41 -0
- package/lib/module/redux/actionTypes.js.map +1 -1
- package/lib/module/redux/actions/index.js +127 -1
- package/lib/module/redux/actions/index.js.map +1 -1
- package/lib/module/redux/reducers/index.js +3 -1
- package/lib/module/redux/reducers/index.js.map +1 -1
- package/lib/module/redux/reducers/polls.js +272 -0
- package/lib/module/redux/reducers/polls.js.map +1 -0
- package/lib/module/types.js +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/functions.js +45 -1
- package/lib/module/utils/functions.js.map +1 -1
- package/lib/module/utils/types.js +1 -0
- package/lib/module/utils/types.js.map +1 -1
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/Icons/Add/index.d.ts +8 -0
- package/lib/typescript/Icons/Add/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Check/index.d.ts +1 -0
- package/lib/typescript/Icons/Check/index.d.ts.map +1 -1
- package/lib/typescript/Icons/CheckBox/index.d.ts +9 -0
- package/lib/typescript/Icons/CheckBox/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Poll/index.d.ts +7 -0
- package/lib/typescript/Icons/Poll/index.d.ts.map +1 -0
- package/lib/typescript/Icons/PollVote/index.d.ts +7 -0
- package/lib/typescript/Icons/PollVote/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Quiz/index.d.ts +7 -0
- package/lib/typescript/Icons/Quiz/index.d.ts.map +1 -0
- package/lib/typescript/Icons/TrashBin/index.d.ts +7 -0
- package/lib/typescript/Icons/TrashBin/index.d.ts.map +1 -0
- package/lib/typescript/Icons/index.d.ts +6 -0
- package/lib/typescript/Icons/index.d.ts.map +1 -1
- package/lib/typescript/components/CheckboxInputRow.d.ts +13 -0
- package/lib/typescript/components/CheckboxInputRow.d.ts.map +1 -0
- package/lib/typescript/components/CreatePoll.d.ts +5 -0
- package/lib/typescript/components/CreatePoll.d.ts.map +1 -0
- package/lib/typescript/components/Footer.d.ts.map +1 -1
- package/lib/typescript/components/GridView.d.ts.map +1 -1
- package/lib/typescript/components/HLSPlayerEmoticons.d.ts.map +1 -1
- package/lib/typescript/components/HMSBaseButton.d.ts +2 -1
- package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
- package/lib/typescript/components/HMSPollsQuizzesNotification.d.ts +7 -0
- package/lib/typescript/components/HMSPollsQuizzesNotification.d.ts.map +1 -0
- package/lib/typescript/components/HMSPrimaryButton.d.ts +1 -1
- package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
- package/lib/typescript/components/HMSSecondaryButton.d.ts +15 -0
- package/lib/typescript/components/HMSSecondaryButton.d.ts.map +1 -0
- package/lib/typescript/components/PollAndQuizQuestionResponseCard.d.ts +13 -0
- package/lib/typescript/components/PollAndQuizQuestionResponseCard.d.ts.map +1 -0
- package/lib/typescript/components/PollAndQuizQuestionResponseCards.d.ts +9 -0
- package/lib/typescript/components/PollAndQuizQuestionResponseCards.d.ts.map +1 -0
- package/lib/typescript/components/PollAndQuizVoting.d.ts +6 -0
- package/lib/typescript/components/PollAndQuizVoting.d.ts.map +1 -0
- package/lib/typescript/components/PollAndQuizzStateLabel.d.ts +7 -0
- package/lib/typescript/components/PollAndQuizzStateLabel.d.ts.map +1 -0
- package/lib/typescript/components/PollQDeleteConfirmationSheetView.d.ts +6 -0
- package/lib/typescript/components/PollQDeleteConfirmationSheetView.d.ts.map +1 -0
- package/lib/typescript/components/PollQuestion.d.ts +15 -0
- package/lib/typescript/components/PollQuestion.d.ts.map +1 -0
- package/lib/typescript/components/PollQuestionDeleteConfirmation.d.ts +6 -0
- package/lib/typescript/components/PollQuestionDeleteConfirmation.d.ts.map +1 -0
- package/lib/typescript/components/PollQuestions.d.ts +6 -0
- package/lib/typescript/components/PollQuestions.d.ts.map +1 -0
- package/lib/typescript/components/PollResponseProgressView.d.ts +9 -0
- package/lib/typescript/components/PollResponseProgressView.d.ts.map +1 -0
- package/lib/typescript/components/PollsAndQuizBottomSheet.d.ts +3 -0
- package/lib/typescript/components/PollsAndQuizBottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/PollsAndQuizzesCard.d.ts +7 -0
- package/lib/typescript/components/PollsAndQuizzesCard.d.ts.map +1 -0
- package/lib/typescript/components/PollsAndQuizzesModalContent.d.ts +7 -0
- package/lib/typescript/components/PollsAndQuizzesModalContent.d.ts.map +1 -0
- package/lib/typescript/components/PollsConfigAndList.d.ts +5 -0
- package/lib/typescript/components/PollsConfigAndList.d.ts.map +1 -0
- package/lib/typescript/components/PreviousPollsAndQuizzesList.d.ts +5 -0
- package/lib/typescript/components/PreviousPollsAndQuizzesList.d.ts.map +1 -0
- package/lib/typescript/components/QuizEndOptionsView.d.ts +10 -0
- package/lib/typescript/components/QuizEndOptionsView.d.ts.map +1 -0
- package/lib/typescript/components/RadioInput.d.ts +10 -0
- package/lib/typescript/components/RadioInput.d.ts.map +1 -0
- package/lib/typescript/components/RadioInputRow.d.ts +16 -0
- package/lib/typescript/components/RadioInputRow.d.ts.map +1 -0
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/SwitchRow.d.ts +2 -1
- package/lib/typescript/components/SwitchRow.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts +1 -0
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/redux/actionTypes.d.ts +176 -0
- package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
- package/lib/typescript/redux/actions/index.d.ts +38 -2
- package/lib/typescript/redux/actions/index.d.ts.map +1 -1
- package/lib/typescript/redux/index.d.ts +13 -0
- package/lib/typescript/redux/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/index.d.ts +13 -0
- package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/polls.d.ts +19 -0
- package/lib/typescript/redux/reducers/polls.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +3 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/functions.d.ts +7 -1
- package/lib/typescript/utils/functions.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +1 -0
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/HMSRoomSetup.tsx +62 -0
- package/src/Icons/Add/assets/add-circle.png +0 -0
- package/src/Icons/Add/assets/add-circle@2x.png +0 -0
- package/src/Icons/Add/assets/add-circle@3x.png +0 -0
- package/src/Icons/Add/index.tsx +37 -0
- package/src/Icons/Check/assets/check-in-circle.png +0 -0
- package/src/Icons/Check/assets/check-in-circle@2x.png +0 -0
- package/src/Icons/Check/assets/check-in-circle@3x.png +0 -0
- package/src/Icons/Check/index.tsx +9 -2
- package/src/Icons/CheckBox/assets/checkbox-checked.png +0 -0
- package/src/Icons/CheckBox/assets/checkbox-checked@2x.png +0 -0
- package/src/Icons/CheckBox/assets/checkbox-checked@3x.png +0 -0
- package/src/Icons/CheckBox/assets/checkbox.png +0 -0
- package/src/Icons/CheckBox/assets/checkbox@2x.png +0 -0
- package/src/Icons/CheckBox/assets/checkbox@3x.png +0 -0
- package/src/Icons/CheckBox/index.tsx +54 -0
- package/src/Icons/Poll/assets/poll.png +0 -0
- package/src/Icons/Poll/assets/poll@2x.png +0 -0
- package/src/Icons/Poll/assets/poll@3x.png +0 -0
- package/src/Icons/Poll/index.tsx +30 -0
- package/src/Icons/PollVote/assets/poll-vote.png +0 -0
- package/src/Icons/PollVote/assets/poll-vote@2x.png +0 -0
- package/src/Icons/PollVote/assets/poll-vote@3x.png +0 -0
- package/src/Icons/PollVote/index.tsx +33 -0
- package/src/Icons/Quiz/assets/quiz.png +0 -0
- package/src/Icons/Quiz/assets/quiz@2x.png +0 -0
- package/src/Icons/Quiz/assets/quiz@3x.png +0 -0
- package/src/Icons/Quiz/index.tsx +30 -0
- package/src/Icons/TrashBin/assets/trash-bin.png +0 -0
- package/src/Icons/TrashBin/assets/trash-bin@2x.png +0 -0
- package/src/Icons/TrashBin/assets/trash-bin@3x.png +0 -0
- package/src/Icons/TrashBin/index.tsx +34 -0
- package/src/Icons/index.ts +6 -0
- package/src/components/CheckboxInputRow.tsx +68 -0
- package/src/components/CreatePoll.tsx +249 -0
- package/src/components/Footer.tsx +7 -1
- package/src/components/GridView.tsx +4 -14
- package/src/components/HLSPlayerEmoticons.tsx +2 -3
- package/src/components/HMSBaseButton.tsx +8 -3
- package/src/components/HMSNotification.tsx +1 -1
- package/src/components/HMSNotifications.tsx +7 -0
- package/src/components/HMSPollsQuizzesNotification.tsx +110 -0
- package/src/components/HMSPrimaryButton.tsx +1 -1
- package/src/components/HMSRoomOptions.tsx +3 -0
- package/src/components/HMSSecondaryButton.tsx +72 -0
- package/src/components/PollAndQuizQuestionResponseCard.tsx +414 -0
- package/src/components/PollAndQuizQuestionResponseCards.tsx +62 -0
- package/src/components/PollAndQuizVoting.tsx +161 -0
- package/src/components/PollAndQuizzStateLabel.tsx +83 -0
- package/src/components/PollQDeleteConfirmationSheetView.tsx +82 -0
- package/src/components/PollQuestion.tsx +668 -0
- package/src/components/PollQuestionDeleteConfirmation.tsx +110 -0
- package/src/components/PollQuestions.tsx +277 -0
- package/src/components/PollResponseProgressView.tsx +77 -0
- package/src/components/PollsAndQuizBottomSheet.tsx +83 -0
- package/src/components/PollsAndQuizzesCard.tsx +111 -0
- package/src/components/PollsAndQuizzesModalContent.tsx +198 -0
- package/src/components/PollsConfigAndList.tsx +29 -0
- package/src/components/PreviousPollsAndQuizzesList.tsx +103 -0
- package/src/components/QuizEndOptionsView.tsx +71 -0
- package/src/components/RadioInput.tsx +56 -0
- package/src/components/RadioInputRow.tsx +73 -0
- package/src/components/RoomSettingsModalContent.tsx +23 -0
- package/src/components/SwitchRow.tsx +4 -2
- package/src/components/TilesContainer.tsx +4 -4
- package/src/hooks-util.ts +40 -1
- package/src/redux/actionTypes.ts +241 -0
- package/src/redux/actions/index.ts +240 -1
- package/src/redux/reducers/index.ts +2 -0
- package/src/redux/reducers/polls.ts +378 -0
- package/src/types.ts +2 -0
- package/src/utils/functions.ts +98 -0
- package/src/utils/types.ts +1 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { batch, useDispatch } from 'react-redux';
|
|
3
|
+
import { StyleSheet, Text, TouchableHighlight } from 'react-native';
|
|
4
|
+
import { GestureDetector, Gesture } from 'react-native-gesture-handler';
|
|
5
|
+
import { HMSPollType, HMSPollUpdateType } from '@100mslive/react-native-hms';
|
|
6
|
+
import { PollVoteIcon } from '../Icons';
|
|
7
|
+
import { useHMSRoomColorPalette, useHMSRoomStyleSheet, useModalType } from '../hooks-util';
|
|
8
|
+
import { HMSNotification } from './HMSNotification';
|
|
9
|
+
import { ModalTypes } from '../utils/types';
|
|
10
|
+
import { removeNotification, setPollStage, setSelectedPollId } from '../redux/actions';
|
|
11
|
+
import { CreatePollStages } from '../redux/actionTypes';
|
|
12
|
+
export const HMSPollsQuizzesNotification = ({
|
|
13
|
+
id,
|
|
14
|
+
payload
|
|
15
|
+
}) => {
|
|
16
|
+
const {
|
|
17
|
+
poll,
|
|
18
|
+
pollUpdateType
|
|
19
|
+
} = payload;
|
|
20
|
+
const dispatch = useDispatch();
|
|
21
|
+
const {
|
|
22
|
+
handleModalVisibleType
|
|
23
|
+
} = useModalType();
|
|
24
|
+
const {
|
|
25
|
+
secondary_dim: secondaryDimColor
|
|
26
|
+
} = useHMSRoomColorPalette();
|
|
27
|
+
// const canVoteOnPoll = useSelector((state: RootState) => {
|
|
28
|
+
// const permissions = state.hmsStates.localPeer?.role?.permissions;
|
|
29
|
+
// return permissions?.pollRead;
|
|
30
|
+
// });
|
|
31
|
+
|
|
32
|
+
const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
|
|
33
|
+
button: {
|
|
34
|
+
backgroundColor: theme.palette.secondary_default
|
|
35
|
+
},
|
|
36
|
+
buttonText: {
|
|
37
|
+
color: theme.palette.on_secondary_high,
|
|
38
|
+
fontFamily: `${typography.font_family}-SemiBold`
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
const handleVotePress = () => {
|
|
42
|
+
// if (!canVoteOnPoll) {
|
|
43
|
+
// return;
|
|
44
|
+
// }
|
|
45
|
+
batch(() => {
|
|
46
|
+
dispatch(setPollStage(CreatePollStages.POLL_VOTING));
|
|
47
|
+
dispatch(setSelectedPollId(poll.pollId));
|
|
48
|
+
handleModalVisibleType(ModalTypes.POLLS_AND_QUIZZES);
|
|
49
|
+
dispatch(removeNotification(id));
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
return /*#__PURE__*/React.createElement(HMSNotification, {
|
|
53
|
+
id: id,
|
|
54
|
+
icon: /*#__PURE__*/React.createElement(PollVoteIcon, null),
|
|
55
|
+
text: poll.createdBy ? `${poll.createdBy.name} ${pollUpdateType === HMSPollUpdateType.started ? 'started' : ''} a new ${poll.type === HMSPollType.poll ? 'poll' : 'quiz'}` : `A new ${poll.type === HMSPollType.poll ? 'poll' : 'quiz'} has started`,
|
|
56
|
+
autoDismiss: false,
|
|
57
|
+
dismissable: true,
|
|
58
|
+
cta:
|
|
59
|
+
/*#__PURE__*/
|
|
60
|
+
// canVoteOnPoll ? (
|
|
61
|
+
React.createElement(GestureDetector, {
|
|
62
|
+
gesture: Gesture.Tap()
|
|
63
|
+
}, /*#__PURE__*/React.createElement(TouchableHighlight, {
|
|
64
|
+
underlayColor: secondaryDimColor,
|
|
65
|
+
style: [styles.button, hmsRoomStyles.button],
|
|
66
|
+
onPress: handleVotePress
|
|
67
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
68
|
+
style: [styles.buttonText, hmsRoomStyles.buttonText]
|
|
69
|
+
}, poll.type === HMSPollType.quiz ? 'Answer' : 'Vote')))
|
|
70
|
+
// ) : undefined
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const styles = StyleSheet.create({
|
|
74
|
+
button: {
|
|
75
|
+
paddingVertical: 8,
|
|
76
|
+
paddingHorizontal: 16,
|
|
77
|
+
borderRadius: 8,
|
|
78
|
+
marginRight: 16
|
|
79
|
+
},
|
|
80
|
+
buttonText: {
|
|
81
|
+
fontSize: 14,
|
|
82
|
+
lineHeight: 20,
|
|
83
|
+
letterSpacing: 0.25
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=HMSPollsQuizzesNotification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","batch","useDispatch","StyleSheet","Text","TouchableHighlight","GestureDetector","Gesture","HMSPollType","HMSPollUpdateType","PollVoteIcon","useHMSRoomColorPalette","useHMSRoomStyleSheet","useModalType","HMSNotification","ModalTypes","removeNotification","setPollStage","setSelectedPollId","CreatePollStages","HMSPollsQuizzesNotification","id","payload","poll","pollUpdateType","dispatch","handleModalVisibleType","secondary_dim","secondaryDimColor","hmsRoomStyles","theme","typography","button","backgroundColor","palette","secondary_default","buttonText","color","on_secondary_high","fontFamily","font_family","handleVotePress","POLL_VOTING","pollId","POLLS_AND_QUIZZES","createElement","icon","text","createdBy","name","started","type","autoDismiss","dismissable","cta","gesture","Tap","underlayColor","style","styles","onPress","quiz","create","paddingVertical","paddingHorizontal","borderRadius","marginRight","fontSize","lineHeight","letterSpacing"],"sourceRoot":"../../../src","sources":["components/HMSPollsQuizzesNotification.tsx"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { BottomSheet } from './BottomSheet';
|
|
|
12
12
|
import { ChangeNameModalContent } from './ChangeNameModalContent';
|
|
13
13
|
import { StopRecordingModalContent } from './StopRecordingModalContent';
|
|
14
14
|
import { TestIds } from '../utils/constants';
|
|
15
|
+
import { PollsAndQuizBottomSheet } from './PollsAndQuizBottomSheet';
|
|
15
16
|
export const HMSRoomOptions = () => {
|
|
16
17
|
const {
|
|
17
18
|
modalVisibleType: modalVisible,
|
|
@@ -40,7 +41,7 @@ export const HMSRoomOptions = () => {
|
|
|
40
41
|
setAudioDeviceListenerAdded: setAudioDeviceChangeListener,
|
|
41
42
|
setIsAudioShared: setIsAudioShared,
|
|
42
43
|
setMuteAllTracksAudio: setMuteAllTracksAudio
|
|
43
|
-
})), /*#__PURE__*/React.createElement(BottomSheet, {
|
|
44
|
+
})), /*#__PURE__*/React.createElement(PollsAndQuizBottomSheet, null), /*#__PURE__*/React.createElement(BottomSheet, {
|
|
44
45
|
isVisible: modalVisible === ModalTypes.CHANGE_NAME,
|
|
45
46
|
dismissModal: dismissModal,
|
|
46
47
|
avoidKeyboard: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","HMSAudioMixingMode","HMSAudioMode","PressableIcon","HamburgerIcon","DefaultModal","RoomSettingsModalContent","ChangeAudioMixingModeModal","ChangeAudioModeModal","ChangeAudioOutputModal","ChangeBulkRoleModal","ChangeTrackStateForRoleModal","HlsStreamingModal","RecordingModal","RtcStatsModal","ModalTypes","useModalType","BottomSheet","ChangeNameModalContent","StopRecordingModalContent","TestIds","HMSRoomOptions","modalVisibleType","modalVisible","handleModalVisibleType","setModalVisible","isAudioShared","setIsAudioShared","useState","audioMode","setAudioMode","MODE_NORMAL","muteAllTracksAudio","setMuteAllTracksAudio","audioDeviceChangeListener","setAudioDeviceChangeListener","newAudioMixingMode","setNewAudioMixingMode","TALK_AND_MUSIC","onSettingsPress","SETTINGS","dismissModal","DEFAULT","createElement","testID","room_options_btn","onPress","isVisible","audioDeviceListenerAdded","closeRoomSettingsModal","setAudioDeviceListenerAdded","CHANGE_NAME","avoidKeyboard","STOP_RECORDING","animationIn","animationOut","RTC_STATS","modalPosiion","RECORDING","HLS_STREAMING","cancelModal","CHANGE_TRACK_ROLE","SWITCH_AUDIO_OUTPUT","CHANGE_AUDIO_MODE","AUDIO_MIXING_MODE","BULK_ROLE_CHANGE"],"sourceRoot":"../../../src","sources":["components/HMSRoomOptions.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,kBAAkB,EAAEC,YAAY,QAAQ,6BAA6B;AAE9E,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,QAAQ,UAAU;AACxC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SACEC,0BAA0B,EAC1BC,oBAAoB,EACpBC,sBAAsB,EACtBC,mBAAmB,EACnBC,4BAA4B,EAC5BC,iBAAiB,EACjBC,cAAc,EACdC,aAAa,QACR,UAAU;AACjB,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,OAAO,QAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"names":["React","View","HMSAudioMixingMode","HMSAudioMode","PressableIcon","HamburgerIcon","DefaultModal","RoomSettingsModalContent","ChangeAudioMixingModeModal","ChangeAudioModeModal","ChangeAudioOutputModal","ChangeBulkRoleModal","ChangeTrackStateForRoleModal","HlsStreamingModal","RecordingModal","RtcStatsModal","ModalTypes","useModalType","BottomSheet","ChangeNameModalContent","StopRecordingModalContent","TestIds","PollsAndQuizBottomSheet","HMSRoomOptions","modalVisibleType","modalVisible","handleModalVisibleType","setModalVisible","isAudioShared","setIsAudioShared","useState","audioMode","setAudioMode","MODE_NORMAL","muteAllTracksAudio","setMuteAllTracksAudio","audioDeviceChangeListener","setAudioDeviceChangeListener","newAudioMixingMode","setNewAudioMixingMode","TALK_AND_MUSIC","onSettingsPress","SETTINGS","dismissModal","DEFAULT","createElement","testID","room_options_btn","onPress","isVisible","audioDeviceListenerAdded","closeRoomSettingsModal","setAudioDeviceListenerAdded","CHANGE_NAME","avoidKeyboard","STOP_RECORDING","animationIn","animationOut","RTC_STATS","modalPosiion","RECORDING","HLS_STREAMING","cancelModal","CHANGE_TRACK_ROLE","SWITCH_AUDIO_OUTPUT","CHANGE_AUDIO_MODE","AUDIO_MIXING_MODE","BULK_ROLE_CHANGE"],"sourceRoot":"../../../src","sources":["components/HMSRoomOptions.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useHMSRoomColorPalette, useHMSRoomStyleSheet } from '../hooks-util';
|
|
3
|
+
import { HMSBaseButton } from './HMSBaseButton';
|
|
4
|
+
export const HMSSecondaryButton = ({
|
|
5
|
+
title,
|
|
6
|
+
loading,
|
|
7
|
+
onPress,
|
|
8
|
+
testId,
|
|
9
|
+
style,
|
|
10
|
+
disabled,
|
|
11
|
+
leftComponent,
|
|
12
|
+
wrapWithGestureDetector
|
|
13
|
+
}) => {
|
|
14
|
+
const {
|
|
15
|
+
secondary_dim: secondaryDarkColor,
|
|
16
|
+
on_secondary_high: onSecondaryHighColor
|
|
17
|
+
} = useHMSRoomColorPalette();
|
|
18
|
+
const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
|
|
19
|
+
button: {
|
|
20
|
+
backgroundColor: theme.palette.secondary_default
|
|
21
|
+
},
|
|
22
|
+
disabledButton: {
|
|
23
|
+
backgroundColor: theme.palette.secondary_disabled
|
|
24
|
+
},
|
|
25
|
+
buttonText: {
|
|
26
|
+
color: theme.palette.on_secondary_high,
|
|
27
|
+
fontFamily: `${typography.font_family}-SemiBold`
|
|
28
|
+
},
|
|
29
|
+
disabledText: {
|
|
30
|
+
color: theme.palette.on_secondary_low
|
|
31
|
+
}
|
|
32
|
+
}));
|
|
33
|
+
return /*#__PURE__*/React.createElement(HMSBaseButton, {
|
|
34
|
+
testID: testId,
|
|
35
|
+
loaderColor: onSecondaryHighColor,
|
|
36
|
+
loading: loading,
|
|
37
|
+
onPress: onPress,
|
|
38
|
+
title: title,
|
|
39
|
+
underlayColor: secondaryDarkColor,
|
|
40
|
+
disabled: disabled,
|
|
41
|
+
leftComponent: leftComponent,
|
|
42
|
+
style: [hmsRoomStyles.button, disabled ? hmsRoomStyles.disabledButton : null, style],
|
|
43
|
+
textStyle: [hmsRoomStyles.buttonText, disabled ? hmsRoomStyles.disabledText : null],
|
|
44
|
+
wrapWithGestureDetector: wrapWithGestureDetector
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=HMSSecondaryButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useHMSRoomColorPalette","useHMSRoomStyleSheet","HMSBaseButton","HMSSecondaryButton","title","loading","onPress","testId","style","disabled","leftComponent","wrapWithGestureDetector","secondary_dim","secondaryDarkColor","on_secondary_high","onSecondaryHighColor","hmsRoomStyles","theme","typography","button","backgroundColor","palette","secondary_default","disabledButton","secondary_disabled","buttonText","color","fontFamily","font_family","disabledText","on_secondary_low","createElement","testID","loaderColor","underlayColor","textStyle"],"sourceRoot":"../../../src","sources":["components/HMSSecondaryButton.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,sBAAsB,EAAEC,oBAAoB,QAAQ,eAAe;AAC5E,SAASC,aAAa,QAAQ,iBAAiB;AAc/C,OAAO,MAAMC,kBAAmD,GAAGA,CAAC;EAClEC,KAAK;EACLC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAM;IACJC,aAAa,EAAEC,kBAAkB;IACjCC,iBAAiB,EAAEC;EACrB,CAAC,GAAGf,sBAAsB,CAAC,CAAC;EAE5B,MAAMgB,aAAa,GAAGf,oBAAoB,CAAC,CAACgB,KAAK,EAAEC,UAAU,MAAM;IACjEC,MAAM,EAAE;MACNC,eAAe,EAAEH,KAAK,CAACI,OAAO,CAACC;IACjC,CAAC;IACDC,cAAc,EAAE;MACdH,eAAe,EAAEH,KAAK,CAACI,OAAO,CAACG;IACjC,CAAC;IACDC,UAAU,EAAE;MACVC,KAAK,EAAET,KAAK,CAACI,OAAO,CAACP,iBAAiB;MACtCa,UAAU,EAAG,GAAET,UAAU,CAACU,WAAY;IACxC,CAAC;IACDC,YAAY,EAAE;MACZH,KAAK,EAAET,KAAK,CAACI,OAAO,CAACS;IACvB;EACF,CAAC,CAAC,CAAC;EAEH,oBACE/B,KAAA,CAAAgC,aAAA,CAAC7B,aAAa;IACZ8B,MAAM,EAAEzB,MAAO;IACf0B,WAAW,EAAElB,oBAAqB;IAClCV,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBF,KAAK,EAAEA,KAAM;IACb8B,aAAa,EAAErB,kBAAmB;IAClCJ,QAAQ,EAAEA,QAAS;IACnBC,aAAa,EAAEA,aAAc;IAC7BF,KAAK,EAAE,CACLQ,aAAa,CAACG,MAAM,EACpBV,QAAQ,GAAGO,aAAa,CAACO,cAAc,GAAG,IAAI,EAC9Cf,KAAK,CACL;IACF2B,SAAS,EAAE,CACTnB,aAAa,CAACS,UAAU,EACxBhB,QAAQ,GAAGO,aAAa,CAACa,YAAY,GAAG,IAAI,CAC5C;IACFlB,uBAAuB,EAAEA;EAAwB,CAClD,CAAC;AAEN,CAAC"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
3
|
+
import { useDispatch, useSelector } from 'react-redux';
|
|
4
|
+
import { HMSPollQuestionType, HMSPollState, HMSPollType } from '@100mslive/react-native-hms';
|
|
5
|
+
import { useHMSInstance, useHMSRoomColorPalette, useHMSRoomStyleSheet } from '../hooks-util';
|
|
6
|
+
import { RadioInputRow } from './RadioInputRow';
|
|
7
|
+
import { HMSPrimaryButton } from './HMSPrimaryButton';
|
|
8
|
+
import { HMSBaseButton } from './HMSBaseButton';
|
|
9
|
+
import { addPollQuestionResponse, removePollQuestionResponse, setPollQuestionResponse } from '../redux/actions';
|
|
10
|
+
import { PollResponseProgressView } from './PollResponseProgressView';
|
|
11
|
+
import { CheckboxInputRow } from './CheckboxInputRow';
|
|
12
|
+
import { checkIsCorrectAnswer, checkIsCorrectOption, checkIsSelected, getLabelFromPollQuestionType } from '../utils/functions';
|
|
13
|
+
import { CheckIcon, CrossCircleIcon } from '../Icons';
|
|
14
|
+
import { QuizEndOptionsView } from './QuizEndOptionsView';
|
|
15
|
+
export const PollAndQuizQuestionResponseCard = ({
|
|
16
|
+
pollState,
|
|
17
|
+
totalQuestions,
|
|
18
|
+
pollId,
|
|
19
|
+
pollQuestion,
|
|
20
|
+
containerStyle,
|
|
21
|
+
onSubmit
|
|
22
|
+
}) => {
|
|
23
|
+
var _pollQuestion$options, _pollQuestion$options2, _pollQuestion$options3;
|
|
24
|
+
const {
|
|
25
|
+
primary_bright: primaryBrightColor,
|
|
26
|
+
on_surface_low: onSurfaceLowColor
|
|
27
|
+
} = useHMSRoomColorPalette();
|
|
28
|
+
const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
|
|
29
|
+
container: {
|
|
30
|
+
backgroundColor: theme.palette.surface_default,
|
|
31
|
+
borderColor: theme.palette.surface_default
|
|
32
|
+
},
|
|
33
|
+
surfaceLowSemiBoldText: {
|
|
34
|
+
color: theme.palette.on_surface_low,
|
|
35
|
+
fontFamily: `${typography.font_family}-SemiBold`
|
|
36
|
+
},
|
|
37
|
+
surfaceHighRegularText: {
|
|
38
|
+
color: theme.palette.on_surface_high,
|
|
39
|
+
fontFamily: `${typography.font_family}-Regular`
|
|
40
|
+
},
|
|
41
|
+
wrongAnswer: {
|
|
42
|
+
borderColor: theme.palette.alert_error_default
|
|
43
|
+
},
|
|
44
|
+
correctAnswer: {
|
|
45
|
+
borderColor: theme.palette.alert_success
|
|
46
|
+
},
|
|
47
|
+
wrongAnswerText: {
|
|
48
|
+
color: theme.palette.alert_error_default
|
|
49
|
+
},
|
|
50
|
+
correctAnswerText: {
|
|
51
|
+
color: theme.palette.alert_success
|
|
52
|
+
},
|
|
53
|
+
wrongAnswerIcon: {
|
|
54
|
+
tintColor: theme.palette.alert_error_default
|
|
55
|
+
},
|
|
56
|
+
correctAnswerIcon: {
|
|
57
|
+
tintColor: theme.palette.alert_success
|
|
58
|
+
},
|
|
59
|
+
skipButton: {
|
|
60
|
+
borderColor: theme.palette.border_bright,
|
|
61
|
+
borderWidth: 1,
|
|
62
|
+
marginRight: 16
|
|
63
|
+
},
|
|
64
|
+
skipButtonText: {
|
|
65
|
+
color: theme.palette.on_surface_high,
|
|
66
|
+
fontFamily: `${typography.font_family}-SemiBold`
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
|
|
70
|
+
// variable to save timestamp when the question became visible to user
|
|
71
|
+
const startTime = React.useRef(null);
|
|
72
|
+
React.useEffect(() => {
|
|
73
|
+
startTime.current = Date.now();
|
|
74
|
+
}, [pollQuestion.index]);
|
|
75
|
+
const hmsInstance = useHMSInstance();
|
|
76
|
+
const dispatch = useDispatch();
|
|
77
|
+
const selectedOptions = useSelector(state => {
|
|
78
|
+
var _state$polls$pollsRes;
|
|
79
|
+
return ((_state$polls$pollsRes = state.polls.pollsResponses[pollId]) === null || _state$polls$pollsRes === void 0 ? void 0 : _state$polls$pollsRes[pollQuestion.index]) ?? null;
|
|
80
|
+
});
|
|
81
|
+
const pollType = useSelector(state => {
|
|
82
|
+
var _state$polls$polls$po;
|
|
83
|
+
return ((_state$polls$polls$po = state.polls.polls[pollId]) === null || _state$polls$polls$po === void 0 ? void 0 : _state$polls$polls$po.type) ?? HMSPollType.poll;
|
|
84
|
+
});
|
|
85
|
+
const canViewPollResponse = useSelector(state => {
|
|
86
|
+
var _state$hmsStates$loca, _state$polls$polls$po2;
|
|
87
|
+
const localPeerRole = (_state$hmsStates$loca = state.hmsStates.localPeer) === null || _state$hmsStates$loca === void 0 ? void 0 : _state$hmsStates$loca.role;
|
|
88
|
+
const rolesThatCanViewResponses = (_state$polls$polls$po2 = state.polls.polls[pollId]) === null || _state$polls$polls$po2 === void 0 ? void 0 : _state$polls$polls$po2.rolesThatCanViewResponses;
|
|
89
|
+
return Array.isArray(rolesThatCanViewResponses) && rolesThatCanViewResponses.length > 0 ? localPeerRole && rolesThatCanViewResponses.findIndex(role => role.name === localPeerRole.name) !== -1 : true;
|
|
90
|
+
});
|
|
91
|
+
const handleOptionSelection = (selected, option) => {
|
|
92
|
+
if (pollQuestion.type === HMSPollQuestionType.singleChoice) {
|
|
93
|
+
dispatch(setPollQuestionResponse(pollId, pollQuestion.index, option.index));
|
|
94
|
+
} else {
|
|
95
|
+
if (selected) {
|
|
96
|
+
dispatch(addPollQuestionResponse(pollId, pollQuestion.index, option.index));
|
|
97
|
+
} else {
|
|
98
|
+
dispatch(removePollQuestionResponse(pollId, pollQuestion.index, option.index));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const handleVotePress = async e => {
|
|
103
|
+
if (!selectedOptions) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
onSubmit === null || onSubmit === void 0 || onSubmit(e);
|
|
107
|
+
const result = await hmsInstance.interactivityCenter.add({
|
|
108
|
+
pollId,
|
|
109
|
+
pollQuestionIndex: pollQuestion.index,
|
|
110
|
+
responses: {
|
|
111
|
+
options: Array.isArray(selectedOptions) ? selectedOptions : [selectedOptions],
|
|
112
|
+
duration: pollType === HMSPollType.quiz && startTime.current !== null ? Date.now() - startTime.current : undefined
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
console.log(JSON.stringify(result, null, 4));
|
|
116
|
+
};
|
|
117
|
+
const handleSkipPress = async e => {
|
|
118
|
+
onSubmit === null || onSubmit === void 0 || onSubmit(e);
|
|
119
|
+
// TODO: Implement skip API
|
|
120
|
+
};
|
|
121
|
+
const anyOptionSelected = Array.isArray(selectedOptions) ? selectedOptions.length > 0 : selectedOptions !== null;
|
|
122
|
+
const isVoted = pollQuestion.myResponses.length > 0;
|
|
123
|
+
const InputComponent = pollQuestion.type === HMSPollQuestionType.singleChoice ? RadioInputRow : pollQuestion.type === HMSPollQuestionType.multipleChoice ? CheckboxInputRow : null;
|
|
124
|
+
const isCorrectAnswer = checkIsCorrectAnswer(pollQuestion.type, pollQuestion.myResponses, pollQuestion.answer);
|
|
125
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
126
|
+
style: [hmsRoomStyles.container, styles.container, pollType === HMSPollType.quiz && isVoted && pollState === HMSPollState.stopped ? isCorrectAnswer ? hmsRoomStyles.correctAnswer : hmsRoomStyles.wrongAnswer : null, containerStyle]
|
|
127
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
128
|
+
style: {
|
|
129
|
+
flexDirection: 'row'
|
|
130
|
+
}
|
|
131
|
+
}, pollType === HMSPollType.quiz && isVoted && pollState === HMSPollState.stopped ? isCorrectAnswer ? /*#__PURE__*/React.createElement(CheckIcon, {
|
|
132
|
+
type: "in-circle",
|
|
133
|
+
style: [hmsRoomStyles.correctAnswerIcon, {
|
|
134
|
+
marginRight: 8,
|
|
135
|
+
width: 16,
|
|
136
|
+
height: 16
|
|
137
|
+
}]
|
|
138
|
+
}) : /*#__PURE__*/React.createElement(CrossCircleIcon, {
|
|
139
|
+
style: [hmsRoomStyles.wrongAnswerIcon, {
|
|
140
|
+
marginRight: 8,
|
|
141
|
+
width: 16,
|
|
142
|
+
height: 16
|
|
143
|
+
}]
|
|
144
|
+
}) : null, /*#__PURE__*/React.createElement(Text, {
|
|
145
|
+
numberOfLines: 2,
|
|
146
|
+
style: [styles.tinyText, hmsRoomStyles.surfaceLowSemiBoldText, styles.uppercaseContent, pollType === HMSPollType.quiz && isVoted && pollState === HMSPollState.stopped ? isCorrectAnswer ? hmsRoomStyles.correctAnswerText : hmsRoomStyles.wrongAnswerText : null]
|
|
147
|
+
}, "Question ", pollQuestion.index, " of ", totalQuestions, ":", ' ', getLabelFromPollQuestionType(pollQuestion.type))), /*#__PURE__*/React.createElement(Text, {
|
|
148
|
+
style: [hmsRoomStyles.surfaceHighRegularText, styles.regularText, styles.verticalNormalSpacer]
|
|
149
|
+
}, pollQuestion.text), !InputComponent ? null : /*#__PURE__*/React.createElement(React.Fragment, null, pollType === HMSPollType.poll && canViewPollResponse && (pollQuestion.myResponses.length > 0 || pollState === HMSPollState.stopped) ? /*#__PURE__*/React.createElement(React.Fragment, null, (_pollQuestion$options = pollQuestion.options) === null || _pollQuestion$options === void 0 ? void 0 : _pollQuestion$options.sort((a, b) => a.index - b.index).map((option, _, arr) => {
|
|
150
|
+
return /*#__PURE__*/React.createElement(PollResponseProgressView, {
|
|
151
|
+
key: option.index,
|
|
152
|
+
option: option,
|
|
153
|
+
totalVotes: arr.reduce((acc, curr) => acc + curr.voteCount, 0)
|
|
154
|
+
});
|
|
155
|
+
})) : pollType === HMSPollType.quiz && pollState === HMSPollState.stopped ? /*#__PURE__*/React.createElement(React.Fragment, null, (_pollQuestion$options2 = pollQuestion.options) === null || _pollQuestion$options2 === void 0 ? void 0 : _pollQuestion$options2.sort((a, b) => a.index - b.index).map(option => {
|
|
156
|
+
const isSelected = checkIsSelected(pollQuestion, option, null);
|
|
157
|
+
const isCorrect = checkIsCorrectOption(pollQuestion.type, option, pollQuestion.answer);
|
|
158
|
+
return /*#__PURE__*/React.createElement(QuizEndOptionsView, {
|
|
159
|
+
key: option.index,
|
|
160
|
+
option: option,
|
|
161
|
+
isSelected: isSelected,
|
|
162
|
+
isCorrect: isCorrect
|
|
163
|
+
});
|
|
164
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null, (_pollQuestion$options3 = pollQuestion.options) === null || _pollQuestion$options3 === void 0 ? void 0 : _pollQuestion$options3.sort((a, b) => a.index - b.index).map(option => {
|
|
165
|
+
const isSelected = checkIsSelected(pollQuestion, option, selectedOptions);
|
|
166
|
+
return /*#__PURE__*/React.createElement(InputComponent, {
|
|
167
|
+
key: option.index,
|
|
168
|
+
disabled: isVoted,
|
|
169
|
+
selected: isSelected,
|
|
170
|
+
radioColor: isVoted ? isSelected ? primaryBrightColor : onSurfaceLowColor : undefined,
|
|
171
|
+
onChange: selected => handleOptionSelection(selected, option),
|
|
172
|
+
text: option.text,
|
|
173
|
+
containerStyle: {
|
|
174
|
+
marginBottom: 16
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}))), isVoted && (pollType === HMSPollType.poll || pollState === HMSPollState.started) ? /*#__PURE__*/React.createElement(Text, {
|
|
178
|
+
style: [styles.regularText, styles.votedLabel, hmsRoomStyles.surfaceLowSemiBoldText]
|
|
179
|
+
}, pollType === HMSPollType.quiz ? 'Answered' : 'Voted') : pollState === HMSPollState.started ? /*#__PURE__*/React.createElement(View, {
|
|
180
|
+
style: {
|
|
181
|
+
alignSelf: 'flex-end',
|
|
182
|
+
flexDirection: 'row'
|
|
183
|
+
}
|
|
184
|
+
}, pollQuestion.skippable ? /*#__PURE__*/React.createElement(HMSBaseButton, {
|
|
185
|
+
loading: false,
|
|
186
|
+
onPress: handleSkipPress,
|
|
187
|
+
title: "Skip",
|
|
188
|
+
style: hmsRoomStyles.skipButton,
|
|
189
|
+
textStyle: hmsRoomStyles.skipButtonText,
|
|
190
|
+
useTouchableOpacity: true
|
|
191
|
+
}) : null, /*#__PURE__*/React.createElement(HMSPrimaryButton, {
|
|
192
|
+
loading: false,
|
|
193
|
+
disabled: !anyOptionSelected,
|
|
194
|
+
onPress: handleVotePress,
|
|
195
|
+
title: pollType === HMSPollType.quiz ? 'Answer' : 'Vote'
|
|
196
|
+
})) : null);
|
|
197
|
+
};
|
|
198
|
+
const styles = StyleSheet.create({
|
|
199
|
+
container: {
|
|
200
|
+
padding: 16,
|
|
201
|
+
borderRadius: 8,
|
|
202
|
+
borderWidth: 1
|
|
203
|
+
},
|
|
204
|
+
tinyText: {
|
|
205
|
+
fontSize: 10,
|
|
206
|
+
lineHeight: 16,
|
|
207
|
+
letterSpacing: 1.5
|
|
208
|
+
},
|
|
209
|
+
regularText: {
|
|
210
|
+
fontSize: 16,
|
|
211
|
+
lineHeight: 24
|
|
212
|
+
},
|
|
213
|
+
verticalNormalSpacer: {
|
|
214
|
+
marginVertical: 16
|
|
215
|
+
},
|
|
216
|
+
votedLabel: {
|
|
217
|
+
paddingVertical: 8,
|
|
218
|
+
alignSelf: 'flex-end'
|
|
219
|
+
},
|
|
220
|
+
uppercaseContent: {
|
|
221
|
+
textTransform: 'uppercase'
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
//# sourceMappingURL=PollAndQuizQuestionResponseCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","useDispatch","useSelector","HMSPollQuestionType","HMSPollState","HMSPollType","useHMSInstance","useHMSRoomColorPalette","useHMSRoomStyleSheet","RadioInputRow","HMSPrimaryButton","HMSBaseButton","addPollQuestionResponse","removePollQuestionResponse","setPollQuestionResponse","PollResponseProgressView","CheckboxInputRow","checkIsCorrectAnswer","checkIsCorrectOption","checkIsSelected","getLabelFromPollQuestionType","CheckIcon","CrossCircleIcon","QuizEndOptionsView","PollAndQuizQuestionResponseCard","pollState","totalQuestions","pollId","pollQuestion","containerStyle","onSubmit","_pollQuestion$options","_pollQuestion$options2","_pollQuestion$options3","primary_bright","primaryBrightColor","on_surface_low","onSurfaceLowColor","hmsRoomStyles","theme","typography","container","backgroundColor","palette","surface_default","borderColor","surfaceLowSemiBoldText","color","fontFamily","font_family","surfaceHighRegularText","on_surface_high","wrongAnswer","alert_error_default","correctAnswer","alert_success","wrongAnswerText","correctAnswerText","wrongAnswerIcon","tintColor","correctAnswerIcon","skipButton","border_bright","borderWidth","marginRight","skipButtonText","startTime","useRef","useEffect","current","Date","now","index","hmsInstance","dispatch","selectedOptions","state","_state$polls$pollsRes","polls","pollsResponses","pollType","_state$polls$polls$po","type","poll","canViewPollResponse","_state$hmsStates$loca","_state$polls$polls$po2","localPeerRole","hmsStates","localPeer","role","rolesThatCanViewResponses","Array","isArray","length","findIndex","name","handleOptionSelection","selected","option","singleChoice","handleVotePress","e","result","interactivityCenter","add","pollQuestionIndex","responses","options","duration","quiz","undefined","console","log","JSON","stringify","handleSkipPress","anyOptionSelected","isVoted","myResponses","InputComponent","multipleChoice","isCorrectAnswer","answer","createElement","style","styles","stopped","flexDirection","width","height","numberOfLines","tinyText","uppercaseContent","regularText","verticalNormalSpacer","text","Fragment","sort","a","b","map","_","arr","key","totalVotes","reduce","acc","curr","voteCount","isSelected","isCorrect","disabled","radioColor","onChange","marginBottom","started","votedLabel","alignSelf","skippable","loading","onPress","title","textStyle","useTouchableOpacity","create","padding","borderRadius","fontSize","lineHeight","letterSpacing","marginVertical","paddingVertical","textTransform"],"sourceRoot":"../../../src","sources":["components/PollAndQuizQuestionResponseCard.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { HMSPollType } from '@100mslive/react-native-hms';
|
|
4
|
+
import { PollAndQuizQuestionResponseCard } from './PollAndQuizQuestionResponseCard';
|
|
5
|
+
export const PollAndQuizQuestionResponseCards = ({
|
|
6
|
+
poll,
|
|
7
|
+
onVote
|
|
8
|
+
}) => {
|
|
9
|
+
if (!Array.isArray(poll.questions) || poll.questions.length <= 0) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const pollQuestions = poll.questions.sort((a, b) => a.index - b.index);
|
|
13
|
+
|
|
14
|
+
// Show all question cards if the pollType is a `poll` OR if all questions have been answered
|
|
15
|
+
if (poll.type === HMSPollType.poll || pollQuestions.every(q => q.myResponses.length > 0)) {
|
|
16
|
+
return /*#__PURE__*/React.createElement(View, null, pollQuestions.map((question, _, arr) => /*#__PURE__*/React.createElement(PollAndQuizQuestionResponseCard, {
|
|
17
|
+
key: question.index,
|
|
18
|
+
pollState: poll.state,
|
|
19
|
+
pollId: poll.pollId,
|
|
20
|
+
totalQuestions: arr.length,
|
|
21
|
+
pollQuestion: question,
|
|
22
|
+
containerStyle: {
|
|
23
|
+
marginBottom: 16
|
|
24
|
+
},
|
|
25
|
+
onSubmit: onVote
|
|
26
|
+
})));
|
|
27
|
+
}
|
|
28
|
+
const unansweredQuestion = pollQuestions.find(q => !q.myResponses || q.myResponses.length <= 0);
|
|
29
|
+
|
|
30
|
+
// Show question cards one at a time if the pollType is a `quiz` and not all questions have been answered
|
|
31
|
+
if (unansweredQuestion) {
|
|
32
|
+
return /*#__PURE__*/React.createElement(PollAndQuizQuestionResponseCard, {
|
|
33
|
+
pollState: poll.state,
|
|
34
|
+
pollId: poll.pollId,
|
|
35
|
+
totalQuestions: pollQuestions.length,
|
|
36
|
+
pollQuestion: unansweredQuestion,
|
|
37
|
+
containerStyle: {
|
|
38
|
+
marginBottom: 16
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=PollAndQuizQuestionResponseCards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","HMSPollType","PollAndQuizQuestionResponseCard","PollAndQuizQuestionResponseCards","poll","onVote","Array","isArray","questions","length","pollQuestions","sort","a","b","index","type","every","q","myResponses","createElement","map","question","_","arr","key","pollState","state","pollId","totalQuestions","pollQuestion","containerStyle","marginBottom","onSubmit","unansweredQuestion","find"],"sourceRoot":"../../../src","sources":["components/PollAndQuizQuestionResponseCards.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAsB,6BAA6B;AAEvE,SAASC,+BAA+B,QAAQ,mCAAmC;AAQnF,OAAO,MAAMC,gCAEZ,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAAO,CAAC,KAAK;EACxB,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,IAAI,CAACI,SAAS,CAAC,IAAIJ,IAAI,CAACI,SAAS,CAACC,MAAM,IAAI,CAAC,EAAE;IAChE,OAAO,IAAI;EACb;EAEA,MAAMC,aAAa,GAAGN,IAAI,CAACI,SAAS,CAACG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,CAAC;;EAEtE;EACA,IACEV,IAAI,CAACW,IAAI,KAAKd,WAAW,CAACG,IAAI,IAC9BM,aAAa,CAACM,KAAK,CAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACT,MAAM,GAAG,CAAC,CAAC,EACpD;IACA,oBACEV,KAAA,CAAAoB,aAAA,CAACnB,IAAI,QACFU,aAAa,CAACU,GAAG,CAAC,CAACC,QAAQ,EAAEC,CAAC,EAAEC,GAAG,kBAClCxB,KAAA,CAAAoB,aAAA,CAACjB,+BAA+B;MAC9BsB,GAAG,EAAEH,QAAQ,CAACP,KAAM;MACpBW,SAAS,EAAErB,IAAI,CAACsB,KAAM;MACtBC,MAAM,EAAEvB,IAAI,CAACuB,MAAO;MACpBC,cAAc,EAAEL,GAAG,CAACd,MAAO;MAC3BoB,YAAY,EAAER,QAAS;MACvBS,cAAc,EAAE;QAAEC,YAAY,EAAE;MAAG,CAAE;MACrCC,QAAQ,EAAE3B;IAAO,CAClB,CACF,CACG,CAAC;EAEX;EAEA,MAAM4B,kBAAkB,GAAGvB,aAAa,CAACwB,IAAI,CAC1CjB,CAAC,IAAK,CAACA,CAAC,CAACC,WAAW,IAAID,CAAC,CAACC,WAAW,CAACT,MAAM,IAAI,CACnD,CAAC;;EAED;EACA,IAAIwB,kBAAkB,EAAE;IACtB,oBACElC,KAAA,CAAAoB,aAAA,CAACjB,+BAA+B;MAC9BuB,SAAS,EAAErB,IAAI,CAACsB,KAAM;MACtBC,MAAM,EAAEvB,IAAI,CAACuB,MAAO;MACpBC,cAAc,EAAElB,aAAa,CAACD,MAAO;MACrCoB,YAAY,EAAEI,kBAAmB;MACjCH,cAAc,EAAE;QAAEC,YAAY,EAAE;MAAG;IAAE,CACtC,CAAC;EAEN;EAEA,OAAO,IAAI;AACb,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Text, StyleSheet, ScrollView, findNodeHandle, UIManager, View } from 'react-native';
|
|
3
|
+
import { useSelector } from 'react-redux';
|
|
4
|
+
import { HMSPollState, HMSPollType } from '@100mslive/react-native-hms';
|
|
5
|
+
import { useHMSInstance, useHMSRoomStyleSheet } from '../hooks-util';
|
|
6
|
+
import { HMSDangerButton } from './HMSDangerButton';
|
|
7
|
+
import { PollAndQuizQuestionResponseCards } from './PollAndQuizQuestionResponseCards';
|
|
8
|
+
export const PollAndQuizVoting = () => {
|
|
9
|
+
var _selectedPoll$created;
|
|
10
|
+
const scrollViewRef = React.useRef(null);
|
|
11
|
+
const hmsInstance = useHMSInstance();
|
|
12
|
+
const selectedPoll = useSelector(state => {
|
|
13
|
+
const pollsData = state.polls;
|
|
14
|
+
if (pollsData.selectedPollId !== null) {
|
|
15
|
+
return pollsData.polls[pollsData.selectedPollId] || null;
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
});
|
|
19
|
+
const canCreateOrEndPoll = useSelector(state => {
|
|
20
|
+
var _state$hmsStates$loca;
|
|
21
|
+
const permissions = (_state$hmsStates$loca = state.hmsStates.localPeer) === null || _state$hmsStates$loca === void 0 || (_state$hmsStates$loca = _state$hmsStates$loca.role) === null || _state$hmsStates$loca === void 0 ? void 0 : _state$hmsStates$loca.permissions;
|
|
22
|
+
return permissions === null || permissions === void 0 ? void 0 : permissions.pollWrite;
|
|
23
|
+
});
|
|
24
|
+
const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
|
|
25
|
+
regularMediumText: {
|
|
26
|
+
color: theme.palette.on_surface_medium,
|
|
27
|
+
fontFamily: `${typography.font_family}-Regular`
|
|
28
|
+
},
|
|
29
|
+
semiBoldMediumText: {
|
|
30
|
+
color: theme.palette.on_surface_medium,
|
|
31
|
+
fontFamily: `${typography.font_family}-SemiBold`
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
const endPoll = async () => {
|
|
35
|
+
if (!selectedPoll || !canCreateOrEndPoll) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const result = await hmsInstance.interactivityCenter.stop(selectedPoll.pollId);
|
|
39
|
+
console.log('Poll ended', result);
|
|
40
|
+
};
|
|
41
|
+
const handleVote = e => {
|
|
42
|
+
const handle = findNodeHandle(e.nativeEvent.target);
|
|
43
|
+
const scrollHandle = findNodeHandle(scrollViewRef.current);
|
|
44
|
+
if (!handle) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (scrollHandle === null) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
UIManager.measureLayout(handle, scrollHandle, () => {
|
|
51
|
+
console.log('Failed', e);
|
|
52
|
+
}, (_left, top, _width, _height) => {
|
|
53
|
+
var _scrollViewRef$curren;
|
|
54
|
+
(_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 || _scrollViewRef$curren.scrollTo({
|
|
55
|
+
y: top + 400,
|
|
56
|
+
animated: true
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
61
|
+
style: {
|
|
62
|
+
flex: 1
|
|
63
|
+
}
|
|
64
|
+
}, /*#__PURE__*/React.createElement(ScrollView, {
|
|
65
|
+
ref: scrollViewRef,
|
|
66
|
+
style: styles.contentContainer,
|
|
67
|
+
contentContainerStyle: {
|
|
68
|
+
flexGrow: 1,
|
|
69
|
+
paddingVertical: 24
|
|
70
|
+
}
|
|
71
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
72
|
+
style: [styles.normalText, hmsRoomStyles.semiBoldMediumText]
|
|
73
|
+
}, selectedPoll === null || selectedPoll === void 0 || (_selectedPoll$created = selectedPoll.createdBy) === null || _selectedPoll$created === void 0 ? void 0 : _selectedPoll$created.name, " started a", ' ', (selectedPoll === null || selectedPoll === void 0 ? void 0 : selectedPoll.type) === HMSPollType.quiz ? 'quiz' : 'poll'), selectedPoll ? /*#__PURE__*/React.createElement(PollAndQuizQuestionResponseCards, {
|
|
74
|
+
poll: selectedPoll,
|
|
75
|
+
onVote: handleVote
|
|
76
|
+
}) : null), selectedPoll && selectedPoll.state === HMSPollState.started && canCreateOrEndPoll ? /*#__PURE__*/React.createElement(HMSDangerButton, {
|
|
77
|
+
disabled: !selectedPoll,
|
|
78
|
+
title: (selectedPoll === null || selectedPoll === void 0 ? void 0 : selectedPoll.type) === HMSPollType.quiz ? 'End Quiz' : 'End Poll',
|
|
79
|
+
loading: false,
|
|
80
|
+
onPress: endPoll,
|
|
81
|
+
style: {
|
|
82
|
+
marginTop: 16,
|
|
83
|
+
marginBottom: 16,
|
|
84
|
+
marginRight: 24,
|
|
85
|
+
alignSelf: 'flex-end'
|
|
86
|
+
}
|
|
87
|
+
}) : null);
|
|
88
|
+
};
|
|
89
|
+
const styles = StyleSheet.create({
|
|
90
|
+
smallText: {
|
|
91
|
+
fontSize: 14,
|
|
92
|
+
lineHeight: 20
|
|
93
|
+
},
|
|
94
|
+
normalText: {
|
|
95
|
+
fontSize: 16,
|
|
96
|
+
lineHeight: 24,
|
|
97
|
+
marginBottom: 16
|
|
98
|
+
},
|
|
99
|
+
contentContainer: {
|
|
100
|
+
paddingHorizontal: 24
|
|
101
|
+
},
|
|
102
|
+
typeSelectionLabel: {
|
|
103
|
+
fontSize: 12,
|
|
104
|
+
lineHeight: 16
|
|
105
|
+
},
|
|
106
|
+
pollNameLabel: {
|
|
107
|
+
fontSize: 14,
|
|
108
|
+
lineHeight: 20,
|
|
109
|
+
marginBottom: 8
|
|
110
|
+
},
|
|
111
|
+
textInput: {
|
|
112
|
+
flex: undefined
|
|
113
|
+
},
|
|
114
|
+
addOptionWrapper: {
|
|
115
|
+
alignSelf: 'flex-start'
|
|
116
|
+
},
|
|
117
|
+
addOptionContainer: {
|
|
118
|
+
flexDirection: 'row',
|
|
119
|
+
alignItems: 'center'
|
|
120
|
+
},
|
|
121
|
+
addOptionIconWrapper: {
|
|
122
|
+
marginRight: 8,
|
|
123
|
+
padding: 8
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=PollAndQuizVoting.js.map
|