// @flow import React, { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { TouchableOpacity } from 'react-native'; import { Text } from 'react-native-paper'; import { useDispatch } from 'react-redux'; import { hideDialog } from '../../../base/dialog'; import BottomSheet from '../../../base/dialog/components/native/BottomSheet'; import { Icon, IconMicDisabledHollow, IconVideoOff } from '../../../base/icons'; import { MEDIA_TYPE } from '../../../base/media'; import { muteAllParticipants } from '../../../video-menu/actions.any'; import styles from './styles'; type Props = { /** * Array of participant IDs to not mute */ exclude: Array, /** * Participant reference */ participant: Object }; export const ContextMenuMore = ({ exclude }: Props) => { const dispatch = useDispatch(); const cancel = useCallback(() => dispatch(hideDialog()), [ dispatch ]); const muteEveryoneVideo = useCallback(() => dispatch(muteAllParticipants(exclude, MEDIA_TYPE.VIDEO)), [ dispatch ]); const { t } = useTranslation(); return ( {t('participantsPane.actions.stopEveryonesVideo')} {t('participantsPane.actions.dontAllowUnmute')} ); };