import { Box } from "ink"; import { memo } from "react"; import type { QueuedMessage } from "../helpers/messageQueueBridge"; import { Text } from "./Text"; interface QueuedMessagesProps { messages: QueuedMessage[]; } export const QueuedMessages = memo(({ messages }: QueuedMessagesProps) => { const maxDisplay = 5; const displayMessages = messages .filter((msg) => msg.kind === "user") .map((msg) => msg.text.trim()) .filter((msg) => msg.length > 0); if (displayMessages.length === 0) { return null; } return ( {displayMessages.slice(0, maxDisplay).map((msg, index) => ( {">"} {msg} ))} {displayMessages.length > maxDisplay && ( ...and {displayMessages.length - maxDisplay} more )} ); }); QueuedMessages.displayName = "QueuedMessages";