ChatMessage (concierge)
Renders a single concierge message. User messages appear as right-aligned teal bubbles; assistant messages render full-width as markdown with source chips and a hover copy button.
components/molecules/concierge/ChatMessage.tsx
Props
| Prop | Type | Required | Description |
|---|---|---|---|
message | ChatMessage | yes | Message from useConciergeChat (id, role, text, sources) |
isStreaming | boolean | yes | True while this (last) message is still streaming |
Behavior
- Assistant markdown renders through
MarkdownRenderer(GFM,CodeBlockWithCopysyntax highlighting) inside.prose .prose-sm. - While streaming with no text yet, shows a three-dot pulse indicator.
- Sources render via
ChatSourcesafter streaming completes; copy button appears on hover at the same time.