import React from 'react'; import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider'; import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; import { ReactComponent as IconAdd } from '@dailyjs/shared/icons/add-md.svg'; import { ReactComponent as IconCameraOff } from '@dailyjs/shared/icons/camera-off-md.svg'; import { ReactComponent as IconCameraOn } from '@dailyjs/shared/icons/camera-on-md.svg'; import { ReactComponent as IconLeave } from '@dailyjs/shared/icons/leave-md.svg'; import { ReactComponent as IconMicOff } from '@dailyjs/shared/icons/mic-off-md.svg'; import { ReactComponent as IconMicOn } from '@dailyjs/shared/icons/mic-on-md.svg'; import { ReactComponent as IconSettings } from '@dailyjs/shared/icons/settings-md.svg'; import PropTypes from 'prop-types'; import { Audio } from '../Audio'; import { VideoGrid } from '../VideoGrid'; import { Header } from './Header'; import { Tray, TrayButton } from './Tray'; export const Room = ({ onLeave }) => { const { callObject, addFakeParticipant } = useCallState(); const { setShowDeviceModal } = useUIState(); const { isCamMuted, isMicMuted } = useMediaDevices(); const toggleCamera = (newState) => { if (!callObject) return false; return callObject.setLocalVideo(newState); }; const toggleMic = (newState) => { if (!callObject) return false; return callObject.setLocalAudio(newState); }; return (
toggleCamera(isCamMuted)} orange={isCamMuted} > {isCamMuted ? : } toggleMic(isMicMuted)} orange={isMicMuted} > {isMicMuted ? : } setShowDeviceModal(true)}> addFakeParticipant()}>
); }; Room.propTypes = { onLeave: PropTypes.func.isRequired, }; export default Room;