@100mslive/react-native-room-kit 0.0.3 → 0.1.0
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 +413 -11
- package/lib/commonjs/HMSInstanceSetup.js +3 -15
- package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
- package/lib/commonjs/HMSPrebuilt.js +17 -6
- package/lib/commonjs/HMSPrebuilt.js.map +1 -1
- package/lib/commonjs/HMSRoomSetup.js +76 -21
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/index.js +34 -0
- package/lib/commonjs/Icons/AlertTriangle/index.js.map +1 -0
- package/lib/commonjs/Icons/AnswerPhone/index.js +5 -1
- package/lib/commonjs/Icons/AnswerPhone/index.js.map +1 -1
- package/lib/commonjs/Icons/BRB/assets/BRB.png +0 -0
- package/lib/commonjs/Icons/BRB/assets/BRB@2x.png +0 -0
- package/lib/commonjs/Icons/BRB/assets/BRB@3x.png +0 -0
- package/lib/commonjs/Icons/BRB/index.js +35 -0
- package/lib/commonjs/Icons/BRB/index.js.map +1 -0
- package/lib/commonjs/Icons/Bluetooth/index.js +5 -1
- package/lib/commonjs/Icons/Bluetooth/index.js.map +1 -1
- package/lib/commonjs/Icons/Camera/index.js +5 -1
- package/lib/commonjs/Icons/Camera/index.js.map +1 -1
- package/lib/commonjs/Icons/Chat/index.js +5 -1
- package/lib/commonjs/Icons/Chat/index.js.map +1 -1
- 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 +34 -0
- package/lib/commonjs/Icons/Check/index.js.map +1 -0
- package/lib/commonjs/Icons/Chevron/index.js +5 -1
- package/lib/commonjs/Icons/Chevron/index.js.map +1 -1
- package/lib/commonjs/Icons/Close/index.js +5 -1
- package/lib/commonjs/Icons/Close/index.js.map +1 -1
- package/lib/commonjs/Icons/Hamburger/assets/hamburger.png +0 -0
- package/lib/commonjs/Icons/Hamburger/assets/hamburger@2x.png +0 -0
- package/lib/commonjs/Icons/Hamburger/assets/hamburger@3x.png +0 -0
- package/lib/commonjs/Icons/Hamburger/index.js +34 -0
- package/lib/commonjs/Icons/Hamburger/index.js.map +1 -0
- package/lib/commonjs/Icons/Hand/index.js +6 -4
- package/lib/commonjs/Icons/Hand/index.js.map +1 -1
- package/lib/commonjs/Icons/Headphones/index.js +5 -1
- package/lib/commonjs/Icons/Headphones/index.js.map +1 -1
- package/lib/commonjs/Icons/Maximize/assets/maximize.png +0 -0
- package/lib/commonjs/Icons/Maximize/assets/maximize@2x.png +0 -0
- package/lib/commonjs/Icons/Maximize/assets/maximize@3x.png +0 -0
- package/lib/commonjs/Icons/Maximize/index.js +34 -0
- package/lib/commonjs/Icons/Maximize/index.js.map +1 -0
- package/lib/commonjs/Icons/Mic/index.js +5 -1
- package/lib/commonjs/Icons/Mic/index.js.map +1 -1
- package/lib/commonjs/Icons/Minimize/assets/minimize.png +0 -0
- package/lib/commonjs/Icons/Minimize/assets/minimize@2x.png +0 -0
- package/lib/commonjs/Icons/Minimize/assets/minimize@3x.png +0 -0
- package/lib/commonjs/Icons/Minimize/index.js +34 -0
- package/lib/commonjs/Icons/Minimize/index.js.map +1 -0
- package/lib/commonjs/Icons/Participants/index.js +5 -1
- package/lib/commonjs/Icons/Participants/index.js.map +1 -1
- package/lib/commonjs/Icons/Pencil/assets/pencil.png +0 -0
- package/lib/commonjs/Icons/Pencil/assets/pencil@2x.png +0 -0
- package/lib/commonjs/Icons/Pencil/assets/pencil@3x.png +0 -0
- package/lib/commonjs/Icons/Pencil/index.js +34 -0
- package/lib/commonjs/Icons/Pencil/index.js.map +1 -0
- package/lib/commonjs/Icons/Pin/assets/pin.png +0 -0
- package/lib/commonjs/Icons/Pin/assets/pin@2x.png +0 -0
- package/lib/commonjs/Icons/Pin/assets/pin@3x.png +0 -0
- package/lib/commonjs/Icons/Pin/index.js +34 -0
- package/lib/commonjs/Icons/Pin/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/Recording/assets/recording.png +0 -0
- package/lib/commonjs/Icons/Recording/assets/recording@2x.png +0 -0
- package/lib/commonjs/Icons/Recording/assets/recording@3x.png +0 -0
- package/lib/commonjs/Icons/Recording/index.js +34 -0
- package/lib/commonjs/Icons/Recording/index.js.map +1 -0
- package/lib/commonjs/Icons/RotateCamera/index.js +5 -1
- package/lib/commonjs/Icons/RotateCamera/index.js.map +1 -1
- package/lib/commonjs/Icons/ScreenShare/index.js +5 -1
- package/lib/commonjs/Icons/ScreenShare/index.js.map +1 -1
- package/lib/commonjs/Icons/Speaker/index.js +5 -1
- package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
- package/lib/commonjs/Icons/Star/assets/star.png +0 -0
- package/lib/commonjs/Icons/Star/assets/star@2x.png +0 -0
- package/lib/commonjs/Icons/Star/assets/star@3x.png +0 -0
- package/lib/commonjs/Icons/Star/index.js +34 -0
- package/lib/commonjs/Icons/Star/index.js.map +1 -0
- package/lib/commonjs/Icons/Stop/assets/stop.png +0 -0
- package/lib/commonjs/Icons/Stop/assets/stop@2x.png +0 -0
- package/lib/commonjs/Icons/Stop/assets/stop@3x.png +0 -0
- package/lib/commonjs/Icons/Stop/index.js +34 -0
- package/lib/commonjs/Icons/Stop/index.js.map +1 -0
- package/lib/commonjs/Icons/ThreeDots/index.js +5 -1
- package/lib/commonjs/Icons/ThreeDots/index.js.map +1 -1
- package/lib/commonjs/Icons/Wave/index.js +5 -1
- package/lib/commonjs/Icons/Wave/index.js.map +1 -1
- package/lib/commonjs/Icons/index.js +132 -0
- package/lib/commonjs/Icons/index.js.map +1 -1
- package/lib/commonjs/components/AvatarView.js +1 -2
- package/lib/commonjs/components/AvatarView.js.map +1 -1
- package/lib/commonjs/components/BackButton.js +8 -6
- package/lib/commonjs/components/BackButton.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +157 -0
- package/lib/commonjs/components/BottomSheet.js.map +1 -0
- package/lib/commonjs/components/ChangeNameModalContent.js +131 -0
- package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -0
- package/lib/commonjs/components/CompanyLogo.js +38 -0
- package/lib/commonjs/components/CompanyLogo.js.map +1 -0
- package/lib/commonjs/components/CustomInput.js +2 -3
- package/lib/commonjs/components/CustomInput.js.map +1 -1
- package/lib/commonjs/components/DisplayView.js +12 -58
- package/lib/commonjs/components/DisplayView.js.map +1 -1
- package/lib/commonjs/components/EndRoomModalContent.js +85 -0
- package/lib/commonjs/components/EndRoomModalContent.js.map +1 -0
- package/lib/commonjs/components/Footer.js +8 -9
- package/lib/commonjs/components/Footer.js.map +1 -1
- package/lib/commonjs/components/GridView.js +53 -7
- package/lib/commonjs/components/GridView.js.map +1 -1
- package/lib/commonjs/components/HMSBaseButton.js +66 -0
- package/lib/commonjs/components/HMSBaseButton.js.map +1 -0
- package/lib/commonjs/components/HMSDangerButton.js +53 -0
- package/lib/commonjs/components/HMSDangerButton.js.map +1 -0
- package/lib/commonjs/components/HMSHLSStreamLoading.js +65 -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/{HMSSpeakerSettings.js → HMSManageAudioOutput.js} +70 -76
- package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -0
- package/lib/commonjs/components/HMSManageCameraRotation.js +5 -4
- package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
- package/lib/commonjs/components/HMSManageLeave.js +91 -159
- package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
- package/lib/commonjs/components/HMSManageLocalAudio.js +1 -9
- package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
- package/lib/commonjs/components/HMSManageLocalVideo.js +1 -9
- package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
- package/lib/commonjs/components/HMSMeetingEnded.js +35 -0
- package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewEditName.js +7 -38
- package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +71 -0
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewJoinButton.js +26 -37
- package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js +45 -0
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewPeersList.js +21 -33
- package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewSubtitle.js +43 -7
- package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTile.js +18 -26
- package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTitle.js +14 -6
- package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/HMSPrimaryButton.js +53 -0
- package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -0
- package/lib/commonjs/components/HMSRecordingIndicator.js +46 -0
- package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -0
- package/lib/commonjs/components/HMSRoomOptions.js +22 -10
- package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
- package/lib/commonjs/components/HMSShowNetworkQuality.js +5 -6
- package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
- package/lib/commonjs/components/HMSTextInput.js +66 -0
- package/lib/commonjs/components/HMSTextInput.js.map +1 -0
- package/lib/commonjs/components/Header.js +30 -30
- package/lib/commonjs/components/Header.js.map +1 -1
- package/lib/commonjs/components/LocalPeerRegularVideoView.js +26 -0
- package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -0
- package/lib/commonjs/components/LocalPeerScreenshareView.js +76 -0
- package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -0
- package/lib/commonjs/components/Meeting.js +14 -3
- 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/MiniView.js +163 -0
- package/lib/commonjs/components/MiniView.js.map +1 -0
- package/lib/commonjs/components/Modals.js +35 -380
- package/lib/commonjs/components/Modals.js.map +1 -1
- package/lib/commonjs/components/PaginationDots.js +56 -0
- package/lib/commonjs/components/PaginationDots.js.map +1 -0
- package/lib/commonjs/components/Participants/ParticipantsList.js +1 -20
- package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
- package/lib/commonjs/components/ParticipantsCount.js +55 -0
- package/lib/commonjs/components/ParticipantsCount.js.map +1 -0
- package/lib/commonjs/components/PeerMinimizedView.js +114 -0
- package/lib/commonjs/components/PeerMinimizedView.js.map +1 -0
- package/lib/commonjs/components/PeerSettingsModalContent.js +69 -63
- package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/AvatarView.js +76 -0
- package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js +44 -0
- package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +44 -0
- package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +74 -0
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +146 -0
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/VideoView.js +84 -0
- package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/index.js +2 -0
- package/lib/commonjs/components/PeerVideoTile/index.js.map +1 -0
- package/lib/commonjs/components/PressableIcon.js +15 -8
- package/lib/commonjs/components/PressableIcon.js.map +1 -1
- package/lib/commonjs/components/Preview.js +93 -72
- package/lib/commonjs/components/Preview.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalContent.js +228 -457
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +295 -0
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -0
- package/lib/commonjs/components/StopRecordingModalContent.js +97 -0
- package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -0
- package/lib/commonjs/components/Tile.js +29 -90
- package/lib/commonjs/components/Tile.js.map +1 -1
- package/lib/commonjs/components/TilesContainer.js +99 -10
- package/lib/commonjs/components/TilesContainer.js.map +1 -1
- package/lib/commonjs/components/UnmountAfterDelay.js +48 -0
- package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -0
- package/lib/commonjs/components/WebrtcView.js +51 -0
- package/lib/commonjs/components/WebrtcView.js.map +1 -0
- package/lib/commonjs/components/WelcomeInMeeting.js +54 -0
- package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -0
- 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-sdk-selectors.js +6 -1
- package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
- package/lib/commonjs/hooks-sdk.js +16 -1
- package/lib/commonjs/hooks-sdk.js.map +1 -1
- package/lib/commonjs/hooks-util-selectors.js +14 -1
- package/lib/commonjs/hooks-util-selectors.js.map +1 -1
- package/lib/commonjs/hooks-util.js +421 -98
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/modules/HMSManager.js +23 -0
- package/lib/commonjs/modules/HMSManager.js.map +1 -0
- package/lib/commonjs/modules/parser.js +22 -0
- package/lib/commonjs/modules/parser.js.map +1 -0
- package/lib/commonjs/peerTrackNodeUtils.js +8 -3
- package/lib/commonjs/peerTrackNodeUtils.js.map +1 -1
- package/lib/commonjs/redux/actionTypes.js +20 -1
- package/lib/commonjs/redux/actionTypes.js.map +1 -1
- package/lib/commonjs/redux/actions/index.js +65 -1
- package/lib/commonjs/redux/actions/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/appState.js +70 -1
- package/lib/commonjs/redux/reducers/appState.js.map +1 -1
- package/lib/commonjs/redux/reducers/hmsStates.js +7 -1
- package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
- package/lib/commonjs/redux/reducers/userState.js +3 -1
- package/lib/commonjs/redux/reducers/userState.js.map +1 -1
- package/lib/commonjs/utils/functions.js +51 -1
- package/lib/commonjs/utils/functions.js.map +1 -1
- package/lib/commonjs/utils/theme.js +63 -8
- package/lib/commonjs/utils/theme.js.map +1 -1
- package/lib/commonjs/utils/types.js +8 -2
- 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 +3 -15
- package/lib/module/HMSInstanceSetup.js.map +1 -1
- package/lib/module/HMSPrebuilt.js +17 -5
- package/lib/module/HMSPrebuilt.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +81 -26
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
- package/lib/module/Icons/AlertTriangle/index.js +26 -0
- package/lib/module/Icons/AlertTriangle/index.js.map +1 -0
- package/lib/module/Icons/AnswerPhone/index.js +5 -1
- package/lib/module/Icons/AnswerPhone/index.js.map +1 -1
- package/lib/module/Icons/BRB/assets/BRB.png +0 -0
- package/lib/module/Icons/BRB/assets/BRB@2x.png +0 -0
- package/lib/module/Icons/BRB/assets/BRB@3x.png +0 -0
- package/lib/module/Icons/BRB/index.js +27 -0
- package/lib/module/Icons/BRB/index.js.map +1 -0
- package/lib/module/Icons/Bluetooth/index.js +5 -1
- package/lib/module/Icons/Bluetooth/index.js.map +1 -1
- package/lib/module/Icons/Camera/index.js +5 -1
- package/lib/module/Icons/Camera/index.js.map +1 -1
- package/lib/module/Icons/Chat/index.js +5 -1
- package/lib/module/Icons/Chat/index.js.map +1 -1
- 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 +26 -0
- package/lib/module/Icons/Check/index.js.map +1 -0
- package/lib/module/Icons/Chevron/index.js +5 -1
- package/lib/module/Icons/Chevron/index.js.map +1 -1
- package/lib/module/Icons/Close/index.js +5 -1
- package/lib/module/Icons/Close/index.js.map +1 -1
- package/lib/module/Icons/Hamburger/assets/hamburger.png +0 -0
- package/lib/module/Icons/Hamburger/assets/hamburger@2x.png +0 -0
- package/lib/module/Icons/Hamburger/assets/hamburger@3x.png +0 -0
- package/lib/module/Icons/Hamburger/index.js +26 -0
- package/lib/module/Icons/Hamburger/index.js.map +1 -0
- package/lib/module/Icons/Hand/index.js +6 -4
- package/lib/module/Icons/Hand/index.js.map +1 -1
- package/lib/module/Icons/Headphones/index.js +5 -1
- package/lib/module/Icons/Headphones/index.js.map +1 -1
- package/lib/module/Icons/Maximize/assets/maximize.png +0 -0
- package/lib/module/Icons/Maximize/assets/maximize@2x.png +0 -0
- package/lib/module/Icons/Maximize/assets/maximize@3x.png +0 -0
- package/lib/module/Icons/Maximize/index.js +26 -0
- package/lib/module/Icons/Maximize/index.js.map +1 -0
- package/lib/module/Icons/Mic/index.js +5 -1
- package/lib/module/Icons/Mic/index.js.map +1 -1
- package/lib/module/Icons/Minimize/assets/minimize.png +0 -0
- package/lib/module/Icons/Minimize/assets/minimize@2x.png +0 -0
- package/lib/module/Icons/Minimize/assets/minimize@3x.png +0 -0
- package/lib/module/Icons/Minimize/index.js +26 -0
- package/lib/module/Icons/Minimize/index.js.map +1 -0
- package/lib/module/Icons/Participants/index.js +5 -1
- package/lib/module/Icons/Participants/index.js.map +1 -1
- package/lib/module/Icons/Pencil/assets/pencil.png +0 -0
- package/lib/module/Icons/Pencil/assets/pencil@2x.png +0 -0
- package/lib/module/Icons/Pencil/assets/pencil@3x.png +0 -0
- package/lib/module/Icons/Pencil/index.js +26 -0
- package/lib/module/Icons/Pencil/index.js.map +1 -0
- package/lib/module/Icons/Pin/assets/pin.png +0 -0
- package/lib/module/Icons/Pin/assets/pin@2x.png +0 -0
- package/lib/module/Icons/Pin/assets/pin@3x.png +0 -0
- package/lib/module/Icons/Pin/index.js +26 -0
- package/lib/module/Icons/Pin/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/Recording/assets/recording.png +0 -0
- package/lib/module/Icons/Recording/assets/recording@2x.png +0 -0
- package/lib/module/Icons/Recording/assets/recording@3x.png +0 -0
- package/lib/module/Icons/Recording/index.js +26 -0
- package/lib/module/Icons/Recording/index.js.map +1 -0
- package/lib/module/Icons/RotateCamera/index.js +5 -1
- package/lib/module/Icons/RotateCamera/index.js.map +1 -1
- package/lib/module/Icons/ScreenShare/index.js +5 -1
- package/lib/module/Icons/ScreenShare/index.js.map +1 -1
- package/lib/module/Icons/Speaker/index.js +5 -1
- package/lib/module/Icons/Speaker/index.js.map +1 -1
- package/lib/module/Icons/Star/assets/star.png +0 -0
- package/lib/module/Icons/Star/assets/star@2x.png +0 -0
- package/lib/module/Icons/Star/assets/star@3x.png +0 -0
- package/lib/module/Icons/Star/index.js +26 -0
- package/lib/module/Icons/Star/index.js.map +1 -0
- package/lib/module/Icons/Stop/assets/stop.png +0 -0
- package/lib/module/Icons/Stop/assets/stop@2x.png +0 -0
- package/lib/module/Icons/Stop/assets/stop@3x.png +0 -0
- package/lib/module/Icons/Stop/index.js +26 -0
- package/lib/module/Icons/Stop/index.js.map +1 -0
- package/lib/module/Icons/ThreeDots/index.js +5 -1
- package/lib/module/Icons/ThreeDots/index.js.map +1 -1
- package/lib/module/Icons/Wave/index.js +5 -1
- package/lib/module/Icons/Wave/index.js.map +1 -1
- package/lib/module/Icons/index.js +12 -0
- package/lib/module/Icons/index.js.map +1 -1
- package/lib/module/components/AvatarView.js +1 -2
- package/lib/module/components/AvatarView.js.map +1 -1
- package/lib/module/components/BackButton.js +9 -7
- package/lib/module/components/BackButton.js.map +1 -1
- package/lib/module/components/BottomSheet.js +146 -0
- package/lib/module/components/BottomSheet.js.map +1 -0
- package/lib/module/components/ChangeNameModalContent.js +122 -0
- package/lib/module/components/ChangeNameModalContent.js.map +1 -0
- package/lib/module/components/CompanyLogo.js +30 -0
- package/lib/module/components/CompanyLogo.js.map +1 -0
- package/lib/module/components/CustomInput.js +2 -3
- package/lib/module/components/CustomInput.js.map +1 -1
- package/lib/module/components/DisplayView.js +16 -61
- package/lib/module/components/DisplayView.js.map +1 -1
- package/lib/module/components/EndRoomModalContent.js +76 -0
- package/lib/module/components/EndRoomModalContent.js.map +1 -0
- package/lib/module/components/Footer.js +9 -10
- package/lib/module/components/Footer.js.map +1 -1
- package/lib/module/components/GridView.js +55 -10
- package/lib/module/components/GridView.js.map +1 -1
- package/lib/module/components/HMSBaseButton.js +57 -0
- package/lib/module/components/HMSBaseButton.js.map +1 -0
- package/lib/module/components/HMSDangerButton.js +44 -0
- package/lib/module/components/HMSDangerButton.js.map +1 -0
- package/lib/module/components/HMSHLSStreamLoading.js +56 -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/{HMSSpeakerSettings.js → HMSManageAudioOutput.js} +70 -77
- package/lib/module/components/HMSManageAudioOutput.js.map +1 -0
- package/lib/module/components/HMSManageCameraRotation.js +5 -4
- package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
- package/lib/module/components/HMSManageLeave.js +95 -161
- package/lib/module/components/HMSManageLeave.js.map +1 -1
- package/lib/module/components/HMSManageLocalAudio.js +1 -9
- package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
- package/lib/module/components/HMSManageLocalVideo.js +1 -9
- package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
- package/lib/module/components/HMSMeetingEnded.js +26 -0
- package/lib/module/components/HMSMeetingEnded.js.map +1 -0
- package/lib/module/components/HMSPreviewEditName.js +7 -38
- package/lib/module/components/HMSPreviewEditName.js.map +1 -1
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js +62 -0
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
- package/lib/module/components/HMSPreviewJoinButton.js +28 -39
- package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/module/components/HMSPreviewNetworkQuality.js +36 -0
- package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -0
- package/lib/module/components/HMSPreviewPeersList.js +21 -33
- package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
- package/lib/module/components/HMSPreviewSubtitle.js +43 -7
- package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/module/components/HMSPreviewTile.js +18 -26
- package/lib/module/components/HMSPreviewTile.js.map +1 -1
- package/lib/module/components/HMSPreviewTitle.js +14 -6
- package/lib/module/components/HMSPreviewTitle.js.map +1 -1
- package/lib/module/components/HMSPrimaryButton.js +44 -0
- package/lib/module/components/HMSPrimaryButton.js.map +1 -0
- package/lib/module/components/HMSRecordingIndicator.js +37 -0
- package/lib/module/components/HMSRecordingIndicator.js.map +1 -0
- package/lib/module/components/HMSRoomOptions.js +23 -11
- package/lib/module/components/HMSRoomOptions.js.map +1 -1
- package/lib/module/components/HMSShowNetworkQuality.js +6 -7
- package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
- package/lib/module/components/HMSTextInput.js +57 -0
- package/lib/module/components/HMSTextInput.js.map +1 -0
- package/lib/module/components/Header.js +32 -32
- package/lib/module/components/Header.js.map +1 -1
- package/lib/module/components/LocalPeerRegularVideoView.js +17 -0
- package/lib/module/components/LocalPeerRegularVideoView.js.map +1 -0
- package/lib/module/components/LocalPeerScreenshareView.js +66 -0
- package/lib/module/components/LocalPeerScreenshareView.js.map +1 -0
- package/lib/module/components/Meeting.js +15 -4
- 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/MiniView.js +154 -0
- package/lib/module/components/MiniView.js.map +1 -0
- package/lib/module/components/Modals.js +37 -378
- package/lib/module/components/Modals.js.map +1 -1
- package/lib/module/components/PaginationDots.js +47 -0
- package/lib/module/components/PaginationDots.js.map +1 -0
- package/lib/module/components/Participants/ParticipantsList.js +1 -20
- package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
- package/lib/module/components/ParticipantsCount.js +46 -0
- package/lib/module/components/ParticipantsCount.js.map +1 -0
- package/lib/module/components/PeerMinimizedView.js +104 -0
- package/lib/module/components/PeerMinimizedView.js.map +1 -0
- package/lib/module/components/PeerSettingsModalContent.js +72 -66
- package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/module/components/PeerVideoTile/AvatarView.js +66 -0
- package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js +35 -0
- package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerMetadata.js +35 -0
- package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +65 -0
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +136 -0
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
- package/lib/module/components/PeerVideoTile/VideoView.js +75 -0
- package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -0
- package/lib/module/components/PeerVideoTile/index.js +2 -0
- package/lib/module/components/PeerVideoTile/index.js.map +1 -0
- package/lib/module/components/PressableIcon.js +15 -8
- package/lib/module/components/PressableIcon.js.map +1 -1
- package/lib/module/components/Preview.js +93 -72
- package/lib/module/components/Preview.js.map +1 -1
- package/lib/module/components/RoomSettingsModalContent.js +231 -459
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/components/RoomSettingsModalDebugModeContent.js +287 -0
- package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -0
- package/lib/module/components/StopRecordingModalContent.js +88 -0
- package/lib/module/components/StopRecordingModalContent.js.map +1 -0
- package/lib/module/components/Tile.js +30 -91
- package/lib/module/components/Tile.js.map +1 -1
- package/lib/module/components/TilesContainer.js +100 -10
- package/lib/module/components/TilesContainer.js.map +1 -1
- package/lib/module/components/UnmountAfterDelay.js +39 -0
- package/lib/module/components/UnmountAfterDelay.js.map +1 -0
- package/lib/module/components/WebrtcView.js +41 -0
- package/lib/module/components/WebrtcView.js.map +1 -0
- package/lib/module/components/WelcomeInMeeting.js +45 -0
- package/lib/module/components/WelcomeInMeeting.js.map +1 -0
- 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-sdk-selectors.js +4 -0
- package/lib/module/hooks-sdk-selectors.js.map +1 -1
- package/lib/module/hooks-sdk.js +16 -1
- package/lib/module/hooks-sdk.js.map +1 -1
- package/lib/module/hooks-util-selectors.js +12 -0
- package/lib/module/hooks-util-selectors.js.map +1 -1
- package/lib/module/hooks-util.js +417 -104
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/modules/HMSManager.js +17 -0
- package/lib/module/modules/HMSManager.js.map +1 -0
- package/lib/module/modules/parser.js +16 -0
- package/lib/module/modules/parser.js.map +1 -0
- package/lib/module/peerTrackNodeUtils.js +6 -2
- package/lib/module/peerTrackNodeUtils.js.map +1 -1
- package/lib/module/redux/actionTypes.js +20 -1
- package/lib/module/redux/actionTypes.js.map +1 -1
- package/lib/module/redux/actions/index.js +54 -0
- package/lib/module/redux/actions/index.js.map +1 -1
- package/lib/module/redux/reducers/appState.js +70 -1
- package/lib/module/redux/reducers/appState.js.map +1 -1
- package/lib/module/redux/reducers/hmsStates.js +7 -1
- package/lib/module/redux/reducers/hmsStates.js.map +1 -1
- package/lib/module/redux/reducers/userState.js +3 -1
- package/lib/module/redux/reducers/userState.js.map +1 -1
- package/lib/module/utils/functions.js +47 -0
- package/lib/module/utils/functions.js.map +1 -1
- package/lib/module/utils/theme.js +58 -5
- package/lib/module/utils/theme.js.map +1 -1
- package/lib/module/utils/types.js +6 -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 +3 -3
- package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/Icons/AlertTriangle/index.d.ts +7 -0
- package/lib/typescript/Icons/AlertTriangle/index.d.ts.map +1 -0
- package/lib/typescript/Icons/AnswerPhone/index.d.ts.map +1 -1
- package/lib/typescript/Icons/BRB/index.d.ts +7 -0
- package/lib/typescript/Icons/BRB/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Camera/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
- 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/Chevron/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Close/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Hamburger/index.d.ts +7 -0
- package/lib/typescript/Icons/Hamburger/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Headphones/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Maximize/index.d.ts +7 -0
- package/lib/typescript/Icons/Maximize/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Mic/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Minimize/index.d.ts +7 -0
- package/lib/typescript/Icons/Minimize/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Participants/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Pencil/index.d.ts +7 -0
- package/lib/typescript/Icons/Pencil/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Pin/index.d.ts +7 -0
- package/lib/typescript/Icons/Pin/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/Recording/index.d.ts +7 -0
- package/lib/typescript/Icons/Recording/index.d.ts.map +1 -0
- package/lib/typescript/Icons/RotateCamera/index.d.ts.map +1 -1
- package/lib/typescript/Icons/ScreenShare/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Star/index.d.ts +7 -0
- package/lib/typescript/Icons/Star/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Stop/index.d.ts +7 -0
- package/lib/typescript/Icons/Stop/index.d.ts.map +1 -0
- package/lib/typescript/Icons/ThreeDots/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Wave/index.d.ts.map +1 -1
- package/lib/typescript/Icons/index.d.ts +12 -0
- package/lib/typescript/Icons/index.d.ts.map +1 -1
- package/lib/typescript/components/BackButton.d.ts.map +1 -1
- package/lib/typescript/components/BottomSheet.d.ts +25 -0
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/ChangeNameModalContent.d.ts +6 -0
- package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -0
- package/lib/typescript/components/CompanyLogo.d.ts +7 -0
- package/lib/typescript/components/CompanyLogo.d.ts.map +1 -0
- package/lib/typescript/components/CustomInput.d.ts +1 -1
- package/lib/typescript/components/CustomInput.d.ts.map +1 -1
- package/lib/typescript/components/DisplayView.d.ts.map +1 -1
- package/lib/typescript/components/EndRoomModalContent.d.ts +6 -0
- package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -0
- package/lib/typescript/components/Footer.d.ts.map +1 -1
- package/lib/typescript/components/GridView.d.ts +3 -4
- package/lib/typescript/components/GridView.d.ts.map +1 -1
- package/lib/typescript/components/HMSBaseButton.d.ts +15 -0
- package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -0
- package/lib/typescript/components/HMSDangerButton.d.ts +12 -0
- package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -0
- 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/HMSManageLocalAudio.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLocalVideo.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/HMSPreviewEditName.d.ts.map +1 -1
- 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/HMSPreviewTitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPrimaryButton.d.ts +12 -0
- package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -0
- package/lib/typescript/components/HMSRecordingIndicator.d.ts +3 -0
- package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -0
- package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
- package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
- package/lib/typescript/components/HMSTextInput.d.ts +10 -0
- package/lib/typescript/components/HMSTextInput.d.ts.map +1 -0
- package/lib/typescript/components/Header.d.ts.map +1 -1
- package/lib/typescript/components/LocalPeerRegularVideoView.d.ts +6 -0
- package/lib/typescript/components/LocalPeerRegularVideoView.d.ts.map +1 -0
- package/lib/typescript/components/LocalPeerScreenshareView.d.ts +3 -0
- package/lib/typescript/components/LocalPeerScreenshareView.d.ts.map +1 -0
- 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/MiniView.d.ts +9 -0
- package/lib/typescript/components/MiniView.d.ts.map +1 -0
- package/lib/typescript/components/Modals.d.ts +1 -16
- package/lib/typescript/components/Modals.d.ts.map +1 -1
- package/lib/typescript/components/PaginationDots.d.ts +6 -0
- package/lib/typescript/components/PaginationDots.d.ts.map +1 -0
- package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
- package/lib/typescript/components/ParticipantsCount.d.ts +3 -0
- package/lib/typescript/components/ParticipantsCount.d.ts.map +1 -0
- package/lib/typescript/components/PeerMinimizedView.d.ts +12 -0
- package/lib/typescript/components/PeerMinimizedView.d.ts.map +1 -0
- package/lib/typescript/components/PeerSettingsModalContent.d.ts +1 -0
- package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts +9 -0
- package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts +6 -0
- package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +6 -0
- package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts +10 -0
- package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts +10 -0
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/VideoView.d.ts +13 -0
- package/lib/typescript/components/PeerVideoTile/VideoView.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/index.d.ts +1 -0
- package/lib/typescript/components/PeerVideoTile/index.d.ts.map +1 -0
- package/lib/typescript/components/PressableIcon.d.ts.map +1 -1
- package/lib/typescript/components/Preview.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalContent.d.ts +2 -2
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts +17 -0
- package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -0
- package/lib/typescript/components/StopRecordingModalContent.d.ts +6 -0
- package/lib/typescript/components/StopRecordingModalContent.d.ts.map +1 -0
- package/lib/typescript/components/Tile.d.ts +12 -3
- package/lib/typescript/components/Tile.d.ts.map +1 -1
- package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
- package/lib/typescript/components/UnmountAfterDelay.d.ts +12 -0
- package/lib/typescript/components/UnmountAfterDelay.d.ts.map +1 -0
- package/lib/typescript/components/WebrtcView.d.ts +10 -0
- package/lib/typescript/components/WebrtcView.d.ts.map +1 -0
- package/lib/typescript/components/WelcomeInMeeting.d.ts +5 -0
- package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +0 -1
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/hooks-sdk-selectors.d.ts +2 -0
- package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-sdk.d.ts +1 -0
- package/lib/typescript/hooks-sdk.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 +24 -4
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/modules/HMSManager.d.ts +4 -0
- package/lib/typescript/modules/HMSManager.d.ts.map +1 -0
- package/lib/typescript/modules/parser.d.ts +3 -0
- package/lib/typescript/modules/parser.d.ts.map +1 -0
- package/lib/typescript/peerTrackNodeUtils.d.ts +1 -0
- package/lib/typescript/peerTrackNodeUtils.d.ts.map +1 -1
- package/lib/typescript/redux/actionTypes.d.ts +11 -1
- package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
- package/lib/typescript/redux/actions/index.d.ts +61 -3
- package/lib/typescript/redux/actions/index.d.ts.map +1 -1
- package/lib/typescript/redux/index.d.ts +10 -1
- package/lib/typescript/redux/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/appState.d.ts +8 -0
- package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts +7 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/index.d.ts +10 -1
- package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/userState.d.ts +3 -2
- package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
- package/lib/typescript/utils/functions.d.ts +14 -0
- package/lib/typescript/utils/functions.d.ts.map +1 -1
- package/lib/typescript/utils/theme.d.ts +7 -3
- package/lib/typescript/utils/theme.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +8 -4
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +11 -16
- package/src/HMSInstanceSetup.tsx +5 -31
- package/src/HMSPrebuilt.tsx +27 -8
- package/src/HMSRoomSetup.tsx +98 -23
- package/src/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
- package/src/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
- package/src/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
- package/src/Icons/AlertTriangle/index.tsx +33 -0
- package/src/Icons/AnswerPhone/index.tsx +7 -1
- package/src/Icons/BRB/assets/BRB.png +0 -0
- package/src/Icons/BRB/assets/BRB@2x.png +0 -0
- package/src/Icons/BRB/assets/BRB@3x.png +0 -0
- package/src/Icons/BRB/index.tsx +31 -0
- package/src/Icons/Bluetooth/index.tsx +7 -1
- package/src/Icons/Camera/index.tsx +7 -1
- package/src/Icons/Chat/index.tsx +7 -1
- 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 +33 -0
- package/src/Icons/Chevron/index.tsx +7 -1
- package/src/Icons/Close/index.tsx +7 -1
- package/src/Icons/Hamburger/assets/hamburger.png +0 -0
- package/src/Icons/Hamburger/assets/hamburger@2x.png +0 -0
- package/src/Icons/Hamburger/assets/hamburger@3x.png +0 -0
- package/src/Icons/Hamburger/index.tsx +33 -0
- package/src/Icons/Hand/index.tsx +6 -3
- package/src/Icons/Headphones/index.tsx +7 -1
- package/src/Icons/Maximize/assets/maximize.png +0 -0
- package/src/Icons/Maximize/assets/maximize@2x.png +0 -0
- package/src/Icons/Maximize/assets/maximize@3x.png +0 -0
- package/src/Icons/Maximize/index.tsx +33 -0
- package/src/Icons/Mic/index.tsx +7 -1
- package/src/Icons/Minimize/assets/minimize.png +0 -0
- package/src/Icons/Minimize/assets/minimize@2x.png +0 -0
- package/src/Icons/Minimize/assets/minimize@3x.png +0 -0
- package/src/Icons/Minimize/index.tsx +33 -0
- package/src/Icons/Participants/index.tsx +7 -1
- package/src/Icons/Pencil/assets/pencil.png +0 -0
- package/src/Icons/Pencil/assets/pencil@2x.png +0 -0
- package/src/Icons/Pencil/assets/pencil@3x.png +0 -0
- package/src/Icons/Pencil/index.tsx +33 -0
- package/src/Icons/Pin/assets/pin.png +0 -0
- package/src/Icons/Pin/assets/pin@2x.png +0 -0
- package/src/Icons/Pin/assets/pin@3x.png +0 -0
- package/src/Icons/Pin/index.tsx +30 -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/Recording/assets/recording.png +0 -0
- package/src/Icons/Recording/assets/recording@2x.png +0 -0
- package/src/Icons/Recording/assets/recording@3x.png +0 -0
- package/src/Icons/Recording/index.tsx +33 -0
- package/src/Icons/RotateCamera/index.tsx +7 -1
- package/src/Icons/ScreenShare/index.tsx +7 -1
- package/src/Icons/Speaker/index.tsx +12 -1
- package/src/Icons/Star/assets/star.png +0 -0
- package/src/Icons/Star/assets/star@2x.png +0 -0
- package/src/Icons/Star/assets/star@3x.png +0 -0
- package/src/Icons/Star/index.tsx +30 -0
- package/src/Icons/Stop/assets/stop.png +0 -0
- package/src/Icons/Stop/assets/stop@2x.png +0 -0
- package/src/Icons/Stop/assets/stop@3x.png +0 -0
- package/src/Icons/Stop/index.tsx +33 -0
- package/src/Icons/ThreeDots/index.tsx +7 -1
- package/src/Icons/Wave/index.tsx +7 -1
- package/src/Icons/index.ts +12 -0
- package/src/components/AvatarView.tsx +1 -2
- package/src/components/BackButton.tsx +9 -6
- package/src/components/BottomSheet.tsx +191 -0
- package/src/components/ChangeNameModalContent.tsx +157 -0
- package/src/components/CompanyLogo.tsx +35 -0
- package/src/components/CustomInput.tsx +2 -3
- package/src/components/DisplayView.tsx +16 -75
- package/src/components/EndRoomModalContent.tsx +90 -0
- package/src/components/Footer.tsx +7 -7
- package/src/components/GridView.tsx +91 -20
- package/src/components/HLSView.tsx +1 -1
- package/src/components/HMSBaseButton.tsx +91 -0
- package/src/components/HMSDangerButton.tsx +65 -0
- package/src/components/HMSHLSStreamLoading.tsx +68 -0
- package/src/components/HMSLocalVideoView.tsx +42 -0
- package/src/components/{HMSSpeakerSettings.tsx → HMSManageAudioOutput.tsx} +99 -78
- package/src/components/HMSManageCameraRotation.tsx +11 -8
- package/src/components/HMSManageLeave.tsx +107 -183
- package/src/components/HMSManageLocalAudio.tsx +1 -10
- package/src/components/HMSManageLocalVideo.tsx +1 -10
- package/src/components/HMSMeetingEnded.tsx +28 -0
- package/src/components/HMSPreviewEditName.tsx +4 -45
- package/src/components/HMSPreviewHLSLiveIndicator.tsx +66 -0
- package/src/components/HMSPreviewJoinButton.tsx +36 -51
- package/src/components/HMSPreviewNetworkQuality.tsx +43 -0
- package/src/components/HMSPreviewPeersList.tsx +25 -54
- package/src/components/HMSPreviewSubtitle.tsx +46 -6
- package/src/components/HMSPreviewTile.tsx +20 -31
- package/src/components/HMSPreviewTitle.tsx +18 -5
- package/src/components/HMSPrimaryButton.tsx +63 -0
- package/src/components/HMSRecordingIndicator.tsx +37 -0
- package/src/components/HMSRoomOptions.tsx +30 -16
- package/src/components/HMSShowNetworkQuality.tsx +7 -6
- package/src/components/HMSTextInput.tsx +78 -0
- package/src/components/Header.tsx +37 -36
- package/src/components/LocalPeerRegularVideoView.tsx +28 -0
- package/src/components/LocalPeerScreenshareView.tsx +72 -0
- package/src/components/Meeting.tsx +21 -3
- package/src/components/MenuModal/Menu.tsx +1 -1
- package/src/components/MiniView.tsx +213 -0
- package/src/components/Modals.tsx +5 -409
- package/src/components/PaginationDots.tsx +65 -0
- package/src/components/Participants/ParticipantsList.tsx +0 -24
- package/src/components/ParticipantsCount.tsx +52 -0
- package/src/components/PeerMinimizedView.tsx +131 -0
- package/src/components/PeerSettingsModalContent.tsx +108 -66
- package/src/components/PeerVideoTile/AvatarView.tsx +79 -0
- package/src/components/PeerVideoTile/PeerAudioMutedIndicator.tsx +41 -0
- package/src/components/PeerVideoTile/PeerMetadata.tsx +46 -0
- package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +81 -0
- package/src/components/PeerVideoTile/PeerVideoTileView.tsx +180 -0
- package/src/components/PeerVideoTile/VideoView.tsx +104 -0
- package/src/components/PeerVideoTile/index.ts +0 -0
- package/src/components/PressableIcon.tsx +15 -8
- package/src/components/Preview.tsx +150 -104
- package/src/components/RoomSettingsModalContent.tsx +234 -659
- package/src/components/RoomSettingsModalDebugModeContent.tsx +446 -0
- package/src/components/StopRecordingModalContent.tsx +109 -0
- package/src/components/Tile.tsx +49 -90
- package/src/components/TilesContainer.tsx +116 -14
- package/src/components/UnmountAfterDelay.tsx +61 -0
- package/src/components/WebrtcView.tsx +72 -0
- package/src/components/WelcomeInMeeting.tsx +52 -0
- package/src/components/index.ts +0 -1
- package/src/hooks/useHmsInstance.ts +0 -1
- package/src/hooks-sdk-selectors.tsx +7 -0
- package/src/hooks-sdk.ts +18 -0
- package/src/hooks-util-selectors.tsx +21 -0
- package/src/hooks-util.ts +548 -130
- package/src/modules/HMSManager.ts +25 -0
- package/src/modules/parser.ts +22 -0
- package/src/peerTrackNodeUtils.tsx +13 -10
- package/src/redux/actionTypes.ts +28 -0
- package/src/redux/actions/index.ts +64 -2
- package/src/redux/reducers/appState.ts +65 -0
- package/src/redux/reducers/hmsStates.ts +15 -1
- package/src/redux/reducers/userState.ts +5 -2
- package/src/utils/functions.ts +48 -0
- package/src/utils/theme.ts +75 -5
- package/src/utils/types.ts +9 -4
- package/src/utils.ts +2 -2
- package/lib/commonjs/components/HMSSpeakerSettings.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/HMSSpeakerSettings.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/HMSSpeakerSettings.d.ts +0 -3
- package/lib/typescript/components/HMSSpeakerSettings.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/ZoomableView.tsx +0 -91
package/src/hooks-util.ts
CHANGED
|
@@ -21,31 +21,58 @@ import {
|
|
|
21
21
|
import type {
|
|
22
22
|
HMSSessionStore,
|
|
23
23
|
HMSSessionStoreValue,
|
|
24
|
+
HMSSpeaker,
|
|
24
25
|
} from '@100mslive/react-native-hms';
|
|
26
|
+
import type {
|
|
27
|
+
ColorPalette,
|
|
28
|
+
Theme,
|
|
29
|
+
Typography,
|
|
30
|
+
} from '@100mslive/types-prebuilt';
|
|
25
31
|
import Toast from 'react-native-simple-toast';
|
|
26
|
-
import {
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
import {
|
|
33
|
+
useRef,
|
|
34
|
+
useCallback,
|
|
35
|
+
useEffect,
|
|
36
|
+
useState,
|
|
37
|
+
useMemo,
|
|
38
|
+
useContext,
|
|
39
|
+
} from 'react';
|
|
40
|
+
import type { DependencyList } from 'react';
|
|
41
|
+
|
|
42
|
+
import { MaxTilesInOnePage, ModalTypes, PipModes } from './utils/types';
|
|
29
43
|
import type { PeerTrackNode } from './utils/types';
|
|
30
44
|
import { createPeerTrackNode, parseMetadata } from './utils/functions';
|
|
31
|
-
import {
|
|
45
|
+
import {
|
|
46
|
+
batch,
|
|
47
|
+
shallowEqual,
|
|
48
|
+
useDispatch,
|
|
49
|
+
useSelector,
|
|
50
|
+
useStore,
|
|
51
|
+
} from 'react-redux';
|
|
32
52
|
import type { RootState } from './redux';
|
|
33
53
|
import {
|
|
34
54
|
addMessage,
|
|
35
55
|
addPinnedMessage,
|
|
36
|
-
|
|
56
|
+
changeMeetingState,
|
|
37
57
|
changePipModeStatus,
|
|
58
|
+
changeStartingHLSStream,
|
|
38
59
|
clearStore,
|
|
39
|
-
removeFromPreviewPeersList,
|
|
40
60
|
saveUserData,
|
|
41
61
|
setHMSLocalPeerState,
|
|
42
62
|
setHMSRoleState,
|
|
43
63
|
setHMSRoomState,
|
|
44
64
|
setIsLocalAudioMutedState,
|
|
45
65
|
setIsLocalVideoMutedState,
|
|
66
|
+
setLayoutConfig,
|
|
67
|
+
setLocalPeerTrackNode,
|
|
68
|
+
setMiniViewPeerTrackNode,
|
|
46
69
|
setModalType,
|
|
70
|
+
setStartingOrStoppingRecording,
|
|
71
|
+
updateLocalPeerTrackNode,
|
|
72
|
+
updateMiniViewPeerTrackNode,
|
|
47
73
|
} from './redux/actions';
|
|
48
74
|
import {
|
|
75
|
+
createPeerTrackNodeUniqueId,
|
|
49
76
|
degradeOrRestorePeerTrackNodes,
|
|
50
77
|
peerTrackNodeExistForPeer,
|
|
51
78
|
peerTrackNodeExistForPeerAndTrack,
|
|
@@ -61,7 +88,8 @@ import {
|
|
|
61
88
|
LayoutAnimation,
|
|
62
89
|
Platform,
|
|
63
90
|
} from 'react-native';
|
|
64
|
-
import {
|
|
91
|
+
import type { ImageStyle, StyleProp, ViewStyle, TextStyle } from 'react-native';
|
|
92
|
+
import { NavigationContext } from '@react-navigation/native';
|
|
65
93
|
import {
|
|
66
94
|
useIsLandscapeOrientation,
|
|
67
95
|
useIsPortraitOrientation,
|
|
@@ -70,33 +98,27 @@ import {
|
|
|
70
98
|
useSafeAreaFrame,
|
|
71
99
|
useSafeAreaInsets,
|
|
72
100
|
} from 'react-native-safe-area-context';
|
|
73
|
-
import { selectIsHLSViewer } from './hooks-util-selectors';
|
|
101
|
+
import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
|
|
102
|
+
import type { GridViewRefAttrs } from './components/GridView';
|
|
103
|
+
import { getRoomLayout } from './modules/HMSManager';
|
|
104
|
+
import { DEFAULT_THEME, DEFAULT_TYPOGRAPHY } from './utils/theme';
|
|
74
105
|
|
|
75
106
|
export const useHMSListeners = (
|
|
76
|
-
|
|
77
|
-
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>,
|
|
78
|
-
setMeetingState: React.Dispatch<React.SetStateAction<MeetingState>>
|
|
107
|
+
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
|
|
79
108
|
) => {
|
|
80
109
|
const hmsInstance = useHMSInstance();
|
|
81
110
|
const updateLocalPeer = useUpdateHMSLocalPeer(hmsInstance);
|
|
82
111
|
|
|
83
|
-
useHMSRoomUpdate(hmsInstance
|
|
112
|
+
useHMSRoomUpdate(hmsInstance);
|
|
84
113
|
|
|
85
|
-
useHMSPeersUpdate(
|
|
86
|
-
meetingState,
|
|
87
|
-
hmsInstance,
|
|
88
|
-
updateLocalPeer,
|
|
89
|
-
setPeerTrackNodes
|
|
90
|
-
);
|
|
114
|
+
useHMSPeersUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
|
|
91
115
|
|
|
92
116
|
useHMSTrackUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
|
|
93
117
|
};
|
|
94
118
|
|
|
95
|
-
const useHMSRoomUpdate = (
|
|
96
|
-
hmsInstance: HMSSDK,
|
|
97
|
-
setMeetingState: React.Dispatch<React.SetStateAction<MeetingState>>
|
|
98
|
-
) => {
|
|
119
|
+
const useHMSRoomUpdate = (hmsInstance: HMSSDK) => {
|
|
99
120
|
const dispatch = useDispatch();
|
|
121
|
+
const reduxStore = useStore<RootState>();
|
|
100
122
|
|
|
101
123
|
useEffect(() => {
|
|
102
124
|
const roomUpdateHandler = (data: {
|
|
@@ -112,16 +134,23 @@ const useHMSRoomUpdate = (
|
|
|
112
134
|
* before ON_JOIN, if ON_ROOM comes then we can show Meeting screen to user, instead of Loader or Preview
|
|
113
135
|
*/
|
|
114
136
|
if (room.localPeer.role?.name?.includes('hls-') ?? false) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
137
|
+
const meetingState = reduxStore.getState().app.meetingState;
|
|
138
|
+
|
|
139
|
+
batch(() => {
|
|
140
|
+
dispatch(setHMSLocalPeerState(room.localPeer));
|
|
141
|
+
if (meetingState !== MeetingState.IN_MEETING) {
|
|
142
|
+
dispatch(changeMeetingState(MeetingState.IN_MEETING));
|
|
119
143
|
}
|
|
120
|
-
return prevMeetingScreen;
|
|
121
144
|
});
|
|
122
145
|
}
|
|
123
146
|
|
|
124
147
|
if (type === HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED) {
|
|
148
|
+
const startingOrStoppingRecording = reduxStore.getState().app.startingOrStoppingRecording;
|
|
149
|
+
|
|
150
|
+
if (startingOrStoppingRecording) {
|
|
151
|
+
dispatch(setStartingOrStoppingRecording(false));
|
|
152
|
+
}
|
|
153
|
+
|
|
125
154
|
let streaming = room?.browserRecordingState?.running;
|
|
126
155
|
const startAtDate = room?.browserRecordingState?.startedAt;
|
|
127
156
|
|
|
@@ -143,6 +172,8 @@ const useHMSRoomUpdate = (
|
|
|
143
172
|
Toast.TOP
|
|
144
173
|
);
|
|
145
174
|
} else if (type === HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED) {
|
|
175
|
+
dispatch(changeStartingHLSStream(false));
|
|
176
|
+
|
|
146
177
|
let streaming = room?.hlsStreamingState?.running;
|
|
147
178
|
|
|
148
179
|
Toast.showWithGravity(
|
|
@@ -212,24 +243,27 @@ type PeerUpdate = {
|
|
|
212
243
|
};
|
|
213
244
|
|
|
214
245
|
const useHMSPeersUpdate = (
|
|
215
|
-
meetingState: MeetingState,
|
|
216
246
|
hmsInstance: HMSSDK,
|
|
217
247
|
updateLocalPeer: () => void,
|
|
218
248
|
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
|
|
219
249
|
) => {
|
|
220
250
|
const dispatch = useDispatch();
|
|
221
|
-
const
|
|
251
|
+
const store = useStore<RootState>();
|
|
252
|
+
// const inMeeting = useSelector(
|
|
253
|
+
// (state: RootState) => state.app.meetingState === MeetingState.IN_MEETING
|
|
254
|
+
// );
|
|
222
255
|
|
|
223
256
|
useEffect(() => {
|
|
224
257
|
const peerUpdateHandler = ({ peer, type }: PeerUpdate) => {
|
|
225
258
|
// Handle State from Preview screen
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
}
|
|
259
|
+
// TODO: When `inMeeting` becomes true Peer Update is resubscribed, we might lose some events during that time
|
|
260
|
+
// if (!inMeeting) {
|
|
261
|
+
// if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
262
|
+
// dispatch(addToPreviewPeersList(peer));
|
|
263
|
+
// } else if (type === HMSPeerUpdate.PEER_LEFT) {
|
|
264
|
+
// dispatch(removeFromPreviewPeersList(peer));
|
|
265
|
+
// }
|
|
266
|
+
// }
|
|
233
267
|
|
|
234
268
|
// Handle State for Meeting screen
|
|
235
269
|
if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
@@ -249,6 +283,28 @@ const useHMSPeersUpdate = (
|
|
|
249
283
|
return prevPeerTrackNodes;
|
|
250
284
|
});
|
|
251
285
|
|
|
286
|
+
const reduxState = store.getState();
|
|
287
|
+
const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
|
|
288
|
+
const localPeerTrackNode = reduxState.app.localPeerTrackNode;
|
|
289
|
+
|
|
290
|
+
batch(() => {
|
|
291
|
+
if (localPeerTrackNode) {
|
|
292
|
+
dispatch(updateLocalPeerTrackNode({ peer }));
|
|
293
|
+
} else {
|
|
294
|
+
dispatch(
|
|
295
|
+
setLocalPeerTrackNode(createPeerTrackNode(peer, peer.videoTrack))
|
|
296
|
+
);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// only set `localPeerTrackNode` as miniview peer track node when we are already using it.
|
|
300
|
+
if (
|
|
301
|
+
miniviewPeerTrackNode &&
|
|
302
|
+
miniviewPeerTrackNode.peer.peerID === peer.peerID
|
|
303
|
+
) {
|
|
304
|
+
dispatch(updateMiniViewPeerTrackNode({ peer }));
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
|
|
252
308
|
// - TODO: update local localPeer state
|
|
253
309
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
254
310
|
updateLocalPeer();
|
|
@@ -292,7 +348,7 @@ const useHMSPeersUpdate = (
|
|
|
292
348
|
return () => {
|
|
293
349
|
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_PEER_UPDATE);
|
|
294
350
|
};
|
|
295
|
-
}, [
|
|
351
|
+
}, [hmsInstance]);
|
|
296
352
|
};
|
|
297
353
|
|
|
298
354
|
type TrackUpdate = {
|
|
@@ -307,10 +363,22 @@ const useHMSTrackUpdate = (
|
|
|
307
363
|
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
|
|
308
364
|
) => {
|
|
309
365
|
const dispatch = useDispatch();
|
|
366
|
+
const store = useStore<RootState>();
|
|
310
367
|
|
|
311
368
|
useEffect(() => {
|
|
312
369
|
const trackUpdateHandler = ({ peer, track, type }: TrackUpdate) => {
|
|
370
|
+
const reduxState = store.getState();
|
|
371
|
+
const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
|
|
372
|
+
const localPeerTrackNode = reduxState.app.localPeerTrackNode;
|
|
373
|
+
|
|
313
374
|
if (type === HMSTrackUpdate.TRACK_ADDED) {
|
|
375
|
+
const newPeerTrackNode = createPeerTrackNode(peer, track);
|
|
376
|
+
|
|
377
|
+
const willCreateMiniviewPeerTrackNode =
|
|
378
|
+
!miniviewPeerTrackNode &&
|
|
379
|
+
peer.isLocal &&
|
|
380
|
+
track.source === HMSTrackSource.REGULAR;
|
|
381
|
+
|
|
314
382
|
setPeerTrackNodes((prevPeerTrackNodes) => {
|
|
315
383
|
if (
|
|
316
384
|
peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)
|
|
@@ -324,14 +392,65 @@ const useHMSTrackUpdate = (
|
|
|
324
392
|
}
|
|
325
393
|
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
326
394
|
}
|
|
327
|
-
|
|
328
|
-
|
|
395
|
+
|
|
396
|
+
if (
|
|
397
|
+
miniviewPeerTrackNode
|
|
398
|
+
? newPeerTrackNode.id !== miniviewPeerTrackNode.id
|
|
399
|
+
: !willCreateMiniviewPeerTrackNode
|
|
400
|
+
) {
|
|
401
|
+
return [...prevPeerTrackNodes, newPeerTrackNode];
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
return prevPeerTrackNodes;
|
|
329
405
|
});
|
|
330
406
|
|
|
331
407
|
// - TODO: update local localPeer state
|
|
332
408
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
333
409
|
if (peer.isLocal) {
|
|
410
|
+
if (track.source === HMSTrackSource.REGULAR) {
|
|
411
|
+
if (!localPeerTrackNode) {
|
|
412
|
+
dispatch(setLocalPeerTrackNode(newPeerTrackNode));
|
|
413
|
+
} else {
|
|
414
|
+
dispatch(
|
|
415
|
+
updateLocalPeerTrackNode(
|
|
416
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer }
|
|
417
|
+
)
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// only setting `miniviewPeerTrackNode`, when:
|
|
422
|
+
// - there is no `miniviewPeerTrackNode`
|
|
423
|
+
// - if there is, then it is of regular track
|
|
424
|
+
if (!miniviewPeerTrackNode) {
|
|
425
|
+
dispatch(setMiniViewPeerTrackNode(newPeerTrackNode));
|
|
426
|
+
} else if (miniviewPeerTrackNode.id === newPeerTrackNode.id) {
|
|
427
|
+
dispatch(
|
|
428
|
+
updateMiniViewPeerTrackNode(
|
|
429
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer }
|
|
430
|
+
)
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
// else -> {
|
|
435
|
+
// should `localPeerTrackNode` be created/updated for non-regular track addition?
|
|
436
|
+
// should `miniviewPeerTrackNode` be created/updated for non-regular track addition?
|
|
437
|
+
// }
|
|
438
|
+
|
|
334
439
|
updateLocalPeer();
|
|
440
|
+
} else {
|
|
441
|
+
// only setting `miniviewPeerTrackNode`, when:
|
|
442
|
+
// - there is already `miniviewPeerTrackNode`
|
|
443
|
+
// - and it is of same peer's regular track
|
|
444
|
+
if (
|
|
445
|
+
miniviewPeerTrackNode &&
|
|
446
|
+
miniviewPeerTrackNode.id === newPeerTrackNode.id
|
|
447
|
+
) {
|
|
448
|
+
dispatch(
|
|
449
|
+
updateMiniViewPeerTrackNode(
|
|
450
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer }
|
|
451
|
+
)
|
|
452
|
+
);
|
|
453
|
+
}
|
|
335
454
|
}
|
|
336
455
|
return;
|
|
337
456
|
}
|
|
@@ -349,7 +468,52 @@ const useHMSTrackUpdate = (
|
|
|
349
468
|
// - TODO: update local localPeer state
|
|
350
469
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
351
470
|
if (peer.isLocal) {
|
|
471
|
+
if (track.source === HMSTrackSource.REGULAR) {
|
|
472
|
+
if (!peer.audioTrack?.trackId && !peer.videoTrack?.trackId) {
|
|
473
|
+
dispatch(setLocalPeerTrackNode(null));
|
|
474
|
+
|
|
475
|
+
// removing `miniviewPeerTrackNode`, when:
|
|
476
|
+
// - `localPeerTrack` was used as `miniviewPeerTrackNode`
|
|
477
|
+
// - and now local peer doesn't have any tracks
|
|
478
|
+
if (
|
|
479
|
+
miniviewPeerTrackNode &&
|
|
480
|
+
miniviewPeerTrackNode.peer.peerID === peer.peerID
|
|
481
|
+
) {
|
|
482
|
+
dispatch(setMiniViewPeerTrackNode(null));
|
|
483
|
+
}
|
|
484
|
+
} else {
|
|
485
|
+
if (track.type === HMSTrackType.VIDEO) {
|
|
486
|
+
dispatch(updateLocalPeerTrackNode({ peer, track: undefined }));
|
|
487
|
+
} else {
|
|
488
|
+
dispatch(updateLocalPeerTrackNode({ peer }));
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
// updating `miniviewPeerTrackNode`
|
|
492
|
+
if (
|
|
493
|
+
miniviewPeerTrackNode &&
|
|
494
|
+
miniviewPeerTrackNode.peer.peerID === peer.peerID
|
|
495
|
+
) {
|
|
496
|
+
if (track.type === HMSTrackType.VIDEO) {
|
|
497
|
+
dispatch(
|
|
498
|
+
updateMiniViewPeerTrackNode({ peer, track: undefined })
|
|
499
|
+
);
|
|
500
|
+
} else {
|
|
501
|
+
dispatch(updateMiniViewPeerTrackNode({ peer }));
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
|
|
352
507
|
updateLocalPeer();
|
|
508
|
+
} else {
|
|
509
|
+
// only removing `miniviewPeerTrackNode`, when:
|
|
510
|
+
// - there is already `miniviewPeerTrackNode`
|
|
511
|
+
// - and it is of same peer's regular track
|
|
512
|
+
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
513
|
+
|
|
514
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
515
|
+
dispatch(setMiniViewPeerTrackNode(null));
|
|
516
|
+
}
|
|
353
517
|
}
|
|
354
518
|
return;
|
|
355
519
|
}
|
|
@@ -383,10 +547,29 @@ const useHMSTrackUpdate = (
|
|
|
383
547
|
return prevPeerTrackNodes;
|
|
384
548
|
});
|
|
385
549
|
|
|
550
|
+
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
551
|
+
|
|
386
552
|
// - TODO: update local localPeer state
|
|
387
553
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
388
554
|
if (peer.isLocal) {
|
|
555
|
+
const updatePayload =
|
|
556
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer };
|
|
557
|
+
|
|
558
|
+
dispatch(updateLocalPeerTrackNode(updatePayload));
|
|
559
|
+
|
|
560
|
+
// Take care of miniviewPeerTrackNode
|
|
561
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
562
|
+
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
563
|
+
}
|
|
564
|
+
|
|
389
565
|
updateLocalPeer();
|
|
566
|
+
} else {
|
|
567
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
568
|
+
const updatePayload =
|
|
569
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer };
|
|
570
|
+
|
|
571
|
+
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
572
|
+
}
|
|
390
573
|
}
|
|
391
574
|
return;
|
|
392
575
|
}
|
|
@@ -407,6 +590,16 @@ const useHMSTrackUpdate = (
|
|
|
407
590
|
}
|
|
408
591
|
return prevPeerTrackNodes;
|
|
409
592
|
});
|
|
593
|
+
|
|
594
|
+
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
595
|
+
|
|
596
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
597
|
+
dispatch(
|
|
598
|
+
updateMiniViewPeerTrackNode({
|
|
599
|
+
isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED,
|
|
600
|
+
})
|
|
601
|
+
);
|
|
602
|
+
}
|
|
410
603
|
return;
|
|
411
604
|
}
|
|
412
605
|
};
|
|
@@ -547,7 +740,9 @@ export const useHMSRoleChangeRequest = (
|
|
|
547
740
|
|
|
548
741
|
type SessionStoreListeners = Array<{ remove: () => void }>;
|
|
549
742
|
|
|
550
|
-
export const useHMSSessionStoreListeners = (
|
|
743
|
+
export const useHMSSessionStoreListeners = (
|
|
744
|
+
gridViewRef: React.MutableRefObject<GridViewRefAttrs | null>
|
|
745
|
+
) => {
|
|
551
746
|
const dispatch = useDispatch();
|
|
552
747
|
const hmsSessionStore = useSelector(
|
|
553
748
|
(state: RootState) => state.user.hmsSessionStore
|
|
@@ -564,6 +759,10 @@ export const useHMSSessionStoreListeners = () => {
|
|
|
564
759
|
const handleSpotlightIdChange = (id: HMSSessionStoreValue) => {
|
|
565
760
|
// set value to the state to rerender the component to reflect changes
|
|
566
761
|
dispatch(saveUserData({ spotlightTrackId: id }));
|
|
762
|
+
// Scroll to start of the list
|
|
763
|
+
gridViewRef.current
|
|
764
|
+
?.getFlatlistRef()
|
|
765
|
+
.current?.scrollToOffset({ animated: true, offset: 0 });
|
|
567
766
|
};
|
|
568
767
|
|
|
569
768
|
// Handle 'pinnedMessage' key values
|
|
@@ -737,52 +936,11 @@ export const useHMSMessages = () => {
|
|
|
737
936
|
|
|
738
937
|
export const useHMSPIPRoomLeave = () => {
|
|
739
938
|
const hmsInstance = useHMSInstance();
|
|
740
|
-
const
|
|
741
|
-
// TODO: What if this is undefined?
|
|
742
|
-
const navigation = useNavigation();
|
|
939
|
+
const { destroy } = useLeaveMethods();
|
|
743
940
|
|
|
744
941
|
useEffect(() => {
|
|
745
942
|
const pipRoomLeaveHandler = () => {
|
|
746
|
-
|
|
747
|
-
.destroy()
|
|
748
|
-
.then((s) => {
|
|
749
|
-
console.log('Destroy Success: ', s);
|
|
750
|
-
// TODOS:
|
|
751
|
-
// - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
|
|
752
|
-
// - Reset Redux States
|
|
753
|
-
// - HMSInstance will not be available now
|
|
754
|
-
// - When your presses "Re Join" Action button, restart process from root component
|
|
755
|
-
// - When your presses "Done" Action button
|
|
756
|
-
// - If we have callback fn, call it
|
|
757
|
-
// - Otherwise try our best to navigate away from current screen
|
|
758
|
-
//
|
|
759
|
-
// - No screen to show
|
|
760
|
-
// - No need to reset redux state?
|
|
761
|
-
// - HMSInstance will be available till this point
|
|
762
|
-
// - If we have callback fn, call it
|
|
763
|
-
// - Otherwise try our best to navigate away from current screen
|
|
764
|
-
// - When we are navigated away from screen, HMSInstance will be not available
|
|
765
|
-
|
|
766
|
-
// dispatch(clearMessageData());
|
|
767
|
-
// dispatch(clearPeerData());
|
|
768
|
-
// dispatch(clearHmsReference());
|
|
769
|
-
|
|
770
|
-
// if (navigation.canGoBack()) {
|
|
771
|
-
// navigation.goBack();
|
|
772
|
-
// } else {
|
|
773
|
-
// TODO: remove this later
|
|
774
|
-
navigation.navigate('QRCodeScreen' as never);
|
|
775
|
-
dispatch(clearStore());
|
|
776
|
-
// }
|
|
777
|
-
})
|
|
778
|
-
.catch((e) => {
|
|
779
|
-
console.log(`Destroy HMS instance Error: ${e}`);
|
|
780
|
-
Toast.showWithGravity(
|
|
781
|
-
`Destroy HMS instance Error: ${e}`,
|
|
782
|
-
Toast.LONG,
|
|
783
|
-
Toast.TOP
|
|
784
|
-
);
|
|
785
|
-
});
|
|
943
|
+
destroy();
|
|
786
944
|
};
|
|
787
945
|
|
|
788
946
|
hmsInstance.addEventListener(
|
|
@@ -793,57 +951,16 @@ export const useHMSPIPRoomLeave = () => {
|
|
|
793
951
|
return () => {
|
|
794
952
|
hmsInstance.removeEventListener(HMSPIPListenerActions.ON_PIP_ROOM_LEAVE);
|
|
795
953
|
};
|
|
796
|
-
}, [hmsInstance]);
|
|
954
|
+
}, [destroy, hmsInstance]);
|
|
797
955
|
};
|
|
798
956
|
|
|
799
957
|
export const useHMSRemovedFromRoomUpdate = () => {
|
|
800
958
|
const hmsInstance = useHMSInstance();
|
|
801
|
-
const
|
|
802
|
-
// TODO: What if this is undefined?
|
|
803
|
-
const navigation = useNavigation();
|
|
959
|
+
const { destroy } = useLeaveMethods();
|
|
804
960
|
|
|
805
961
|
useEffect(() => {
|
|
806
962
|
const removedFromRoomHandler = () => {
|
|
807
|
-
|
|
808
|
-
.destroy()
|
|
809
|
-
.then((s) => {
|
|
810
|
-
console.log('Destroy Success: ', s);
|
|
811
|
-
// TODOS:
|
|
812
|
-
// - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
|
|
813
|
-
// - Reset Redux States
|
|
814
|
-
// - HMSInstance will not be available now
|
|
815
|
-
// - When your presses "Re Join" Action button, restart process from root component
|
|
816
|
-
// - When your presses "Done" Action button
|
|
817
|
-
// - If we have callback fn, call it
|
|
818
|
-
// - Otherwise try our best to navigate away from current screen
|
|
819
|
-
//
|
|
820
|
-
// - No screen to show
|
|
821
|
-
// - No need to reset redux state?
|
|
822
|
-
// - HMSInstance will be available till this point
|
|
823
|
-
// - If we have callback fn, call it
|
|
824
|
-
// - Otherwise try our best to navigate away from current screen
|
|
825
|
-
// - When we are navigated away from screen, HMSInstance will be not available
|
|
826
|
-
|
|
827
|
-
// dispatch(clearMessageData());
|
|
828
|
-
// dispatch(clearPeerData());
|
|
829
|
-
// dispatch(clearHmsReference());
|
|
830
|
-
|
|
831
|
-
// if (navigation.canGoBack()) {
|
|
832
|
-
// navigation.goBack();
|
|
833
|
-
// } else {
|
|
834
|
-
// TODO: remove this later
|
|
835
|
-
navigation.navigate('QRCodeScreen' as never);
|
|
836
|
-
dispatch(clearStore());
|
|
837
|
-
// }
|
|
838
|
-
})
|
|
839
|
-
.catch((e) => {
|
|
840
|
-
console.log(`Destroy HMS instance Error: ${e}`);
|
|
841
|
-
Toast.showWithGravity(
|
|
842
|
-
`Destroy HMS instance Error: ${e}`,
|
|
843
|
-
Toast.LONG,
|
|
844
|
-
Toast.TOP
|
|
845
|
-
);
|
|
846
|
-
});
|
|
963
|
+
destroy();
|
|
847
964
|
};
|
|
848
965
|
|
|
849
966
|
hmsInstance.addEventListener(
|
|
@@ -856,7 +973,7 @@ export const useHMSRemovedFromRoomUpdate = () => {
|
|
|
856
973
|
HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM
|
|
857
974
|
);
|
|
858
975
|
};
|
|
859
|
-
}, [hmsInstance]);
|
|
976
|
+
}, [destroy, hmsInstance]);
|
|
860
977
|
};
|
|
861
978
|
|
|
862
979
|
export const usePIPListener = () => {
|
|
@@ -903,6 +1020,104 @@ export const usePIPListener = () => {
|
|
|
903
1020
|
}, [isPipModeActive, hmsInstance]);
|
|
904
1021
|
};
|
|
905
1022
|
|
|
1023
|
+
export const useHMSNetworkQualityUpdate = () => {
|
|
1024
|
+
const hmsInstance = useHMSInstance();
|
|
1025
|
+
|
|
1026
|
+
useEffect(() => {
|
|
1027
|
+
hmsInstance.enableNetworkQualityUpdates();
|
|
1028
|
+
|
|
1029
|
+
return () => hmsInstance.disableNetworkQualityUpdates();
|
|
1030
|
+
}, [hmsInstance]);
|
|
1031
|
+
};
|
|
1032
|
+
|
|
1033
|
+
export const useHMSActiveSpeakerUpdates = (
|
|
1034
|
+
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>,
|
|
1035
|
+
active?: boolean
|
|
1036
|
+
) => {
|
|
1037
|
+
const hmsInstance = useHMSInstance();
|
|
1038
|
+
const reduxStore = useStore<RootState>();
|
|
1039
|
+
const isPortraitOrientation = useIsPortraitOrientation();
|
|
1040
|
+
|
|
1041
|
+
useEffect(() => {
|
|
1042
|
+
if (!active) {
|
|
1043
|
+
return;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
const handleActiveSpeaker = (data: HMSSpeaker[]) => {
|
|
1047
|
+
const activePage = reduxStore.getState().app.gridViewActivePage;
|
|
1048
|
+
if (activePage !== 0) {
|
|
1049
|
+
return;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
setPeerTrackNodes((prevPeerTrackNodes) => {
|
|
1053
|
+
// list of active speakers which are not in first page
|
|
1054
|
+
const activeSpeakers = data.filter((speaker) => {
|
|
1055
|
+
const uniquePeerTrackNodeId = createPeerTrackNodeUniqueId(
|
|
1056
|
+
speaker.peer,
|
|
1057
|
+
speaker.track
|
|
1058
|
+
);
|
|
1059
|
+
|
|
1060
|
+
const inFirstPage = prevPeerTrackNodes.some(
|
|
1061
|
+
(prevPeerTrackNode, _idx) => {
|
|
1062
|
+
// we are on index which is not in current page
|
|
1063
|
+
if (
|
|
1064
|
+
_idx >=
|
|
1065
|
+
(isPortraitOrientation
|
|
1066
|
+
? MaxTilesInOnePage.IN_PORTRAIT
|
|
1067
|
+
: MaxTilesInOnePage.IN_LANDSCAPE)
|
|
1068
|
+
) {
|
|
1069
|
+
return false;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
return prevPeerTrackNode.id === uniquePeerTrackNodeId;
|
|
1073
|
+
}
|
|
1074
|
+
);
|
|
1075
|
+
|
|
1076
|
+
return !inFirstPage;
|
|
1077
|
+
});
|
|
1078
|
+
|
|
1079
|
+
// All active speakers are in first page already, Do nothing
|
|
1080
|
+
if (activeSpeakers.length === 0) {
|
|
1081
|
+
return prevPeerTrackNodes;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
// Updated list with all Active Speakers in first page
|
|
1085
|
+
return prevPeerTrackNodes.reduce<PeerTrackNode[]>(
|
|
1086
|
+
(accumulated, current) => {
|
|
1087
|
+
if (
|
|
1088
|
+
activeSpeakers.findIndex(
|
|
1089
|
+
(activeSpeaker) =>
|
|
1090
|
+
createPeerTrackNodeUniqueId(
|
|
1091
|
+
activeSpeaker.peer,
|
|
1092
|
+
activeSpeaker.track
|
|
1093
|
+
) === current.id
|
|
1094
|
+
) >= 0
|
|
1095
|
+
) {
|
|
1096
|
+
// return [current, ...accumulated];
|
|
1097
|
+
accumulated.unshift(current);
|
|
1098
|
+
return accumulated;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
// return [...accumulated, current];
|
|
1102
|
+
accumulated.push(current);
|
|
1103
|
+
return accumulated;
|
|
1104
|
+
},
|
|
1105
|
+
[]
|
|
1106
|
+
);
|
|
1107
|
+
});
|
|
1108
|
+
};
|
|
1109
|
+
|
|
1110
|
+
hmsInstance.addEventListener(
|
|
1111
|
+
HMSUpdateListenerActions.ON_SPEAKER,
|
|
1112
|
+
handleActiveSpeaker
|
|
1113
|
+
);
|
|
1114
|
+
|
|
1115
|
+
return () => {
|
|
1116
|
+
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_SPEAKER);
|
|
1117
|
+
};
|
|
1118
|
+
}, [isPortraitOrientation, active, hmsInstance]);
|
|
1119
|
+
};
|
|
1120
|
+
|
|
906
1121
|
let modalTaskRef: { current: any } = { current: null };
|
|
907
1122
|
|
|
908
1123
|
export const clearPendingModalTasks = () => {
|
|
@@ -992,6 +1207,7 @@ export const clearConfig = () => {
|
|
|
992
1207
|
|
|
993
1208
|
export const useHMSConfig = () => {
|
|
994
1209
|
const hmsInstance = useHMSInstance();
|
|
1210
|
+
const dispatch = useDispatch();
|
|
995
1211
|
const store = useStore();
|
|
996
1212
|
|
|
997
1213
|
const getConfig = useCallback(async () => {
|
|
@@ -1005,6 +1221,18 @@ export const useHMSConfig = () => {
|
|
|
1005
1221
|
storeState.user.endPoints?.token
|
|
1006
1222
|
);
|
|
1007
1223
|
|
|
1224
|
+
// TODO: [REMOVE LATER] added trycatch block so that we can join rooms where we are getting error from Layout API
|
|
1225
|
+
try {
|
|
1226
|
+
const roomLayout = await getRoomLayout(
|
|
1227
|
+
hmsInstance,
|
|
1228
|
+
token,
|
|
1229
|
+
'https://api-nonprod.100ms.live'
|
|
1230
|
+
);
|
|
1231
|
+
dispatch(setLayoutConfig(roomLayout));
|
|
1232
|
+
} catch (error) {
|
|
1233
|
+
console.warn('# getRoomLayout error: ', error);
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1008
1236
|
hmsConfig = new HMSConfig({
|
|
1009
1237
|
authToken: token,
|
|
1010
1238
|
username: storeState.user.userName,
|
|
@@ -1016,7 +1244,18 @@ export const useHMSConfig = () => {
|
|
|
1016
1244
|
return hmsConfig;
|
|
1017
1245
|
}, [hmsInstance]);
|
|
1018
1246
|
|
|
1019
|
-
|
|
1247
|
+
const updateConfig = useCallback((data: Partial<HMSConfig>) => {
|
|
1248
|
+
if (!hmsConfig) {
|
|
1249
|
+
throw new Error('No HMSConfig is available to update!');
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
Object.entries(data).forEach(([key, value]) => {
|
|
1253
|
+
// @ts-ignore
|
|
1254
|
+
hmsConfig[key] = value;
|
|
1255
|
+
});
|
|
1256
|
+
}, []);
|
|
1257
|
+
|
|
1258
|
+
return { clearConfig, updateConfig, getConfig };
|
|
1020
1259
|
};
|
|
1021
1260
|
|
|
1022
1261
|
export const useSafeDimensions = () => {
|
|
@@ -1031,7 +1270,7 @@ export const useSafeDimensions = () => {
|
|
|
1031
1270
|
|
|
1032
1271
|
export const useShowChat = (): [
|
|
1033
1272
|
'none' | 'inset' | 'modal',
|
|
1034
|
-
(show: boolean) => void
|
|
1273
|
+
(show: boolean) => void
|
|
1035
1274
|
] => {
|
|
1036
1275
|
const dispatch = useDispatch();
|
|
1037
1276
|
const isHLSViewer = useIsHLSViewer();
|
|
@@ -1152,3 +1391,182 @@ export const useFilteredParticipants = () => {
|
|
|
1152
1391
|
setSearchText: setParticipantsSearchInput,
|
|
1153
1392
|
};
|
|
1154
1393
|
};
|
|
1394
|
+
|
|
1395
|
+
export const useShouldGoLive = () => {
|
|
1396
|
+
const shouldGoLive = useSelector(selectShouldGoLive);
|
|
1397
|
+
|
|
1398
|
+
return shouldGoLive;
|
|
1399
|
+
};
|
|
1400
|
+
|
|
1401
|
+
export const useLeaveMethods = () => {
|
|
1402
|
+
const navigation = useContext(NavigationContext);
|
|
1403
|
+
const hmsInstance = useHMSInstance();
|
|
1404
|
+
const dispatch = useDispatch();
|
|
1405
|
+
const reduxStore = useStore<RootState>();
|
|
1406
|
+
|
|
1407
|
+
const destroy = useCallback(async () => {
|
|
1408
|
+
try {
|
|
1409
|
+
const s = await hmsInstance.destroy();
|
|
1410
|
+
console.log('Destroy Success: ', s);
|
|
1411
|
+
// TODOS:
|
|
1412
|
+
// - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
|
|
1413
|
+
// - Reset Redux States
|
|
1414
|
+
// - HMSInstance will not be available now
|
|
1415
|
+
// - When your presses "Re Join" Action button, restart process from root component
|
|
1416
|
+
// - When your presses "Done" Action button
|
|
1417
|
+
// - If we have callback fn, call it
|
|
1418
|
+
// - Otherwise try our best to navigate away from current screen
|
|
1419
|
+
//
|
|
1420
|
+
// - No screen to show
|
|
1421
|
+
// - No need to reset redux state?
|
|
1422
|
+
// - HMSInstance will be available till this point
|
|
1423
|
+
// - If we have callback fn, call it
|
|
1424
|
+
// - Otherwise try our best to navigate away from current screen
|
|
1425
|
+
// - When we are navigated away from screen, HMSInstance will be not available
|
|
1426
|
+
|
|
1427
|
+
// dispatch(clearMessageData());
|
|
1428
|
+
// dispatch(clearPeerData());
|
|
1429
|
+
// dispatch(clearHmsReference());
|
|
1430
|
+
|
|
1431
|
+
const onLeave = reduxStore.getState().user.onLeave;
|
|
1432
|
+
|
|
1433
|
+
if (typeof onLeave === 'function') {
|
|
1434
|
+
onLeave();
|
|
1435
|
+
dispatch(clearStore());
|
|
1436
|
+
} else if (navigation && navigation.canGoBack()) {
|
|
1437
|
+
navigation.goBack();
|
|
1438
|
+
dispatch(clearStore());
|
|
1439
|
+
} else {
|
|
1440
|
+
// TODO: call onLeave Callback if provided
|
|
1441
|
+
// Otherwise default action is to show "Meeting Ended" screen
|
|
1442
|
+
dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
|
|
1443
|
+
dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
|
|
1444
|
+
}
|
|
1445
|
+
} catch (e) {
|
|
1446
|
+
console.log(`Destroy HMS instance Error: ${e}`);
|
|
1447
|
+
Toast.showWithGravity(
|
|
1448
|
+
`Destroy HMS instance Error: ${e}`,
|
|
1449
|
+
Toast.LONG,
|
|
1450
|
+
Toast.TOP
|
|
1451
|
+
);
|
|
1452
|
+
return Promise.reject(e);
|
|
1453
|
+
}
|
|
1454
|
+
}, [hmsInstance]);
|
|
1455
|
+
|
|
1456
|
+
const leave = useCallback(async () => {
|
|
1457
|
+
try {
|
|
1458
|
+
const d = await hmsInstance.leave();
|
|
1459
|
+
console.log('Leave Success: ', d);
|
|
1460
|
+
await destroy();
|
|
1461
|
+
} catch (e) {
|
|
1462
|
+
console.log(`Leave Room Error: ${e}`);
|
|
1463
|
+
Toast.showWithGravity(`Leave Room Error: ${e}`, Toast.LONG, Toast.TOP);
|
|
1464
|
+
}
|
|
1465
|
+
}, [destroy, hmsInstance]);
|
|
1466
|
+
|
|
1467
|
+
const goToPreview = useCallback(async () => {
|
|
1468
|
+
try {
|
|
1469
|
+
await hmsInstance.leave();
|
|
1470
|
+
await hmsInstance.destroy();
|
|
1471
|
+
dispatch(clearStore());
|
|
1472
|
+
} catch (error) {
|
|
1473
|
+
Toast.showWithGravity(
|
|
1474
|
+
`Unable to go to Preview: ${error}`,
|
|
1475
|
+
Toast.LONG,
|
|
1476
|
+
Toast.TOP
|
|
1477
|
+
);
|
|
1478
|
+
}
|
|
1479
|
+
}, [hmsInstance]);
|
|
1480
|
+
|
|
1481
|
+
const endRoom = useCallback(async () => {
|
|
1482
|
+
try {
|
|
1483
|
+
const d = await hmsInstance.endRoom('Host ended the room');
|
|
1484
|
+
console.log('EndRoom Success: ', d);
|
|
1485
|
+
await destroy();
|
|
1486
|
+
} catch (e) {
|
|
1487
|
+
console.log('EndRoom Error: ', e);
|
|
1488
|
+
}
|
|
1489
|
+
}, [destroy, hmsInstance]);
|
|
1490
|
+
|
|
1491
|
+
return { destroy, leave, endRoom, goToPreview };
|
|
1492
|
+
};
|
|
1493
|
+
|
|
1494
|
+
export const useHMSLayoutConfig = () => {
|
|
1495
|
+
return useSelector((state: RootState) => state.hmsStates.layoutConfig);
|
|
1496
|
+
};
|
|
1497
|
+
|
|
1498
|
+
export const useHMSRoomTheme = <S>(
|
|
1499
|
+
selector?: (theme: Required<Theme>) => S
|
|
1500
|
+
): Required<Theme> | S => {
|
|
1501
|
+
return useSelector((state: RootState) => {
|
|
1502
|
+
const layoutConfig = state.hmsStates.layoutConfig;
|
|
1503
|
+
|
|
1504
|
+
const roomTheme = layoutConfig?.themes.find((theme) => theme.default);
|
|
1505
|
+
|
|
1506
|
+
const defaultTheme: Required<Theme> = roomTheme
|
|
1507
|
+
? roomTheme.palette
|
|
1508
|
+
? (roomTheme as Required<Theme>)
|
|
1509
|
+
: { ...roomTheme, palette: DEFAULT_THEME.palette }
|
|
1510
|
+
: DEFAULT_THEME;
|
|
1511
|
+
|
|
1512
|
+
if (!selector) {
|
|
1513
|
+
return defaultTheme;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
return selector(defaultTheme);
|
|
1517
|
+
}, shallowEqual);
|
|
1518
|
+
};
|
|
1519
|
+
|
|
1520
|
+
export const useHMSRoomColorPalette = (): ColorPalette => {
|
|
1521
|
+
return useHMSRoomTheme((theme) => theme.palette) as ColorPalette;
|
|
1522
|
+
};
|
|
1523
|
+
|
|
1524
|
+
export const useHMSRoomTypography = (): Typography => {
|
|
1525
|
+
return useSelector((state: RootState) => {
|
|
1526
|
+
const layoutConfig = state.hmsStates.layoutConfig;
|
|
1527
|
+
|
|
1528
|
+
const typography = layoutConfig?.typography;
|
|
1529
|
+
|
|
1530
|
+
if (!typography) {
|
|
1531
|
+
return DEFAULT_TYPOGRAPHY;
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
if (!typography.font_family) {
|
|
1535
|
+
return {
|
|
1536
|
+
...DEFAULT_TYPOGRAPHY,
|
|
1537
|
+
...typography,
|
|
1538
|
+
};
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
return typography;
|
|
1542
|
+
}, shallowEqual);
|
|
1543
|
+
};
|
|
1544
|
+
|
|
1545
|
+
export const useHMSRoomStyleSheet = <
|
|
1546
|
+
T extends { [key: string]: StyleProp<ViewStyle | TextStyle | ImageStyle> }
|
|
1547
|
+
>(
|
|
1548
|
+
updater: (theme: Required<Theme>, typography: Required<Typography>) => T,
|
|
1549
|
+
deps: DependencyList = []
|
|
1550
|
+
): T => {
|
|
1551
|
+
const theme = useHMSRoomTheme<Required<Theme>>();
|
|
1552
|
+
const typography = useHMSRoomTypography();
|
|
1553
|
+
|
|
1554
|
+
return useMemo(
|
|
1555
|
+
() => updater(theme, typography),
|
|
1556
|
+
[theme, typography, ...deps]
|
|
1557
|
+
);
|
|
1558
|
+
};
|
|
1559
|
+
|
|
1560
|
+
export const useHMSRoomStyle = <
|
|
1561
|
+
T extends StyleProp<ViewStyle | TextStyle | ImageStyle>
|
|
1562
|
+
>(
|
|
1563
|
+
updater: (theme: Required<Theme>, typography: Required<Typography>) => T,
|
|
1564
|
+
deps: DependencyList = []
|
|
1565
|
+
): T => {
|
|
1566
|
+
return useHMSRoomStyleSheet(
|
|
1567
|
+
(theme, typography) => ({
|
|
1568
|
+
default: updater(theme, typography),
|
|
1569
|
+
}),
|
|
1570
|
+
deps
|
|
1571
|
+
).default;
|
|
1572
|
+
};
|