import { RenderMessageProps } from "../props"; import { UserMessage as DefaultUserMessage } from "./UserMessage"; import { AssistantMessage as DefaultAssistantMessage } from "./AssistantMessage"; import { ImageRenderer as DefaultImageRenderer } from "./ImageRenderer"; export function RenderMessage({ UserMessage = DefaultUserMessage, AssistantMessage = DefaultAssistantMessage, ImageRenderer = DefaultImageRenderer, ...props }: RenderMessageProps) { const { message, inProgress, index, isCurrentMessage, onRegenerate, onCopy, onThumbsUp, onThumbsDown, markdownTagRenderers, } = props; switch (message.role) { case "user": return ( ); case "assistant": return ( onRegenerate?.(message.id)} onCopy={onCopy} onThumbsUp={onThumbsUp} onThumbsDown={onThumbsDown} markdownTagRenderers={markdownTagRenderers} ImageRenderer={ImageRenderer} /> ); } }