@100mslive/react-native-room-kit 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/HMSRoomSetup.js +4 -1
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/Chat/assets/chat-on.png +0 -0
- package/lib/commonjs/Icons/Chat/assets/chat-on@2x.png +0 -0
- package/lib/commonjs/Icons/Chat/assets/chat-on@3x.png +0 -0
- package/lib/commonjs/Icons/Chat/index.js +4 -3
- package/lib/commonjs/Icons/Chat/index.js.map +1 -1
- package/lib/commonjs/Icons/NoEntry/assets/no-entry.png +0 -0
- package/lib/commonjs/Icons/NoEntry/assets/no-entry@2x.png +0 -0
- package/lib/commonjs/Icons/NoEntry/assets/no-entry@3x.png +0 -0
- package/lib/commonjs/Icons/NoEntry/index.js +33 -0
- package/lib/commonjs/Icons/NoEntry/index.js.map +1 -0
- package/lib/commonjs/Icons/PauseCircle/assets/pause-circle.png +0 -0
- package/lib/commonjs/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
- package/lib/commonjs/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
- package/lib/commonjs/Icons/PauseCircle/index.js +29 -0
- package/lib/commonjs/Icons/PauseCircle/index.js.map +1 -0
- package/lib/commonjs/Icons/Pin/assets/unpin.png +0 -0
- package/lib/commonjs/Icons/Pin/assets/unpin@2x.png +0 -0
- package/lib/commonjs/Icons/Pin/assets/unpin@3x.png +0 -0
- package/lib/commonjs/Icons/Pin/index.js +2 -1
- package/lib/commonjs/Icons/Pin/index.js.map +1 -1
- package/lib/commonjs/Icons/Recording/assets/recording-pause.png +0 -0
- package/lib/commonjs/Icons/Recording/assets/recording-pause@2x.png +0 -0
- package/lib/commonjs/Icons/Recording/assets/recording-pause@3x.png +0 -0
- package/lib/commonjs/Icons/Recording/index.js.map +1 -1
- package/lib/commonjs/Icons/index.js +22 -0
- package/lib/commonjs/Icons/index.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js +36 -0
- package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +90 -23
- package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatFilterItem.js +10 -7
- package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatFilterView.js +54 -45
- package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatList.js +13 -6
- package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatMessage.js +79 -7
- package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
- package/lib/commonjs/components/Chat/ChatMoreActionsModal.js +61 -0
- package/lib/commonjs/components/Chat/ChatMoreActionsModal.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js +63 -0
- package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatMoreActionsView.js +83 -0
- package/lib/commonjs/components/Chat/ChatMoreActionsView.js.map +1 -0
- package/lib/commonjs/components/Chat/ChatPaused.js +86 -0
- package/lib/commonjs/components/Chat/ChatPaused.js.map +1 -0
- package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js +34 -0
- package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js.map +1 -0
- package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js +66 -0
- package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js.map +1 -0
- package/lib/commonjs/components/Chat/MessageOptionsView.js +188 -0
- package/lib/commonjs/components/Chat/MessageOptionsView.js.map +1 -0
- package/lib/commonjs/components/Chat/PeerBlockedFromChat.js +47 -0
- package/lib/commonjs/components/Chat/PeerBlockedFromChat.js.map +1 -0
- package/lib/commonjs/components/Chat/PinnedMessages.js +297 -0
- package/lib/commonjs/components/Chat/PinnedMessages.js.map +1 -0
- package/lib/commonjs/components/Chat/index.js +4 -4
- package/lib/commonjs/components/Chat/index.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +21 -2
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatView.js +21 -2
- package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -1
- package/lib/commonjs/components/EndRoomModalContent.js +6 -9
- package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
- package/lib/commonjs/components/Footer.js.map +1 -1
- package/lib/commonjs/components/GridView.js.map +1 -1
- package/lib/commonjs/components/HLSView.js +8 -6
- package/lib/commonjs/components/HLSView.js.map +1 -1
- package/lib/commonjs/components/HMSBaseButton.js +10 -2
- package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
- package/lib/commonjs/components/HMSDangerButton.js +4 -2
- package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
- package/lib/commonjs/components/HMSHLSMessage.js +86 -1
- package/lib/commonjs/components/HMSHLSMessage.js.map +1 -1
- package/lib/commonjs/components/HMSHLSMessageList.js +2 -2
- package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
- package/lib/commonjs/components/HMSHandRaiseNotification.js +6 -3
- package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -1
- package/lib/commonjs/components/HMSKeyboardAvoidingView.js +5 -1
- package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -1
- package/lib/commonjs/components/HMSLiveIndicator.js +2 -6
- package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSLiveViewerCount.js +8 -7
- package/lib/commonjs/components/HMSLiveViewerCount.js.map +1 -1
- package/lib/commonjs/components/HMSLocalScreenshareNotification.js +2 -1
- package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
- package/lib/commonjs/components/HMSNotification.js +31 -4
- package/lib/commonjs/components/HMSNotification.js.map +1 -1
- package/lib/commonjs/components/HMSNotifications.js +9 -2
- package/lib/commonjs/components/HMSNotifications.js.map +1 -1
- package/lib/commonjs/components/HMSOverlayChatView.js +44 -2
- package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +2 -6
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSPrimaryButton.js +4 -2
- package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
- package/lib/commonjs/components/HMSRecordingIndicator.js +11 -16
- package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
- package/lib/commonjs/components/HMSTerminalErrorNotification.js +6 -2
- package/lib/commonjs/components/HMSTerminalErrorNotification.js.map +1 -1
- package/lib/commonjs/components/Header.js.map +1 -1
- package/lib/commonjs/components/LeaveRoomBottomSheet.js +3 -6
- package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -1
- package/lib/commonjs/components/Meeting.js +3 -0
- package/lib/commonjs/components/Meeting.js.map +1 -1
- package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
- package/lib/commonjs/components/Modals.js +9 -12
- package/lib/commonjs/components/Modals.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +5 -1
- package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -1
- package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
- package/lib/commonjs/components/Preview.js +14 -1
- package/lib/commonjs/components/Preview.js.map +1 -1
- package/lib/commonjs/components/PreviewForRoleChangeModal.js +5 -4
- package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalContent.js +15 -6
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +2 -4
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
- package/lib/commonjs/components/WebrtcView.js.map +1 -1
- package/lib/commonjs/hooks-sdk-selectors.js +16 -1
- package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
- package/lib/commonjs/hooks-sdk.js +27 -1
- package/lib/commonjs/hooks-sdk.js.map +1 -1
- package/lib/commonjs/hooks-util-selectors.js +3 -3
- package/lib/commonjs/hooks-util-selectors.js.map +1 -1
- package/lib/commonjs/hooks-util.js +408 -61
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/redux/actionTypes.js +16 -3
- package/lib/commonjs/redux/actionTypes.js.map +1 -1
- package/lib/commonjs/redux/actions/index.js +44 -4
- package/lib/commonjs/redux/actions/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/appState.js +41 -1
- package/lib/commonjs/redux/reducers/appState.js.map +1 -1
- package/lib/commonjs/redux/reducers/chatWindow.js +1 -2
- package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
- package/lib/commonjs/redux/reducers/message.js +17 -4
- package/lib/commonjs/redux/reducers/message.js.map +1 -1
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/types.js +3 -0
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/utils.js +2 -2
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +5 -2
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/Chat/assets/chat-on.png +0 -0
- package/lib/module/Icons/Chat/assets/chat-on@2x.png +0 -0
- package/lib/module/Icons/Chat/assets/chat-on@3x.png +0 -0
- package/lib/module/Icons/Chat/index.js +4 -3
- package/lib/module/Icons/Chat/index.js.map +1 -1
- package/lib/module/Icons/NoEntry/assets/no-entry.png +0 -0
- package/lib/module/Icons/NoEntry/assets/no-entry@2x.png +0 -0
- package/lib/module/Icons/NoEntry/assets/no-entry@3x.png +0 -0
- package/lib/module/Icons/NoEntry/index.js +25 -0
- package/lib/module/Icons/NoEntry/index.js.map +1 -0
- package/lib/module/Icons/PauseCircle/assets/pause-circle.png +0 -0
- package/lib/module/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
- package/lib/module/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
- package/lib/module/Icons/PauseCircle/index.js +21 -0
- package/lib/module/Icons/PauseCircle/index.js.map +1 -0
- package/lib/module/Icons/Pin/assets/unpin.png +0 -0
- package/lib/module/Icons/Pin/assets/unpin@2x.png +0 -0
- package/lib/module/Icons/Pin/assets/unpin@3x.png +0 -0
- package/lib/module/Icons/Pin/index.js +2 -1
- package/lib/module/Icons/Pin/index.js.map +1 -1
- package/lib/module/Icons/Recording/assets/recording-pause.png +0 -0
- package/lib/module/Icons/Recording/assets/recording-pause@2x.png +0 -0
- package/lib/module/Icons/Recording/assets/recording-pause@3x.png +0 -0
- package/lib/module/Icons/Recording/index.js.map +1 -1
- package/lib/module/Icons/index.js +2 -0
- package/lib/module/Icons/index.js.map +1 -1
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/Chat/ChatFilterBottomSheet.js +28 -0
- package/lib/module/components/Chat/ChatFilterBottomSheet.js.map +1 -0
- package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js +93 -26
- package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
- package/lib/module/components/Chat/ChatFilterItem.js +11 -8
- package/lib/module/components/Chat/ChatFilterItem.js.map +1 -1
- package/lib/module/components/Chat/ChatFilterView.js +55 -46
- package/lib/module/components/Chat/ChatFilterView.js.map +1 -1
- package/lib/module/components/Chat/ChatList.js +14 -7
- package/lib/module/components/Chat/ChatList.js.map +1 -1
- package/lib/module/components/Chat/ChatMessage.js +81 -9
- package/lib/module/components/Chat/ChatMessage.js.map +1 -1
- package/lib/module/components/Chat/ChatMoreActionsModal.js +53 -0
- package/lib/module/components/Chat/ChatMoreActionsModal.js.map +1 -0
- package/lib/module/components/Chat/ChatMoreActionsSheetView.js +55 -0
- package/lib/module/components/Chat/ChatMoreActionsSheetView.js.map +1 -0
- package/lib/module/components/Chat/ChatMoreActionsView.js +75 -0
- package/lib/module/components/Chat/ChatMoreActionsView.js.map +1 -0
- package/lib/module/components/Chat/ChatPaused.js +77 -0
- package/lib/module/components/Chat/ChatPaused.js.map +1 -0
- package/lib/module/components/Chat/MessageOptionsBottomSheet.js +26 -0
- package/lib/module/components/Chat/MessageOptionsBottomSheet.js.map +1 -0
- package/lib/module/components/Chat/MessageOptionsBottomSheetView.js +58 -0
- package/lib/module/components/Chat/MessageOptionsBottomSheetView.js.map +1 -0
- package/lib/module/components/Chat/MessageOptionsView.js +180 -0
- package/lib/module/components/Chat/MessageOptionsView.js.map +1 -0
- package/lib/module/components/Chat/PeerBlockedFromChat.js +38 -0
- package/lib/module/components/Chat/PeerBlockedFromChat.js.map +1 -0
- package/lib/module/components/Chat/PinnedMessages.js +288 -0
- package/lib/module/components/Chat/PinnedMessages.js.map +1 -0
- package/lib/module/components/Chat/index.js +1 -1
- package/lib/module/components/Chat/index.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +24 -5
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatView.js +22 -3
- package/lib/module/components/ChatAndParticipants/ChatView.js.map +1 -1
- package/lib/module/components/EndRoomModalContent.js +6 -9
- package/lib/module/components/EndRoomModalContent.js.map +1 -1
- package/lib/module/components/Footer.js.map +1 -1
- package/lib/module/components/GridView.js.map +1 -1
- package/lib/module/components/HLSView.js +9 -7
- package/lib/module/components/HLSView.js.map +1 -1
- package/lib/module/components/HMSBaseButton.js +10 -2
- package/lib/module/components/HMSBaseButton.js.map +1 -1
- package/lib/module/components/HMSDangerButton.js +4 -2
- package/lib/module/components/HMSDangerButton.js.map +1 -1
- package/lib/module/components/HMSHLSMessage.js +88 -3
- package/lib/module/components/HMSHLSMessage.js.map +1 -1
- package/lib/module/components/HMSHLSMessageList.js +2 -2
- package/lib/module/components/HMSHLSMessageList.js.map +1 -1
- package/lib/module/components/HMSHandRaiseNotification.js +6 -3
- package/lib/module/components/HMSHandRaiseNotification.js.map +1 -1
- package/lib/module/components/HMSKeyboardAvoidingView.js +6 -2
- package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -1
- package/lib/module/components/HMSLiveIndicator.js +2 -6
- package/lib/module/components/HMSLiveIndicator.js.map +1 -1
- package/lib/module/components/HMSLiveViewerCount.js +8 -7
- package/lib/module/components/HMSLiveViewerCount.js.map +1 -1
- package/lib/module/components/HMSLocalScreenshareNotification.js +2 -1
- package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -1
- package/lib/module/components/HMSNotification.js +32 -5
- package/lib/module/components/HMSNotification.js.map +1 -1
- package/lib/module/components/HMSNotifications.js +9 -2
- package/lib/module/components/HMSNotifications.js.map +1 -1
- package/lib/module/components/HMSOverlayChatView.js +45 -3
- package/lib/module/components/HMSOverlayChatView.js.map +1 -1
- package/lib/module/components/HMSPreviewEditName.js.map +1 -1
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js +2 -6
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
- package/lib/module/components/HMSPrimaryButton.js +4 -2
- package/lib/module/components/HMSPrimaryButton.js.map +1 -1
- package/lib/module/components/HMSRecordingIndicator.js +11 -16
- package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
- package/lib/module/components/HMSRoomOptions.js.map +1 -1
- package/lib/module/components/HMSTerminalErrorNotification.js +6 -2
- package/lib/module/components/HMSTerminalErrorNotification.js.map +1 -1
- package/lib/module/components/Header.js.map +1 -1
- package/lib/module/components/LeaveRoomBottomSheet.js +3 -6
- package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
- package/lib/module/components/Meeting.js +4 -1
- package/lib/module/components/Meeting.js.map +1 -1
- package/lib/module/components/MeetingScreenContent.js.map +1 -1
- package/lib/module/components/Modals.js +10 -13
- package/lib/module/components/Modals.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsItemOptions.js +5 -1
- package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -1
- package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
- package/lib/module/components/Preview.js +13 -2
- package/lib/module/components/Preview.js.map +1 -1
- package/lib/module/components/PreviewForRoleChangeModal.js +5 -4
- package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -1
- package/lib/module/components/RoomSettingsModalContent.js +16 -7
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/components/RoomSettingsModalDebugModeContent.js +3 -5
- package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
- package/lib/module/components/WebrtcView.js.map +1 -1
- package/lib/module/hooks-sdk-selectors.js +12 -0
- package/lib/module/hooks-sdk-selectors.js.map +1 -1
- package/lib/module/hooks-sdk.js +23 -1
- package/lib/module/hooks-sdk.js.map +1 -1
- package/lib/module/hooks-util-selectors.js +3 -3
- package/lib/module/hooks-util-selectors.js.map +1 -1
- package/lib/module/hooks-util.js +398 -62
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/redux/actionTypes.js +16 -3
- package/lib/module/redux/actionTypes.js.map +1 -1
- package/lib/module/redux/actions/index.js +36 -2
- package/lib/module/redux/actions/index.js.map +1 -1
- package/lib/module/redux/reducers/appState.js +41 -1
- package/lib/module/redux/reducers/appState.js.map +1 -1
- package/lib/module/redux/reducers/chatWindow.js +1 -2
- package/lib/module/redux/reducers/chatWindow.js.map +1 -1
- package/lib/module/redux/reducers/message.js +17 -4
- package/lib/module/redux/reducers/message.js.map +1 -1
- package/lib/module/types.js +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/types.js +3 -0
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/utils.js +2 -2
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/Icons/Chat/index.d.ts +1 -0
- package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
- package/lib/typescript/Icons/NoEntry/index.d.ts +7 -0
- package/lib/typescript/Icons/NoEntry/index.d.ts.map +1 -0
- package/lib/typescript/Icons/PauseCircle/index.d.ts +7 -0
- package/lib/typescript/Icons/PauseCircle/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Pin/index.d.ts +1 -0
- package/lib/typescript/Icons/Pin/index.d.ts.map +1 -1
- package/lib/typescript/Icons/index.d.ts +2 -0
- package/lib/typescript/Icons/index.d.ts.map +1 -1
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatFilterBottomSheet.d.ts +3 -0
- package/lib/typescript/components/Chat/ChatFilterBottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts +1 -0
- package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatFilterItem.d.ts +1 -0
- package/lib/typescript/components/Chat/ChatFilterItem.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatFilterView.d.ts +1 -0
- package/lib/typescript/components/Chat/ChatFilterView.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatList.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatMessage.d.ts.map +1 -1
- package/lib/typescript/components/Chat/ChatMoreActionsModal.d.ts +7 -0
- package/lib/typescript/components/Chat/ChatMoreActionsModal.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatMoreActionsSheetView.d.ts +6 -0
- package/lib/typescript/components/Chat/ChatMoreActionsSheetView.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatMoreActionsView.d.ts +7 -0
- package/lib/typescript/components/Chat/ChatMoreActionsView.d.ts.map +1 -0
- package/lib/typescript/components/Chat/ChatPaused.d.ts +10 -0
- package/lib/typescript/components/Chat/ChatPaused.d.ts.map +1 -0
- package/lib/typescript/components/Chat/MessageOptionsBottomSheet.d.ts +3 -0
- package/lib/typescript/components/Chat/MessageOptionsBottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/Chat/MessageOptionsBottomSheetView.d.ts +6 -0
- package/lib/typescript/components/Chat/MessageOptionsBottomSheetView.d.ts.map +1 -0
- package/lib/typescript/components/Chat/MessageOptionsView.d.ts +7 -0
- package/lib/typescript/components/Chat/MessageOptionsView.d.ts.map +1 -0
- package/lib/typescript/components/Chat/PeerBlockedFromChat.d.ts +9 -0
- package/lib/typescript/components/Chat/PeerBlockedFromChat.d.ts.map +1 -0
- package/lib/typescript/components/Chat/PinnedMessages.d.ts +8 -0
- package/lib/typescript/components/Chat/PinnedMessages.d.ts.map +1 -0
- package/lib/typescript/components/Chat/index.d.ts +1 -1
- package/lib/typescript/components/Chat/index.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts.map +1 -1
- package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
- package/lib/typescript/components/Footer.d.ts.map +1 -1
- package/lib/typescript/components/GridView.d.ts.map +1 -1
- package/lib/typescript/components/HMSBaseButton.d.ts +1 -0
- package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSDangerButton.d.ts +1 -0
- package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSHLSMessage.d.ts +1 -1
- package/lib/typescript/components/HMSHLSMessage.d.ts.map +1 -1
- package/lib/typescript/components/HMSHandRaiseNotification.d.ts.map +1 -1
- package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -1
- package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSLiveViewerCount.d.ts.map +1 -1
- package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -1
- package/lib/typescript/components/HMSNotification.d.ts +2 -1
- package/lib/typescript/components/HMSNotification.d.ts.map +1 -1
- package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
- package/lib/typescript/components/HMSOverlayChatView.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSPrimaryButton.d.ts +1 -0
- package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
- package/lib/typescript/components/HMSTerminalErrorNotification.d.ts.map +1 -1
- package/lib/typescript/components/Header.d.ts.map +1 -1
- package/lib/typescript/components/LeaveRoomBottomSheet.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/Modals.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -1
- package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
- package/lib/typescript/components/Preview.d.ts.map +1 -1
- package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -1
- package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
- package/lib/typescript/hooks-sdk-selectors.d.ts +3 -0
- package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-sdk.d.ts +4 -0
- package/lib/typescript/hooks-sdk.d.ts.map +1 -1
- package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts +35 -3
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/redux/actionTypes.d.ts +9 -2
- package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
- package/lib/typescript/redux/actions/index.d.ts +37 -3
- package/lib/typescript/redux/actions/index.d.ts.map +1 -1
- package/lib/typescript/redux/index.d.ts +7 -2
- package/lib/typescript/redux/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/appState.d.ts +7 -2
- package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/chatWindow.d.ts +1 -1
- package/lib/typescript/redux/reducers/chatWindow.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/index.d.ts +7 -2
- package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/message.d.ts +3 -2
- package/lib/typescript/redux/reducers/message.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +23 -3
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +3 -0
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +179 -179
- package/src/HMSRoomSetup.tsx +7 -2
- package/src/Icons/Chat/assets/chat-on.png +0 -0
- package/src/Icons/Chat/assets/chat-on@2x.png +0 -0
- package/src/Icons/Chat/assets/chat-on@3x.png +0 -0
- package/src/Icons/Chat/index.tsx +19 -6
- package/src/Icons/NoEntry/assets/no-entry.png +0 -0
- package/src/Icons/NoEntry/assets/no-entry@2x.png +0 -0
- package/src/Icons/NoEntry/assets/no-entry@3x.png +0 -0
- package/src/Icons/NoEntry/index.tsx +33 -0
- package/src/Icons/PauseCircle/assets/pause-circle.png +0 -0
- package/src/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
- package/src/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
- package/src/Icons/PauseCircle/index.tsx +27 -0
- package/src/Icons/Pin/assets/unpin.png +0 -0
- package/src/Icons/Pin/assets/unpin@2x.png +0 -0
- package/src/Icons/Pin/assets/unpin@3x.png +0 -0
- package/src/Icons/Pin/index.tsx +13 -3
- package/src/Icons/Recording/assets/recording-pause.png +0 -0
- package/src/Icons/Recording/assets/recording-pause@2x.png +0 -0
- package/src/Icons/Recording/assets/recording-pause@3x.png +0 -0
- package/src/Icons/Recording/index.tsx +2 -2
- package/src/Icons/index.ts +2 -0
- package/src/components/BottomSheet.tsx +13 -3
- package/src/components/Chat/ChatFilterBottomSheet.tsx +35 -0
- package/src/components/Chat/ChatFilterBottomSheetOpener.tsx +170 -42
- package/src/components/Chat/ChatFilterItem.tsx +8 -4
- package/src/components/Chat/ChatFilterView.tsx +102 -75
- package/src/components/Chat/ChatList.tsx +18 -6
- package/src/components/Chat/ChatMessage.tsx +111 -7
- package/src/components/Chat/ChatMoreActionsModal.tsx +75 -0
- package/src/components/Chat/ChatMoreActionsSheetView.tsx +77 -0
- package/src/components/Chat/ChatMoreActionsView.tsx +84 -0
- package/src/components/Chat/ChatPaused.tsx +103 -0
- package/src/components/Chat/MessageOptionsBottomSheet.tsx +33 -0
- package/src/components/Chat/MessageOptionsBottomSheetView.tsx +82 -0
- package/src/components/Chat/MessageOptionsView.tsx +248 -0
- package/src/components/Chat/PeerBlockedFromChat.tsx +49 -0
- package/src/components/Chat/PinnedMessages.tsx +422 -0
- package/src/components/Chat/index.ts +1 -1
- package/src/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.tsx +4 -1
- package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +48 -12
- package/src/components/ChatAndParticipants/ChatAndParticipantsView.tsx +9 -1
- package/src/components/ChatAndParticipants/ChatView.tsx +37 -5
- package/src/components/EndRoomModalContent.tsx +11 -14
- package/src/components/Footer.tsx +3 -1
- package/src/components/GridView.tsx +17 -8
- package/src/components/HLSView.tsx +45 -45
- package/src/components/HMSBaseButton.tsx +17 -2
- package/src/components/HMSDangerButton.tsx +3 -0
- package/src/components/HMSHLSMessage.tsx +130 -13
- package/src/components/HMSHLSMessageList.tsx +2 -2
- package/src/components/HMSHandRaiseNotification.tsx +17 -10
- package/src/components/HMSKeyboardAvoidingView.tsx +6 -1
- package/src/components/HMSLiveIndicator.tsx +9 -13
- package/src/components/HMSLiveViewerCount.tsx +21 -20
- package/src/components/HMSLocalScreenshareNotification.tsx +1 -0
- package/src/components/HMSNotification.tsx +56 -13
- package/src/components/HMSNotifications.tsx +12 -2
- package/src/components/HMSOverlayChatView.tsx +74 -17
- package/src/components/HMSPreviewEditName.tsx +3 -1
- package/src/components/HMSPreviewHLSLiveIndicator.tsx +2 -6
- package/src/components/HMSPrimaryButton.tsx +3 -0
- package/src/components/HMSRecordingIndicator.tsx +8 -22
- package/src/components/HMSRoomOptions.tsx +4 -1
- package/src/components/HMSTerminalErrorNotification.tsx +15 -10
- package/src/components/Header.tsx +4 -1
- package/src/components/LeaveRoomBottomSheet.tsx +13 -11
- package/src/components/Meeting.tsx +4 -0
- package/src/components/MeetingScreenContent.tsx +24 -21
- package/src/components/Modals.tsx +23 -25
- package/src/components/Participants/ParticipantsItemOptions.tsx +12 -7
- package/src/components/PeerSettingsModalContent.tsx +3 -1
- package/src/components/PeerVideoTile/PeerVideoTileView.tsx +3 -1
- package/src/components/Preview.tsx +15 -2
- package/src/components/PreviewForRoleChangeModal.tsx +4 -3
- package/src/components/RoomSettingsModalContent.tsx +62 -18
- package/src/components/RoomSettingsModalDebugModeContent.tsx +2 -5
- package/src/components/WebrtcView.tsx +6 -2
- package/src/hooks-sdk-selectors.tsx +19 -0
- package/src/hooks-sdk.ts +37 -0
- package/src/hooks-util-selectors.tsx +2 -3
- package/src/hooks-util.ts +578 -87
- package/src/redux/actionTypes.ts +22 -2
- package/src/redux/actions/index.ts +41 -4
- package/src/redux/reducers/appState.ts +54 -5
- package/src/redux/reducers/chatWindow.ts +2 -2
- package/src/redux/reducers/message.ts +20 -6
- package/src/types.ts +35 -6
- package/src/utils/types.ts +3 -0
- package/src/utils.ts +2 -2
- package/lib/commonjs/components/Chat/PinnedMessage.js +0 -81
- package/lib/commonjs/components/Chat/PinnedMessage.js.map +0 -1
- package/lib/module/components/Chat/PinnedMessage.js +0 -72
- package/lib/module/components/Chat/PinnedMessage.js.map +0 -1
- package/lib/typescript/components/Chat/PinnedMessage.d.ts +0 -3
- package/lib/typescript/components/Chat/PinnedMessage.d.ts.map +0 -1
- package/src/components/Chat/PinnedMessage.tsx +0 -89
|
@@ -5,6 +5,7 @@ import { StyleSheet, Text, View } from 'react-native';
|
|
|
5
5
|
import { useDispatch, useSelector } from 'react-redux';
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
|
+
useHMSChatRecipientSelector,
|
|
8
9
|
useHMSInstance,
|
|
9
10
|
useHMSRoomColorPalette,
|
|
10
11
|
useHMSRoomStyleSheet,
|
|
@@ -17,16 +18,22 @@ import { ChatFilterItem } from './ChatFilterItem';
|
|
|
17
18
|
import { setChatFilterSheetVisible } from '../../redux/actions';
|
|
18
19
|
import { ChatBroadcastFilter } from '../../utils/types';
|
|
19
20
|
|
|
20
|
-
interface ChatFilterViewProps {
|
|
21
|
+
interface ChatFilterViewProps {
|
|
22
|
+
onDismiss?: () => void;
|
|
23
|
+
}
|
|
21
24
|
|
|
22
|
-
const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
25
|
+
const _ChatFilterView: React.FC<ChatFilterViewProps> = ({ onDismiss }) => {
|
|
23
26
|
const hmsInstance = useHMSInstance();
|
|
24
27
|
const dispatch = useDispatch();
|
|
25
28
|
const filter = useSelector((state: RootState) => state.chatWindow.sendTo);
|
|
26
|
-
const roles = useSelector((state: RootState) => state.hmsStates.roles);
|
|
27
29
|
const [loadingPeersList, setLoadingPeersList] = React.useState(false);
|
|
28
30
|
const [remotePeers, setRemotePeers] = React.useState<HMSRemotePeer[]>([]);
|
|
29
31
|
const [filterText, setFilterText] = React.useState('');
|
|
32
|
+
const {
|
|
33
|
+
privateChat,
|
|
34
|
+
publicChat,
|
|
35
|
+
roles: rolesSpecificChat,
|
|
36
|
+
} = useHMSChatRecipientSelector();
|
|
30
37
|
|
|
31
38
|
const { on_surface_medium: onSurfaceMediumColor } = useHMSRoomColorPalette();
|
|
32
39
|
|
|
@@ -46,23 +53,25 @@ const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
|
46
53
|
}));
|
|
47
54
|
|
|
48
55
|
React.useEffect(() => {
|
|
49
|
-
|
|
56
|
+
if (privateChat) {
|
|
57
|
+
let mounted = true;
|
|
50
58
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
const fetchRemotePeers = async () => {
|
|
60
|
+
setLoadingPeersList(true);
|
|
61
|
+
const fetchedRemotePeers = await hmsInstance.getRemotePeers();
|
|
62
|
+
if (mounted) {
|
|
63
|
+
setLoadingPeersList(false);
|
|
64
|
+
setRemotePeers(fetchedRemotePeers);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
59
67
|
|
|
60
|
-
|
|
68
|
+
fetchRemotePeers();
|
|
61
69
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
70
|
+
return () => {
|
|
71
|
+
mounted = false;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}, [privateChat, hmsInstance]);
|
|
66
75
|
|
|
67
76
|
const _keyExtractor = React.useCallback(
|
|
68
77
|
(item: HMSRemotePeer) => item.peerID,
|
|
@@ -73,15 +82,20 @@ const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
|
73
82
|
({ item, extraData }) => (
|
|
74
83
|
<ChatFilterItem
|
|
75
84
|
item={item}
|
|
76
|
-
active={extraData.name === item.name}
|
|
77
|
-
disabled={extraData.name === item.name}
|
|
85
|
+
active={extraData && extraData.name === item.name}
|
|
86
|
+
disabled={extraData && extraData.name === item.name}
|
|
87
|
+
onDismiss={onDismiss}
|
|
78
88
|
/>
|
|
79
89
|
),
|
|
80
|
-
[]
|
|
90
|
+
[onDismiss]
|
|
81
91
|
);
|
|
82
92
|
|
|
83
93
|
const closeFiltersBottomSheet = () => {
|
|
84
|
-
|
|
94
|
+
if (onDismiss) {
|
|
95
|
+
onDismiss();
|
|
96
|
+
} else {
|
|
97
|
+
dispatch(setChatFilterSheetVisible(false));
|
|
98
|
+
}
|
|
85
99
|
};
|
|
86
100
|
|
|
87
101
|
const formattedFilterText = filterText.trim().toLowerCase();
|
|
@@ -98,23 +112,14 @@ const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
|
98
112
|
}, [formattedFilterText, remotePeers]);
|
|
99
113
|
|
|
100
114
|
// Filtering Broadcast option
|
|
101
|
-
const showBroadcastOption =
|
|
102
|
-
formattedFilterText.length > 0
|
|
115
|
+
const showBroadcastOption = publicChat
|
|
116
|
+
? formattedFilterText.length > 0
|
|
103
117
|
? ChatBroadcastFilter.name.includes(formattedFilterText)
|
|
104
|
-
: true
|
|
105
|
-
|
|
106
|
-
// Filtering Roles
|
|
107
|
-
const foundRoles = roles.filter((role) => {
|
|
108
|
-
if (!role.name || role.name.startsWith('_')) {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return formattedFilterText.length > 0
|
|
113
|
-
? role.name.toLowerCase().includes(formattedFilterText)
|
|
114
|
-
: true;
|
|
115
|
-
});
|
|
118
|
+
: true
|
|
119
|
+
: false;
|
|
116
120
|
|
|
117
121
|
const isBroadcastFilterSelected =
|
|
122
|
+
filter !== null &&
|
|
118
123
|
!('publishSettings' in filter || 'peerId' in filter) && // filter is not HMSRole and HMSRemotePeer
|
|
119
124
|
filter.name === ChatBroadcastFilter.name;
|
|
120
125
|
|
|
@@ -127,18 +132,20 @@ const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
|
127
132
|
|
|
128
133
|
<BottomSheet.Divider style={styles.headerDivider} />
|
|
129
134
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
135
|
+
{privateChat ? (
|
|
136
|
+
<HMSTextInput
|
|
137
|
+
value={filterText}
|
|
138
|
+
onChangeText={setFilterText}
|
|
139
|
+
placeholder="Search for participants"
|
|
140
|
+
containerStyle={[
|
|
141
|
+
styles.textInputContainer,
|
|
142
|
+
hmsRoomStyles.textInputContainer,
|
|
143
|
+
]}
|
|
144
|
+
focusedContainerStyle={styles.textInputFocusedContainer}
|
|
145
|
+
placeholderTextColor={onSurfaceMediumColor}
|
|
146
|
+
leftIcon={<SearchIcon style={styles.textInputSearchIcon} />}
|
|
147
|
+
/>
|
|
148
|
+
) : null}
|
|
142
149
|
|
|
143
150
|
<FlashList
|
|
144
151
|
data={filteredRemotePeers}
|
|
@@ -149,38 +156,46 @@ const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
|
149
156
|
keyExtractor={_keyExtractor}
|
|
150
157
|
renderItem={_renderItem}
|
|
151
158
|
ListEmptyComponent={
|
|
152
|
-
|
|
153
|
-
<
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
159
|
+
privateChat ? (
|
|
160
|
+
<View style={styles.placeholderContainer}>
|
|
161
|
+
<Text
|
|
162
|
+
style={[styles.placeholderText, hmsRoomStyles.placeholderText]}
|
|
163
|
+
>
|
|
164
|
+
{loadingPeersList
|
|
165
|
+
? 'Loading Participants...'
|
|
166
|
+
: formattedFilterText.length > 0
|
|
167
|
+
? 'No participants found!'
|
|
168
|
+
: 'There is no one in the session!'}
|
|
169
|
+
</Text>
|
|
170
|
+
</View>
|
|
171
|
+
) : null
|
|
163
172
|
}
|
|
164
173
|
ListHeaderComponent={
|
|
165
174
|
<View>
|
|
166
175
|
{showBroadcastOption ? (
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
+
<ChatFilterItem
|
|
177
|
+
item={ChatBroadcastFilter}
|
|
178
|
+
active={isBroadcastFilterSelected}
|
|
179
|
+
disabled={isBroadcastFilterSelected}
|
|
180
|
+
icon={<ParticipantsIcon />}
|
|
181
|
+
onDismiss={onDismiss}
|
|
182
|
+
/>
|
|
183
|
+
) : null}
|
|
184
|
+
|
|
185
|
+
{showBroadcastOption && rolesSpecificChat.length > 0 ? (
|
|
186
|
+
<BottomSheet.Divider style={styles.divider} />
|
|
176
187
|
) : null}
|
|
177
188
|
|
|
178
|
-
{
|
|
189
|
+
{rolesSpecificChat.length > 0 ? (
|
|
179
190
|
<View>
|
|
180
191
|
<Text style={[styles.label, hmsRoomStyles.label]}>ROLES</Text>
|
|
181
|
-
{
|
|
182
|
-
const isRoleSelected =
|
|
183
|
-
|
|
192
|
+
{rolesSpecificChat.map((role) => {
|
|
193
|
+
const isRoleSelected =
|
|
194
|
+
filter !== null && 'publishSettings' in filter;
|
|
195
|
+
const isActive =
|
|
196
|
+
filter !== null &&
|
|
197
|
+
isRoleSelected &&
|
|
198
|
+
filter.name === role.name;
|
|
184
199
|
|
|
185
200
|
return (
|
|
186
201
|
<ChatFilterItem
|
|
@@ -188,16 +203,28 @@ const _ChatFilterView: React.FC<ChatFilterViewProps> = () => {
|
|
|
188
203
|
item={role}
|
|
189
204
|
active={isActive}
|
|
190
205
|
disabled={isActive}
|
|
206
|
+
onDismiss={onDismiss}
|
|
191
207
|
/>
|
|
192
208
|
);
|
|
193
209
|
})}
|
|
194
|
-
<BottomSheet.Divider style={styles.divider} />
|
|
195
210
|
</View>
|
|
196
211
|
) : null}
|
|
197
212
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
213
|
+
{rolesSpecificChat.length > 0 && privateChat ? (
|
|
214
|
+
<BottomSheet.Divider style={styles.divider} />
|
|
215
|
+
) : null}
|
|
216
|
+
|
|
217
|
+
{rolesSpecificChat.length <= 0 &&
|
|
218
|
+
privateChat &&
|
|
219
|
+
showBroadcastOption ? (
|
|
220
|
+
<BottomSheet.Divider style={styles.divider} />
|
|
221
|
+
) : null}
|
|
222
|
+
|
|
223
|
+
{privateChat ? (
|
|
224
|
+
<Text style={[styles.label, hmsRoomStyles.label]}>
|
|
225
|
+
PARTICIPANTS
|
|
226
|
+
</Text>
|
|
227
|
+
) : null}
|
|
201
228
|
</View>
|
|
202
229
|
}
|
|
203
230
|
/>
|
|
@@ -4,19 +4,22 @@ import {
|
|
|
4
4
|
FlashList,
|
|
5
5
|
// FlashListProps
|
|
6
6
|
} from '@shopify/flash-list';
|
|
7
|
-
import { StyleSheet, View } from 'react-native';
|
|
7
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
|
8
8
|
import { useSelector } from 'react-redux';
|
|
9
9
|
|
|
10
10
|
import type { RootState } from '../../redux';
|
|
11
11
|
import { ChatMessage } from './ChatMessage';
|
|
12
12
|
import { ChatBanner } from './ChatBanner';
|
|
13
|
-
import {
|
|
13
|
+
import { PinnedMessages } from './PinnedMessages';
|
|
14
|
+
import { useIsAllowedToSendMessage } from '../../hooks-util';
|
|
14
15
|
|
|
15
16
|
type ChatListProps = {
|
|
16
17
|
// estimatedListSize?: FlashListProps<HMSMessage>['estimatedListSize'];
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
const _ChatList: React.FC<ChatListProps> = () => {
|
|
21
|
+
const flashlistRef = React.useRef<null | FlashList<HMSMessage>>(null);
|
|
22
|
+
const isAllowedToSendMessage = useIsAllowedToSendMessage();
|
|
20
23
|
const messages = useSelector((state: RootState) => state.messages.messages);
|
|
21
24
|
|
|
22
25
|
const _keyExtractor = React.useCallback(
|
|
@@ -29,15 +32,22 @@ const _ChatList: React.FC<ChatListProps> = () => {
|
|
|
29
32
|
}, []);
|
|
30
33
|
|
|
31
34
|
return (
|
|
32
|
-
<View
|
|
33
|
-
|
|
35
|
+
<View
|
|
36
|
+
style={[
|
|
37
|
+
chatListStyle.list,
|
|
38
|
+
isAllowedToSendMessage ? chatListStyle.bottomSpace : null,
|
|
39
|
+
]}
|
|
40
|
+
>
|
|
41
|
+
<PinnedMessages />
|
|
34
42
|
|
|
35
43
|
{messages.length > 0 ? (
|
|
36
44
|
<FlashList
|
|
45
|
+
ref={flashlistRef}
|
|
37
46
|
data={messages}
|
|
38
47
|
inverted={true}
|
|
39
48
|
estimatedItemSize={75}
|
|
40
|
-
|
|
49
|
+
showsVerticalScrollIndicator={Platform.OS !== 'android'}
|
|
50
|
+
// contentContainerStyle={chatListStyle.listContentContainer} // Bug: Android inverted flashlist will apply padding on left when `paddingRight: 12` is applied
|
|
41
51
|
keyboardShouldPersistTaps="always"
|
|
42
52
|
// ItemSeparatorComponent={() => <View style={{ height: 16 }} />} // TODO: There is a bug related to this: https://github.com/Shopify/flash-list/issues/638
|
|
43
53
|
renderItem={_renderItem}
|
|
@@ -54,10 +64,12 @@ const chatListStyle = StyleSheet.create({
|
|
|
54
64
|
list: {
|
|
55
65
|
flex: 1,
|
|
56
66
|
marginTop: 8,
|
|
67
|
+
},
|
|
68
|
+
bottomSpace: {
|
|
57
69
|
marginBottom: 16,
|
|
58
70
|
},
|
|
59
71
|
listContentContainer: {
|
|
60
|
-
paddingRight:
|
|
72
|
+
paddingRight: 8,
|
|
61
73
|
},
|
|
62
74
|
});
|
|
63
75
|
|
|
@@ -1,16 +1,46 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
View,
|
|
4
|
+
Text,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
Platform,
|
|
7
|
+
TouchableOpacity,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
import { useDispatch, useSelector } from 'react-redux';
|
|
3
10
|
import { HMSMessage } from '@100mslive/react-native-hms';
|
|
4
11
|
|
|
5
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
useAllowBlockingPeerFromChat,
|
|
14
|
+
useAllowPinningMessage,
|
|
15
|
+
useHMSRoomStyleSheet,
|
|
16
|
+
} from '../../hooks-util';
|
|
6
17
|
import { getTimeStringin12HourFormat } from '../../utils/functions';
|
|
18
|
+
import { PinIcon, ThreeDotsIcon } from '../../Icons';
|
|
19
|
+
import type { RootState } from '../../redux';
|
|
20
|
+
import { setSelectedMessageForAction } from '../../redux/actions';
|
|
7
21
|
|
|
8
22
|
interface HMSHLSMessageProps {
|
|
9
23
|
message: HMSMessage;
|
|
10
24
|
}
|
|
11
25
|
|
|
12
26
|
const _ChatMessage: React.FC<HMSHLSMessageProps> = ({ message }) => {
|
|
13
|
-
const
|
|
27
|
+
const dispatch = useDispatch();
|
|
28
|
+
const isPinned = useSelector(
|
|
29
|
+
(state: RootState) =>
|
|
30
|
+
state.messages.pinnedMessages.findIndex(
|
|
31
|
+
(pinnedMessage) => pinnedMessage.id === message.messageId
|
|
32
|
+
) >= 0
|
|
33
|
+
);
|
|
34
|
+
const localPeerId = useSelector(
|
|
35
|
+
(state: RootState) => state.hmsStates.localPeer?.peerID
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
const allowPinningMessage = useAllowPinningMessage();
|
|
39
|
+
const allowPeerBlocking = useAllowBlockingPeerFromChat();
|
|
40
|
+
const canRemoveOthers = useSelector(
|
|
41
|
+
(state: RootState) =>
|
|
42
|
+
!!state.hmsStates.localPeer?.role?.permissions?.removeOthers
|
|
43
|
+
);
|
|
14
44
|
|
|
15
45
|
const hmsRoomStyles = useHMSRoomStyleSheet(
|
|
16
46
|
(theme, typography) => ({
|
|
@@ -23,15 +53,49 @@ const _ChatMessage: React.FC<HMSHLSMessageProps> = ({ message }) => {
|
|
|
23
53
|
fontFamily: `${typography.font_family}-Regular`,
|
|
24
54
|
},
|
|
25
55
|
time: {
|
|
26
|
-
color: theme.palette.
|
|
56
|
+
color: theme.palette.on_surface_low,
|
|
27
57
|
fontFamily: `${typography.font_family}-Regular`,
|
|
28
58
|
},
|
|
59
|
+
threeDots: {
|
|
60
|
+
tintColor: theme.palette.on_surface_low,
|
|
61
|
+
},
|
|
62
|
+
pinnedLabel: {
|
|
63
|
+
color: theme.palette.on_surface_low,
|
|
64
|
+
fontFamily: `${typography.font_family}-SemiBold`,
|
|
65
|
+
},
|
|
29
66
|
}),
|
|
30
67
|
[]
|
|
31
68
|
);
|
|
32
69
|
|
|
70
|
+
const onThreeDotsPress = () => {
|
|
71
|
+
dispatch(setSelectedMessageForAction(message));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const messageSender = message.sender;
|
|
75
|
+
|
|
76
|
+
const canTakeAction =
|
|
77
|
+
allowPinningMessage || // can pin message, OR
|
|
78
|
+
(allowPeerBlocking &&
|
|
79
|
+
message.sender &&
|
|
80
|
+
message.sender.peerID !== localPeerId) || // can block peers, OR
|
|
81
|
+
(canRemoveOthers &&
|
|
82
|
+
message.sender &&
|
|
83
|
+
message.sender.peerID !== localPeerId); // can remove participants
|
|
84
|
+
|
|
33
85
|
return (
|
|
34
86
|
<View style={styles.container}>
|
|
87
|
+
{isPinned ? (
|
|
88
|
+
<View style={styles.pinLabelContainer}>
|
|
89
|
+
<PinIcon
|
|
90
|
+
type="pin"
|
|
91
|
+
style={[styles.pinIcon, hmsRoomStyles.threeDots]}
|
|
92
|
+
/>
|
|
93
|
+
<Text style={[styles.pinnedLabel, hmsRoomStyles.pinnedLabel]}>
|
|
94
|
+
PINNED
|
|
95
|
+
</Text>
|
|
96
|
+
</View>
|
|
97
|
+
) : null}
|
|
98
|
+
|
|
35
99
|
<View style={[styles.nameWrapper]}>
|
|
36
100
|
<Text
|
|
37
101
|
style={[styles.senderName, hmsRoomStyles.senderName]}
|
|
@@ -47,6 +111,18 @@ const _ChatMessage: React.FC<HMSHLSMessageProps> = ({ message }) => {
|
|
|
47
111
|
<Text style={[styles.time, hmsRoomStyles.time]}>
|
|
48
112
|
{getTimeStringin12HourFormat(message.time)}
|
|
49
113
|
</Text>
|
|
114
|
+
|
|
115
|
+
{canTakeAction ? (
|
|
116
|
+
<TouchableOpacity
|
|
117
|
+
hitSlop={styles.threeDotsHitSlop}
|
|
118
|
+
onPress={onThreeDotsPress}
|
|
119
|
+
>
|
|
120
|
+
<ThreeDotsIcon
|
|
121
|
+
stack="vertical"
|
|
122
|
+
style={[styles.threeDots, hmsRoomStyles.threeDots]}
|
|
123
|
+
/>
|
|
124
|
+
</TouchableOpacity>
|
|
125
|
+
) : null}
|
|
50
126
|
</View>
|
|
51
127
|
|
|
52
128
|
<Text style={[styles.message, hmsRoomStyles.message]}>
|
|
@@ -60,15 +136,16 @@ export const ChatMessage = React.memo(_ChatMessage);
|
|
|
60
136
|
|
|
61
137
|
const styles = StyleSheet.create({
|
|
62
138
|
container: {
|
|
63
|
-
marginTop:
|
|
139
|
+
marginTop: 4,
|
|
64
140
|
padding: 8,
|
|
65
141
|
width: '100%',
|
|
66
142
|
},
|
|
67
143
|
nameWrapper: {
|
|
68
144
|
flexDirection: 'row',
|
|
69
|
-
alignItems: '
|
|
145
|
+
alignItems: 'center',
|
|
70
146
|
},
|
|
71
147
|
senderName: {
|
|
148
|
+
flexGrow: 1,
|
|
72
149
|
fontSize: 14,
|
|
73
150
|
lineHeight: Platform.OS === 'android' ? 20 : undefined,
|
|
74
151
|
letterSpacing: 0.1,
|
|
@@ -83,6 +160,33 @@ const styles = StyleSheet.create({
|
|
|
83
160
|
fontSize: 14,
|
|
84
161
|
lineHeight: Platform.OS === 'android' ? 20 : undefined,
|
|
85
162
|
letterSpacing: 0.25,
|
|
86
|
-
marginTop:
|
|
163
|
+
marginTop: 4,
|
|
164
|
+
},
|
|
165
|
+
threeDots: {
|
|
166
|
+
width: 20,
|
|
167
|
+
height: 20,
|
|
168
|
+
marginLeft: 4,
|
|
169
|
+
},
|
|
170
|
+
threeDotsHitSlop: {
|
|
171
|
+
left: 12,
|
|
172
|
+
right: 12,
|
|
173
|
+
top: 12,
|
|
174
|
+
bottom: 12,
|
|
175
|
+
},
|
|
176
|
+
pinLabelContainer: {
|
|
177
|
+
flexDirection: 'row',
|
|
178
|
+
alignItems: 'center',
|
|
179
|
+
marginBottom: 4,
|
|
180
|
+
},
|
|
181
|
+
pinIcon: {
|
|
182
|
+
width: 12,
|
|
183
|
+
height: 12,
|
|
184
|
+
marginRight: 4,
|
|
185
|
+
},
|
|
186
|
+
pinnedLabel: {
|
|
187
|
+
fontSize: 10,
|
|
188
|
+
textTransform: 'uppercase',
|
|
189
|
+
lineHeight: 16,
|
|
190
|
+
letterSpacing: 1.5,
|
|
87
191
|
},
|
|
88
192
|
});
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
import { useSelector } from 'react-redux';
|
|
4
|
+
import { interpolate } from 'react-native-reanimated';
|
|
5
|
+
import type { SharedValue } from 'react-native-reanimated';
|
|
6
|
+
|
|
7
|
+
import { BottomSheet } from '../BottomSheet';
|
|
8
|
+
import { useIsAllowedToSendMessage, useModalType } from '../../hooks-util';
|
|
9
|
+
import { ModalTypes } from '../../utils/types';
|
|
10
|
+
import { ChatMoreActionsView } from './ChatMoreActionsView';
|
|
11
|
+
import { useFooterHeight } from '../Footer';
|
|
12
|
+
import { useHMSNotificationsHeight } from '../HMSNotifications';
|
|
13
|
+
import type { RootState } from '../../redux';
|
|
14
|
+
|
|
15
|
+
export interface ChatMoreActionsModalProps {
|
|
16
|
+
offset?: SharedValue<number>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const _ChatMoreActionsModal: React.FC<ChatMoreActionsModalProps> = ({
|
|
20
|
+
offset,
|
|
21
|
+
}) => {
|
|
22
|
+
const { modalVisibleType, handleModalVisibleType } = useModalType();
|
|
23
|
+
|
|
24
|
+
const footerHeight = useFooterHeight();
|
|
25
|
+
const notificationsHeight = useHMSNotificationsHeight();
|
|
26
|
+
const isAllowedToSendMessage = useIsAllowedToSendMessage();
|
|
27
|
+
const isMessageInputVisible = useSelector(
|
|
28
|
+
(state: RootState) =>
|
|
29
|
+
state.chatWindow.sendTo !== null && isAllowedToSendMessage
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
const dismissModal = () => handleModalVisibleType(ModalTypes.DEFAULT);
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<BottomSheet
|
|
36
|
+
dismissModal={dismissModal}
|
|
37
|
+
isVisible={modalVisibleType === ModalTypes.CHAT_MORE_ACTIONS}
|
|
38
|
+
backdropOpacity={0.1}
|
|
39
|
+
animationIn={'fadeIn'}
|
|
40
|
+
animationOut={'fadeOut'}
|
|
41
|
+
style={styles.modal}
|
|
42
|
+
containerStyle={[
|
|
43
|
+
styles.contentContainer,
|
|
44
|
+
{
|
|
45
|
+
bottom:
|
|
46
|
+
(offset
|
|
47
|
+
? interpolate(offset.value, [0, 1], [0, footerHeight])
|
|
48
|
+
: footerHeight) +
|
|
49
|
+
notificationsHeight +
|
|
50
|
+
(isMessageInputVisible ? 58 : 8),
|
|
51
|
+
},
|
|
52
|
+
]}
|
|
53
|
+
>
|
|
54
|
+
<ChatMoreActionsView onDismiss={dismissModal} />
|
|
55
|
+
</BottomSheet>
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const styles = StyleSheet.create({
|
|
60
|
+
modal: {
|
|
61
|
+
justifyContent: undefined,
|
|
62
|
+
position: 'relative',
|
|
63
|
+
},
|
|
64
|
+
contentContainer: {
|
|
65
|
+
width: undefined,
|
|
66
|
+
paddingBottom: 0,
|
|
67
|
+
borderTopRightRadius: 0,
|
|
68
|
+
borderTopLeftRadius: 0,
|
|
69
|
+
backgroundColor: 'transparent',
|
|
70
|
+
position: 'absolute',
|
|
71
|
+
right: 8,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
export const ChatMoreActionsModal = React.memo(_ChatMoreActionsModal);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Pressable, StyleSheet, View } from 'react-native';
|
|
3
|
+
import { useDispatch, useSelector } from 'react-redux';
|
|
4
|
+
import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
|
|
5
|
+
|
|
6
|
+
import { hexToRgbA } from '../../utils/theme';
|
|
7
|
+
import { useHMSRoomStyleSheet } from '../../hooks-util';
|
|
8
|
+
import type { RootState } from '../../redux';
|
|
9
|
+
import { setChatMoreActionsSheetVisible } from '../../redux/actions';
|
|
10
|
+
import { ChatMoreActionsView } from './ChatMoreActionsView';
|
|
11
|
+
|
|
12
|
+
interface ChatMoreActionsSheetViewProps {}
|
|
13
|
+
|
|
14
|
+
const _ChatMoreActionsSheetView: React.FC<
|
|
15
|
+
ChatMoreActionsSheetViewProps
|
|
16
|
+
> = ({}) => {
|
|
17
|
+
const dispatch = useDispatch();
|
|
18
|
+
const chatMoreActionsSheetVisible = useSelector(
|
|
19
|
+
(state: RootState) => state.app.chatMoreActionsSheetVisible
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const hmsRoomStyles = useHMSRoomStyleSheet((theme) => ({
|
|
23
|
+
backdrop: {
|
|
24
|
+
backgroundColor:
|
|
25
|
+
theme.palette.background_dim &&
|
|
26
|
+
hexToRgbA(theme.palette.background_dim, 0.05),
|
|
27
|
+
},
|
|
28
|
+
}));
|
|
29
|
+
|
|
30
|
+
const closeFiltersBottomSheet = () => {
|
|
31
|
+
dispatch(setChatMoreActionsSheetVisible(false));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
if (!chatMoreActionsSheetVisible) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<View style={styles.container}>
|
|
40
|
+
<Pressable
|
|
41
|
+
onPress={closeFiltersBottomSheet}
|
|
42
|
+
style={[styles.backdrop, hmsRoomStyles.backdrop]}
|
|
43
|
+
/>
|
|
44
|
+
|
|
45
|
+
<Animated.View
|
|
46
|
+
entering={FadeIn.duration(150)}
|
|
47
|
+
exiting={FadeOut.duration(150)}
|
|
48
|
+
style={styles.contentContainer}
|
|
49
|
+
>
|
|
50
|
+
<ChatMoreActionsView />
|
|
51
|
+
</Animated.View>
|
|
52
|
+
</View>
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const styles = StyleSheet.create({
|
|
57
|
+
container: {
|
|
58
|
+
position: 'absolute',
|
|
59
|
+
width: '100%',
|
|
60
|
+
height: '100%',
|
|
61
|
+
zIndex: 1,
|
|
62
|
+
justifyContent: 'flex-end',
|
|
63
|
+
},
|
|
64
|
+
backdrop: {
|
|
65
|
+
position: 'absolute',
|
|
66
|
+
width: '100%',
|
|
67
|
+
height: '100%',
|
|
68
|
+
},
|
|
69
|
+
contentContainer: {
|
|
70
|
+
position: 'absolute',
|
|
71
|
+
top: 60,
|
|
72
|
+
right: 48,
|
|
73
|
+
overflow: 'hidden',
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
export const ChatMoreActionsSheetView = React.memo(_ChatMoreActionsSheetView);
|