import React from 'react'; import { useMedia } from 'react-use'; import { Box, Flex } from '../../../Layout'; import { Text } from '../../../Text'; import { config as cssConfig } from '../../../Theme'; // @ts-ignore import emptyChat from '../../images/empty-chat.svg'; import { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen'; import { useIsPeerBlacklisted } from '../hooks/useChatBlacklist'; import { useLandscapeHLSStream, useMobileHLSStream } from '../../common/hooks'; export const EmptyChat = () => { const { elements } = useRoomLayoutConferencingScreen(); const isLocalPeerBlacklisted = useIsPeerBlacklisted({ local: true }); const isMobile = useMedia(cssConfig.media.md); const canSendMessages = elements.chat && (elements.chat.public_chat_enabled || elements.chat.private_chat_enabled || (elements.chat.roles_whitelist && elements.chat.roles_whitelist.length)) && !isLocalPeerBlacklisted; const isMobileHLSStream = useMobileHLSStream(); const isLandscapeStream = useLandscapeHLSStream(); const streaming = isMobileHLSStream || isLandscapeStream; if (isMobile && elements?.chat?.is_overlay && !streaming) return <>; return ( Empty Chat {canSendMessages ? 'Start a conversation' : 'No messages yet'} {canSendMessages ? ( There are no messages here yet. Start a conversation by sending a message. ) : null} ); };