import { useEffect, useRef } from "react"; import ChatActions from "@/app/components/ui/chat/chat-actions"; import ChatMessage from "@/app/components/ui/chat/chat-message"; import { ChatHandler } from "@/app/components/ui/chat/chat.interface"; export default function ChatMessages( props: Pick, ) { const scrollableChatContainerRef = useRef(null); const messageLength = props.messages.length; const lastMessage = props.messages[messageLength - 1]; const scrollToBottom = () => { if (scrollableChatContainerRef.current) { scrollableChatContainerRef.current.scrollTop = scrollableChatContainerRef.current.scrollHeight; } }; const isLastMessageFromAssistant = messageLength > 0 && lastMessage?.role !== "user"; const showReload = props.reload && !props.isLoading && isLastMessageFromAssistant; const showStop = props.stop && props.isLoading; useEffect(() => { scrollToBottom(); }, [messageLength, lastMessage]); return ( messageLength > 0 && (
{props.messages.map((m) => ( ))}
) ); }