import React, { useRef } from 'react'; import useVideoTrack from '@dailyjs/shared/hooks/useVideoTrack'; import { ReactComponent as IconMicMute } from '@dailyjs/shared/icons/mic-off-sm.svg'; import classNames from 'classnames'; import PropTypes from 'prop-types'; import { DEFAULT_ASPECT_RATIO } from '../../constants'; import { Video } from './Video'; import { ReactComponent as Avatar } from './avatar.svg'; export const Tile = React.memo( ({ participant, mirrored = true, showName = true, showAvatar = true, aspectRatio = DEFAULT_ASPECT_RATIO, ...props }) => { const videoTrack = useVideoTrack(participant); const videoEl = useRef(null); const cx = classNames('tile', { mirrored, avatar: showAvatar && !videoTrack, }); return (
{showName && (
{participant.isMicMuted && } {participant.name}
)} {videoTrack ? (
); } ); Tile.propTypes = { participant: PropTypes.object.isRequired, mirrored: PropTypes.bool, showName: PropTypes.bool, showAvatar: PropTypes.bool, aspectRatio: PropTypes.number, }; export default Tile;