Merge pull request #712 from rowboatlabs/fix/side-pane-copy-button

Fix: copy button missing on side-pane chat messages
This commit is contained in:
gagan 2026-07-10 01:24:31 +05:30 committed by GitHub
commit b9fea2b037
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,6 +21,7 @@ import {
import { import {
Message, Message,
MessageContent, MessageContent,
MessageCopyButton,
MessageResponse, MessageResponse,
} from '@/components/ai-elements/message' } from '@/components/ai-elements/message'
import { TurnActivityIndicator } from '@/components/turn-activity-indicator' import { TurnActivityIndicator } from '@/components/turn-activity-indicator'
@ -416,14 +417,17 @@ export function ChatSidebar({
<ChatMessageAttachments attachments={item.attachments} /> <ChatMessageAttachments attachments={item.attachments} />
</MessageContent> </MessageContent>
{item.content && ( {item.content && (
<MessageContent> <div className="flex flex-col items-end">
<MessageResponse <MessageContent>
components={streamdownComponents} <MessageResponse
remarkPlugins={userMessageRemarkPlugins} components={streamdownComponents}
> remarkPlugins={userMessageRemarkPlugins}
{item.content} >
</MessageResponse> {item.content}
</MessageContent> </MessageResponse>
</MessageContent>
<MessageCopyButton text={item.content} className="mt-0.5" />
</div>
)} )}
</Message> </Message>
) )
@ -431,26 +435,29 @@ export function ChatSidebar({
const { message, files } = parseAttachedFiles(item.content) const { message, files } = parseAttachedFiles(item.content)
return ( return (
<Message key={item.id} from={item.role} data-message-id={item.id}> <Message key={item.id} from={item.role} data-message-id={item.id}>
<MessageContent> <div className="flex flex-col items-end">
{files.length > 0 && ( <MessageContent>
<div className="mb-2 flex flex-wrap gap-1.5"> {files.length > 0 && (
{files.map((filePath, index) => ( <div className="mb-2 flex flex-wrap gap-1.5">
<span {files.map((filePath, index) => (
key={index} <span
className="inline-flex items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 text-xs text-primary" key={index}
> className="inline-flex items-center gap-1 rounded-full bg-primary/10 px-2 py-0.5 text-xs text-primary"
@{wikiLabel(filePath)} >
</span> @{wikiLabel(filePath)}
))} </span>
</div> ))}
)} </div>
<MessageResponse )}
components={streamdownComponents} <MessageResponse
remarkPlugins={userMessageRemarkPlugins} components={streamdownComponents}
> remarkPlugins={userMessageRemarkPlugins}
{message} >
</MessageResponse> {message}
</MessageContent> </MessageResponse>
</MessageContent>
<MessageCopyButton text={message} className="mt-0.5" />
</div>
</Message> </Message>
) )
} }