import React, { useEffect, useRef, useState } from 'react'; import Aside from '@dailyjs/shared/components/Aside'; import { Button } from '@dailyjs/shared/components/Button'; import { TextInput } from '@dailyjs/shared/components/Input'; import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; import { useChat } from '../../contexts/ChatProvider'; export const CHAT_ASIDE = 'chat'; export const ChatAside = () => { const { showAside, setShowAside } = useUIState(); const { sendMessage, chatHistory, setHasNewMessages } = useChat(); const [newMessage, setNewMessage] = useState(''); const chatWindowRef = useRef(); useEffect(() => { // Clear out any new message otifications if we're showing the chat screen if (showAside === CHAT_ASIDE) { setHasNewMessages(false); } }, [showAside, chatHistory.length, setHasNewMessages]); useEffect(() => { if (chatWindowRef.current) { chatWindowRef.current.scrollTop = chatWindowRef.current.scrollHeight; } }, [chatHistory?.length]); if (!showAside || showAside !== CHAT_ASIDE) { return null; } return ( ); }; export default ChatAside;