import { memo, useEffect, useState } from "react"; import type { Message } from "../lib/messages"; import { AssistantMarkdown } from "./AssistantMarkdown"; function Bubble({ message, userName }: { message: Message; userName: string }) { const [expiredText, setExpiredText] = useState(null); useEffect(() => { if (message.partial) { return; } const timer = setTimeout(() => { setExpiredText(message.text); }, 5000); return () => { clearTimeout(timer); }; }, [message.text, message.partial]); if (!message.partial && expiredText === message.text) { return null; } return (
{message.role === "user" ? userName : message.role === "tool" ? "Herramienta" : "Vocero"}
{message.role === "assistant" ? ( ) : (
{message.role === "tool" ? message.toolName : message.text}
)}
); } export const Bubbles = memo(function Bubbles({ messages, userName }: { messages: Message[]; userName: string }) { return ( ); });