import { useAppParams } from '@/hooks/use-app-params'; import { useScrollAnchor } from '@/hooks/use-scroll-anchor'; import { Link } from '@tanstack/react-router'; import type { UIMessage } from 'ai'; import { Loader2Icon } from 'lucide-react'; import { useEffect } from 'react'; import { ProjectLink } from '../links'; import { Alert, AlertDescription, AlertTitle } from '../ui/alert'; import { ScrollArea } from '../ui/scroll-area'; import { ChatMessage } from './chat-message'; export function ChatMessages({ messages, debug, status, isLimited, }: { messages: UIMessage[]; debug: boolean; status: 'submitted' | 'streaming' | 'ready' | 'error'; isLimited: boolean; }) { const { organizationId } = useAppParams(); const { messagesRef, scrollRef, visibilityRef, scrollToBottom } = useScrollAnchor(); useEffect(() => { scrollToBottom(); }, []); useEffect(() => { const lastMessage = messages[messages.length - 1]; if (lastMessage?.role === 'user') { scrollToBottom(); } }, [messages]); return (
{messages.map((m, index) => { return ( ); })} {status === 'submitted' && (
)} {isLimited && (
Upgrade your account

To keep using this feature you need to upgrade your account.

Visit Billing {' '} to upgrade.

)}
); }