@100mslive/react-native-room-kit 0.2.0 → 1.0.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 +1 -10
- package/lib/commonjs/HMSPrebuilt.js +6 -6
- package/lib/commonjs/HMSPrebuilt.js.map +1 -1
- package/lib/commonjs/HMSRoomSetup.js +27 -30
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle-filled.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle-filled@2x.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle-filled@3x.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/index.js +2 -1
- package/lib/commonjs/Icons/AlertTriangle/index.js.map +1 -1
- package/lib/commonjs/Icons/Eye/assets/eye-on-small.png +0 -0
- package/lib/commonjs/Icons/Eye/assets/eye-on-small@2x.png +0 -0
- package/lib/commonjs/Icons/Eye/assets/eye-on-small@3x.png +0 -0
- package/lib/commonjs/Icons/Eye/index.js +35 -0
- package/lib/commonjs/Icons/Eye/index.js.map +1 -0
- package/lib/commonjs/Icons/Person/assets/person-left.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-left@2x.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-left@3x.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-off.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-off@2x.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-off@3x.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-rectangle.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-rectangle@2x.png +0 -0
- package/lib/commonjs/Icons/Person/assets/person-rectangle@3x.png +0 -0
- package/lib/commonjs/Icons/Person/index.js +2 -1
- package/lib/commonjs/Icons/Person/index.js.map +1 -1
- package/lib/commonjs/Icons/Search/assets/search.png +0 -0
- package/lib/commonjs/Icons/Search/assets/search@2x.png +0 -0
- package/lib/commonjs/Icons/Search/assets/search@3x.png +0 -0
- package/lib/commonjs/Icons/Search/index.js +34 -0
- package/lib/commonjs/Icons/Search/index.js.map +1 -0
- package/lib/commonjs/Icons/index.js +22 -0
- package/lib/commonjs/Icons/index.js.map +1 -1
- package/lib/commonjs/assets/audio-level-white.json +1271 -0
- package/lib/commonjs/assets/empty-chat-illustration/empty-chat.png +0 -0
- package/lib/commonjs/assets/empty-chat-illustration/empty-chat@2x.png +0 -0
- package/lib/commonjs/assets/empty-chat-illustration/empty-chat@3x.png +0 -0
- package/lib/commonjs/assets/welcome.png +0 -0
- package/lib/commonjs/components/AnimatedFooter.js +35 -0
- package/lib/commonjs/components/AnimatedFooter.js.map +1 -0
- package/lib/commonjs/components/AnimatedHLSFooter.js +36 -0
- package/lib/commonjs/components/AnimatedHLSFooter.js.map +1 -0
- package/lib/commonjs/components/AnimatedHeader.js +44 -0
- package/lib/commonjs/components/AnimatedHeader.js.map +1 -0
- package/lib/commonjs/components/BottomSheet.js +6 -3
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/ChangeNameModalContent.js +0 -12
- package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatBanner.js +35 -55
- package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +83 -0
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js +69 -0
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatFilterItem.js +71 -0
- package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatFilterView.js +198 -0
- package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatList.js +6 -6
- package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatMessage.js +35 -135
- package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
- package/lib/commonjs/components/Chat/PinnedMessage.js +39 -43
- package/lib/commonjs/components/Chat/PinnedMessage.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +42 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +105 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +66 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatView.js +37 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -0
- package/lib/commonjs/components/{Participants/SearchableParticipantsView.js → ChatAndParticipants/ParticipantsView.js} +24 -12
- package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js.map +1 -0
- package/lib/commonjs/components/ChatAndParticipants/index.js +17 -0
- package/lib/commonjs/components/ChatAndParticipants/index.js.map +1 -0
- package/lib/commonjs/components/CompanyLogo.js +4 -3
- package/lib/commonjs/components/CompanyLogo.js.map +1 -1
- package/lib/commonjs/components/DefaultModal.js +2 -6
- package/lib/commonjs/components/DefaultModal.js.map +1 -1
- package/lib/commonjs/components/DisplayView.js +6 -19
- package/lib/commonjs/components/DisplayView.js.map +1 -1
- package/lib/commonjs/components/EndRoomModalContent.js +20 -6
- package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
- package/lib/commonjs/components/Footer.js +37 -28
- package/lib/commonjs/components/Footer.js.map +1 -1
- package/lib/commonjs/components/FullScreenVideoView.js +74 -0
- package/lib/commonjs/components/FullScreenVideoView.js.map +1 -0
- package/lib/commonjs/components/GridView.js +129 -48
- package/lib/commonjs/components/GridView.js.map +1 -1
- package/lib/commonjs/components/{ParticipantsModal.js → HLSFooter.js} +19 -27
- package/lib/commonjs/components/HLSFooter.js.map +1 -0
- package/lib/commonjs/components/HLSView.js +10 -22
- package/lib/commonjs/components/HLSView.js.map +1 -1
- package/lib/commonjs/components/HMSChat.js +15 -14
- package/lib/commonjs/components/HMSChat.js.map +1 -1
- package/lib/commonjs/components/HMSHLSMessage.js +67 -0
- package/lib/commonjs/components/HMSHLSMessage.js.map +1 -0
- package/lib/commonjs/components/HMSHLSMessageList.js +58 -0
- package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -0
- package/lib/commonjs/components/HMSHLSNotStarted.js +1 -6
- package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
- package/lib/commonjs/components/HMSHandRaiseNotification.js +84 -0
- package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -0
- package/lib/commonjs/components/HMSKeyboardAvoidingView.js +49 -0
- package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -0
- package/lib/commonjs/components/HMSLiveIndicator.js +105 -0
- package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -0
- package/lib/commonjs/components/HMSLocalScreenshareNotification.js +38 -0
- package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -0
- package/lib/commonjs/components/HMSLocalVideoView.js +4 -23
- package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -1
- package/lib/commonjs/components/HMSManageAudioOutput.js +7 -1
- package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/commonjs/components/HMSManageLeave.js +33 -11
- package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
- package/lib/commonjs/components/HMSNotification.js +96 -0
- package/lib/commonjs/components/HMSNotification.js.map +1 -0
- package/lib/commonjs/components/HMSNotifications.js +114 -0
- package/lib/commonjs/components/HMSNotifications.js.map +1 -0
- package/lib/commonjs/components/HMSOverlayChatView.js +30 -0
- package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -0
- package/lib/commonjs/components/HMSPreviewJoinButton.js +1 -2
- package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js +1 -1
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewSubtitle.js +1 -3
- package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTitle.js +1 -3
- package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/HMSRecordingIndicator.js +6 -2
- package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js +30 -0
- package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js.map +1 -0
- package/lib/commonjs/components/HMSSendMessageInput.js +57 -0
- package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -0
- package/lib/commonjs/components/HMSTextInput.js +98 -12
- package/lib/commonjs/components/HMSTextInput.js.map +1 -1
- package/lib/commonjs/components/HMSVideoView.js +43 -0
- package/lib/commonjs/components/HMSVideoView.js.map +1 -0
- package/lib/commonjs/components/Header.js +19 -123
- package/lib/commonjs/components/Header.js.map +1 -1
- package/lib/commonjs/components/LocalPeerScreenshareView.js +1 -7
- package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -1
- package/lib/commonjs/components/Meeting.js +6 -5
- package/lib/commonjs/components/Meeting.js.map +1 -1
- package/lib/commonjs/components/MeetingScreenContent.js +21 -8
- package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
- package/lib/commonjs/components/MenuModal/Menu.js +2 -2
- package/lib/commonjs/components/MenuModal/Menu.js.map +1 -1
- package/lib/commonjs/components/MiniView.js +8 -3
- package/lib/commonjs/components/MiniView.js.map +1 -1
- package/lib/commonjs/components/Modals.js +88 -317
- package/lib/commonjs/components/Modals.js.map +1 -1
- package/lib/commonjs/components/OverlayContainer.js +41 -0
- package/lib/commonjs/components/OverlayContainer.js.map +1 -0
- package/lib/commonjs/components/OverlayedViews.js +22 -0
- package/lib/commonjs/components/OverlayedViews.js.map +1 -0
- package/lib/commonjs/components/PaginationDots.js +4 -4
- package/lib/commonjs/components/PaginationDots.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +131 -0
- package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -0
- package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js +80 -0
- package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js.map +1 -0
- package/lib/commonjs/components/Participants/ParticipantsItem.js +132 -0
- package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -0
- package/lib/commonjs/components/Participants/ParticipantsItemOption.js +46 -0
- package/lib/commonjs/components/Participants/ParticipantsItemOption.js.map +1 -0
- package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +220 -0
- package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -0
- package/lib/commonjs/components/Participants/ParticipantsList.js +40 -224
- package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +36 -30
- package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
- package/lib/commonjs/components/Participants/index.js +0 -33
- package/lib/commonjs/components/Participants/index.js.map +1 -1
- package/lib/commonjs/components/PeerMinimizedView.js +1 -1
- package/lib/commonjs/components/PeerSettingsModalContent.js +47 -123
- package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/AvatarView.js +19 -5
- package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js +45 -0
- package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js +202 -0
- package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/{PeerAudioMutedIndicator.js → PeerAudioIndicator.js} +30 -4
- package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +10 -2
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +38 -17
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/VideoView.js +43 -10
- package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -1
- package/lib/commonjs/components/PressableIcon.js +10 -5
- package/lib/commonjs/components/PressableIcon.js.map +1 -1
- package/lib/commonjs/components/Preview.js +5 -14
- package/lib/commonjs/components/Preview.js.map +1 -1
- package/lib/commonjs/components/PreviewForRoleChangeModal.js +332 -0
- package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -0
- package/lib/commonjs/components/ReconnectionView.js +66 -0
- package/lib/commonjs/components/ReconnectionView.js.map +1 -0
- package/lib/commonjs/components/RoomSettingsModalContent.js +25 -34
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +31 -70
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
- package/lib/commonjs/components/StreamingQualityModalContent.js +8 -9
- package/lib/commonjs/components/StreamingQualityModalContent.js.map +1 -1
- package/lib/commonjs/components/TilesContainer.js +31 -9
- package/lib/commonjs/components/TilesContainer.js.map +1 -1
- package/lib/commonjs/components/WebrtcView.js +11 -14
- package/lib/commonjs/components/WebrtcView.js.map +1 -1
- package/lib/commonjs/components/WelcomeInMeeting.js +7 -31
- package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -1
- package/lib/commonjs/components/index.js +0 -33
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/hooks-util-selectors.js +43 -9
- package/lib/commonjs/hooks-util-selectors.js.map +1 -1
- package/lib/commonjs/hooks-util.js +619 -213
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/modules/HMSManager.js +3 -3
- package/lib/commonjs/modules/HMSManager.js.map +1 -1
- package/lib/commonjs/modules/parser.js +2 -3
- package/lib/commonjs/modules/parser.js.map +1 -1
- package/lib/commonjs/redux/actionTypes.js +25 -1
- package/lib/commonjs/redux/actionTypes.js.map +1 -1
- package/lib/commonjs/redux/actions/index.js +90 -1
- package/lib/commonjs/redux/actions/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/appState.js +77 -2
- package/lib/commonjs/redux/reducers/appState.js.map +1 -1
- package/lib/commonjs/redux/reducers/chatWindow.js +3 -7
- package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
- package/lib/commonjs/redux/reducers/hmsStates.js +70 -7
- package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
- package/lib/commonjs/utils/functions.js +10 -3
- package/lib/commonjs/utils/functions.js.map +1 -1
- package/lib/commonjs/utils/theme.js +2 -0
- package/lib/commonjs/utils/theme.js.map +1 -1
- package/lib/commonjs/utils/types.js +9 -3
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils.js +8 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/HMSPrebuilt.js +6 -6
- package/lib/module/HMSPrebuilt.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +29 -32
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle-filled.png +0 -0
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle-filled@2x.png +0 -0
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle-filled@3x.png +0 -0
- package/lib/module/Icons/AlertTriangle/index.js +2 -1
- package/lib/module/Icons/AlertTriangle/index.js.map +1 -1
- package/lib/module/Icons/Eye/assets/eye-on-small.png +0 -0
- package/lib/module/Icons/Eye/assets/eye-on-small@2x.png +0 -0
- package/lib/module/Icons/Eye/assets/eye-on-small@3x.png +0 -0
- package/lib/module/Icons/Eye/index.js +27 -0
- package/lib/module/Icons/Eye/index.js.map +1 -0
- package/lib/module/Icons/Person/assets/person-left.png +0 -0
- package/lib/module/Icons/Person/assets/person-left@2x.png +0 -0
- package/lib/module/Icons/Person/assets/person-left@3x.png +0 -0
- package/lib/module/Icons/Person/assets/person-off.png +0 -0
- package/lib/module/Icons/Person/assets/person-off@2x.png +0 -0
- package/lib/module/Icons/Person/assets/person-off@3x.png +0 -0
- package/lib/module/Icons/Person/assets/person-rectangle.png +0 -0
- package/lib/module/Icons/Person/assets/person-rectangle@2x.png +0 -0
- package/lib/module/Icons/Person/assets/person-rectangle@3x.png +0 -0
- package/lib/module/Icons/Person/index.js +2 -1
- package/lib/module/Icons/Person/index.js.map +1 -1
- package/lib/module/Icons/Search/assets/search.png +0 -0
- package/lib/module/Icons/Search/assets/search@2x.png +0 -0
- package/lib/module/Icons/Search/assets/search@3x.png +0 -0
- package/lib/module/Icons/Search/index.js +26 -0
- package/lib/module/Icons/Search/index.js.map +1 -0
- package/lib/module/Icons/index.js +2 -0
- package/lib/module/Icons/index.js.map +1 -1
- package/lib/module/assets/audio-level-white.json +1271 -0
- package/lib/module/assets/empty-chat-illustration/empty-chat.png +0 -0
- package/lib/module/assets/empty-chat-illustration/empty-chat@2x.png +0 -0
- package/lib/module/assets/empty-chat-illustration/empty-chat@3x.png +0 -0
- package/lib/module/assets/welcome.png +0 -0
- package/lib/module/components/AnimatedFooter.js +26 -0
- package/lib/module/components/AnimatedFooter.js.map +1 -0
- package/lib/module/components/AnimatedHLSFooter.js +27 -0
- package/lib/module/components/AnimatedHLSFooter.js.map +1 -0
- package/lib/module/components/AnimatedHeader.js +35 -0
- package/lib/module/components/AnimatedHeader.js.map +1 -0
- package/lib/module/components/BottomSheet.js +6 -3
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/ChangeNameModalContent.js +2 -14
- package/lib/module/components/ChangeNameModalContent.js.map +1 -1
- package/lib/module/components/Chat/ChatBanner.js +36 -55
- package/lib/module/components/Chat/ChatBanner.js.map +1 -1
- package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js +74 -0
- package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -0
- package/lib/module/components/Chat/ChatFilterBottomSheetView.js +60 -0
- package/lib/module/components/Chat/ChatFilterBottomSheetView.js.map +1 -0
- package/lib/module/components/Chat/ChatFilterItem.js +62 -0
- package/lib/module/components/Chat/ChatFilterItem.js.map +1 -0
- package/lib/module/components/Chat/ChatFilterView.js +189 -0
- package/lib/module/components/Chat/ChatFilterView.js.map +1 -0
- package/lib/module/components/Chat/ChatList.js +6 -6
- package/lib/module/components/Chat/ChatList.js.map +1 -1
- package/lib/module/components/Chat/ChatMessage.js +36 -135
- package/lib/module/components/Chat/ChatMessage.js.map +1 -1
- package/lib/module/components/Chat/PinnedMessage.js +40 -43
- package/lib/module/components/Chat/PinnedMessage.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +33 -0
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -0
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +96 -0
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -0
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js +57 -0
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -0
- package/lib/module/components/ChatAndParticipants/ChatView.js +28 -0
- package/lib/module/components/ChatAndParticipants/ChatView.js.map +1 -0
- package/lib/module/components/ChatAndParticipants/ParticipantsView.js +30 -0
- package/lib/module/components/ChatAndParticipants/ParticipantsView.js.map +1 -0
- package/lib/module/components/ChatAndParticipants/index.js +2 -0
- package/lib/module/components/ChatAndParticipants/index.js.map +1 -0
- package/lib/module/components/CompanyLogo.js +4 -3
- package/lib/module/components/CompanyLogo.js.map +1 -1
- package/lib/module/components/DefaultModal.js +2 -6
- package/lib/module/components/DefaultModal.js.map +1 -1
- package/lib/module/components/DisplayView.js +7 -20
- package/lib/module/components/DisplayView.js.map +1 -1
- package/lib/module/components/EndRoomModalContent.js +20 -6
- package/lib/module/components/EndRoomModalContent.js.map +1 -1
- package/lib/module/components/Footer.js +39 -30
- package/lib/module/components/Footer.js.map +1 -1
- package/lib/module/components/FullScreenVideoView.js +64 -0
- package/lib/module/components/FullScreenVideoView.js.map +1 -0
- package/lib/module/components/GridView.js +130 -49
- package/lib/module/components/GridView.js.map +1 -1
- package/lib/module/components/HLSFooter.js +26 -0
- package/lib/module/components/HLSFooter.js.map +1 -0
- package/lib/module/components/HLSView.js +11 -23
- package/lib/module/components/HLSView.js.map +1 -1
- package/lib/module/components/HMSChat.js +16 -15
- package/lib/module/components/HMSChat.js.map +1 -1
- package/lib/module/components/HMSHLSMessage.js +58 -0
- package/lib/module/components/HMSHLSMessage.js.map +1 -0
- package/lib/module/components/HMSHLSMessageList.js +49 -0
- package/lib/module/components/HMSHLSMessageList.js.map +1 -0
- package/lib/module/components/HMSHLSNotStarted.js +2 -7
- package/lib/module/components/HMSHLSNotStarted.js.map +1 -1
- package/lib/module/components/HMSHandRaiseNotification.js +75 -0
- package/lib/module/components/HMSHandRaiseNotification.js.map +1 -0
- package/lib/module/components/HMSKeyboardAvoidingView.js +40 -0
- package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -0
- package/lib/module/components/HMSLiveIndicator.js +96 -0
- package/lib/module/components/HMSLiveIndicator.js.map +1 -0
- package/lib/module/components/HMSLocalScreenshareNotification.js +29 -0
- package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -0
- package/lib/module/components/HMSLocalVideoView.js +4 -23
- package/lib/module/components/HMSLocalVideoView.js.map +1 -1
- package/lib/module/components/HMSManageAudioOutput.js +8 -2
- package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/module/components/HMSManageLeave.js +35 -13
- package/lib/module/components/HMSManageLeave.js.map +1 -1
- package/lib/module/components/HMSNotification.js +87 -0
- package/lib/module/components/HMSNotification.js.map +1 -0
- package/lib/module/components/HMSNotifications.js +105 -0
- package/lib/module/components/HMSNotifications.js.map +1 -0
- package/lib/module/components/HMSOverlayChatView.js +20 -0
- package/lib/module/components/HMSOverlayChatView.js.map +1 -0
- package/lib/module/components/HMSPreviewJoinButton.js +2 -3
- package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/module/components/HMSPreviewNetworkQuality.js +1 -1
- package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -1
- package/lib/module/components/HMSPreviewSubtitle.js +2 -4
- package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/module/components/HMSPreviewTitle.js +2 -4
- package/lib/module/components/HMSPreviewTitle.js.map +1 -1
- package/lib/module/components/HMSRecordingIndicator.js +6 -2
- package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
- package/lib/module/components/HMSRoleChangeDeclinedNotification.js +21 -0
- package/lib/module/components/HMSRoleChangeDeclinedNotification.js.map +1 -0
- package/lib/module/components/HMSSendMessageInput.js +48 -0
- package/lib/module/components/HMSSendMessageInput.js.map +1 -0
- package/lib/module/components/HMSTextInput.js +99 -13
- package/lib/module/components/HMSTextInput.js.map +1 -1
- package/lib/module/components/HMSVideoView.js +34 -0
- package/lib/module/components/HMSVideoView.js.map +1 -0
- package/lib/module/components/Header.js +18 -123
- package/lib/module/components/Header.js.map +1 -1
- package/lib/module/components/LocalPeerScreenshareView.js +1 -6
- package/lib/module/components/LocalPeerScreenshareView.js.map +1 -1
- package/lib/module/components/Meeting.js +8 -7
- package/lib/module/components/Meeting.js.map +1 -1
- package/lib/module/components/MeetingScreenContent.js +23 -10
- package/lib/module/components/MeetingScreenContent.js.map +1 -1
- package/lib/module/components/MenuModal/Menu.js +2 -2
- package/lib/module/components/MenuModal/Menu.js.map +1 -1
- package/lib/module/components/MiniView.js +8 -3
- package/lib/module/components/MiniView.js.map +1 -1
- package/lib/module/components/Modals.js +88 -313
- package/lib/module/components/Modals.js.map +1 -1
- package/lib/module/components/OverlayContainer.js +32 -0
- package/lib/module/components/OverlayContainer.js.map +1 -0
- package/lib/module/components/OverlayedViews.js +13 -0
- package/lib/module/components/OverlayedViews.js.map +1 -0
- package/lib/module/components/PaginationDots.js +4 -4
- package/lib/module/components/PaginationDots.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsGroupHeader.js +121 -0
- package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -0
- package/lib/module/components/Participants/ParticipantsGroupOptions.js +71 -0
- package/lib/module/components/Participants/ParticipantsGroupOptions.js.map +1 -0
- package/lib/module/components/Participants/ParticipantsItem.js +123 -0
- package/lib/module/components/Participants/ParticipantsItem.js.map +1 -0
- package/lib/module/components/Participants/ParticipantsItemOption.js +37 -0
- package/lib/module/components/Participants/ParticipantsItemOption.js.map +1 -0
- package/lib/module/components/Participants/ParticipantsItemOptions.js +211 -0
- package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -0
- package/lib/module/components/Participants/ParticipantsList.js +42 -225
- package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsSeachInput.js +37 -30
- package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
- package/lib/module/components/Participants/index.js +0 -3
- package/lib/module/components/Participants/index.js.map +1 -1
- package/lib/module/components/PeerMinimizedView.js +1 -1
- package/lib/module/components/PeerSettingsModalContent.js +50 -126
- package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/module/components/PeerVideoTile/AvatarView.js +19 -5
- package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -1
- package/lib/module/components/PeerVideoTile/HMSFullScreenButton.js +36 -0
- package/lib/module/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -0
- package/lib/module/components/PeerVideoTile/HMSPinchGesture.js +193 -0
- package/lib/module/components/PeerVideoTile/HMSPinchGesture.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js +60 -0
- package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +11 -3
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +41 -20
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
- package/lib/module/components/PeerVideoTile/VideoView.js +43 -10
- package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -1
- package/lib/module/components/PressableIcon.js +11 -6
- package/lib/module/components/PressableIcon.js.map +1 -1
- package/lib/module/components/Preview.js +6 -13
- package/lib/module/components/Preview.js.map +1 -1
- package/lib/module/components/PreviewForRoleChangeModal.js +322 -0
- package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -0
- package/lib/module/components/ReconnectionView.js +56 -0
- package/lib/module/components/ReconnectionView.js.map +1 -0
- package/lib/module/components/RoomSettingsModalContent.js +27 -36
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/components/RoomSettingsModalDebugModeContent.js +31 -70
- package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
- package/lib/module/components/StreamingQualityModalContent.js +8 -8
- package/lib/module/components/StreamingQualityModalContent.js.map +1 -1
- package/lib/module/components/TilesContainer.js +31 -9
- package/lib/module/components/TilesContainer.js.map +1 -1
- package/lib/module/components/WebrtcView.js +11 -14
- package/lib/module/components/WebrtcView.js.map +1 -1
- package/lib/module/components/WelcomeInMeeting.js +8 -32
- package/lib/module/components/WelcomeInMeeting.js.map +1 -1
- package/lib/module/components/index.js +0 -3
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hooks-util-selectors.js +38 -8
- package/lib/module/hooks-util-selectors.js.map +1 -1
- package/lib/module/hooks-util.js +615 -213
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/modules/HMSManager.js +3 -3
- package/lib/module/modules/HMSManager.js.map +1 -1
- package/lib/module/modules/parser.js +2 -3
- package/lib/module/modules/parser.js.map +1 -1
- package/lib/module/redux/actionTypes.js +25 -1
- package/lib/module/redux/actionTypes.js.map +1 -1
- package/lib/module/redux/actions/index.js +74 -0
- package/lib/module/redux/actions/index.js.map +1 -1
- package/lib/module/redux/reducers/appState.js +78 -2
- package/lib/module/redux/reducers/appState.js.map +1 -1
- package/lib/module/redux/reducers/chatWindow.js +3 -7
- package/lib/module/redux/reducers/chatWindow.js.map +1 -1
- package/lib/module/redux/reducers/hmsStates.js +70 -7
- package/lib/module/redux/reducers/hmsStates.js.map +1 -1
- package/lib/module/utils/functions.js +8 -2
- package/lib/module/utils/functions.js.map +1 -1
- package/lib/module/utils/theme.js +2 -0
- package/lib/module/utils/theme.js.map +1 -1
- package/lib/module/utils/types.js +6 -2
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils.js +6 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/HMSPrebuilt.d.ts +1 -0
- 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 +1 -0
- package/lib/typescript/Icons/AlertTriangle/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Eye/index.d.ts +8 -0
- package/lib/typescript/Icons/Eye/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Person/index.d.ts +1 -0
- package/lib/typescript/Icons/Person/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Search/index.d.ts +7 -0
- package/lib/typescript/Icons/Search/index.d.ts.map +1 -0
- package/lib/typescript/Icons/index.d.ts +2 -0
- package/lib/typescript/Icons/index.d.ts.map +1 -1
- package/lib/typescript/components/AnimatedFooter.d.ts +8 -0
- package/lib/typescript/components/AnimatedFooter.d.ts.map +1 -0
- package/lib/typescript/components/AnimatedHLSFooter.d.ts +11 -0
- package/lib/typescript/components/AnimatedHLSFooter.d.ts.map +1 -0
- package/lib/typescript/components/AnimatedHeader.d.ts +7 -0
- package/lib/typescript/components/AnimatedHeader.d.ts.map +1 -0
- package/lib/typescript/components/BottomSheet.d.ts +4 -1
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatBanner.d.ts +1 -1
- package/lib/typescript/components/Chat/ChatBanner.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts +6 -0
- package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatFilterBottomSheetView.d.ts +6 -0
- package/lib/typescript/components/Chat/ChatFilterBottomSheetView.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatFilterItem.d.ts +12 -0
- package/lib/typescript/components/Chat/ChatFilterItem.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatFilterView.d.ts +6 -0
- package/lib/typescript/components/Chat/ChatFilterView.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatList.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatMessage.d.ts +2 -2
- package/lib/typescript/components/Chat/ChatMessage.d.ts.map +1 -1
- package/lib/typescript/components/Chat/PinnedMessage.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts +3 -0
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts +7 -0
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -0
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts +3 -0
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts.map +1 -0
- package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts +6 -0
- package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts.map +1 -0
- package/lib/typescript/components/ChatAndParticipants/ParticipantsView.d.ts +5 -0
- package/lib/typescript/components/ChatAndParticipants/ParticipantsView.d.ts.map +1 -0
- package/lib/typescript/components/ChatAndParticipants/index.d.ts +2 -0
- package/lib/typescript/components/ChatAndParticipants/index.d.ts.map +1 -0
- package/lib/typescript/components/CompanyLogo.d.ts.map +1 -1
- package/lib/typescript/components/DefaultModal.d.ts.map +1 -1
- package/lib/typescript/components/DisplayView.d.ts.map +1 -1
- package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Footer.d.ts +0 -2
- package/lib/typescript/components/Footer.d.ts.map +1 -1
- package/lib/typescript/components/FullScreenVideoView.d.ts +3 -0
- package/lib/typescript/components/FullScreenVideoView.d.ts.map +1 -0
- package/lib/typescript/components/GridView.d.ts +12 -1
- package/lib/typescript/components/GridView.d.ts.map +1 -1
- package/lib/typescript/components/HLSFooter.d.ts +8 -0
- package/lib/typescript/components/HLSFooter.d.ts.map +1 -0
- package/lib/typescript/components/HLSView.d.ts.map +1 -1
- package/lib/typescript/components/HMSBaseButton.d.ts +2 -2
- package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSChat.d.ts.map +1 -1
- package/lib/typescript/components/HMSHLSMessage.d.ts +8 -0
- package/lib/typescript/components/HMSHLSMessage.d.ts.map +1 -0
- package/lib/typescript/components/HMSHLSMessageList.d.ts +3 -0
- package/lib/typescript/components/HMSHLSMessageList.d.ts.map +1 -0
- package/lib/typescript/components/HMSHLSNotStarted.d.ts.map +1 -1
- package/lib/typescript/components/HMSHandRaiseNotification.d.ts +10 -0
- package/lib/typescript/components/HMSHandRaiseNotification.d.ts.map +1 -0
- package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts +8 -0
- package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -0
- package/lib/typescript/components/HMSLiveIndicator.d.ts +3 -0
- package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -0
- package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts +5 -0
- package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -0
- package/lib/typescript/components/HMSLocalVideoView.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
- package/lib/typescript/components/HMSNotification.d.ts +15 -0
- package/lib/typescript/components/HMSNotification.d.ts.map +1 -0
- package/lib/typescript/components/HMSNotifications.d.ts +5 -0
- package/lib/typescript/components/HMSNotifications.d.ts.map +1 -0
- package/lib/typescript/components/HMSOverlayChatView.d.ts +3 -0
- package/lib/typescript/components/HMSOverlayChatView.d.ts.map +1 -0
- package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSRoleChangeDeclinedNotification.d.ts +9 -0
- package/lib/typescript/components/HMSRoleChangeDeclinedNotification.d.ts.map +1 -0
- package/lib/typescript/components/HMSSendMessageInput.d.ts +9 -0
- package/lib/typescript/components/HMSSendMessageInput.d.ts.map +1 -0
- package/lib/typescript/components/HMSTextInput.d.ts +20 -6
- package/lib/typescript/components/HMSTextInput.d.ts.map +1 -1
- package/lib/typescript/components/HMSVideoView.d.ts +6 -0
- package/lib/typescript/components/HMSVideoView.d.ts.map +1 -0
- package/lib/typescript/components/Header.d.ts +3 -2
- package/lib/typescript/components/Header.d.ts.map +1 -1
- package/lib/typescript/components/LocalPeerScreenshareView.d.ts.map +1 -1
- package/lib/typescript/components/Meeting.d.ts.map +1 -1
- package/lib/typescript/components/MeetingScreenContent.d.ts.map +1 -1
- package/lib/typescript/components/MiniView.d.ts.map +1 -1
- package/lib/typescript/components/Modals.d.ts +1 -21
- package/lib/typescript/components/Modals.d.ts.map +1 -1
- package/lib/typescript/components/OverlayContainer.d.ts +9 -0
- package/lib/typescript/components/OverlayContainer.d.ts.map +1 -0
- package/lib/typescript/components/OverlayedViews.d.ts +4 -0
- package/lib/typescript/components/OverlayedViews.d.ts.map +1 -0
- package/lib/typescript/components/PaginationDots.d.ts +3 -0
- package/lib/typescript/components/PaginationDots.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts +9 -0
- package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts.map +1 -0
- package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts +8 -0
- package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts.map +1 -0
- package/lib/typescript/components/Participants/ParticipantsItem.d.ts +9 -0
- package/lib/typescript/components/Participants/ParticipantsItem.d.ts.map +1 -0
- package/lib/typescript/components/Participants/ParticipantsItemOption.d.ts +12 -0
- package/lib/typescript/components/Participants/ParticipantsItemOption.d.ts.map +1 -0
- package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts +10 -0
- package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -0
- package/lib/typescript/components/Participants/ParticipantsList.d.ts +4 -2
- package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsSeachInput.d.ts.map +1 -1
- package/lib/typescript/components/Participants/index.d.ts +0 -3
- package/lib/typescript/components/Participants/index.d.ts.map +1 -1
- package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts +4 -0
- package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/HMSFullScreenButton.d.ts +7 -0
- package/lib/typescript/components/PeerVideoTile/HMSFullScreenButton.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/HMSPinchGesture.d.ts +7 -0
- package/lib/typescript/components/PeerVideoTile/HMSPinchGesture.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerAudioIndicator.d.ts +8 -0
- package/lib/typescript/components/PeerVideoTile/PeerAudioIndicator.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts +2 -1
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/VideoView.d.ts +1 -0
- package/lib/typescript/components/PeerVideoTile/VideoView.d.ts.map +1 -1
- package/lib/typescript/components/PressableIcon.d.ts.map +1 -1
- package/lib/typescript/components/Preview.d.ts.map +1 -1
- package/lib/typescript/components/PreviewForRoleChangeModal.d.ts +3 -0
- package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -0
- package/lib/typescript/components/ReconnectionView.d.ts +4 -0
- package/lib/typescript/components/ReconnectionView.d.ts.map +1 -0
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -1
- package/lib/typescript/components/StreamingQualityModalContent.d.ts.map +1 -1
- package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
- package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
- package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +0 -3
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/hooks-util-selectors.d.ts +7 -2
- package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts +53 -23
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/modules/HMSManager.d.ts +1 -1
- package/lib/typescript/modules/HMSManager.d.ts.map +1 -1
- package/lib/typescript/modules/parser.d.ts +1 -1
- package/lib/typescript/modules/parser.d.ts.map +1 -1
- package/lib/typescript/redux/actionTypes.d.ts +16 -1
- package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
- package/lib/typescript/redux/actions/index.d.ts +92 -4
- package/lib/typescript/redux/actions/index.d.ts.map +1 -1
- package/lib/typescript/redux/index.d.ts +22 -2
- package/lib/typescript/redux/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/appState.d.ts +10 -0
- package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/chatWindow.d.ts +6 -6
- package/lib/typescript/redux/reducers/chatWindow.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts +32 -4
- package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/index.d.ts +22 -2
- package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/userState.d.ts +1 -0
- package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
- package/lib/typescript/utils/functions.d.ts +3 -1
- package/lib/typescript/utils/functions.d.ts.map +1 -1
- package/lib/typescript/utils/theme.d.ts +1 -1
- package/lib/typescript/utils/theme.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +6 -2
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/utils.d.ts +5 -0
- package/lib/typescript/utils.d.ts.map +1 -1
- package/package.json +13 -8
- package/src/HMSPrebuilt.tsx +10 -10
- package/src/HMSRoomSetup.tsx +50 -28
- package/src/Icons/AlertTriangle/assets/alert-triangle-filled.png +0 -0
- package/src/Icons/AlertTriangle/assets/alert-triangle-filled@2x.png +0 -0
- package/src/Icons/AlertTriangle/assets/alert-triangle-filled@3x.png +0 -0
- package/src/Icons/AlertTriangle/index.tsx +9 -2
- package/src/Icons/Eye/assets/eye-on-small.png +0 -0
- package/src/Icons/Eye/assets/eye-on-small@2x.png +0 -0
- package/src/Icons/Eye/assets/eye-on-small@3x.png +0 -0
- package/src/Icons/Eye/index.tsx +36 -0
- package/src/Icons/Person/assets/person-left.png +0 -0
- package/src/Icons/Person/assets/person-left@2x.png +0 -0
- package/src/Icons/Person/assets/person-left@3x.png +0 -0
- package/src/Icons/Person/assets/person-off.png +0 -0
- package/src/Icons/Person/assets/person-off@2x.png +0 -0
- package/src/Icons/Person/assets/person-off@3x.png +0 -0
- package/src/Icons/Person/assets/person-rectangle.png +0 -0
- package/src/Icons/Person/assets/person-rectangle@2x.png +0 -0
- package/src/Icons/Person/assets/person-rectangle@3x.png +0 -0
- package/src/Icons/Person/index.tsx +13 -2
- package/src/Icons/Search/assets/search.png +0 -0
- package/src/Icons/Search/assets/search@2x.png +0 -0
- package/src/Icons/Search/assets/search@3x.png +0 -0
- package/src/Icons/Search/index.tsx +33 -0
- package/src/Icons/index.ts +2 -0
- package/src/assets/audio-level-white.json +1271 -0
- package/src/assets/empty-chat-illustration/empty-chat.png +0 -0
- package/src/assets/empty-chat-illustration/empty-chat@2x.png +0 -0
- package/src/assets/empty-chat-illustration/empty-chat@3x.png +0 -0
- package/src/assets/welcome.png +0 -0
- package/src/components/AnimatedFooter.tsx +37 -0
- package/src/components/AnimatedHLSFooter.tsx +43 -0
- package/src/components/AnimatedHeader.tsx +53 -0
- package/src/components/BottomSheet.tsx +8 -4
- package/src/components/ChangeNameModalContent.tsx +2 -11
- package/src/components/Chat/ChatBanner.tsx +37 -52
- package/src/components/Chat/ChatFilterBottomSheetOpener.tsx +88 -0
- package/src/components/Chat/ChatFilterBottomSheetView.tsx +81 -0
- package/src/components/Chat/ChatFilterItem.tsx +71 -0
- package/src/components/Chat/ChatFilterView.tsx +250 -0
- package/src/components/Chat/ChatList.tsx +16 -12
- package/src/components/Chat/ChatMessage.tsx +48 -197
- package/src/components/Chat/PinnedMessage.tsx +45 -45
- package/src/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.tsx +38 -0
- package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +140 -0
- package/src/components/ChatAndParticipants/ChatAndParticipantsView.tsx +84 -0
- package/src/components/ChatAndParticipants/ChatView.tsx +42 -0
- package/src/components/ChatAndParticipants/ParticipantsView.tsx +41 -0
- package/src/components/ChatAndParticipants/index.ts +1 -0
- package/src/components/CompanyLogo.tsx +3 -2
- package/src/components/DefaultModal.tsx +4 -6
- package/src/components/DisplayView.tsx +10 -26
- package/src/components/EndRoomModalContent.tsx +32 -7
- package/src/components/Footer.tsx +93 -58
- package/src/components/FullScreenVideoView.tsx +77 -0
- package/src/components/GridView.tsx +186 -65
- package/src/components/HLSFooter.tsx +32 -0
- package/src/components/HLSView.tsx +5 -32
- package/src/components/HMSBaseButton.tsx +2 -2
- package/src/components/HMSChat.tsx +12 -25
- package/src/components/HMSHLSMessage.tsx +72 -0
- package/src/components/HMSHLSMessageList.tsx +60 -0
- package/src/components/HMSHLSNotStarted.tsx +8 -19
- package/src/components/HMSHandRaiseNotification.tsx +101 -0
- package/src/components/HMSKeyboardAvoidingView.tsx +58 -0
- package/src/components/HMSLiveIndicator.tsx +124 -0
- package/src/components/HMSLocalScreenshareNotification.tsx +41 -0
- package/src/components/HMSLocalVideoView.tsx +4 -31
- package/src/components/HMSManageAudioOutput.tsx +14 -2
- package/src/components/HMSManageLeave.tsx +46 -19
- package/src/components/HMSNotification.tsx +126 -0
- package/src/components/HMSNotifications.tsx +154 -0
- package/src/components/HMSOverlayChatView.tsx +36 -0
- package/src/components/HMSPreviewJoinButton.tsx +6 -3
- package/src/components/HMSPreviewNetworkQuality.tsx +3 -1
- package/src/components/HMSPreviewSubtitle.tsx +2 -6
- package/src/components/HMSPreviewTitle.tsx +2 -6
- package/src/components/HMSRecordingIndicator.tsx +13 -2
- package/src/components/HMSRoleChangeDeclinedNotification.tsx +25 -0
- package/src/components/HMSSendMessageInput.tsx +59 -0
- package/src/components/HMSTextInput.tsx +157 -23
- package/src/components/HMSVideoView.tsx +43 -0
- package/src/components/Header.tsx +25 -133
- package/src/components/LocalPeerScreenshareView.tsx +0 -6
- package/src/components/Meeting.tsx +15 -8
- package/src/components/MeetingScreenContent.tsx +28 -11
- package/src/components/MiniView.tsx +10 -4
- package/src/components/Modals.tsx +112 -370
- package/src/components/OverlayContainer.tsx +31 -0
- package/src/components/OverlayedViews.tsx +22 -0
- package/src/components/PaginationDots.tsx +9 -8
- package/src/components/Participants/ParticipantsGroupHeader.tsx +145 -0
- package/src/components/Participants/ParticipantsGroupOptions.tsx +87 -0
- package/src/components/Participants/ParticipantsItem.tsx +170 -0
- package/src/components/Participants/ParticipantsItemOption.tsx +52 -0
- package/src/components/Participants/ParticipantsItemOptions.tsx +262 -0
- package/src/components/Participants/ParticipantsList.tsx +68 -278
- package/src/components/Participants/ParticipantsSeachInput.tsx +37 -35
- package/src/components/Participants/index.ts +0 -3
- package/src/components/PeerMinimizedView.tsx +1 -1
- package/src/components/PeerSettingsModalContent.tsx +44 -191
- package/src/components/PeerVideoTile/AvatarView.tsx +43 -5
- package/src/components/PeerVideoTile/HMSFullScreenButton.tsx +56 -0
- package/src/components/PeerVideoTile/HMSPinchGesture.tsx +176 -0
- package/src/components/PeerVideoTile/PeerAudioIndicator.tsx +78 -0
- package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +15 -2
- package/src/components/PeerVideoTile/PeerVideoTileView.tsx +172 -115
- package/src/components/PeerVideoTile/VideoView.tsx +59 -9
- package/src/components/PressableIcon.tsx +26 -13
- package/src/components/Preview.tsx +17 -24
- package/src/components/PreviewForRoleChangeModal.tsx +448 -0
- package/src/components/ReconnectionView.tsx +73 -0
- package/src/components/RoomSettingsModalContent.tsx +32 -30
- package/src/components/RoomSettingsModalDebugModeContent.tsx +11 -65
- package/src/components/StreamingQualityModalContent.tsx +8 -8
- package/src/components/TilesContainer.tsx +54 -24
- package/src/components/WebrtcView.tsx +29 -19
- package/src/components/WelcomeInMeeting.tsx +5 -34
- package/src/components/index.ts +0 -3
- package/src/hooks-util-selectors.tsx +69 -6
- package/src/hooks-util.ts +852 -270
- package/src/modules/HMSManager.ts +3 -3
- package/src/modules/parser.ts +3 -4
- package/src/redux/actionTypes.ts +33 -0
- package/src/redux/actions/index.ts +96 -1
- package/src/redux/reducers/appState.ts +83 -1
- package/src/redux/reducers/chatWindow.ts +12 -5
- package/src/redux/reducers/hmsStates.ts +136 -4
- package/src/redux/reducers/userState.ts +1 -1
- package/src/utils/functions.ts +9 -0
- package/src/utils/theme.ts +3 -1
- package/src/utils/types.ts +6 -2
- package/src/utils.ts +6 -0
- package/lib/commonjs/assets/100ms-logo.png +0 -0
- package/lib/commonjs/assets/brb.png +0 -0
- package/lib/commonjs/assets/icon.png +0 -0
- package/lib/commonjs/assets/illustration.png +0 -0
- package/lib/commonjs/assets/network_0.png +0 -0
- package/lib/commonjs/assets/network_1.png +0 -0
- package/lib/commonjs/assets/network_2.png +0 -0
- package/lib/commonjs/assets/network_3.png +0 -0
- package/lib/commonjs/assets/network_4.png +0 -0
- package/lib/commonjs/assets/user_music.png +0 -0
- package/lib/commonjs/components/ChatWindow.js +0 -608
- package/lib/commonjs/components/ChatWindow.js.map +0 -1
- package/lib/commonjs/components/CustomInput.js +0 -89
- package/lib/commonjs/components/CustomInput.js.map +0 -1
- package/lib/commonjs/components/DisplayTrack.js +0 -70
- package/lib/commonjs/components/DisplayTrack.js.map +0 -1
- package/lib/commonjs/components/HMSShareScreen.js +0 -59
- package/lib/commonjs/components/HMSShareScreen.js.map +0 -1
- package/lib/commonjs/components/HMSShowNetworkQuality.js +0 -56
- package/lib/commonjs/components/HMSShowNetworkQuality.js.map +0 -1
- package/lib/commonjs/components/LiveButton.js +0 -70
- package/lib/commonjs/components/LiveButton.js.map +0 -1
- package/lib/commonjs/components/Participants/ParticipantsFilter.js +0 -128
- package/lib/commonjs/components/Participants/ParticipantsFilter.js.map +0 -1
- package/lib/commonjs/components/Participants/ParticipantsHeader.js +0 -67
- package/lib/commonjs/components/Participants/ParticipantsHeader.js.map +0 -1
- package/lib/commonjs/components/Participants/SearchableParticipantsView.js.map +0 -1
- package/lib/commonjs/components/ParticipantsModal.js.map +0 -1
- package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +0 -1
- package/lib/commonjs/components/Picker.js +0 -93
- package/lib/commonjs/components/Picker.js.map +0 -1
- package/lib/module/assets/100ms-logo.png +0 -0
- package/lib/module/assets/brb.png +0 -0
- package/lib/module/assets/icon.png +0 -0
- package/lib/module/assets/illustration.png +0 -0
- package/lib/module/assets/network_0.png +0 -0
- package/lib/module/assets/network_1.png +0 -0
- package/lib/module/assets/network_2.png +0 -0
- package/lib/module/assets/network_3.png +0 -0
- package/lib/module/assets/network_4.png +0 -0
- package/lib/module/assets/user_music.png +0 -0
- package/lib/module/components/ChatWindow.js +0 -595
- package/lib/module/components/ChatWindow.js.map +0 -1
- package/lib/module/components/CustomInput.js +0 -82
- package/lib/module/components/CustomInput.js.map +0 -1
- package/lib/module/components/DisplayTrack.js +0 -63
- package/lib/module/components/DisplayTrack.js.map +0 -1
- package/lib/module/components/HMSShareScreen.js +0 -50
- package/lib/module/components/HMSShareScreen.js.map +0 -1
- package/lib/module/components/HMSShowNetworkQuality.js +0 -47
- package/lib/module/components/HMSShowNetworkQuality.js.map +0 -1
- package/lib/module/components/LiveButton.js +0 -61
- package/lib/module/components/LiveButton.js.map +0 -1
- package/lib/module/components/Participants/ParticipantsFilter.js +0 -121
- package/lib/module/components/Participants/ParticipantsFilter.js.map +0 -1
- package/lib/module/components/Participants/ParticipantsHeader.js +0 -58
- package/lib/module/components/Participants/ParticipantsHeader.js.map +0 -1
- package/lib/module/components/Participants/SearchableParticipantsView.js +0 -18
- package/lib/module/components/Participants/SearchableParticipantsView.js.map +0 -1
- package/lib/module/components/ParticipantsModal.js +0 -34
- package/lib/module/components/ParticipantsModal.js.map +0 -1
- package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js +0 -35
- package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +0 -1
- package/lib/module/components/Picker.js +0 -83
- package/lib/module/components/Picker.js.map +0 -1
- package/lib/typescript/components/ChatWindow.d.ts +0 -22
- package/lib/typescript/components/ChatWindow.d.ts.map +0 -1
- package/lib/typescript/components/CustomInput.d.ts +0 -24
- package/lib/typescript/components/CustomInput.d.ts.map +0 -1
- package/lib/typescript/components/DisplayTrack.d.ts +0 -9
- package/lib/typescript/components/DisplayTrack.d.ts.map +0 -1
- package/lib/typescript/components/HMSShareScreen.d.ts +0 -9
- package/lib/typescript/components/HMSShareScreen.d.ts.map +0 -1
- package/lib/typescript/components/HMSShowNetworkQuality.d.ts +0 -3
- package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +0 -1
- package/lib/typescript/components/LiveButton.d.ts +0 -17
- package/lib/typescript/components/LiveButton.d.ts.map +0 -1
- package/lib/typescript/components/Participants/ParticipantsFilter.d.ts +0 -6
- package/lib/typescript/components/Participants/ParticipantsFilter.d.ts.map +0 -1
- package/lib/typescript/components/Participants/ParticipantsHeader.d.ts +0 -9
- package/lib/typescript/components/Participants/ParticipantsHeader.d.ts.map +0 -1
- package/lib/typescript/components/Participants/SearchableParticipantsView.d.ts +0 -3
- package/lib/typescript/components/Participants/SearchableParticipantsView.d.ts.map +0 -1
- package/lib/typescript/components/ParticipantsModal.d.ts +0 -5
- package/lib/typescript/components/ParticipantsModal.d.ts.map +0 -1
- package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts +0 -6
- package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts.map +0 -1
- package/lib/typescript/components/Picker.d.ts +0 -9
- package/lib/typescript/components/Picker.d.ts.map +0 -1
- package/src/assets/100ms-logo.png +0 -0
- package/src/assets/brb.png +0 -0
- package/src/assets/icon.png +0 -0
- package/src/assets/illustration.png +0 -0
- package/src/assets/network_0.png +0 -0
- package/src/assets/network_1.png +0 -0
- package/src/assets/network_2.png +0 -0
- package/src/assets/network_3.png +0 -0
- package/src/assets/network_4.png +0 -0
- package/src/assets/user_music.png +0 -0
- package/src/components/ChatWindow.tsx +0 -706
- package/src/components/CustomInput.tsx +0 -138
- package/src/components/DisplayTrack.tsx +0 -92
- package/src/components/HMSShareScreen.tsx +0 -71
- package/src/components/HMSShowNetworkQuality.tsx +0 -68
- package/src/components/LiveButton.tsx +0 -77
- package/src/components/Participants/ParticipantsFilter.tsx +0 -144
- package/src/components/Participants/ParticipantsHeader.tsx +0 -64
- package/src/components/Participants/SearchableParticipantsView.tsx +0 -21
- package/src/components/ParticipantsModal.tsx +0 -46
- package/src/components/PeerVideoTile/PeerAudioMutedIndicator.tsx +0 -41
- package/src/components/Picker.tsx +0 -108
package/lib/module/hooks-util.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HMSConfig, HMSPIPListenerActions, HMSPeerUpdate, HMSRoomUpdate, HMSTrackSource, HMSTrackType, HMSTrackUpdate, HMSUpdateListenerActions
|
|
1
|
+
import { HMSConfig, HMSMessage, HMSMessageRecipientType, HMSPIPListenerActions, HMSPeerUpdate, HMSRoomUpdate, HMSTrackSource, HMSTrackType, HMSTrackUpdate, HMSUpdateListenerActions, HMSMessageRecipient
|
|
2
2
|
// useHMSPeerUpdates,
|
|
3
3
|
} from '@100mslive/react-native-hms';
|
|
4
4
|
import Toast from 'react-native-simple-toast';
|
|
@@ -6,16 +6,16 @@ import { useRef, useCallback, useEffect, useState, useMemo, useContext } from 'r
|
|
|
6
6
|
import { MaxTilesInOnePage, ModalTypes, PipModes } from './utils/types';
|
|
7
7
|
import { createPeerTrackNode, parseMetadata } from './utils/functions';
|
|
8
8
|
import { batch, shallowEqual, useDispatch, useSelector, useStore } from 'react-redux';
|
|
9
|
-
import { addMessage, addPinnedMessage, changeMeetingState, changePipModeStatus, changeStartingHLSStream, clearStore, saveUserData, setHMSLocalPeerState, setHMSRoleState, setHMSRoomState, setIsLocalAudioMutedState, setIsLocalVideoMutedState, setLayoutConfig, setLocalPeerTrackNode, setMiniViewPeerTrackNode, setModalType, setStartingOrStoppingRecording, updateLocalPeerTrackNode, updateMiniViewPeerTrackNode } from './redux/actions';
|
|
9
|
+
import { addMessage, addNotification, addParticipant, addPinnedMessage, addScreenshareTile, addUpdateParticipant, changeMeetingState, changePipModeStatus, changeStartingHLSStream, clearStore, removeNotification, removeParticipant, removeScreenshareTile, saveUserData, setActiveChatBottomSheetTab, setActiveSpeakers, setFullScreenPeerTrackNode, setHMSLocalPeerState, setHMSRoleState, setHMSRoomState, setIsLocalAudioMutedState, setIsLocalVideoMutedState, setLayoutConfig, setLocalPeerTrackNode, setMiniViewPeerTrackNode, setModalType, setReconnecting, setRoleChangeRequest, setStartingOrStoppingRecording, updateFullScreenPeerTrackNode, updateLocalPeerTrackNode, updateMiniViewPeerTrackNode, updateScreenshareTile } from './redux/actions';
|
|
10
10
|
import { createPeerTrackNodeUniqueId, degradeOrRestorePeerTrackNodes, peerTrackNodeExistForPeer, peerTrackNodeExistForPeerAndTrack, removePeerTrackNodes, removePeerTrackNodesWithTrack, replacePeerTrackNodes, replacePeerTrackNodesWithTrack } from './peerTrackNodeUtils';
|
|
11
11
|
import { MeetingState } from './types';
|
|
12
|
-
import { AppState, InteractionManager, LayoutAnimation, Platform } from 'react-native';
|
|
12
|
+
import { AppState, InteractionManager, Keyboard, LayoutAnimation, Platform } from 'react-native';
|
|
13
13
|
import { NavigationContext } from '@react-navigation/native';
|
|
14
14
|
import { useIsLandscapeOrientation, useIsPortraitOrientation } from './utils/dimension';
|
|
15
|
-
import {
|
|
16
|
-
import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
|
|
15
|
+
import { selectChatLayoutConfig, selectConferencingScreenConfig, selectIsHLSViewer, selectLayoutConfigForRole, selectShouldGoLive, selectVideoTileLayoutConfig } from './hooks-util-selectors';
|
|
17
16
|
import { getRoomLayout } from './modules/HMSManager';
|
|
18
17
|
import { DEFAULT_THEME, DEFAULT_TYPOGRAPHY } from './utils/theme';
|
|
18
|
+
import { NotificationTypes } from './utils';
|
|
19
19
|
export const useHMSListeners = setPeerTrackNodes => {
|
|
20
20
|
const hmsInstance = useHMSInstance();
|
|
21
21
|
const updateLocalPeer = useUpdateHMSLocalPeer(hmsInstance);
|
|
@@ -28,56 +28,27 @@ const useHMSRoomUpdate = hmsInstance => {
|
|
|
28
28
|
const reduxStore = useStore();
|
|
29
29
|
useEffect(() => {
|
|
30
30
|
const roomUpdateHandler = data => {
|
|
31
|
-
var _room$localPeer$role;
|
|
32
31
|
const {
|
|
33
32
|
room,
|
|
34
33
|
type
|
|
35
34
|
} = data;
|
|
36
35
|
dispatch(setHMSRoomState(room));
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Handle case when User is joining as HLSViewer,
|
|
40
|
-
* before ON_JOIN, if ON_ROOM comes then we can show Meeting screen to user, instead of Loader or Preview
|
|
41
|
-
*/
|
|
42
|
-
if (((_room$localPeer$role = room.localPeer.role) === null || _room$localPeer$role === void 0 || (_room$localPeer$role = _room$localPeer$role.name) === null || _room$localPeer$role === void 0 ? void 0 : _room$localPeer$role.includes('hls-')) ?? false) {
|
|
43
|
-
const meetingState = reduxStore.getState().app.meetingState;
|
|
44
|
-
batch(() => {
|
|
45
|
-
dispatch(setHMSLocalPeerState(room.localPeer));
|
|
46
|
-
if (meetingState !== MeetingState.IN_MEETING) {
|
|
47
|
-
dispatch(changeMeetingState(MeetingState.IN_MEETING));
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
36
|
if (type === HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED) {
|
|
52
|
-
var _room$browserRecordin, _room$browserRecordin2;
|
|
53
37
|
const startingOrStoppingRecording = reduxStore.getState().app.startingOrStoppingRecording;
|
|
54
38
|
if (startingOrStoppingRecording) {
|
|
55
39
|
dispatch(setStartingOrStoppingRecording(false));
|
|
56
40
|
}
|
|
57
|
-
let streaming = room === null || room === void 0 || (_room$browserRecordin = room.browserRecordingState) === null || _room$browserRecordin === void 0 ? void 0 : _room$browserRecordin.running;
|
|
58
|
-
const startAtDate = room === null || room === void 0 || (_room$browserRecordin2 = room.browserRecordingState) === null || _room$browserRecordin2 === void 0 ? void 0 : _room$browserRecordin2.startedAt;
|
|
59
|
-
let startTime = null;
|
|
60
|
-
if (startAtDate) {
|
|
61
|
-
var _startAtDate$getMinut;
|
|
62
|
-
let hours = startAtDate.getHours().toString();
|
|
63
|
-
let minutes = (_startAtDate$getMinut = startAtDate.getMinutes()) === null || _startAtDate$getMinut === void 0 ? void 0 : _startAtDate$getMinut.toString();
|
|
64
|
-
startTime = hours + ':' + minutes;
|
|
65
|
-
}
|
|
66
|
-
Toast.showWithGravity(`Browser Recording ${streaming ? `Started ${startTime ? 'At ' + startTime : ''}` : 'Stopped'}`, Toast.LONG, Toast.TOP);
|
|
67
41
|
} else if (type === HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED) {
|
|
68
|
-
var _room$hlsStreamingSta;
|
|
69
42
|
dispatch(changeStartingHLSStream(false));
|
|
70
|
-
let streaming = room === null || room === void 0 || (_room$hlsStreamingSta = room.hlsStreamingState) === null || _room$hlsStreamingSta === void 0 ? void 0 : _room$hlsStreamingSta.running;
|
|
71
|
-
Toast.showWithGravity(`HLS Streaming ${streaming ? 'Started' : 'Stopped'}`, Toast.LONG, Toast.TOP);
|
|
72
43
|
} else if (type === HMSRoomUpdate.RTMP_STREAMING_STATE_UPDATED) {
|
|
73
44
|
var _room$rtmpHMSRtmpStre, _room$rtmpHMSRtmpStre2;
|
|
74
45
|
let streaming = room === null || room === void 0 || (_room$rtmpHMSRtmpStre = room.rtmpHMSRtmpStreamingState) === null || _room$rtmpHMSRtmpStre === void 0 ? void 0 : _room$rtmpHMSRtmpStre.running;
|
|
75
46
|
const startAtDate = room === null || room === void 0 || (_room$rtmpHMSRtmpStre2 = room.rtmpHMSRtmpStreamingState) === null || _room$rtmpHMSRtmpStre2 === void 0 ? void 0 : _room$rtmpHMSRtmpStre2.startedAt;
|
|
76
47
|
let startTime = null;
|
|
77
48
|
if (startAtDate) {
|
|
78
|
-
var _startAtDate$
|
|
49
|
+
var _startAtDate$getMinut;
|
|
79
50
|
let hours = startAtDate.getHours().toString();
|
|
80
|
-
let minutes = (_startAtDate$
|
|
51
|
+
let minutes = (_startAtDate$getMinut = startAtDate.getMinutes()) === null || _startAtDate$getMinut === void 0 ? void 0 : _startAtDate$getMinut.toString();
|
|
81
52
|
startTime = hours + ':' + minutes;
|
|
82
53
|
}
|
|
83
54
|
Toast.showWithGravity(`RTMP Streaming ${streaming ? `Started ${startTime ? 'At ' + startTime : ''}` : 'Stopped'}`, Toast.LONG, Toast.TOP);
|
|
@@ -87,9 +58,9 @@ const useHMSRoomUpdate = hmsInstance => {
|
|
|
87
58
|
const startAtDate = room === null || room === void 0 || (_room$serverRecording2 = room.serverRecordingState) === null || _room$serverRecording2 === void 0 ? void 0 : _room$serverRecording2.startedAt;
|
|
88
59
|
let startTime = null;
|
|
89
60
|
if (startAtDate) {
|
|
90
|
-
var _startAtDate$
|
|
61
|
+
var _startAtDate$getMinut2;
|
|
91
62
|
let hours = startAtDate.getHours().toString();
|
|
92
|
-
let minutes = (_startAtDate$
|
|
63
|
+
let minutes = (_startAtDate$getMinut2 = startAtDate.getMinutes()) === null || _startAtDate$getMinut2 === void 0 ? void 0 : _startAtDate$getMinut2.toString();
|
|
93
64
|
startTime = hours + ':' + minutes;
|
|
94
65
|
}
|
|
95
66
|
Toast.showWithGravity(`Server Recording ${streaming ? `Started ${startTime ? 'At ' + startTime : ''}` : 'Stopped'}`, Toast.LONG, Toast.TOP);
|
|
@@ -126,37 +97,85 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
126
97
|
|
|
127
98
|
// Handle State for Meeting screen
|
|
128
99
|
if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
100
|
+
dispatch(addParticipant(peer));
|
|
129
101
|
return;
|
|
130
102
|
}
|
|
131
103
|
if (type === HMSPeerUpdate.PEER_LEFT) {
|
|
104
|
+
dispatch(removeParticipant(peer));
|
|
105
|
+
|
|
106
|
+
// Handling regular tiles list
|
|
132
107
|
setPeerTrackNodes(prevPeerTrackNodes => removePeerTrackNodes(prevPeerTrackNodes, peer));
|
|
108
|
+
const reduxState = store.getState();
|
|
109
|
+
|
|
110
|
+
// Handling Screenshare tiles list
|
|
111
|
+
const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
|
|
112
|
+
const nodeToRemove = screensharePeerTrackNodes.find(node => node.peer.peerID === peer.peerID);
|
|
113
|
+
if (nodeToRemove) {
|
|
114
|
+
dispatch(removeScreenshareTile(nodeToRemove.id));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Handling Full screen view
|
|
118
|
+
const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
|
|
119
|
+
if (fullScreenPeerTrackNode !== null && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
|
|
120
|
+
dispatch(setFullScreenPeerTrackNode(null));
|
|
121
|
+
}
|
|
133
122
|
return;
|
|
134
123
|
}
|
|
135
124
|
if (peer.isLocal) {
|
|
136
|
-
|
|
137
|
-
if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
|
|
138
|
-
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
139
|
-
}
|
|
140
|
-
return prevPeerTrackNodes;
|
|
141
|
-
});
|
|
125
|
+
var _selectVideoTileLayou;
|
|
142
126
|
const reduxState = store.getState();
|
|
127
|
+
const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
|
|
143
128
|
const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
|
|
144
129
|
const localPeerTrackNode = reduxState.app.localPeerTrackNode;
|
|
130
|
+
|
|
131
|
+
// Currently Applied Layout config
|
|
132
|
+
const currentLayoutConfig = selectLayoutConfigForRole(reduxState.hmsStates.layoutConfig, peer.role || null);
|
|
133
|
+
|
|
134
|
+
// Local Tile Inset layout is enabled
|
|
135
|
+
const enableLocalTileInset = (_selectVideoTileLayou = selectVideoTileLayoutConfig(currentLayoutConfig)) === null || _selectVideoTileLayou === void 0 || (_selectVideoTileLayou = _selectVideoTileLayou.grid) === null || _selectVideoTileLayou === void 0 ? void 0 : _selectVideoTileLayou.enable_local_tile_inset;
|
|
136
|
+
|
|
137
|
+
// Local Tile Inset layout is disabled
|
|
138
|
+
const localTileInsetDisbaled = !enableLocalTileInset;
|
|
139
|
+
|
|
140
|
+
// Local Tile Inset layout is disabled
|
|
141
|
+
// then update local peer track node available in list of peer track nodes
|
|
142
|
+
if (localTileInsetDisbaled) {
|
|
143
|
+
setPeerTrackNodes(prevPeerTrackNodes => {
|
|
144
|
+
if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
|
|
145
|
+
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
146
|
+
}
|
|
147
|
+
return prevPeerTrackNodes;
|
|
148
|
+
});
|
|
149
|
+
}
|
|
145
150
|
batch(() => {
|
|
146
151
|
if (localPeerTrackNode) {
|
|
147
152
|
dispatch(updateLocalPeerTrackNode({
|
|
148
153
|
peer
|
|
149
154
|
}));
|
|
150
|
-
} else {
|
|
155
|
+
} else if (isPublishingAllowed(peer)) {
|
|
151
156
|
dispatch(setLocalPeerTrackNode(createPeerTrackNode(peer, peer.videoTrack)));
|
|
152
157
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (miniviewPeerTrackNode && miniviewPeerTrackNode.peer.peerID === peer.peerID) {
|
|
156
|
-
dispatch(updateMiniViewPeerTrackNode({
|
|
158
|
+
if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
|
|
159
|
+
dispatch(updateFullScreenPeerTrackNode({
|
|
157
160
|
peer
|
|
158
161
|
}));
|
|
159
162
|
}
|
|
163
|
+
|
|
164
|
+
// If Local Tile Inset layout is enabled, then update or set it
|
|
165
|
+
if (enableLocalTileInset) {
|
|
166
|
+
var _peer$role;
|
|
167
|
+
if (miniviewPeerTrackNode !== null && miniviewPeerTrackNode.peer.peerID === peer.peerID) {
|
|
168
|
+
dispatch(updateMiniViewPeerTrackNode({
|
|
169
|
+
peer
|
|
170
|
+
}));
|
|
171
|
+
} else if (miniviewPeerTrackNode === null && (_peer$role = peer.role) !== null && _peer$role !== void 0 && (_peer$role = _peer$role.publishSettings) !== null && _peer$role !== void 0 && _peer$role.allowed && peer.role.publishSettings.allowed.length > 0) {
|
|
172
|
+
dispatch(setMiniViewPeerTrackNode(createPeerTrackNode(peer, peer.videoTrack)));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// If Local Tile Inset layout is disabled, then remove it if it exists
|
|
176
|
+
else if (miniviewPeerTrackNode) {
|
|
177
|
+
dispatch(setMiniViewPeerTrackNode(null));
|
|
178
|
+
}
|
|
160
179
|
});
|
|
161
180
|
|
|
162
181
|
// - TODO: update local localPeer state
|
|
@@ -165,8 +184,11 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
165
184
|
return;
|
|
166
185
|
}
|
|
167
186
|
if (type === HMSPeerUpdate.ROLE_CHANGED) {
|
|
168
|
-
var _peer$
|
|
169
|
-
|
|
187
|
+
var _peer$role2, _peer$role3, _peer$role4, _peer$role5, _peer$role6, _peer$role7, _peer$role8, _peer$role9, _peer$role10;
|
|
188
|
+
dispatch(addUpdateParticipant(peer));
|
|
189
|
+
|
|
190
|
+
// Handling regular tiles list
|
|
191
|
+
if (((_peer$role2 = peer.role) === null || _peer$role2 === void 0 || (_peer$role2 = _peer$role2.publishSettings) === null || _peer$role2 === void 0 ? void 0 : _peer$role2.allowed) === undefined || (_peer$role3 = peer.role) !== null && _peer$role3 !== void 0 && (_peer$role3 = _peer$role3.publishSettings) !== null && _peer$role3 !== void 0 && _peer$role3.allowed && ((_peer$role4 = peer.role) === null || _peer$role4 === void 0 || (_peer$role4 = _peer$role4.publishSettings) === null || _peer$role4 === void 0 ? void 0 : _peer$role4.allowed.length) < 1) {
|
|
170
192
|
setPeerTrackNodes(prevPeerTrackNodes => {
|
|
171
193
|
if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
|
|
172
194
|
return removePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
@@ -174,15 +196,84 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
174
196
|
return prevPeerTrackNodes;
|
|
175
197
|
});
|
|
176
198
|
}
|
|
199
|
+
const reduxState = store.getState();
|
|
200
|
+
|
|
201
|
+
// Handling screenshare tiles list
|
|
202
|
+
if (((_peer$role5 = peer.role) === null || _peer$role5 === void 0 || (_peer$role5 = _peer$role5.publishSettings) === null || _peer$role5 === void 0 ? void 0 : _peer$role5.allowed) === undefined || (_peer$role6 = peer.role) !== null && _peer$role6 !== void 0 && (_peer$role6 = _peer$role6.publishSettings) !== null && _peer$role6 !== void 0 && _peer$role6.allowed && !((_peer$role7 = peer.role) !== null && _peer$role7 !== void 0 && (_peer$role7 = _peer$role7.publishSettings) !== null && _peer$role7 !== void 0 && _peer$role7.allowed.includes('screen'))) {
|
|
203
|
+
const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
|
|
204
|
+
const nodeToRemove = screensharePeerTrackNodes.find(node => node.peer.peerID === peer.peerID);
|
|
205
|
+
if (nodeToRemove) {
|
|
206
|
+
dispatch(removeScreenshareTile(nodeToRemove.id));
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// Handling full screen view
|
|
211
|
+
if (((_peer$role8 = peer.role) === null || _peer$role8 === void 0 || (_peer$role8 = _peer$role8.publishSettings) === null || _peer$role8 === void 0 ? void 0 : _peer$role8.allowed) === undefined || (_peer$role9 = peer.role) !== null && _peer$role9 !== void 0 && (_peer$role9 = _peer$role9.publishSettings) !== null && _peer$role9 !== void 0 && _peer$role9.allowed && !((_peer$role10 = peer.role) !== null && _peer$role10 !== void 0 && (_peer$role10 = _peer$role10.publishSettings) !== null && _peer$role10 !== void 0 && _peer$role10.allowed.includes('video'))) {
|
|
212
|
+
const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
|
|
213
|
+
if (fullScreenPeerTrackNode !== null && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
|
|
214
|
+
dispatch(setFullScreenPeerTrackNode(null));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
177
217
|
return;
|
|
178
218
|
}
|
|
179
219
|
if (type === HMSPeerUpdate.METADATA_CHANGED || type === HMSPeerUpdate.NAME_CHANGED || type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED) {
|
|
220
|
+
dispatch(addUpdateParticipant(peer));
|
|
221
|
+
const reduxState = store.getState();
|
|
222
|
+
if (type === HMSPeerUpdate.METADATA_CHANGED) {
|
|
223
|
+
const handRaised = parseMetadata(peer.metadata).isHandRaised;
|
|
224
|
+
if (handRaised) {
|
|
225
|
+
var _selectedLayoutConfig, _peer$role11, _reduxState$hmsStates;
|
|
226
|
+
const {
|
|
227
|
+
layoutConfig,
|
|
228
|
+
localPeer
|
|
229
|
+
} = reduxState.hmsStates;
|
|
230
|
+
const selectedLayoutConfig = selectLayoutConfigForRole(layoutConfig, (localPeer === null || localPeer === void 0 ? void 0 : localPeer.role) || null);
|
|
231
|
+
|
|
232
|
+
// list of roles which should be brought on stage when they raise hand
|
|
233
|
+
const offStageRoles = selectedLayoutConfig === null || selectedLayoutConfig === void 0 || (_selectedLayoutConfig = selectedLayoutConfig.screens) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.conferencing) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.default) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.elements) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.on_stage_exp) === null || _selectedLayoutConfig === void 0 ? void 0 : _selectedLayoutConfig.off_stage_roles;
|
|
234
|
+
|
|
235
|
+
// checking if the current peer role is included in the above list
|
|
236
|
+
const shouldBringOnStage = offStageRoles && offStageRoles.includes((_peer$role11 = peer.role) === null || _peer$role11 === void 0 ? void 0 : _peer$role11.name);
|
|
237
|
+
const canChangeRole = (_reduxState$hmsStates = reduxState.hmsStates.localPeer) === null || _reduxState$hmsStates === void 0 || (_reduxState$hmsStates = _reduxState$hmsStates.role) === null || _reduxState$hmsStates === void 0 || (_reduxState$hmsStates = _reduxState$hmsStates.permissions) === null || _reduxState$hmsStates === void 0 ? void 0 : _reduxState$hmsStates.changeRole;
|
|
238
|
+
if (shouldBringOnStage && canChangeRole) {
|
|
239
|
+
dispatch(addNotification({
|
|
240
|
+
id: `${peer.peerID}-${NotificationTypes.HAND_RAISE}`,
|
|
241
|
+
type: NotificationTypes.HAND_RAISE,
|
|
242
|
+
peer
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
} else {
|
|
246
|
+
const notifications = reduxState.app.notifications;
|
|
247
|
+
const notificationToRemove = notifications.find(notification => notification.id === `${peer.peerID}-${NotificationTypes.HAND_RAISE}`);
|
|
248
|
+
if (notificationToRemove) {
|
|
249
|
+
dispatch(removeNotification(notificationToRemove.id));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
180
253
|
setPeerTrackNodes(prevPeerTrackNodes => {
|
|
181
254
|
if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
|
|
182
255
|
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
183
256
|
}
|
|
184
257
|
return prevPeerTrackNodes;
|
|
185
258
|
});
|
|
259
|
+
|
|
260
|
+
// Handling screenshare tile views
|
|
261
|
+
const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
|
|
262
|
+
const nodeToUpdate = screensharePeerTrackNodes.find(node => node.peer.peerID === peer.peerID);
|
|
263
|
+
if (nodeToUpdate) {
|
|
264
|
+
dispatch(updateScreenshareTile({
|
|
265
|
+
id: nodeToUpdate.id,
|
|
266
|
+
peer
|
|
267
|
+
}));
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// Handling fullscreen view
|
|
271
|
+
const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
|
|
272
|
+
if (fullScreenPeerTrackNode !== null && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
|
|
273
|
+
dispatch(updateFullScreenPeerTrackNode({
|
|
274
|
+
peer
|
|
275
|
+
}));
|
|
276
|
+
}
|
|
186
277
|
return;
|
|
187
278
|
}
|
|
188
279
|
};
|
|
@@ -192,41 +283,59 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
192
283
|
};
|
|
193
284
|
}, [hmsInstance]);
|
|
194
285
|
};
|
|
286
|
+
export const isPublishingAllowed = peer => {
|
|
287
|
+
var _peer$role12, _peer$role13;
|
|
288
|
+
return (((_peer$role12 = peer.role) === null || _peer$role12 === void 0 || (_peer$role12 = _peer$role12.publishSettings) === null || _peer$role12 === void 0 ? void 0 : _peer$role12.allowed) && ((_peer$role13 = peer.role) === null || _peer$role13 === void 0 || (_peer$role13 = _peer$role13.publishSettings) === null || _peer$role13 === void 0 || (_peer$role13 = _peer$role13.allowed) === null || _peer$role13 === void 0 ? void 0 : _peer$role13.length) > 0) ?? false;
|
|
289
|
+
};
|
|
195
290
|
const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
196
291
|
const dispatch = useDispatch();
|
|
197
292
|
const store = useStore();
|
|
198
293
|
useEffect(() => {
|
|
199
294
|
const trackUpdateHandler = _ref2 => {
|
|
295
|
+
var _reduxState$hmsStates2, _selectVideoTileLayou2;
|
|
200
296
|
let {
|
|
201
297
|
peer,
|
|
202
298
|
track,
|
|
203
299
|
type
|
|
204
300
|
} = _ref2;
|
|
205
301
|
const reduxState = store.getState();
|
|
302
|
+
const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
|
|
206
303
|
const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
|
|
207
304
|
const localPeerTrackNode = reduxState.app.localPeerTrackNode;
|
|
305
|
+
const currentLayoutConfig = selectLayoutConfigForRole(reduxState.hmsStates.layoutConfig, ((_reduxState$hmsStates2 = reduxState.hmsStates.localPeer) === null || _reduxState$hmsStates2 === void 0 ? void 0 : _reduxState$hmsStates2.role) ?? null);
|
|
306
|
+
const localTileInsetEnabled = (_selectVideoTileLayou2 = selectVideoTileLayoutConfig(currentLayoutConfig)) === null || _selectVideoTileLayou2 === void 0 || (_selectVideoTileLayou2 = _selectVideoTileLayou2.grid) === null || _selectVideoTileLayou2 === void 0 ? void 0 : _selectVideoTileLayou2.enable_local_tile_inset;
|
|
208
307
|
if (type === HMSTrackUpdate.TRACK_ADDED) {
|
|
209
308
|
const newPeerTrackNode = createPeerTrackNode(peer, track);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (track.type === HMSTrackType.VIDEO) {
|
|
214
|
-
return replacePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track);
|
|
215
|
-
}
|
|
216
|
-
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
217
|
-
}
|
|
218
|
-
if (miniviewPeerTrackNode ? newPeerTrackNode.id !== miniviewPeerTrackNode.id : !willCreateMiniviewPeerTrackNode) {
|
|
219
|
-
return [...prevPeerTrackNodes, newPeerTrackNode];
|
|
309
|
+
if (track.source === HMSTrackSource.SCREEN) {
|
|
310
|
+
if (!peer.isLocal && track.type === HMSTrackType.VIDEO) {
|
|
311
|
+
dispatch(addScreenshareTile(newPeerTrackNode));
|
|
220
312
|
}
|
|
221
|
-
|
|
222
|
-
|
|
313
|
+
} else {
|
|
314
|
+
setPeerTrackNodes(prevPeerTrackNodes => {
|
|
315
|
+
if (peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)) {
|
|
316
|
+
if (track.type === HMSTrackType.VIDEO) {
|
|
317
|
+
return replacePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track);
|
|
318
|
+
}
|
|
319
|
+
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
320
|
+
}
|
|
321
|
+
if (peer.isLocal && !localTileInsetEnabled) {
|
|
322
|
+
return [newPeerTrackNode, ...prevPeerTrackNodes];
|
|
323
|
+
}
|
|
324
|
+
if (!peer.isLocal && (miniviewPeerTrackNode ? newPeerTrackNode.id !== miniviewPeerTrackNode.id : true)) {
|
|
325
|
+
return [...prevPeerTrackNodes, newPeerTrackNode];
|
|
326
|
+
}
|
|
327
|
+
return prevPeerTrackNodes;
|
|
328
|
+
});
|
|
329
|
+
}
|
|
223
330
|
|
|
224
331
|
// - TODO: update local localPeer state
|
|
225
332
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
226
333
|
if (peer.isLocal) {
|
|
227
334
|
if (track.source === HMSTrackSource.REGULAR) {
|
|
228
335
|
if (!localPeerTrackNode) {
|
|
229
|
-
|
|
336
|
+
if (isPublishingAllowed(newPeerTrackNode.peer)) {
|
|
337
|
+
dispatch(setLocalPeerTrackNode(newPeerTrackNode));
|
|
338
|
+
}
|
|
230
339
|
} else {
|
|
231
340
|
dispatch(updateLocalPeerTrackNode(track.type === HMSTrackType.VIDEO ? {
|
|
232
341
|
peer,
|
|
@@ -235,20 +344,27 @@ const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
235
344
|
peer
|
|
236
345
|
}));
|
|
237
346
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
347
|
+
if (localTileInsetEnabled) {
|
|
348
|
+
// only setting `miniviewPeerTrackNode`, when:
|
|
349
|
+
// - there is no `miniviewPeerTrackNode`
|
|
350
|
+
// - if there is, then it is of regular track
|
|
351
|
+
if (!miniviewPeerTrackNode) {
|
|
352
|
+
dispatch(setMiniViewPeerTrackNode(newPeerTrackNode));
|
|
353
|
+
} else if (miniviewPeerTrackNode.id === newPeerTrackNode.id) {
|
|
354
|
+
dispatch(updateMiniViewPeerTrackNode(track.type === HMSTrackType.VIDEO ? {
|
|
355
|
+
peer,
|
|
356
|
+
track
|
|
357
|
+
} : {
|
|
358
|
+
peer
|
|
359
|
+
}));
|
|
360
|
+
}
|
|
251
361
|
}
|
|
362
|
+
|
|
363
|
+
// if (track.type === HMSTrackType.AUDIO) {
|
|
364
|
+
// dispatch(setIsLocalAudioMutedState(track.isMute()));
|
|
365
|
+
// } else if (track.type === HMSTrackType.VIDEO) {
|
|
366
|
+
// dispatch(setIsLocalVideoMutedState(track.isMute()));
|
|
367
|
+
// }
|
|
252
368
|
}
|
|
253
369
|
// else -> {
|
|
254
370
|
// should `localPeerTrackNode` be created/updated for non-regular track addition?
|
|
@@ -273,9 +389,23 @@ const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
273
389
|
}
|
|
274
390
|
if (type === HMSTrackUpdate.TRACK_REMOVED) {
|
|
275
391
|
var _peer$audioTrack, _peer$videoTrack;
|
|
276
|
-
if (track.source
|
|
392
|
+
if (track.source === HMSTrackSource.SCREEN) {
|
|
393
|
+
if (!peer.isLocal && track.type === HMSTrackType.VIDEO) {
|
|
394
|
+
const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
|
|
395
|
+
const nodeToRemove = screensharePeerTrackNodes.find(node => {
|
|
396
|
+
var _node$track;
|
|
397
|
+
return ((_node$track = node.track) === null || _node$track === void 0 ? void 0 : _node$track.trackId) === track.trackId;
|
|
398
|
+
});
|
|
399
|
+
if (nodeToRemove) {
|
|
400
|
+
dispatch(removeScreenshareTile(nodeToRemove.id));
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
} else if (track.source === HMSTrackSource.PLUGIN || ((_peer$audioTrack = peer.audioTrack) === null || _peer$audioTrack === void 0 ? void 0 : _peer$audioTrack.trackId) === undefined && ((_peer$videoTrack = peer.videoTrack) === null || _peer$videoTrack === void 0 ? void 0 : _peer$videoTrack.trackId) === undefined) {
|
|
277
404
|
setPeerTrackNodes(prevPeerTrackNodes => removePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track));
|
|
278
405
|
}
|
|
406
|
+
if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.track && fullScreenPeerTrackNode.track.trackId === track.trackId) {
|
|
407
|
+
dispatch(setFullScreenPeerTrackNode(null));
|
|
408
|
+
}
|
|
279
409
|
|
|
280
410
|
// - TODO: update local localPeer state
|
|
281
411
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
@@ -353,46 +483,63 @@ const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
|
|
|
353
483
|
|
|
354
484
|
// - TODO: update local localPeer state
|
|
355
485
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
486
|
+
const updatePayload = track.type === HMSTrackType.VIDEO ? {
|
|
487
|
+
peer,
|
|
488
|
+
track
|
|
489
|
+
} : {
|
|
490
|
+
peer
|
|
491
|
+
};
|
|
356
492
|
if (peer.isLocal) {
|
|
357
|
-
const updatePayload = track.type === HMSTrackType.VIDEO ? {
|
|
358
|
-
peer,
|
|
359
|
-
track
|
|
360
|
-
} : {
|
|
361
|
-
peer
|
|
362
|
-
};
|
|
363
493
|
dispatch(updateLocalPeerTrackNode(updatePayload));
|
|
364
|
-
|
|
365
|
-
// Take care of miniviewPeerTrackNode
|
|
366
|
-
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
367
|
-
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
368
|
-
}
|
|
369
494
|
updateLocalPeer();
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
peer
|
|
377
|
-
};
|
|
378
|
-
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
379
|
-
}
|
|
495
|
+
}
|
|
496
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
497
|
+
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
498
|
+
}
|
|
499
|
+
if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.id === uniqueId) {
|
|
500
|
+
dispatch(updateFullScreenPeerTrackNode(updatePayload));
|
|
380
501
|
}
|
|
381
502
|
return;
|
|
382
503
|
}
|
|
383
504
|
if (type === HMSTrackUpdate.TRACK_RESTORED || type === HMSTrackUpdate.TRACK_DEGRADED) {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
505
|
+
// Checking if track source is screenshare
|
|
506
|
+
if (track.source === HMSTrackSource.SCREEN) {
|
|
507
|
+
// Handling screenshare tiles list
|
|
508
|
+
const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
|
|
509
|
+
const nodeToUpdate = screensharePeerTrackNodes.find(node => {
|
|
510
|
+
var _node$track2;
|
|
511
|
+
return ((_node$track2 = node.track) === null || _node$track2 === void 0 ? void 0 : _node$track2.trackId) === track.trackId;
|
|
512
|
+
});
|
|
513
|
+
if (nodeToUpdate) {
|
|
514
|
+
dispatch(updateScreenshareTile({
|
|
515
|
+
id: nodeToUpdate.id,
|
|
516
|
+
isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED
|
|
517
|
+
}));
|
|
387
518
|
}
|
|
388
|
-
|
|
389
|
-
|
|
519
|
+
} else {
|
|
520
|
+
// Handling regular tiles list
|
|
521
|
+
setPeerTrackNodes(prevPeerTrackNodes => {
|
|
522
|
+
if (peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)) {
|
|
523
|
+
return degradeOrRestorePeerTrackNodes(prevPeerTrackNodes, peer, track, type === HMSTrackUpdate.TRACK_DEGRADED);
|
|
524
|
+
}
|
|
525
|
+
return prevPeerTrackNodes;
|
|
526
|
+
});
|
|
527
|
+
}
|
|
390
528
|
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
529
|
+
|
|
530
|
+
// Handling miniview
|
|
391
531
|
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
392
532
|
dispatch(updateMiniViewPeerTrackNode({
|
|
393
533
|
isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED
|
|
394
534
|
}));
|
|
395
535
|
}
|
|
536
|
+
|
|
537
|
+
// Handling full screen view
|
|
538
|
+
if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.id === uniqueId) {
|
|
539
|
+
dispatch(updateFullScreenPeerTrackNode({
|
|
540
|
+
isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED
|
|
541
|
+
}));
|
|
542
|
+
}
|
|
396
543
|
return;
|
|
397
544
|
}
|
|
398
545
|
};
|
|
@@ -429,7 +576,14 @@ export const useHMSInstance = () => {
|
|
|
429
576
|
return hmsInstance;
|
|
430
577
|
};
|
|
431
578
|
export const useIsHLSViewer = () => {
|
|
432
|
-
return useSelector(state =>
|
|
579
|
+
return useSelector(state => {
|
|
580
|
+
const {
|
|
581
|
+
layoutConfig,
|
|
582
|
+
localPeer
|
|
583
|
+
} = state.hmsStates;
|
|
584
|
+
const selectedLayoutConfig = selectLayoutConfigForRole(layoutConfig, (localPeer === null || localPeer === void 0 ? void 0 : localPeer.role) || null);
|
|
585
|
+
return selectIsHLSViewer(localPeer === null || localPeer === void 0 ? void 0 : localPeer.role, selectedLayoutConfig);
|
|
586
|
+
});
|
|
433
587
|
};
|
|
434
588
|
export const useHMSChangeTrackStateRequest = (callback, deps) => {
|
|
435
589
|
const hmsInstance = useHMSInstance();
|
|
@@ -442,7 +596,7 @@ export const useHMSChangeTrackStateRequest = (callback, deps) => {
|
|
|
442
596
|
requestedBy: request === null || request === void 0 || (_request$requestedBy = request.requestedBy) === null || _request$requestedBy === void 0 ? void 0 : _request$requestedBy.name,
|
|
443
597
|
suggestedRole: request === null || request === void 0 ? void 0 : request.trackType
|
|
444
598
|
});
|
|
445
|
-
callback === null || callback === void 0
|
|
599
|
+
callback === null || callback === void 0 || callback(request);
|
|
446
600
|
} else {
|
|
447
601
|
var _request$requestedBy2;
|
|
448
602
|
Toast.showWithGravity(`Track Muted: ${request === null || request === void 0 || (_request$requestedBy2 = request.requestedBy) === null || _request$requestedBy2 === void 0 ? void 0 : _request$requestedBy2.name} Muted Your ${request === null || request === void 0 ? void 0 : request.trackType}`, Toast.LONG, Toast.TOP);
|
|
@@ -456,23 +610,23 @@ export const useHMSChangeTrackStateRequest = (callback, deps) => {
|
|
|
456
610
|
return trackStateChangeRequest;
|
|
457
611
|
};
|
|
458
612
|
export const useHMSRoleChangeRequest = (callback, deps) => {
|
|
613
|
+
const taskRef = useRef(null);
|
|
614
|
+
const dispatch = useDispatch();
|
|
459
615
|
const hmsInstance = useHMSInstance();
|
|
460
|
-
const [roleChangeRequest, setRoleChangeRequest] = useState(null);
|
|
461
616
|
useEffect(() => {
|
|
462
|
-
const changeRoleRequestHandler = request => {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
suggestedRole: request === null || request === void 0 || (_request$suggestedRol = request.suggestedRole) === null || _request$suggestedRol === void 0 ? void 0 : _request$suggestedRol.name
|
|
617
|
+
const changeRoleRequestHandler = async request => {
|
|
618
|
+
taskRef.current = InteractionManager.runAfterInteractions(() => {
|
|
619
|
+
dispatch(setRoleChangeRequest(request));
|
|
620
|
+
callback === null || callback === void 0 || callback(request);
|
|
467
621
|
});
|
|
468
|
-
callback === null || callback === void 0 ? void 0 : callback(request);
|
|
469
622
|
};
|
|
470
623
|
hmsInstance.addEventListener(HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST, changeRoleRequestHandler);
|
|
471
624
|
return () => {
|
|
625
|
+
var _taskRef$current;
|
|
626
|
+
(_taskRef$current = taskRef.current) === null || _taskRef$current === void 0 || _taskRef$current.cancel();
|
|
472
627
|
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST);
|
|
473
628
|
};
|
|
474
629
|
}, [...(deps || []), hmsInstance]);
|
|
475
|
-
return roleChangeRequest;
|
|
476
630
|
};
|
|
477
631
|
export const useHMSSessionStoreListeners = gridViewRef => {
|
|
478
632
|
const dispatch = useDispatch();
|
|
@@ -492,7 +646,7 @@ export const useHMSSessionStoreListeners = gridViewRef => {
|
|
|
492
646
|
spotlightTrackId: id
|
|
493
647
|
}));
|
|
494
648
|
// Scroll to start of the list
|
|
495
|
-
(_gridViewRef$current = gridViewRef.current) === null || _gridViewRef$current === void 0 || (_gridViewRef$current = _gridViewRef$current.
|
|
649
|
+
(_gridViewRef$current = gridViewRef.current) === null || _gridViewRef$current === void 0 || (_gridViewRef$current = _gridViewRef$current.getRegularTilesFlatlistRef().current) === null || _gridViewRef$current === void 0 || _gridViewRef$current.scrollToOffset({
|
|
496
650
|
animated: true,
|
|
497
651
|
offset: 0
|
|
498
652
|
});
|
|
@@ -611,22 +765,65 @@ export const useHMSSessionStore = () => {
|
|
|
611
765
|
export const useHMSMessages = () => {
|
|
612
766
|
const hmsInstance = useHMSInstance();
|
|
613
767
|
const dispatch = useDispatch();
|
|
768
|
+
const canChangeRole = useSelector(state => {
|
|
769
|
+
var _state$hmsStates$loca;
|
|
770
|
+
return (_state$hmsStates$loca = state.hmsStates.localPeer) === null || _state$hmsStates$loca === void 0 || (_state$hmsStates$loca = _state$hmsStates$loca.role) === null || _state$hmsStates$loca === void 0 || (_state$hmsStates$loca = _state$hmsStates$loca.permissions) === null || _state$hmsStates$loca === void 0 ? void 0 : _state$hmsStates$loca.changeRole;
|
|
771
|
+
});
|
|
772
|
+
const canShowChat = useHMSConferencingScreenConfig(conferencingScreenConfig => {
|
|
773
|
+
var _conferencingScreenCo;
|
|
774
|
+
return !!(conferencingScreenConfig !== null && conferencingScreenConfig !== void 0 && (_conferencingScreenCo = conferencingScreenConfig.elements) !== null && _conferencingScreenCo !== void 0 && _conferencingScreenCo.chat);
|
|
775
|
+
});
|
|
614
776
|
useEffect(() => {
|
|
615
777
|
const onMessageListener = message => {
|
|
616
|
-
|
|
778
|
+
if (message.type === NotificationTypes.ROLE_CHANGE_DECLINED) {
|
|
779
|
+
if (canChangeRole) {
|
|
780
|
+
var _message$sender;
|
|
781
|
+
dispatch(addNotification({
|
|
782
|
+
id: `${(_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.peerID}-${NotificationTypes.ROLE_CHANGE_DECLINED}`,
|
|
783
|
+
type: NotificationTypes.ROLE_CHANGE_DECLINED,
|
|
784
|
+
peer: message.sender
|
|
785
|
+
}));
|
|
786
|
+
}
|
|
787
|
+
} else if (message.type === 'EMOJI_REACTION') {
|
|
788
|
+
console.log('Ignoring Emoji Reaction Message: ', message);
|
|
789
|
+
} else if (canShowChat) {
|
|
790
|
+
dispatch(addMessage(message));
|
|
791
|
+
}
|
|
617
792
|
};
|
|
618
793
|
hmsInstance.addEventListener(HMSUpdateListenerActions.ON_MESSAGE, onMessageListener);
|
|
619
794
|
return () => {
|
|
620
795
|
// TODO: Remove this listener when user leaves, removed or room is ended
|
|
621
796
|
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_MESSAGE);
|
|
622
797
|
};
|
|
798
|
+
}, [canChangeRole, canShowChat, hmsInstance]);
|
|
799
|
+
};
|
|
800
|
+
export const useHMSReconnection = () => {
|
|
801
|
+
const dispatch = useDispatch();
|
|
802
|
+
const hmsInstance = useHMSInstance();
|
|
803
|
+
useEffect(() => {
|
|
804
|
+
let mounted = true;
|
|
805
|
+
hmsInstance.addEventListener(HMSUpdateListenerActions.RECONNECTING, () => {
|
|
806
|
+
if (mounted) {
|
|
807
|
+
dispatch(setReconnecting(true));
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
hmsInstance.addEventListener(HMSUpdateListenerActions.RECONNECTED, () => {
|
|
811
|
+
if (mounted) {
|
|
812
|
+
dispatch(setReconnecting(false));
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
return () => {
|
|
816
|
+
mounted = false;
|
|
817
|
+
hmsInstance.removeEventListener(HMSUpdateListenerActions.RECONNECTING);
|
|
818
|
+
hmsInstance.removeEventListener(HMSUpdateListenerActions.RECONNECTED);
|
|
819
|
+
};
|
|
623
820
|
}, [hmsInstance]);
|
|
624
821
|
};
|
|
625
822
|
export const useHMSPIPRoomLeave = () => {
|
|
626
823
|
const hmsInstance = useHMSInstance();
|
|
627
824
|
const {
|
|
628
825
|
destroy
|
|
629
|
-
} = useLeaveMethods();
|
|
826
|
+
} = useLeaveMethods(true);
|
|
630
827
|
useEffect(() => {
|
|
631
828
|
const pipRoomLeaveHandler = () => {
|
|
632
829
|
destroy();
|
|
@@ -641,7 +838,7 @@ export const useHMSRemovedFromRoomUpdate = () => {
|
|
|
641
838
|
const hmsInstance = useHMSInstance();
|
|
642
839
|
const {
|
|
643
840
|
destroy
|
|
644
|
-
} = useLeaveMethods();
|
|
841
|
+
} = useLeaveMethods(true);
|
|
645
842
|
useEffect(() => {
|
|
646
843
|
const removedFromRoomHandler = () => {
|
|
647
844
|
destroy();
|
|
@@ -697,6 +894,7 @@ export const useHMSNetworkQualityUpdate = () => {
|
|
|
697
894
|
};
|
|
698
895
|
export const useHMSActiveSpeakerUpdates = (setPeerTrackNodes, active) => {
|
|
699
896
|
const hmsInstance = useHMSInstance();
|
|
897
|
+
const dispatch = useDispatch();
|
|
700
898
|
const reduxStore = useStore();
|
|
701
899
|
const isPortraitOrientation = useIsPortraitOrientation();
|
|
702
900
|
useEffect(() => {
|
|
@@ -704,6 +902,7 @@ export const useHMSActiveSpeakerUpdates = (setPeerTrackNodes, active) => {
|
|
|
704
902
|
return;
|
|
705
903
|
}
|
|
706
904
|
const handleActiveSpeaker = data => {
|
|
905
|
+
dispatch(setActiveSpeakers(data));
|
|
707
906
|
const activePage = reduxStore.getState().app.gridViewActivePage;
|
|
708
907
|
if (activePage !== 0) {
|
|
709
908
|
return;
|
|
@@ -753,7 +952,7 @@ let modalTaskRef = {
|
|
|
753
952
|
export const clearPendingModalTasks = () => {
|
|
754
953
|
if (Platform.OS === 'android') {
|
|
755
954
|
var _modalTaskRef$current;
|
|
756
|
-
(_modalTaskRef$current = modalTaskRef.current) === null || _modalTaskRef$current === void 0
|
|
955
|
+
(_modalTaskRef$current = modalTaskRef.current) === null || _modalTaskRef$current === void 0 || _modalTaskRef$current.cancel();
|
|
757
956
|
} else {
|
|
758
957
|
clearTimeout(modalTaskRef.current);
|
|
759
958
|
}
|
|
@@ -807,10 +1006,11 @@ export const useFetchHMSRoles = () => {
|
|
|
807
1006
|
export const useShowLandscapeLayout = () => {
|
|
808
1007
|
const isLandscapeOrientation = useIsLandscapeOrientation();
|
|
809
1008
|
const localPeerRoleName = useSelector(state => {
|
|
810
|
-
var _state$hmsStates$
|
|
811
|
-
return (_state$hmsStates$
|
|
1009
|
+
var _state$hmsStates$loca2;
|
|
1010
|
+
return (_state$hmsStates$loca2 = state.hmsStates.localPeer) === null || _state$hmsStates$loca2 === void 0 || (_state$hmsStates$loca2 = _state$hmsStates$loca2.role) === null || _state$hmsStates$loca2 === void 0 ? void 0 : _state$hmsStates$loca2.name;
|
|
812
1011
|
});
|
|
813
|
-
|
|
1012
|
+
const isHLSViewer = useIsHLSViewer();
|
|
1013
|
+
return isLandscapeOrientation && !!localPeerRoleName && isHLSViewer;
|
|
814
1014
|
};
|
|
815
1015
|
let hmsConfig = null;
|
|
816
1016
|
export const clearConfig = () => {
|
|
@@ -821,14 +1021,15 @@ export const useHMSConfig = () => {
|
|
|
821
1021
|
const dispatch = useDispatch();
|
|
822
1022
|
const store = useStore();
|
|
823
1023
|
const getConfig = useCallback(async () => {
|
|
824
|
-
var _storeState$user$endP, _storeState$user$
|
|
1024
|
+
var _storeState$user$endP, _storeState$user$endP3;
|
|
825
1025
|
if (hmsConfig) return hmsConfig;
|
|
826
1026
|
const storeState = store.getState();
|
|
827
1027
|
const token = await hmsInstance.getAuthTokenByRoomCode(storeState.user.roomCode, storeState.user.userId, (_storeState$user$endP = storeState.user.endPoints) === null || _storeState$user$endP === void 0 ? void 0 : _storeState$user$endP.token);
|
|
828
1028
|
|
|
829
1029
|
// TODO: [REMOVE LATER] added trycatch block so that we can join rooms where we are getting error from Layout API
|
|
830
1030
|
try {
|
|
831
|
-
|
|
1031
|
+
var _storeState$user$endP2;
|
|
1032
|
+
const roomLayout = await getRoomLayout(hmsInstance, token, (_storeState$user$endP2 = storeState.user.endPoints) === null || _storeState$user$endP2 === void 0 ? void 0 : _storeState$user$endP2.layout);
|
|
832
1033
|
dispatch(setLayoutConfig(roomLayout));
|
|
833
1034
|
} catch (error) {
|
|
834
1035
|
console.warn('# getRoomLayout error: ', error);
|
|
@@ -837,7 +1038,7 @@ export const useHMSConfig = () => {
|
|
|
837
1038
|
authToken: token,
|
|
838
1039
|
username: storeState.user.userName,
|
|
839
1040
|
captureNetworkQualityInPreview: true,
|
|
840
|
-
endpoint: (_storeState$user$
|
|
1041
|
+
endpoint: (_storeState$user$endP3 = storeState.user.endPoints) === null || _storeState$user$endP3 === void 0 ? void 0 : _storeState$user$endP3.init
|
|
841
1042
|
// metadata: JSON.stringify({isHandRaised: true}), // To join with hand raised
|
|
842
1043
|
});
|
|
843
1044
|
|
|
@@ -859,117 +1060,226 @@ export const useHMSConfig = () => {
|
|
|
859
1060
|
getConfig
|
|
860
1061
|
};
|
|
861
1062
|
};
|
|
862
|
-
export const
|
|
863
|
-
const {
|
|
864
|
-
height,
|
|
865
|
-
width
|
|
866
|
-
} = useSafeAreaFrame();
|
|
867
|
-
const safeAreaInsets = useSafeAreaInsets();
|
|
868
|
-
return {
|
|
869
|
-
safeWidth: width - safeAreaInsets.left - safeAreaInsets.right,
|
|
870
|
-
safeHeight: height - safeAreaInsets.top - safeAreaInsets.bottom
|
|
871
|
-
};
|
|
872
|
-
};
|
|
873
|
-
export const useShowChat = () => {
|
|
1063
|
+
export const useShowChatAndParticipants = () => {
|
|
874
1064
|
const dispatch = useDispatch();
|
|
875
|
-
const
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
1065
|
+
const {
|
|
1066
|
+
modalVisibleType,
|
|
1067
|
+
handleModalVisibleType: setModalVisible
|
|
1068
|
+
} = useModalType();
|
|
1069
|
+
const overlayChatLayout = useHMSChatLayoutConfig(chatConfig => chatConfig === null || chatConfig === void 0 ? void 0 : chatConfig.is_overlay);
|
|
1070
|
+
const canShowChat = useHMSConferencingScreenConfig(conferencingScreenConfig => {
|
|
1071
|
+
var _conferencingScreenCo2;
|
|
1072
|
+
return !!(conferencingScreenConfig !== null && conferencingScreenConfig !== void 0 && (_conferencingScreenCo2 = conferencingScreenConfig.elements) !== null && _conferencingScreenCo2 !== void 0 && _conferencingScreenCo2.chat);
|
|
1073
|
+
});
|
|
1074
|
+
const canShowParticipants = useHMSConferencingScreenConfig(conferencingScreenConfig => {
|
|
1075
|
+
var _conferencingScreenCo3;
|
|
1076
|
+
return !!(conferencingScreenConfig !== null && conferencingScreenConfig !== void 0 && (_conferencingScreenCo3 = conferencingScreenConfig.elements) !== null && _conferencingScreenCo3 !== void 0 && _conferencingScreenCo3.participant_list);
|
|
1077
|
+
});
|
|
881
1078
|
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
const
|
|
886
|
-
|
|
887
|
-
if (
|
|
888
|
-
|
|
1079
|
+
// state for inset chat view
|
|
1080
|
+
const overlayChatVisible = useSelector(state => state.chatWindow.showChatView);
|
|
1081
|
+
const modalVisible = modalVisibleType === ModalTypes.CHAT_AND_PARTICIPANTS;
|
|
1082
|
+
const show = useCallback(view => {
|
|
1083
|
+
// Handle Showing Chat View/Modal
|
|
1084
|
+
if (view === 'chat') {
|
|
1085
|
+
if (!canShowChat) return;
|
|
1086
|
+
if (overlayChatLayout) {
|
|
1087
|
+
dispatch({
|
|
1088
|
+
type: 'SET_SHOW_CHAT_VIEW',
|
|
1089
|
+
showChatView: true
|
|
1090
|
+
});
|
|
1091
|
+
} else {
|
|
1092
|
+
batch(() => {
|
|
1093
|
+
dispatch({
|
|
1094
|
+
type: 'SET_SHOW_CHAT_VIEW',
|
|
1095
|
+
showChatView: false
|
|
1096
|
+
});
|
|
1097
|
+
dispatch(setActiveChatBottomSheetTab('Chat'));
|
|
1098
|
+
});
|
|
1099
|
+
setModalVisible(ModalTypes.CHAT_AND_PARTICIPANTS);
|
|
1100
|
+
}
|
|
889
1101
|
}
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
1102
|
+
// Handle Showing Participant
|
|
1103
|
+
else if (canShowParticipants) {
|
|
1104
|
+
dispatch(setActiveChatBottomSheetTab('Participants'));
|
|
1105
|
+
setModalVisible(ModalTypes.CHAT_AND_PARTICIPANTS);
|
|
1106
|
+
}
|
|
1107
|
+
}, [overlayChatLayout, canShowChat, canShowParticipants, setModalVisible]);
|
|
1108
|
+
const hide = useCallback(view => {
|
|
1109
|
+
if (view === 'chat_overlay') {
|
|
1110
|
+
dispatch({
|
|
1111
|
+
type: 'SET_SHOW_CHAT_VIEW',
|
|
1112
|
+
showChatView: false
|
|
1113
|
+
});
|
|
1114
|
+
} else {
|
|
1115
|
+
setModalVisible(ModalTypes.DEFAULT);
|
|
1116
|
+
}
|
|
1117
|
+
}, [overlayChatLayout, setModalVisible]);
|
|
1118
|
+
return {
|
|
1119
|
+
overlayChatVisible,
|
|
1120
|
+
modalVisible,
|
|
1121
|
+
overlayChatLayout,
|
|
1122
|
+
canShowChat,
|
|
1123
|
+
canShowParticipants,
|
|
1124
|
+
show,
|
|
1125
|
+
hide
|
|
1126
|
+
};
|
|
896
1127
|
};
|
|
897
1128
|
export const usePortraitChatViewVisible = () => {
|
|
898
|
-
const
|
|
1129
|
+
const {
|
|
1130
|
+
overlayChatVisible
|
|
1131
|
+
} = useShowChatAndParticipants();
|
|
899
1132
|
const pipModeNotActive = useSelector(state => state.app.pipModeStatus !== PipModes.ACTIVE);
|
|
900
1133
|
const isPortraitOrientation = useIsPortraitOrientation();
|
|
901
|
-
return pipModeNotActive && isPortraitOrientation &&
|
|
1134
|
+
return pipModeNotActive && isPortraitOrientation && overlayChatVisible;
|
|
902
1135
|
};
|
|
903
1136
|
export const useLandscapeChatViewVisible = () => {
|
|
904
|
-
const
|
|
1137
|
+
const {
|
|
1138
|
+
overlayChatVisible
|
|
1139
|
+
} = useShowChatAndParticipants();
|
|
905
1140
|
const pipModeNotActive = useSelector(state => state.app.pipModeStatus !== PipModes.ACTIVE);
|
|
906
1141
|
const isLandscapeOrientation = useIsLandscapeOrientation();
|
|
907
|
-
return pipModeNotActive && isLandscapeOrientation &&
|
|
1142
|
+
return pipModeNotActive && isLandscapeOrientation && overlayChatVisible;
|
|
908
1143
|
};
|
|
909
1144
|
export const useFilteredParticipants = () => {
|
|
910
|
-
|
|
911
|
-
const
|
|
912
|
-
const
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
1145
|
+
var _sortedRoles$;
|
|
1146
|
+
const roles = useSelector(state => state.hmsStates.roles);
|
|
1147
|
+
const onStageRole = useHMSLayoutConfig(layoutConfig => {
|
|
1148
|
+
var _layoutConfig$screens;
|
|
1149
|
+
return (layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$screens = layoutConfig.screens) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.conferencing) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.default) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.elements) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.on_stage_exp) === null || _layoutConfig$screens === void 0 ? void 0 : _layoutConfig$screens.on_stage_role) || null;
|
|
1150
|
+
});
|
|
1151
|
+
const [searchText, setSearchText] = useState('');
|
|
1152
|
+
const formattedSearchText = searchText.trim().toLowerCase();
|
|
1153
|
+
const participants = useSelector(state => state.hmsStates.participants);
|
|
1154
|
+
const peerGroups = useMemo(() => {
|
|
1155
|
+
return groupParticipantsAsPerRole(participants, formattedSearchText);
|
|
1156
|
+
}, [formattedSearchText, participants]);
|
|
1157
|
+
const sortedRoles = useMemo(() => {
|
|
1158
|
+
return roles.filter(role => peerGroups.has(role.name)).sort((a, b) => {
|
|
1159
|
+
var _a$publishSettings, _b$publishSettings;
|
|
1160
|
+
if (onStageRole) {
|
|
1161
|
+
if (a.name === onStageRole && b.name === onStageRole) {
|
|
1162
|
+
return 0;
|
|
1163
|
+
}
|
|
1164
|
+
if (a.name === onStageRole) {
|
|
1165
|
+
return -1;
|
|
1166
|
+
}
|
|
1167
|
+
if (b.name === onStageRole) {
|
|
1168
|
+
return 1;
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
const canAPublish = (((_a$publishSettings = a.publishSettings) === null || _a$publishSettings === void 0 ? void 0 : _a$publishSettings.allowed) && a.publishSettings.allowed.length > 0) ?? false;
|
|
1172
|
+
const canBPublish = (((_b$publishSettings = b.publishSettings) === null || _b$publishSettings === void 0 ? void 0 : _b$publishSettings.allowed) && b.publishSettings.allowed.length > 0) ?? false;
|
|
1173
|
+
if (canAPublish && canBPublish) {
|
|
1174
|
+
return 0;
|
|
920
1175
|
}
|
|
921
|
-
|
|
1176
|
+
if (canAPublish) {
|
|
1177
|
+
return -1;
|
|
1178
|
+
}
|
|
1179
|
+
return 1;
|
|
922
1180
|
});
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
1181
|
+
}, [peerGroups, onStageRole, roles]);
|
|
1182
|
+
const firstGroupName = peerGroups.has('hand-raised') ? 'hand-raised' : (_sortedRoles$ = sortedRoles[0]) === null || _sortedRoles$ === void 0 ? void 0 : _sortedRoles$.name;
|
|
1183
|
+
const [expandedGroups, setExpandedGroups] = useState(firstGroupName ? [firstGroupName] : []);
|
|
1184
|
+
const groupedList = useMemo(() => {
|
|
1185
|
+
let list = [];
|
|
1186
|
+
const handRaisedPeers = peerGroups.get('hand-raised');
|
|
1187
|
+
if (handRaisedPeers) {
|
|
1188
|
+
const expanded = expandedGroups.includes('hand-raised');
|
|
1189
|
+
list.push({
|
|
1190
|
+
type: expanded ? 'EXPANDED_HEADER' : 'COLLAPSED_HEADER',
|
|
1191
|
+
key: 'hand-raised',
|
|
1192
|
+
data: {
|
|
1193
|
+
label: `Hand Raised (${handRaisedPeers.length})`,
|
|
1194
|
+
itemsLength: handRaisedPeers.length
|
|
1195
|
+
}
|
|
930
1196
|
});
|
|
1197
|
+
if (expanded) {
|
|
1198
|
+
list = list.concat(handRaisedPeers.map((peer, idx, arr) => {
|
|
1199
|
+
const isLast = arr.length - 1 === idx;
|
|
1200
|
+
return {
|
|
1201
|
+
data: peer,
|
|
1202
|
+
key: `${peer.peerID}--${'hand-raised'}`,
|
|
1203
|
+
type: isLast ? 'LAST_ITEM' : 'REGULAR_ITEM'
|
|
1204
|
+
};
|
|
1205
|
+
}));
|
|
1206
|
+
}
|
|
931
1207
|
}
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
setHmsPeers([localPeer, ...peers]);
|
|
1208
|
+
sortedRoles.forEach(role => {
|
|
1209
|
+
const peers = peerGroups.get(role.name);
|
|
1210
|
+
if (peers) {
|
|
1211
|
+
const expanded = expandedGroups.includes(role.name);
|
|
1212
|
+
list.push({
|
|
1213
|
+
type: expanded ? 'EXPANDED_HEADER' : 'COLLAPSED_HEADER',
|
|
1214
|
+
key: role.name,
|
|
1215
|
+
data: {
|
|
1216
|
+
label: `${role.name} (${peers.length})`,
|
|
1217
|
+
role: role,
|
|
1218
|
+
itemsLength: peers.length
|
|
944
1219
|
}
|
|
945
1220
|
});
|
|
1221
|
+
if (expanded) {
|
|
1222
|
+
list = list.concat(peers.map((peer, idx, arr) => {
|
|
1223
|
+
const isLast = arr.length - 1 === idx;
|
|
1224
|
+
return {
|
|
1225
|
+
data: peer,
|
|
1226
|
+
key: `${peer.peerID}--${role.name}`,
|
|
1227
|
+
type: isLast ? 'LAST_ITEM' : 'REGULAR_ITEM'
|
|
1228
|
+
};
|
|
1229
|
+
}));
|
|
1230
|
+
}
|
|
946
1231
|
}
|
|
947
1232
|
});
|
|
948
|
-
return
|
|
949
|
-
|
|
950
|
-
};
|
|
951
|
-
}, [localPeer, hmsInstance]);
|
|
1233
|
+
return list;
|
|
1234
|
+
}, [expandedGroups, peerGroups, sortedRoles]);
|
|
952
1235
|
return {
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
1236
|
+
data: groupedList,
|
|
1237
|
+
searchText,
|
|
1238
|
+
formattedSearchText,
|
|
1239
|
+
setSearchText,
|
|
1240
|
+
expandedGroups,
|
|
1241
|
+
setExpandedGroups
|
|
959
1242
|
};
|
|
960
1243
|
};
|
|
1244
|
+
const groupParticipantsAsPerRole = (participants, searchText) => {
|
|
1245
|
+
const groups = new Map();
|
|
1246
|
+
for (const participant of participants) {
|
|
1247
|
+
const participantRole = participant.role;
|
|
1248
|
+
if (!participantRole) {
|
|
1249
|
+
continue;
|
|
1250
|
+
}
|
|
1251
|
+
if (searchText.length <= 0 || participant.name.toLowerCase().includes(searchText)) {
|
|
1252
|
+
if (!groups.has(participantRole.name)) {
|
|
1253
|
+
groups.set(participantRole.name, []);
|
|
1254
|
+
}
|
|
1255
|
+
const group = groups.get(participantRole.name);
|
|
1256
|
+
if (!group) {
|
|
1257
|
+
continue;
|
|
1258
|
+
}
|
|
1259
|
+
group.push(participant);
|
|
1260
|
+
if (parseMetadata(participant.metadata).isHandRaised) {
|
|
1261
|
+
if (!groups.has('hand-raised')) {
|
|
1262
|
+
groups.set('hand-raised', []);
|
|
1263
|
+
}
|
|
1264
|
+
const group = groups.get('hand-raised');
|
|
1265
|
+
if (group) group.push(participant);
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
return groups;
|
|
1270
|
+
};
|
|
961
1271
|
export const useShouldGoLive = () => {
|
|
962
1272
|
const shouldGoLive = useSelector(selectShouldGoLive);
|
|
963
1273
|
return shouldGoLive;
|
|
964
1274
|
};
|
|
965
|
-
export const useLeaveMethods =
|
|
1275
|
+
export const useLeaveMethods = isUnmounted => {
|
|
966
1276
|
const navigation = useContext(NavigationContext);
|
|
967
1277
|
const hmsInstance = useHMSInstance();
|
|
968
1278
|
const dispatch = useDispatch();
|
|
969
1279
|
const reduxStore = useStore();
|
|
970
|
-
const destroy = useCallback(
|
|
1280
|
+
const destroy = useCallback(() => {
|
|
971
1281
|
try {
|
|
972
|
-
const s =
|
|
1282
|
+
const s = hmsInstance.destroy();
|
|
973
1283
|
console.log('Destroy Success: ', s);
|
|
974
1284
|
// TODOS:
|
|
975
1285
|
// - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
|
|
@@ -995,11 +1305,10 @@ export const useLeaveMethods = () => {
|
|
|
995
1305
|
if (typeof onLeave === 'function') {
|
|
996
1306
|
onLeave();
|
|
997
1307
|
dispatch(clearStore());
|
|
998
|
-
} else if (navigation && navigation.canGoBack()) {
|
|
1308
|
+
} else if (navigation && navigation.canGoBack() && !isUnmounted) {
|
|
999
1309
|
navigation.goBack();
|
|
1000
1310
|
dispatch(clearStore());
|
|
1001
1311
|
} else {
|
|
1002
|
-
// TODO: call onLeave Callback if provided
|
|
1003
1312
|
// Otherwise default action is to show "Meeting Ended" screen
|
|
1004
1313
|
dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
|
|
1005
1314
|
dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
|
|
@@ -1010,7 +1319,13 @@ export const useLeaveMethods = () => {
|
|
|
1010
1319
|
return Promise.reject(e);
|
|
1011
1320
|
}
|
|
1012
1321
|
}, [hmsInstance]);
|
|
1013
|
-
const leave = useCallback(async ()
|
|
1322
|
+
const leave = useCallback(async function () {
|
|
1323
|
+
let shouldEndStream = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
1324
|
+
if (shouldEndStream) {
|
|
1325
|
+
hmsInstance.stopHLSStreaming().catch(error => {
|
|
1326
|
+
console.log('Stop HLS Streaming Error: ', error);
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1014
1329
|
try {
|
|
1015
1330
|
const d = await hmsInstance.leave();
|
|
1016
1331
|
console.log('Leave Success: ', d);
|
|
@@ -1045,13 +1360,18 @@ export const useLeaveMethods = () => {
|
|
|
1045
1360
|
goToPreview
|
|
1046
1361
|
};
|
|
1047
1362
|
};
|
|
1048
|
-
|
|
1049
|
-
|
|
1363
|
+
|
|
1364
|
+
// Returns layout config as it is returned from server
|
|
1365
|
+
export const useHMSLayoutConfig = (selector, equalityFn) => {
|
|
1366
|
+
return useSelector(state => {
|
|
1367
|
+
var _state$hmsStates$loca3;
|
|
1368
|
+
return selector(selectLayoutConfigForRole(state.hmsStates.layoutConfig, ((_state$hmsStates$loca3 = state.hmsStates.localPeer) === null || _state$hmsStates$loca3 === void 0 ? void 0 : _state$hmsStates$loca3.role) || null));
|
|
1369
|
+
}, equalityFn);
|
|
1050
1370
|
};
|
|
1051
1371
|
export const useHMSRoomTheme = selector => {
|
|
1052
|
-
return
|
|
1053
|
-
|
|
1054
|
-
const roomTheme = layoutConfig === null || layoutConfig === void 0 ? void 0 :
|
|
1372
|
+
return useHMSLayoutConfig(layoutConfig => {
|
|
1373
|
+
var _layoutConfig$themes;
|
|
1374
|
+
const roomTheme = layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$themes = layoutConfig.themes) === null || _layoutConfig$themes === void 0 ? void 0 : _layoutConfig$themes.find(theme => theme.default);
|
|
1055
1375
|
const defaultTheme = roomTheme ? roomTheme.palette ? roomTheme : {
|
|
1056
1376
|
...roomTheme,
|
|
1057
1377
|
palette: DEFAULT_THEME.palette
|
|
@@ -1066,8 +1386,7 @@ export const useHMSRoomColorPalette = () => {
|
|
|
1066
1386
|
return useHMSRoomTheme(theme => theme.palette);
|
|
1067
1387
|
};
|
|
1068
1388
|
export const useHMSRoomTypography = () => {
|
|
1069
|
-
return
|
|
1070
|
-
const layoutConfig = state.hmsStates.layoutConfig;
|
|
1389
|
+
return useHMSLayoutConfig(layoutConfig => {
|
|
1071
1390
|
const typography = layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.typography;
|
|
1072
1391
|
if (!typography) {
|
|
1073
1392
|
return DEFAULT_TYPOGRAPHY;
|
|
@@ -1078,6 +1397,9 @@ export const useHMSRoomTypography = () => {
|
|
|
1078
1397
|
...typography
|
|
1079
1398
|
};
|
|
1080
1399
|
}
|
|
1400
|
+
|
|
1401
|
+
// formatting font family name
|
|
1402
|
+
typography.font_family = typography.font_family.replace(/ /g, '');
|
|
1081
1403
|
return typography;
|
|
1082
1404
|
}, shallowEqual);
|
|
1083
1405
|
};
|
|
@@ -1093,4 +1415,84 @@ export const useHMSRoomStyle = function (updater) {
|
|
|
1093
1415
|
default: updater(theme, typography)
|
|
1094
1416
|
}), deps).default;
|
|
1095
1417
|
};
|
|
1418
|
+
export const useSendMessage = () => {
|
|
1419
|
+
const hmsInstance = useHMSInstance();
|
|
1420
|
+
const dispatch = useDispatch();
|
|
1421
|
+
const reduxStore = useStore();
|
|
1422
|
+
const message = useSelector(state => state.chatWindow.typedMessage);
|
|
1423
|
+
const setMessage = useCallback(text => {
|
|
1424
|
+
dispatch({
|
|
1425
|
+
type: 'SET_TYPED_MESSAGE',
|
|
1426
|
+
typedMessage: text
|
|
1427
|
+
});
|
|
1428
|
+
}, []);
|
|
1429
|
+
const sendMessage = useCallback(async () => {
|
|
1430
|
+
const chatWindowState = reduxStore.getState().chatWindow;
|
|
1431
|
+
const message = chatWindowState.typedMessage;
|
|
1432
|
+
const sendingTo = chatWindowState.sendTo;
|
|
1433
|
+
if (message.length <= 0) return;
|
|
1434
|
+
const hmsMessageRecipient = new HMSMessageRecipient({
|
|
1435
|
+
recipientType: 'publishSettings' in sendingTo ? HMSMessageRecipientType.ROLES : 'peerID' in sendingTo ? HMSMessageRecipientType.PEER : HMSMessageRecipientType.BROADCAST,
|
|
1436
|
+
recipientPeer: 'peerID' in sendingTo ? sendingTo : undefined,
|
|
1437
|
+
recipientRoles: 'publishSettings' in sendingTo ? [sendingTo] : undefined
|
|
1438
|
+
});
|
|
1439
|
+
|
|
1440
|
+
// Saving reference of `message` state to local variable
|
|
1441
|
+
// to use the typed message after clearing state
|
|
1442
|
+
const messageText = message;
|
|
1443
|
+
dispatch({
|
|
1444
|
+
type: 'SET_TYPED_MESSAGE',
|
|
1445
|
+
typedMessage: ''
|
|
1446
|
+
});
|
|
1447
|
+
const handleMessageID = _ref5 => {
|
|
1448
|
+
let {
|
|
1449
|
+
messageId
|
|
1450
|
+
} = _ref5;
|
|
1451
|
+
const localPeer = reduxStore.getState().hmsStates.localPeer;
|
|
1452
|
+
if (messageId) {
|
|
1453
|
+
Keyboard.dismiss();
|
|
1454
|
+
const localMessage = new HMSMessage({
|
|
1455
|
+
messageId: messageId,
|
|
1456
|
+
message: messageText,
|
|
1457
|
+
type: 'chat',
|
|
1458
|
+
time: new Date(),
|
|
1459
|
+
sender: localPeer || undefined,
|
|
1460
|
+
recipient: hmsMessageRecipient
|
|
1461
|
+
});
|
|
1462
|
+
dispatch(addMessage(localMessage));
|
|
1463
|
+
}
|
|
1464
|
+
};
|
|
1465
|
+
try {
|
|
1466
|
+
let result;
|
|
1467
|
+
if ('publishSettings' in sendingTo) {
|
|
1468
|
+
result = await hmsInstance.sendGroupMessage(messageText, [sendingTo]);
|
|
1469
|
+
} else if ('peerID' in sendingTo) {
|
|
1470
|
+
result = await hmsInstance.sendDirectMessage(messageText, sendingTo);
|
|
1471
|
+
} else {
|
|
1472
|
+
result = await hmsInstance.sendBroadcastMessage(messageText);
|
|
1473
|
+
}
|
|
1474
|
+
handleMessageID(result);
|
|
1475
|
+
return Promise.resolve(result);
|
|
1476
|
+
} catch (error) {
|
|
1477
|
+
return Promise.reject(error);
|
|
1478
|
+
}
|
|
1479
|
+
}, []);
|
|
1480
|
+
return {
|
|
1481
|
+
message,
|
|
1482
|
+
setMessage,
|
|
1483
|
+
sendMessage
|
|
1484
|
+
};
|
|
1485
|
+
};
|
|
1486
|
+
export const useHMSChatLayoutConfig = (selector, equalityFn) => {
|
|
1487
|
+
return useHMSLayoutConfig(layoutConfig => {
|
|
1488
|
+
const chatConfig = selectChatLayoutConfig(layoutConfig);
|
|
1489
|
+
return selector(chatConfig);
|
|
1490
|
+
}, equalityFn);
|
|
1491
|
+
};
|
|
1492
|
+
export const useHMSConferencingScreenConfig = (selector, equalityFn) => {
|
|
1493
|
+
return useHMSLayoutConfig(layoutConfig => {
|
|
1494
|
+
const conferencingScreenConfig = selectConferencingScreenConfig(layoutConfig);
|
|
1495
|
+
return selector(conferencingScreenConfig);
|
|
1496
|
+
}, equalityFn);
|
|
1497
|
+
};
|
|
1096
1498
|
//# sourceMappingURL=hooks-util.js.map
|