Cedar allows you to completely customize how messages are displayed in your chat interface. You can create custom message components, override default renderers, and add interactive elements to messages.
Render different components based on message properties:
Copy
Ask AI
function ConditionalRenderer({ message }) { const { renderMessage } = useMessageRenderer(); // Custom logic for rendering based on user role if (message.role === 'system') { return <SystemNotification message={message} />; } // Custom rendering for messages with attachments if (message.metadata?.hasAttachments) { return <MessageWithAttachments message={message} />; } // Fall back to default renderer return renderMessage(message);}