UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

115 lines 5.92 kB
import * as React from 'react'; import { View } from 'react-native'; import { HMSAudioMixingMode, HMSAudioMode } from '@100mslive/react-native-hms'; import { PressableIcon } from './PressableIcon'; import { HamburgerIcon } from '../Icons'; import { DefaultModal } from './DefaultModal'; import { RoomSettingsModalContent } from './RoomSettingsModalContent'; import { ChangeAudioMixingModeModal, ChangeAudioModeModal, ChangeAudioOutputModal, ChangeBulkRoleModal, ChangeTrackStateForRoleModal, HlsStreamingModal, RecordingModal, RtcStatsModal } from './Modals'; import { ModalTypes } from '../utils/types'; import { useModalType } from '../hooks-util'; import { BottomSheet } from './BottomSheet'; import { ChangeNameModalContent } from './ChangeNameModalContent'; import { StopRecordingModalContent } from './StopRecordingModalContent'; import { TestIds } from '../utils/constants'; import { PollsAndQuizBottomSheet } from './PollsAndQuizBottomSheet'; import { VirtualBackgroundBottomSheet } from './VirtualBackgroundBottomSheet'; import { CaptionsModalContent } from './CaptionsModalContent'; export const HMSRoomOptions = () => { const { modalVisibleType: modalVisible, handleModalVisibleType: setModalVisible } = useModalType(); const [isAudioShared, setIsAudioShared] = React.useState(false); const [audioMode, setAudioMode] = React.useState(HMSAudioMode.MODE_NORMAL); const [muteAllTracksAudio, setMuteAllTracksAudio] = React.useState(false); const [audioDeviceChangeListener, setAudioDeviceChangeListener] = React.useState(false); const [newAudioMixingMode, setNewAudioMixingMode] = React.useState(HMSAudioMixingMode.TALK_AND_MUSIC); const onSettingsPress = () => setModalVisible(ModalTypes.SETTINGS); const dismissModal = () => setModalVisible(ModalTypes.DEFAULT); return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(PressableIcon, { testID: TestIds.room_options_btn, onPress: onSettingsPress }, /*#__PURE__*/React.createElement(HamburgerIcon, null)), /*#__PURE__*/React.createElement(BottomSheet, { isVisible: modalVisible === ModalTypes.SETTINGS, dismissModal: dismissModal }, /*#__PURE__*/React.createElement(RoomSettingsModalContent, { newAudioMixingMode: newAudioMixingMode, audioDeviceListenerAdded: audioDeviceChangeListener, isAudioShared: isAudioShared, muteAllTracksAudio: muteAllTracksAudio, closeRoomSettingsModal: dismissModal, setModalVisible: setModalVisible, setAudioDeviceListenerAdded: setAudioDeviceChangeListener, setIsAudioShared: setIsAudioShared, setMuteAllTracksAudio: setMuteAllTracksAudio })), /*#__PURE__*/React.createElement(PollsAndQuizBottomSheet, null), /*#__PURE__*/React.createElement(VirtualBackgroundBottomSheet, null), /*#__PURE__*/React.createElement(BottomSheet, { isVisible: modalVisible === ModalTypes.CLOSED_CAPTIONS_CONTROL, dismissModal: dismissModal }, /*#__PURE__*/React.createElement(CaptionsModalContent, { dismissModal: dismissModal })), /*#__PURE__*/React.createElement(BottomSheet, { isVisible: modalVisible === ModalTypes.CHANGE_NAME, dismissModal: dismissModal, avoidKeyboard: true }, /*#__PURE__*/React.createElement(ChangeNameModalContent, { dismissModal: dismissModal })), /*#__PURE__*/React.createElement(BottomSheet, { isVisible: modalVisible === ModalTypes.STOP_RECORDING, dismissModal: dismissModal }, /*#__PURE__*/React.createElement(StopRecordingModalContent, { dismissModal: dismissModal })), /*#__PURE__*/React.createElement(DefaultModal, { animationIn: 'slideInUp', animationOut: 'slideOutDown', modalVisible: modalVisible === ModalTypes.RTC_STATS, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(RtcStatsModal, null)), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.RECORDING, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(RecordingModal, { setModalVisible: setModalVisible })), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.HLS_STREAMING, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(HlsStreamingModal, { cancelModal: dismissModal })), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.CHANGE_TRACK_ROLE, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(ChangeTrackStateForRoleModal, { cancelModal: dismissModal })), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.SWITCH_AUDIO_OUTPUT, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(ChangeAudioOutputModal, { cancelModal: dismissModal })), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.CHANGE_AUDIO_MODE, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(ChangeAudioModeModal, { audioMode: audioMode, setAudioMode: setAudioMode, cancelModal: dismissModal })), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.AUDIO_MIXING_MODE, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(ChangeAudioMixingModeModal, { newAudioMixingMode: newAudioMixingMode, setNewAudioMixingMode: setNewAudioMixingMode, cancelModal: dismissModal })), /*#__PURE__*/React.createElement(DefaultModal, { modalPosiion: "center", modalVisible: modalVisible === ModalTypes.BULK_ROLE_CHANGE, setModalVisible: dismissModal }, /*#__PURE__*/React.createElement(ChangeBulkRoleModal, { cancelModal: dismissModal }))); }; //# sourceMappingURL=HMSRoomOptions.js.map