@100mslive/react-native-room-kit 0.0.2 → 0.0.4
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/lib/commonjs/HMSInstanceSetup.js +1 -14
- package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
- package/lib/commonjs/HMSPrebuilt.js +13 -4
- package/lib/commonjs/HMSPrebuilt.js.map +1 -1
- package/lib/commonjs/HMSRoomSetup.js +38 -14
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/AnswerPhone/assets/answer-phone.png +0 -0
- package/lib/commonjs/Icons/AnswerPhone/assets/answer-phone@2x.png +0 -0
- package/lib/commonjs/Icons/AnswerPhone/assets/answer-phone@3x.png +0 -0
- package/lib/commonjs/Icons/AnswerPhone/index.js +30 -0
- package/lib/commonjs/Icons/AnswerPhone/index.js.map +1 -0
- package/lib/commonjs/Icons/Bluetooth/assets/bluetooth-on.png +0 -0
- package/lib/commonjs/Icons/Bluetooth/assets/bluetooth-on@2x.png +0 -0
- package/lib/commonjs/Icons/Bluetooth/assets/bluetooth-on@3x.png +0 -0
- package/lib/commonjs/Icons/Bluetooth/index.js +30 -0
- package/lib/commonjs/Icons/Bluetooth/index.js.map +1 -0
- package/lib/commonjs/Icons/Check/assets/check.png +0 -0
- package/lib/commonjs/Icons/Check/assets/check@2x.png +0 -0
- package/lib/commonjs/Icons/Check/assets/check@3x.png +0 -0
- package/lib/commonjs/Icons/Check/index.js +30 -0
- package/lib/commonjs/Icons/Check/index.js.map +1 -0
- package/lib/commonjs/Icons/GenericLogo/assets/generic-logo.png +0 -0
- package/lib/commonjs/Icons/GenericLogo/assets/generic-logo@2x.png +0 -0
- package/lib/commonjs/Icons/GenericLogo/assets/generic-logo@3x.png +0 -0
- package/lib/commonjs/Icons/GenericLogo/index.js +30 -0
- package/lib/commonjs/Icons/GenericLogo/index.js.map +1 -0
- package/lib/commonjs/Icons/Headphones/assets/headphones.png +0 -0
- package/lib/commonjs/Icons/Headphones/assets/headphones@2x.png +0 -0
- package/lib/commonjs/Icons/Headphones/assets/headphones@3x.png +0 -0
- package/lib/commonjs/Icons/Headphones/index.js +30 -0
- package/lib/commonjs/Icons/Headphones/index.js.map +1 -0
- package/lib/commonjs/Icons/Person/assets/person.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person@2x.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person@3x.png +0 -0
- package/lib/commonjs/Icons/Person/index.js +30 -0
- package/lib/commonjs/Icons/Person/index.js.map +1 -0
- package/lib/commonjs/Icons/Radio/assets/radio.png +0 -0
- package/lib/commonjs/Icons/Radio/assets/radio@2x.png +0 -0
- package/lib/commonjs/Icons/Radio/assets/radio@3x.png +0 -0
- package/lib/commonjs/Icons/Radio/index.js +30 -0
- package/lib/commonjs/Icons/Radio/index.js.map +1 -0
- package/lib/commonjs/Icons/Speaker/assets/speaker-large.png +0 -0
- package/lib/commonjs/Icons/Speaker/assets/speaker-large@2x.png +0 -0
- package/lib/commonjs/Icons/Speaker/assets/speaker-large@3x.png +0 -0
- package/lib/commonjs/Icons/Speaker/index.js +7 -2
- package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
- package/lib/commonjs/Icons/Wave/assets/wave.png +0 -0
- package/lib/commonjs/Icons/Wave/assets/wave@2x.png +0 -0
- package/lib/commonjs/Icons/Wave/assets/wave@3x.png +0 -0
- package/lib/commonjs/Icons/Wave/index.js +30 -0
- package/lib/commonjs/Icons/Wave/index.js.map +1 -0
- package/lib/commonjs/Icons/index.js +88 -0
- package/lib/commonjs/Icons/index.js.map +1 -1
- package/lib/commonjs/components/BackButton.js +3 -3
- package/lib/commonjs/components/BackButton.js.map +1 -1
- package/lib/commonjs/components/DisplayView.js +0 -6
- package/lib/commonjs/components/DisplayView.js.map +1 -1
- package/lib/commonjs/components/HMSHLSStreamLoading.js +56 -0
- package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -0
- package/lib/commonjs/components/HMSLocalVideoView.js +41 -0
- package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -0
- package/lib/commonjs/components/{HMSPreviewDeviceSettings.js → HMSManageAudioOutput.js} +97 -161
- package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -0
- package/lib/commonjs/components/HMSManageLeave.js +7 -60
- package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
- package/lib/commonjs/components/HMSMeetingEnded.js +36 -0
- package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewEditName.js +7 -4
- package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +64 -0
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewJoinButton.js +25 -6
- package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js +43 -0
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewPeersList.js +4 -50
- package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewSubtitle.js +26 -3
- package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTile.js +11 -77
- package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTitle.js +0 -1
- package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/HMSRoomOptions.js +2 -3
- package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
- package/lib/commonjs/components/HMSShowNetworkQuality.js +0 -2
- package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
- package/lib/commonjs/components/Meeting.js +7 -0
- package/lib/commonjs/components/Meeting.js.map +1 -1
- package/lib/commonjs/components/MenuModal/Menu.js +1 -2
- package/lib/commonjs/components/MenuModal/Menu.js.map +1 -1
- package/lib/commonjs/components/Modals.js +39 -299
- package/lib/commonjs/components/Modals.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsList.js +1 -20
- package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
- package/lib/commonjs/components/PeerSettingsModalContent.js +2 -13
- package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/Preview.js +87 -28
- package/lib/commonjs/components/Preview.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalContent.js +2 -101
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/index.js +0 -11
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/hooks/useHmsInstance.js +0 -1
- package/lib/commonjs/hooks/useHmsInstance.js.map +1 -1
- package/lib/commonjs/hooks-util-selectors.js +8 -1
- package/lib/commonjs/hooks-util-selectors.js.map +1 -1
- package/lib/commonjs/hooks-util.js +140 -82
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/redux/actionTypes.js +7 -1
- package/lib/commonjs/redux/actionTypes.js.map +1 -1
- package/lib/commonjs/redux/actions/index.js +25 -1
- package/lib/commonjs/redux/actions/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/appState.js +14 -1
- package/lib/commonjs/redux/reducers/appState.js.map +1 -1
- package/lib/commonjs/redux/reducers/hmsStates.js +12 -1
- package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
- package/lib/commonjs/utils/theme.js +6 -1
- package/lib/commonjs/utils/theme.js.map +1 -1
- package/lib/commonjs/utils/types.js +0 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils.js +2 -2
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/HMSInstanceSetup.js +1 -14
- package/lib/module/HMSInstanceSetup.js.map +1 -1
- package/lib/module/HMSPrebuilt.js +13 -3
- package/lib/module/HMSPrebuilt.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +43 -19
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/AnswerPhone/assets/answer-phone.png +0 -0
- package/lib/module/Icons/AnswerPhone/assets/answer-phone@2x.png +0 -0
- package/lib/module/Icons/AnswerPhone/assets/answer-phone@3x.png +0 -0
- package/lib/module/Icons/AnswerPhone/index.js +22 -0
- package/lib/module/Icons/AnswerPhone/index.js.map +1 -0
- package/lib/module/Icons/Bluetooth/assets/bluetooth-on.png +0 -0
- package/lib/module/Icons/Bluetooth/assets/bluetooth-on@2x.png +0 -0
- package/lib/module/Icons/Bluetooth/assets/bluetooth-on@3x.png +0 -0
- package/lib/module/Icons/Bluetooth/index.js +22 -0
- package/lib/module/Icons/Bluetooth/index.js.map +1 -0
- package/lib/module/Icons/Check/assets/check.png +0 -0
- package/lib/module/Icons/Check/assets/check@2x.png +0 -0
- package/lib/module/Icons/Check/assets/check@3x.png +0 -0
- package/lib/module/Icons/Check/index.js +22 -0
- package/lib/module/Icons/Check/index.js.map +1 -0
- package/lib/module/Icons/GenericLogo/assets/generic-logo.png +0 -0
- package/lib/module/Icons/GenericLogo/assets/generic-logo@2x.png +0 -0
- package/lib/module/Icons/GenericLogo/assets/generic-logo@3x.png +0 -0
- package/lib/module/Icons/GenericLogo/index.js +22 -0
- package/lib/module/Icons/GenericLogo/index.js.map +1 -0
- package/lib/module/Icons/Headphones/assets/headphones.png +0 -0
- package/lib/module/Icons/Headphones/assets/headphones@2x.png +0 -0
- package/lib/module/Icons/Headphones/assets/headphones@3x.png +0 -0
- package/lib/module/Icons/Headphones/index.js +22 -0
- package/lib/module/Icons/Headphones/index.js.map +1 -0
- package/lib/module/Icons/Person/assets/person.png +0 -0
- package/lib/module/Icons/Person/assets/person@2x.png +0 -0
- package/lib/module/Icons/Person/assets/person@3x.png +0 -0
- package/lib/module/Icons/Person/index.js +22 -0
- package/lib/module/Icons/Person/index.js.map +1 -0
- package/lib/module/Icons/Radio/assets/radio.png +0 -0
- package/lib/module/Icons/Radio/assets/radio@2x.png +0 -0
- package/lib/module/Icons/Radio/assets/radio@3x.png +0 -0
- package/lib/module/Icons/Radio/index.js +22 -0
- package/lib/module/Icons/Radio/index.js.map +1 -0
- package/lib/module/Icons/Speaker/assets/speaker-large.png +0 -0
- package/lib/module/Icons/Speaker/assets/speaker-large@2x.png +0 -0
- package/lib/module/Icons/Speaker/assets/speaker-large@3x.png +0 -0
- package/lib/module/Icons/Speaker/index.js +7 -2
- package/lib/module/Icons/Speaker/index.js.map +1 -1
- package/lib/module/Icons/Wave/assets/wave.png +0 -0
- package/lib/module/Icons/Wave/assets/wave@2x.png +0 -0
- package/lib/module/Icons/Wave/assets/wave@3x.png +0 -0
- package/lib/module/Icons/Wave/index.js +22 -0
- package/lib/module/Icons/Wave/index.js.map +1 -0
- package/lib/module/Icons/index.js +8 -0
- package/lib/module/Icons/index.js.map +1 -1
- package/lib/module/components/BackButton.js +4 -4
- package/lib/module/components/BackButton.js.map +1 -1
- package/lib/module/components/DisplayView.js +1 -7
- package/lib/module/components/DisplayView.js.map +1 -1
- package/lib/module/components/HMSHLSStreamLoading.js +47 -0
- package/lib/module/components/HMSHLSStreamLoading.js.map +1 -0
- package/lib/module/components/HMSLocalVideoView.js +32 -0
- package/lib/module/components/HMSLocalVideoView.js.map +1 -0
- package/lib/module/components/HMSManageAudioOutput.js +232 -0
- package/lib/module/components/HMSManageAudioOutput.js.map +1 -0
- package/lib/module/components/HMSManageLeave.js +9 -62
- package/lib/module/components/HMSManageLeave.js.map +1 -1
- package/lib/module/components/HMSMeetingEnded.js +27 -0
- package/lib/module/components/HMSMeetingEnded.js.map +1 -0
- package/lib/module/components/HMSPreviewEditName.js +8 -5
- package/lib/module/components/HMSPreviewEditName.js.map +1 -1
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js +55 -0
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
- package/lib/module/components/HMSPreviewJoinButton.js +25 -6
- package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/module/components/HMSPreviewNetworkQuality.js +34 -0
- package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -0
- package/lib/module/components/HMSPreviewPeersList.js +4 -50
- package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
- package/lib/module/components/HMSPreviewSubtitle.js +26 -3
- package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/module/components/HMSPreviewTile.js +12 -78
- package/lib/module/components/HMSPreviewTile.js.map +1 -1
- package/lib/module/components/HMSPreviewTitle.js +0 -1
- package/lib/module/components/HMSPreviewTitle.js.map +1 -1
- package/lib/module/components/HMSRoomOptions.js +2 -3
- package/lib/module/components/HMSRoomOptions.js.map +1 -1
- package/lib/module/components/HMSShowNetworkQuality.js +0 -2
- package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
- package/lib/module/components/Meeting.js +7 -0
- package/lib/module/components/Meeting.js.map +1 -1
- package/lib/module/components/MenuModal/Menu.js +1 -2
- package/lib/module/components/MenuModal/Menu.js.map +1 -1
- package/lib/module/components/Modals.js +40 -298
- package/lib/module/components/Modals.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsList.js +1 -20
- package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
- package/lib/module/components/PeerSettingsModalContent.js +2 -13
- package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/module/components/Preview.js +88 -30
- package/lib/module/components/Preview.js.map +1 -1
- package/lib/module/components/RoomSettingsModalContent.js +3 -100
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/components/index.js +0 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hooks/useHmsInstance.js +0 -1
- package/lib/module/hooks/useHmsInstance.js.map +1 -1
- package/lib/module/hooks-util-selectors.js +6 -0
- package/lib/module/hooks-util-selectors.js.map +1 -1
- package/lib/module/hooks-util.js +142 -86
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/redux/actionTypes.js +7 -1
- package/lib/module/redux/actionTypes.js.map +1 -1
- package/lib/module/redux/actions/index.js +20 -0
- package/lib/module/redux/actions/index.js.map +1 -1
- package/lib/module/redux/reducers/appState.js +14 -1
- package/lib/module/redux/reducers/appState.js.map +1 -1
- package/lib/module/redux/reducers/hmsStates.js +12 -1
- package/lib/module/redux/reducers/hmsStates.js.map +1 -1
- package/lib/module/utils/theme.js +6 -1
- package/lib/module/utils/theme.js.map +1 -1
- package/lib/module/utils/types.js +0 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils.js +2 -2
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -1
- package/lib/typescript/HMSPrebuilt.d.ts +2 -3
- package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/Icons/AnswerPhone/index.d.ts +7 -0
- package/lib/typescript/Icons/AnswerPhone/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Bluetooth/index.d.ts +7 -0
- package/lib/typescript/Icons/Bluetooth/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Check/index.d.ts +7 -0
- package/lib/typescript/Icons/Check/index.d.ts.map +1 -0
- package/lib/typescript/Icons/GenericLogo/index.d.ts +7 -0
- package/lib/typescript/Icons/GenericLogo/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Headphones/index.d.ts +7 -0
- package/lib/typescript/Icons/Headphones/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Person/index.d.ts +7 -0
- package/lib/typescript/Icons/Person/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Radio/index.d.ts +7 -0
- package/lib/typescript/Icons/Radio/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Speaker/index.d.ts +1 -0
- package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Wave/index.d.ts +7 -0
- package/lib/typescript/Icons/Wave/index.d.ts.map +1 -0
- package/lib/typescript/Icons/index.d.ts +8 -0
- package/lib/typescript/Icons/index.d.ts.map +1 -1
- package/lib/typescript/components/CustomInput.d.ts +1 -1
- package/lib/typescript/components/DisplayView.d.ts.map +1 -1
- package/lib/typescript/components/HMSHLSStreamLoading.d.ts +3 -0
- package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -0
- package/lib/typescript/components/HMSLocalVideoView.d.ts +3 -0
- package/lib/typescript/components/HMSLocalVideoView.d.ts.map +1 -0
- package/lib/typescript/components/HMSManageAudioOutput.d.ts +3 -0
- package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -0
- package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
- package/lib/typescript/components/HMSMeetingEnded.d.ts +3 -0
- package/lib/typescript/components/HMSMeetingEnded.d.ts.map +1 -0
- package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts +3 -0
- package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -0
- package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts +3 -0
- package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -0
- package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -1
- package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
- package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
- package/lib/typescript/components/Meeting.d.ts.map +1 -1
- package/lib/typescript/components/MenuModal/Menu.d.ts.map +1 -1
- package/lib/typescript/components/Modals.d.ts +1 -9
- package/lib/typescript/components/Modals.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
- package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Preview.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +0 -1
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/hooks-util-selectors.d.ts +2 -0
- package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts +9 -2
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/redux/actionTypes.d.ts +5 -1
- package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
- package/lib/typescript/redux/actions/index.d.ts +24 -3
- package/lib/typescript/redux/actions/index.d.ts.map +1 -1
- package/lib/typescript/redux/index.d.ts +4 -1
- package/lib/typescript/redux/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/appState.d.ts +3 -0
- package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts +11 -2
- package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/index.d.ts +4 -1
- package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/userState.d.ts +2 -2
- package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
- package/lib/typescript/utils/theme.d.ts +5 -0
- package/lib/typescript/utils/theme.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +3 -4
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +11 -17
- package/src/HMSInstanceSetup.tsx +4 -31
- package/src/HMSPrebuilt.tsx +24 -6
- package/src/HMSRoomSetup.tsx +55 -17
- package/src/Icons/AnswerPhone/assets/answer-phone.png +0 -0
- package/src/Icons/AnswerPhone/assets/answer-phone@2x.png +0 -0
- package/src/Icons/AnswerPhone/assets/answer-phone@3x.png +0 -0
- package/src/Icons/AnswerPhone/index.tsx +27 -0
- package/src/Icons/Bluetooth/assets/bluetooth-on.png +0 -0
- package/src/Icons/Bluetooth/assets/bluetooth-on@2x.png +0 -0
- package/src/Icons/Bluetooth/assets/bluetooth-on@3x.png +0 -0
- package/src/Icons/Bluetooth/index.tsx +27 -0
- package/src/Icons/Check/assets/check.png +0 -0
- package/src/Icons/Check/assets/check@2x.png +0 -0
- package/src/Icons/Check/assets/check@3x.png +0 -0
- package/src/Icons/Check/index.tsx +27 -0
- package/src/Icons/GenericLogo/assets/generic-logo.png +0 -0
- package/src/Icons/GenericLogo/assets/generic-logo@2x.png +0 -0
- package/src/Icons/GenericLogo/assets/generic-logo@3x.png +0 -0
- package/src/Icons/GenericLogo/index.tsx +27 -0
- package/src/Icons/Headphones/assets/headphones.png +0 -0
- package/src/Icons/Headphones/assets/headphones@2x.png +0 -0
- package/src/Icons/Headphones/assets/headphones@3x.png +0 -0
- package/src/Icons/Headphones/index.tsx +27 -0
- package/src/Icons/Person/assets/person.png +0 -0
- package/src/Icons/Person/assets/person@2x.png +0 -0
- package/src/Icons/Person/assets/person@3x.png +0 -0
- package/src/Icons/Person/index.tsx +27 -0
- package/src/Icons/Radio/assets/radio.png +0 -0
- package/src/Icons/Radio/assets/radio@2x.png +0 -0
- package/src/Icons/Radio/assets/radio@3x.png +0 -0
- package/src/Icons/Radio/index.tsx +27 -0
- package/src/Icons/Speaker/assets/speaker-large.png +0 -0
- package/src/Icons/Speaker/assets/speaker-large@2x.png +0 -0
- package/src/Icons/Speaker/assets/speaker-large@3x.png +0 -0
- package/src/Icons/Speaker/index.tsx +10 -2
- package/src/Icons/Wave/assets/wave.png +0 -0
- package/src/Icons/Wave/assets/wave@2x.png +0 -0
- package/src/Icons/Wave/assets/wave@3x.png +0 -0
- package/src/Icons/Wave/index.tsx +24 -0
- package/src/Icons/index.ts +8 -0
- package/src/components/BackButton.tsx +4 -4
- package/src/components/DisplayView.tsx +0 -10
- package/src/components/HMSHLSStreamLoading.tsx +57 -0
- package/src/components/HMSLocalVideoView.tsx +42 -0
- package/src/components/HMSManageAudioOutput.tsx +311 -0
- package/src/components/HMSManageLeave.tsx +6 -77
- package/src/components/HMSMeetingEnded.tsx +29 -0
- package/src/components/HMSPreviewEditName.tsx +6 -5
- package/src/components/HMSPreviewHLSLiveIndicator.tsx +58 -0
- package/src/components/HMSPreviewJoinButton.tsx +44 -4
- package/src/components/HMSPreviewNetworkQuality.tsx +40 -0
- package/src/components/HMSPreviewPeersList.tsx +12 -72
- package/src/components/HMSPreviewSubtitle.tsx +27 -3
- package/src/components/HMSPreviewTile.tsx +13 -91
- package/src/components/HMSPreviewTitle.tsx +0 -1
- package/src/components/HMSRoomOptions.tsx +2 -8
- package/src/components/HMSShowNetworkQuality.tsx +0 -1
- package/src/components/Meeting.tsx +11 -0
- package/src/components/MenuModal/Menu.tsx +1 -1
- package/src/components/Modals.tsx +4 -299
- package/src/components/Participants/ParticipantsList.tsx +0 -24
- package/src/components/PeerSettingsModalContent.tsx +9 -23
- package/src/components/Preview.tsx +131 -48
- package/src/components/RoomSettingsModalContent.tsx +1 -138
- package/src/components/index.ts +0 -1
- package/src/hooks/useHmsInstance.ts +0 -1
- package/src/hooks-util-selectors.tsx +10 -0
- package/src/hooks-util.ts +168 -89
- package/src/redux/actionTypes.ts +8 -0
- package/src/redux/actions/index.ts +23 -2
- package/src/redux/reducers/appState.ts +9 -0
- package/src/redux/reducers/hmsStates.ts +28 -1
- package/src/redux/reducers/userState.ts +2 -2
- package/src/utils/theme.ts +6 -1
- package/src/utils/types.ts +3 -4
- package/src/utils.ts +2 -2
- package/lib/commonjs/components/HMSPreviewDeviceSettings.js.map +0 -1
- package/lib/commonjs/components/ZoomableView.js +0 -84
- package/lib/commonjs/components/ZoomableView.js.map +0 -1
- package/lib/module/components/HMSPreviewDeviceSettings.js +0 -296
- package/lib/module/components/HMSPreviewDeviceSettings.js.map +0 -1
- package/lib/module/components/ZoomableView.js +0 -76
- package/lib/module/components/ZoomableView.js.map +0 -1
- package/lib/typescript/components/HMSPreviewDeviceSettings.d.ts +0 -3
- package/lib/typescript/components/HMSPreviewDeviceSettings.d.ts.map +0 -1
- package/lib/typescript/components/ZoomableView.d.ts +0 -6
- package/lib/typescript/components/ZoomableView.d.ts.map +0 -1
- package/src/components/HMSPreviewDeviceSettings.tsx +0 -387
- package/src/components/ZoomableView.tsx +0 -91
package/src/HMSRoomSetup.tsx
CHANGED
|
@@ -5,12 +5,21 @@ import {
|
|
|
5
5
|
HMSUpdateListenerActions,
|
|
6
6
|
} from '@100mslive/react-native-hms';
|
|
7
7
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
Alert,
|
|
10
|
+
Keyboard,
|
|
11
|
+
Platform,
|
|
12
|
+
StatusBar,
|
|
13
|
+
StyleSheet,
|
|
14
|
+
View,
|
|
15
|
+
} from 'react-native';
|
|
9
16
|
import Toast from 'react-native-simple-toast';
|
|
10
|
-
import { batch, useDispatch } from 'react-redux';
|
|
17
|
+
import { batch, useDispatch, useSelector, useStore } from 'react-redux';
|
|
11
18
|
|
|
12
19
|
import { Preview } from './components';
|
|
13
20
|
import {
|
|
21
|
+
changeMeetingState,
|
|
22
|
+
changeStartingHLSStream,
|
|
14
23
|
clearStore,
|
|
15
24
|
setHMSLocalPeerState,
|
|
16
25
|
setHMSRoomState,
|
|
@@ -23,6 +32,7 @@ import {
|
|
|
23
32
|
useHMSInstance,
|
|
24
33
|
useHMSListeners,
|
|
25
34
|
useHMSSessionStore,
|
|
35
|
+
useLeaveMethods,
|
|
26
36
|
} from './hooks-util';
|
|
27
37
|
import {
|
|
28
38
|
peerTrackNodeExistForPeerAndTrack,
|
|
@@ -34,7 +44,9 @@ import { MeetingState } from './types';
|
|
|
34
44
|
import { getJoinConfig } from './utils';
|
|
35
45
|
import { COLORS } from './utils/theme';
|
|
36
46
|
import { FullScreenIndicator } from './components/FullScreenIndicator';
|
|
37
|
-
import {
|
|
47
|
+
import { HMSMeetingEnded } from './components/HMSMeetingEnded';
|
|
48
|
+
import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
|
|
49
|
+
import type { RootState } from './redux';
|
|
38
50
|
|
|
39
51
|
type PreviewData = {
|
|
40
52
|
room: HMSRoom;
|
|
@@ -42,19 +54,23 @@ type PreviewData = {
|
|
|
42
54
|
};
|
|
43
55
|
|
|
44
56
|
export const HMSRoomSetup = () => {
|
|
45
|
-
|
|
57
|
+
const ignoreHLSStreamPromise = useRef(false);
|
|
46
58
|
const didInitMeetingAction = useRef(false);
|
|
47
59
|
const hmsInstance = useHMSInstance();
|
|
48
60
|
const dispatch = useDispatch();
|
|
49
|
-
|
|
61
|
+
const reduxStore = useStore();
|
|
50
62
|
|
|
51
63
|
const { getConfig, clearConfig } = useHMSConfig();
|
|
52
|
-
const
|
|
64
|
+
const meetingState = useSelector(
|
|
65
|
+
(state: RootState) => state.app.meetingState
|
|
66
|
+
);
|
|
53
67
|
const [peerTrackNodes, setPeerTrackNodes] = useState<PeerTrackNode[]>([]);
|
|
54
68
|
const [loading, setLoading] = useState(false);
|
|
69
|
+
const { goToPreview } = useLeaveMethods();
|
|
55
70
|
|
|
56
71
|
const joinMeeting = useCallback(async () => {
|
|
57
72
|
setLoading(true);
|
|
73
|
+
Keyboard.dismiss();
|
|
58
74
|
const hmsConfig = await getConfig();
|
|
59
75
|
// TODO: handle case when promise returned from `getConfig()` is resolved when Root component has been unmounted
|
|
60
76
|
hmsInstance.join(hmsConfig);
|
|
@@ -67,8 +83,22 @@ export const HMSRoomSetup = () => {
|
|
|
67
83
|
hmsInstance.preview(hmsConfig);
|
|
68
84
|
}, [getConfig, hmsInstance]);
|
|
69
85
|
|
|
86
|
+
const startHLSStreaming = useCallback(async () => {
|
|
87
|
+
dispatch(changeStartingHLSStream(true));
|
|
88
|
+
try {
|
|
89
|
+
const d = await hmsInstance.startHLSStreaming();
|
|
90
|
+
console.log('Start HLS Streaming Success: ', d);
|
|
91
|
+
} catch (e) {
|
|
92
|
+
console.log('Start HLS Streaming Error: ', e);
|
|
93
|
+
if (!ignoreHLSStreamPromise.current) {
|
|
94
|
+
console.log('Unable to go live at the moment: ', e);
|
|
95
|
+
goToPreview();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}, [goToPreview, hmsInstance]);
|
|
99
|
+
|
|
70
100
|
// HMS Room, Peers, Track Listeners
|
|
71
|
-
useHMSListeners(setPeerTrackNodes
|
|
101
|
+
useHMSListeners(setPeerTrackNodes);
|
|
72
102
|
|
|
73
103
|
/**
|
|
74
104
|
* Session store is a shared realtime key-value store that is accessible by everyone in the room.
|
|
@@ -126,24 +156,20 @@ export const HMSRoomSetup = () => {
|
|
|
126
156
|
// HMS Preview Listener
|
|
127
157
|
useEffect(() => {
|
|
128
158
|
const onPreviewHandler = (data: PreviewData) => {
|
|
129
|
-
|
|
159
|
+
setLoading(false);
|
|
130
160
|
batch(() => {
|
|
131
161
|
dispatch(setHMSRoomState(data.room));
|
|
132
162
|
dispatch(setHMSLocalPeerState(data.room.localPeer));
|
|
163
|
+
dispatch(changeMeetingState(MeetingState.IN_PREVIEW));
|
|
133
164
|
});
|
|
134
|
-
|
|
135
|
-
setLoading(false);
|
|
136
|
-
setMeetingState(MeetingState.IN_PREVIEW);
|
|
137
165
|
};
|
|
138
166
|
|
|
139
|
-
console.log('HMSUpdateListenerActions.ON_PREVIEW registered');
|
|
140
167
|
hmsInstance.addEventListener(
|
|
141
168
|
HMSUpdateListenerActions.ON_PREVIEW,
|
|
142
169
|
onPreviewHandler
|
|
143
170
|
);
|
|
144
171
|
|
|
145
172
|
return () => {
|
|
146
|
-
console.log('HMSUpdateListenerActions.ON_PREVIEW removed');
|
|
147
173
|
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_PREVIEW);
|
|
148
174
|
};
|
|
149
175
|
}, [hmsInstance]);
|
|
@@ -186,7 +212,12 @@ export const HMSRoomSetup = () => {
|
|
|
186
212
|
return [hmsLocalPeer, ...prevPeerTrackNodes];
|
|
187
213
|
});
|
|
188
214
|
|
|
189
|
-
|
|
215
|
+
const shouldGoLive = selectShouldGoLive(reduxStore.getState());
|
|
216
|
+
|
|
217
|
+
if (shouldGoLive) {
|
|
218
|
+
startHLSStreaming();
|
|
219
|
+
}
|
|
220
|
+
dispatch(changeMeetingState(MeetingState.IN_MEETING));
|
|
190
221
|
};
|
|
191
222
|
|
|
192
223
|
hmsInstance.addEventListener(
|
|
@@ -197,10 +228,13 @@ export const HMSRoomSetup = () => {
|
|
|
197
228
|
return () => {
|
|
198
229
|
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_JOIN);
|
|
199
230
|
};
|
|
200
|
-
}, [hmsInstance]);
|
|
231
|
+
}, [startHLSStreaming, hmsInstance]);
|
|
232
|
+
|
|
233
|
+
const meetingEnded = meetingState === MeetingState.MEETING_ENDED;
|
|
201
234
|
|
|
235
|
+
// Handling Automatically calling Preview or Join API
|
|
202
236
|
useEffect(() => {
|
|
203
|
-
if (!didInitMeetingAction.current) {
|
|
237
|
+
if (!meetingEnded && !didInitMeetingAction.current) {
|
|
204
238
|
didInitMeetingAction.current = true;
|
|
205
239
|
|
|
206
240
|
// let ignore = false;
|
|
@@ -227,10 +261,12 @@ export const HMSRoomSetup = () => {
|
|
|
227
261
|
// ignore = true;
|
|
228
262
|
};
|
|
229
263
|
}
|
|
230
|
-
}, []);
|
|
264
|
+
}, [meetingEnded]);
|
|
231
265
|
|
|
232
266
|
useEffect(() => {
|
|
233
267
|
return () => {
|
|
268
|
+
ignoreHLSStreamPromise.current = true;
|
|
269
|
+
|
|
234
270
|
// TODOS:
|
|
235
271
|
// - Check If we have already left meeting, or destroyed native HMSSDK
|
|
236
272
|
// - No need to reset redux state?
|
|
@@ -264,6 +300,8 @@ export const HMSRoomSetup = () => {
|
|
|
264
300
|
<Preview join={joinMeeting} loadingButtonState={loading} />
|
|
265
301
|
) : meetingState === MeetingState.IN_MEETING ? (
|
|
266
302
|
<Meeting peerTrackNodes={peerTrackNodes} />
|
|
303
|
+
) : meetingState === MeetingState.MEETING_ENDED ? (
|
|
304
|
+
<HMSMeetingEnded />
|
|
267
305
|
) : loading ? (
|
|
268
306
|
<FullScreenIndicator />
|
|
269
307
|
) : (
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface AnswerPhoneIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const AnswerPhoneIcon: React.FC<AnswerPhoneIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/answer-phone.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 24,
|
|
23
|
+
height: 24,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface BluetoothIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const BluetoothIcon: React.FC<BluetoothIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/bluetooth-on.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 24,
|
|
23
|
+
height: 24,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface CheckIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const CheckIcon: React.FC<CheckIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/check.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 24,
|
|
23
|
+
height: 24,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface GenericLogoIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const GenericLogoIcon: React.FC<GenericLogoIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/generic-logo.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 30,
|
|
23
|
+
height: 30,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface HeadphonesIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const HeadphonesIcon: React.FC<HeadphonesIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/headphones.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 24,
|
|
23
|
+
height: 24,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface PersonIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const PersonIcon: React.FC<PersonIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/person.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 24,
|
|
23
|
+
height: 24,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface RadioIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const RadioIcon: React.FC<RadioIconProps> = ({
|
|
8
|
+
style,
|
|
9
|
+
...restProps
|
|
10
|
+
}) => {
|
|
11
|
+
return (
|
|
12
|
+
<Image
|
|
13
|
+
source={require('./assets/radio.png')}
|
|
14
|
+
style={[styles.icon, style]}
|
|
15
|
+
{...restProps}
|
|
16
|
+
/>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const styles = StyleSheet.create({
|
|
21
|
+
icon: {
|
|
22
|
+
width: 24,
|
|
23
|
+
height: 24,
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -4,9 +4,11 @@ import type { ImageProps } from 'react-native';
|
|
|
4
4
|
|
|
5
5
|
interface SpeakerIconProps extends Omit<ImageProps, 'source'> {
|
|
6
6
|
muted: boolean;
|
|
7
|
+
size?: 'normal' | 'large';
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export const SpeakerIcon: React.FC<SpeakerIconProps> = ({
|
|
11
|
+
size = 'normal',
|
|
10
12
|
muted,
|
|
11
13
|
style,
|
|
12
14
|
...restProps
|
|
@@ -16,9 +18,11 @@ export const SpeakerIcon: React.FC<SpeakerIconProps> = ({
|
|
|
16
18
|
source={
|
|
17
19
|
muted
|
|
18
20
|
? require('./assets/speaker-muted.png')
|
|
19
|
-
:
|
|
21
|
+
: size === 'normal'
|
|
22
|
+
? require('./assets/speaker.png')
|
|
23
|
+
: require('./assets/speaker-large.png')
|
|
20
24
|
}
|
|
21
|
-
style={[styles.icon, style]}
|
|
25
|
+
style={[styles.icon, style, size === 'large' ? styles.large : null]}
|
|
22
26
|
{...restProps}
|
|
23
27
|
/>
|
|
24
28
|
);
|
|
@@ -31,4 +35,8 @@ const styles = StyleSheet.create({
|
|
|
31
35
|
alignItems: 'center',
|
|
32
36
|
justifyContent: 'center',
|
|
33
37
|
},
|
|
38
|
+
large: {
|
|
39
|
+
width: 32,
|
|
40
|
+
height: 32,
|
|
41
|
+
},
|
|
34
42
|
});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
|
+
import type { ImageProps } from 'react-native';
|
|
4
|
+
|
|
5
|
+
interface WaveIconProps extends Omit<ImageProps, 'source'> {}
|
|
6
|
+
|
|
7
|
+
export const WaveIcon: React.FC<WaveIconProps> = ({ style, ...restProps }) => {
|
|
8
|
+
return (
|
|
9
|
+
<Image
|
|
10
|
+
source={require('./assets/wave.png')}
|
|
11
|
+
style={[styles.icon, style]}
|
|
12
|
+
{...restProps}
|
|
13
|
+
/>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const styles = StyleSheet.create({
|
|
18
|
+
icon: {
|
|
19
|
+
width: 24,
|
|
20
|
+
height: 24,
|
|
21
|
+
alignItems: 'center',
|
|
22
|
+
justifyContent: 'center',
|
|
23
|
+
},
|
|
24
|
+
});
|
package/src/Icons/index.ts
CHANGED
|
@@ -17,3 +17,11 @@ export * from './Clock';
|
|
|
17
17
|
export * from './End';
|
|
18
18
|
export * from './100ms';
|
|
19
19
|
export * from './Hand';
|
|
20
|
+
export * from './Person';
|
|
21
|
+
export * from './AnswerPhone';
|
|
22
|
+
export * from './Bluetooth';
|
|
23
|
+
export * from './Headphones';
|
|
24
|
+
export * from './Wave';
|
|
25
|
+
export * from './GenericLogo';
|
|
26
|
+
export * from './Radio';
|
|
27
|
+
export * from './Check';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { StyleSheet } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { NavigationContext } from '@react-navigation/native';
|
|
4
4
|
|
|
5
5
|
import { COLORS } from '../utils/theme';
|
|
6
6
|
import { PressableIcon } from './PressableIcon';
|
|
@@ -9,9 +9,9 @@ import { ChevronIcon } from '../Icons';
|
|
|
9
9
|
export interface BackButtonProps {}
|
|
10
10
|
|
|
11
11
|
export const BackButton: React.FC<BackButtonProps> = () => {
|
|
12
|
-
const navigation =
|
|
12
|
+
const navigation = React.useContext(NavigationContext);
|
|
13
13
|
|
|
14
|
-
if (!navigation.canGoBack()) {
|
|
14
|
+
if (!navigation || !navigation.canGoBack()) {
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -36,7 +36,7 @@ export const BackButton: React.FC<BackButtonProps> = () => {
|
|
|
36
36
|
const styles = StyleSheet.create({
|
|
37
37
|
button: {
|
|
38
38
|
marginTop: 16,
|
|
39
|
-
marginLeft:
|
|
39
|
+
marginLeft: 16,
|
|
40
40
|
backgroundColor: COLORS.SURFACE.DEFAULT,
|
|
41
41
|
},
|
|
42
42
|
});
|
|
@@ -19,7 +19,6 @@ import {
|
|
|
19
19
|
ChangeRoleAccepteModal,
|
|
20
20
|
ChangeRoleModal,
|
|
21
21
|
ChangeTrackStateModal,
|
|
22
|
-
ChangeVolumeModal,
|
|
23
22
|
SaveScreenshot,
|
|
24
23
|
} from './Modals';
|
|
25
24
|
import type { RootState } from '../redux';
|
|
@@ -289,15 +288,6 @@ export const DisplayView: React.FC<DisplayViewProps> = ({
|
|
|
289
288
|
cancelModal={() => setModalVisible(ModalTypes.DEFAULT)}
|
|
290
289
|
/>
|
|
291
290
|
</DefaultModal>
|
|
292
|
-
<DefaultModal
|
|
293
|
-
modalPosiion="center"
|
|
294
|
-
modalVisible={modalVisible === ModalTypes.VOLUME}
|
|
295
|
-
setModalVisible={() => setModalVisible(ModalTypes.DEFAULT)}
|
|
296
|
-
>
|
|
297
|
-
<ChangeVolumeModal
|
|
298
|
-
cancelModal={() => setModalVisible(ModalTypes.DEFAULT)}
|
|
299
|
-
/>
|
|
300
|
-
</DefaultModal>
|
|
301
291
|
<DefaultModal
|
|
302
292
|
modalPosiion="center"
|
|
303
293
|
modalVisible={modalVisible === ModalTypes.CHANGE_NAME}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { View, ActivityIndicator, Text, StyleSheet } from 'react-native';
|
|
3
|
+
import { useSelector } from 'react-redux';
|
|
4
|
+
|
|
5
|
+
import { COLORS } from '../utils/theme';
|
|
6
|
+
import type { RootState } from '../redux';
|
|
7
|
+
import { HMSLocalVideoView } from './HMSLocalVideoView';
|
|
8
|
+
|
|
9
|
+
export const HMSHLSStreamLoading = () => {
|
|
10
|
+
const isLocalVideoMuted = useSelector(
|
|
11
|
+
(state: RootState) => state.hmsStates.isLocalVideoMuted
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<View style={styles.container}>
|
|
16
|
+
{isLocalVideoMuted ? null : <HMSLocalVideoView />}
|
|
17
|
+
|
|
18
|
+
<View style={styles.hlsLoaderContainer}>
|
|
19
|
+
<ActivityIndicator
|
|
20
|
+
style={styles.hlsLoader}
|
|
21
|
+
size={'large'}
|
|
22
|
+
color={COLORS.PRIMARY.DEFAULT}
|
|
23
|
+
/>
|
|
24
|
+
|
|
25
|
+
<Text style={styles.hlsLoaderText}>Starting live stream...</Text>
|
|
26
|
+
</View>
|
|
27
|
+
</View>
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const styles = StyleSheet.create({
|
|
32
|
+
container: {
|
|
33
|
+
flex: 1,
|
|
34
|
+
position: 'relative',
|
|
35
|
+
backgroundColor: COLORS.BACKGROUND.DIM,
|
|
36
|
+
},
|
|
37
|
+
hlsLoaderContainer: {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
width: '100%',
|
|
40
|
+
height: '100%',
|
|
41
|
+
backgroundColor: COLORS.LOADING_BACKDROP,
|
|
42
|
+
zIndex: 5,
|
|
43
|
+
alignItems: 'center',
|
|
44
|
+
justifyContent: 'center',
|
|
45
|
+
},
|
|
46
|
+
hlsLoader: {
|
|
47
|
+
marginBottom: 30,
|
|
48
|
+
},
|
|
49
|
+
hlsLoaderText: {
|
|
50
|
+
color: COLORS.SURFACE.ON_SURFACE.HIGH,
|
|
51
|
+
fontSize: 16,
|
|
52
|
+
fontFamily: 'Inter',
|
|
53
|
+
fontWeight: '400',
|
|
54
|
+
lineHeight: 24,
|
|
55
|
+
letterSpacing: 0.5,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
import { useSelector } from 'react-redux';
|
|
4
|
+
import { HMSVideoViewMode } from '@100mslive/react-native-hms';
|
|
5
|
+
|
|
6
|
+
import type { RootState } from '../redux';
|
|
7
|
+
import { useHMSInstance } from '../hooks-util';
|
|
8
|
+
|
|
9
|
+
export const HMSLocalVideoView = () => {
|
|
10
|
+
const hmsInstance = useHMSInstance();
|
|
11
|
+
const HmsView = hmsInstance.HmsView;
|
|
12
|
+
const mirrorCamera = useSelector(
|
|
13
|
+
(state: RootState) => state.app.joinConfig.mirrorCamera
|
|
14
|
+
);
|
|
15
|
+
const autoSimulcast = useSelector(
|
|
16
|
+
(state: RootState) => state.app.joinConfig.autoSimulcast
|
|
17
|
+
);
|
|
18
|
+
const localVideoTrackId = useSelector(
|
|
19
|
+
(state: RootState) => state.hmsStates.localPeer?.videoTrack?.trackId
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
if (!localVideoTrackId) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<HmsView
|
|
28
|
+
trackId={localVideoTrackId}
|
|
29
|
+
key={localVideoTrackId}
|
|
30
|
+
mirror={mirrorCamera}
|
|
31
|
+
autoSimulcast={autoSimulcast}
|
|
32
|
+
scaleType={HMSVideoViewMode.ASPECT_FILL}
|
|
33
|
+
style={styles.hmsView}
|
|
34
|
+
/>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const styles = StyleSheet.create({
|
|
39
|
+
hmsView: {
|
|
40
|
+
flex: 1,
|
|
41
|
+
},
|
|
42
|
+
});
|