UNPKG

@100mslive/roomkit-react

Version:

![Banner](https://github.com/100mslive/web-sdks/blob/06c65259912db6ccd8617f2ecb6fef51429251ec/prebuilt-banner.png)

58 lines (53 loc) 1.52 kB
import React, { useEffect, useState } from 'react'; import { selectDominantSpeaker, useHMSStore } from '@100mslive/react-sdk'; import { VolumeOneIcon } from '@100mslive/react-icons'; import { Flex, styled, Text, textEllipsis } from '../../../'; import { useRoomLayout } from '../../provider/roomLayoutProvider'; export const SpeakerTag = () => { const dominantSpeaker = useHMSStore(selectDominantSpeaker); return ( dominantSpeaker && dominantSpeaker.name && ( <Flex align="center" justify="center" css={{ flex: '1 1 0', color: '$on_surface_high', '@md': { display: 'none' } }} > <VolumeOneIcon /> <Text variant="sm" css={{ ...textEllipsis(200), ml: '$2' }} title={dominantSpeaker.name}> {dominantSpeaker.name} </Text> </Flex> ) ); }; const LogoImg = styled('img', { maxHeight: '$14', w: 'auto', objectFit: 'contain', '@md': { maxHeight: '$12', }, }); export const Logo = () => { const roomLayout = useRoomLayout(); const logo = roomLayout?.logo?.url; const [hideImage, setHideImage] = useState(false); // Hide logo for now as there is not enough space useEffect(() => { if (hideImage) { setHideImage(false); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [logo]); return logo && !hideImage ? ( <LogoImg src={logo} alt="Brand Logo" onError={e => { e.target.onerror = null; setHideImage(true); }} /> ) : null; };