"use client"; import { useRef, useEffect } from 'react'; import type { Message } from '@/lib/types'; import { ScrollArea } from '@/components/ui/scroll-area'; import MessageBubble from './message-bubble'; import { Avatar, AvatarFallback } from './ui/avatar'; import { Bot } from 'lucide-react'; interface MessageListProps { messages: Message[]; isLoading: boolean; } export default function MessageList({ messages, isLoading }: MessageListProps) { const messagesEndRef = useRef(null); const scrollToBottom = () => { messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); }; useEffect(() => { scrollToBottom(); }, [messages, isLoading]); return (
{messages.map((message) => ( ))} {isLoading && (
)}
); }