summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ui/src')
-rw-r--r--packages/ui/src/components/message-part.tsx21
1 files changed, 18 insertions, 3 deletions
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index b3fd01c2d..24b1ee393 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -357,6 +357,11 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
setTimeout(() => setCopied(false), 2000)
}
+ const toggleExpanded = () => {
+ if (!canExpand()) return
+ setExpanded((value) => !value)
+ }
+
return (
<div data-component="user-message" data-expanded={expanded()} data-can-expand={canExpand()}>
<Show when={attachments().length > 0}>
@@ -388,19 +393,29 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
</div>
</Show>
<Show when={text()}>
- <div data-slot="user-message-text" ref={(el) => (textRef = el)}>
+ <div data-slot="user-message-text" ref={(el) => (textRef = el)} onClick={toggleExpanded}>
<HighlightedText text={text()} references={inlineFiles()} agents={agents()} />
<button
data-slot="user-message-expand"
type="button"
aria-label={expanded() ? "Collapse message" : "Expand message"}
- onClick={() => setExpanded((v) => !v)}
+ onClick={(event) => {
+ event.stopPropagation()
+ toggleExpanded()
+ }}
>
<Icon name="chevron-down" size="small" />
</button>
<div data-slot="user-message-copy-wrapper">
<Tooltip value={copied() ? "Copied!" : "Copy"} placement="top" gutter={8}>
- <IconButton icon={copied() ? "check" : "copy"} variant="secondary" onClick={handleCopy} />
+ <IconButton
+ icon={copied() ? "check" : "copy"}
+ variant="secondary"
+ onClick={(event) => {
+ event.stopPropagation()
+ handleCopy()
+ }}
+ />
</Tooltip>
</div>
</div>