summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2026-02-17 15:02:06 +0000
committerDavid Hill <[email protected]>2026-02-17 15:16:07 +0000
commit14684d8e75bfc9113657de6678dec7c03aeba7a1 (patch)
tree06b92bce91b0d6ecff98d1b4bf57ae3e16d1bcb2 /packages/ui/src/components
parent2cac84882380c8b2a6e3ae27521fedf80407124c (diff)
downloadopencode-14684d8e75bfc9113657de6678dec7c03aeba7a1.tar.gz
opencode-14684d8e75bfc9113657de6678dec7c03aeba7a1.zip
tweak(ui): refine user message hover meta
Moves the interrupted state into the user message hover metadata and updates the copy tooltip to 'Copy message'.
Diffstat (limited to 'packages/ui/src/components')
-rw-r--r--packages/ui/src/components/message-part.tsx17
1 files changed, 9 insertions, 8 deletions
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 55db971b5..bdd323b71 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -562,7 +562,13 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
const meta = createMemo(() => {
const agent = props.message.agent
- const items = [agent ? agent[0]?.toUpperCase() + agent.slice(1) : "", provider(), model(), stamp()]
+ const items = [
+ agent ? agent[0]?.toUpperCase() + agent.slice(1) : "",
+ provider(),
+ model(),
+ stamp(),
+ props.interrupted ? i18n.t("ui.message.interrupted") : "",
+ ]
return items.filter((x) => !!x).join(" \u00B7 ")
})
@@ -618,18 +624,13 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
<HighlightedText text={text()} references={inlineFiles()} agents={agents()} />
</div>
<div data-slot="user-message-copy-wrapper" data-interrupted={props.interrupted ? "" : undefined}>
- <Show when={props.interrupted}>
- <span data-slot="user-message-interrupted" class="text-13-regular text-text-weak cursor-default">
- {i18n.t("ui.message.interrupted")}
- </span>
- </Show>
<Show when={meta()}>
<span data-slot="user-message-meta" class="text-12-regular text-text-weak cursor-default">
{meta()}
</span>
</Show>
<Tooltip
- value={copied() ? i18n.t("ui.message.copied") : i18n.t("ui.message.copy")}
+ value={copied() ? i18n.t("ui.message.copied") : i18n.t("ui.message.copyMessage")}
placement="top"
gutter={4}
>
@@ -642,7 +643,7 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
event.stopPropagation()
handleCopy()
}}
- aria-label={copied() ? i18n.t("ui.message.copied") : i18n.t("ui.message.copy")}
+ aria-label={copied() ? i18n.t("ui.message.copied") : i18n.t("ui.message.copyMessage")}
/>
</Tooltip>
</div>