summaryrefslogtreecommitdiffhomepage
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
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'.
-rw-r--r--packages/ui/src/components/message-part.tsx17
-rw-r--r--packages/ui/src/i18n/ar.ts1
-rw-r--r--packages/ui/src/i18n/br.ts1
-rw-r--r--packages/ui/src/i18n/bs.ts1
-rw-r--r--packages/ui/src/i18n/da.ts1
-rw-r--r--packages/ui/src/i18n/de.ts1
-rw-r--r--packages/ui/src/i18n/en.ts1
-rw-r--r--packages/ui/src/i18n/es.ts1
-rw-r--r--packages/ui/src/i18n/fr.ts1
-rw-r--r--packages/ui/src/i18n/ja.ts1
-rw-r--r--packages/ui/src/i18n/ko.ts1
-rw-r--r--packages/ui/src/i18n/no.ts1
-rw-r--r--packages/ui/src/i18n/pl.ts1
-rw-r--r--packages/ui/src/i18n/ru.ts1
-rw-r--r--packages/ui/src/i18n/th.ts1
-rw-r--r--packages/ui/src/i18n/zh.ts1
-rw-r--r--packages/ui/src/i18n/zht.ts1
17 files changed, 25 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>
diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts
index f4d6c8788..c17692675 100644
--- a/packages/ui/src/i18n/ar.ts
+++ b/packages/ui/src/i18n/ar.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "توسيع الرسالة",
"ui.message.collapse": "طي الرسالة",
"ui.message.copy": "نسخ",
+ "ui.message.copyMessage": "نسخ الرسالة",
"ui.message.copied": "تم النسخ!",
"ui.message.interrupted": "تمت المقاطعة",
"ui.message.attachment.alt": "مرفق",
diff --git a/packages/ui/src/i18n/br.ts b/packages/ui/src/i18n/br.ts
index 2dda9d92b..1cb98c67c 100644
--- a/packages/ui/src/i18n/br.ts
+++ b/packages/ui/src/i18n/br.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "Expandir mensagem",
"ui.message.collapse": "Recolher mensagem",
"ui.message.copy": "Copiar",
+ "ui.message.copyMessage": "Copiar mensagem",
"ui.message.copied": "Copiado!",
"ui.message.interrupted": "Interrompido",
"ui.message.attachment.alt": "anexo",
diff --git a/packages/ui/src/i18n/bs.ts b/packages/ui/src/i18n/bs.ts
index 21e9e5354..31670ad79 100644
--- a/packages/ui/src/i18n/bs.ts
+++ b/packages/ui/src/i18n/bs.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.message.expand": "Proširi poruku",
"ui.message.collapse": "Sažmi poruku",
"ui.message.copy": "Kopiraj",
+ "ui.message.copyMessage": "Kopiraj poruku",
"ui.message.copied": "Kopirano!",
"ui.message.interrupted": "Prekinuto",
"ui.message.attachment.alt": "prilog",
diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts
index 9d8221698..ecc575013 100644
--- a/packages/ui/src/i18n/da.ts
+++ b/packages/ui/src/i18n/da.ts
@@ -96,6 +96,7 @@ export const dict = {
"ui.message.expand": "Udvid besked",
"ui.message.collapse": "Skjul besked",
"ui.message.copy": "Kopier",
+ "ui.message.copyMessage": "Kopier besked",
"ui.message.copied": "Kopieret!",
"ui.message.interrupted": "Afbrudt",
"ui.message.attachment.alt": "vedhæftning",
diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts
index 09d5141e3..0935ecfa5 100644
--- a/packages/ui/src/i18n/de.ts
+++ b/packages/ui/src/i18n/de.ts
@@ -100,6 +100,7 @@ export const dict = {
"ui.message.expand": "Nachricht erweitern",
"ui.message.collapse": "Nachricht reduzieren",
"ui.message.copy": "Kopieren",
+ "ui.message.copyMessage": "Nachricht kopieren",
"ui.message.copied": "Kopiert!",
"ui.message.interrupted": "Unterbrochen",
"ui.message.attachment.alt": "Anhang",
diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts
index b89fea3c3..86ab63506 100644
--- a/packages/ui/src/i18n/en.ts
+++ b/packages/ui/src/i18n/en.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "Expand message",
"ui.message.collapse": "Collapse message",
"ui.message.copy": "Copy",
+ "ui.message.copyMessage": "Copy message",
"ui.message.copied": "Copied",
"ui.message.interrupted": "Interrupted",
"ui.message.attachment.alt": "attachment",
diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts
index 6dbf9f599..b611e49f3 100644
--- a/packages/ui/src/i18n/es.ts
+++ b/packages/ui/src/i18n/es.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "Expandir mensaje",
"ui.message.collapse": "Colapsar mensaje",
"ui.message.copy": "Copiar",
+ "ui.message.copyMessage": "Copiar mensaje",
"ui.message.copied": "¡Copiado!",
"ui.message.interrupted": "Interrumpido",
"ui.message.attachment.alt": "adjunto",
diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts
index 6a6114dc1..8080deac9 100644
--- a/packages/ui/src/i18n/fr.ts
+++ b/packages/ui/src/i18n/fr.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "Développer le message",
"ui.message.collapse": "Réduire le message",
"ui.message.copy": "Copier",
+ "ui.message.copyMessage": "Copier le message",
"ui.message.copied": "Copié !",
"ui.message.interrupted": "Interrompu",
"ui.message.attachment.alt": "pièce jointe",
diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts
index 7cce41666..356dc9b0f 100644
--- a/packages/ui/src/i18n/ja.ts
+++ b/packages/ui/src/i18n/ja.ts
@@ -96,6 +96,7 @@ export const dict = {
"ui.message.expand": "メッセージを展開",
"ui.message.collapse": "メッセージを折りたたむ",
"ui.message.copy": "コピー",
+ "ui.message.copyMessage": "メッセージをコピー",
"ui.message.copied": "コピーしました!",
"ui.message.interrupted": "中断",
"ui.message.attachment.alt": "添付ファイル",
diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts
index 108f98ae9..2eb8597b3 100644
--- a/packages/ui/src/i18n/ko.ts
+++ b/packages/ui/src/i18n/ko.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "메시지 펼치기",
"ui.message.collapse": "메시지 접기",
"ui.message.copy": "복사",
+ "ui.message.copyMessage": "메시지 복사",
"ui.message.copied": "복사됨!",
"ui.message.interrupted": "중단됨",
"ui.message.attachment.alt": "첨부 파일",
diff --git a/packages/ui/src/i18n/no.ts b/packages/ui/src/i18n/no.ts
index 70c5df5b0..9921ed460 100644
--- a/packages/ui/src/i18n/no.ts
+++ b/packages/ui/src/i18n/no.ts
@@ -100,6 +100,7 @@ export const dict: Record<Keys, string> = {
"ui.message.expand": "Utvid melding",
"ui.message.collapse": "Skjul melding",
"ui.message.copy": "Kopier",
+ "ui.message.copyMessage": "Kopier melding",
"ui.message.copied": "Kopiert!",
"ui.message.interrupted": "Avbrutt",
"ui.message.attachment.alt": "vedlegg",
diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts
index f017ac880..31bf71e0a 100644
--- a/packages/ui/src/i18n/pl.ts
+++ b/packages/ui/src/i18n/pl.ts
@@ -96,6 +96,7 @@ export const dict = {
"ui.message.expand": "Rozwiń wiadomość",
"ui.message.collapse": "Zwiń wiadomość",
"ui.message.copy": "Kopiuj",
+ "ui.message.copyMessage": "Kopiuj wiadomość",
"ui.message.copied": "Skopiowano!",
"ui.message.interrupted": "Przerwano",
"ui.message.attachment.alt": "załącznik",
diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts
index 81e3f9fb5..cb9e62105 100644
--- a/packages/ui/src/i18n/ru.ts
+++ b/packages/ui/src/i18n/ru.ts
@@ -96,6 +96,7 @@ export const dict = {
"ui.message.expand": "Развернуть сообщение",
"ui.message.collapse": "Свернуть сообщение",
"ui.message.copy": "Копировать",
+ "ui.message.copyMessage": "Копировать сообщение",
"ui.message.copied": "Скопировано!",
"ui.message.interrupted": "Прервано",
"ui.message.attachment.alt": "вложение",
diff --git a/packages/ui/src/i18n/th.ts b/packages/ui/src/i18n/th.ts
index 238b03782..bd6de1463 100644
--- a/packages/ui/src/i18n/th.ts
+++ b/packages/ui/src/i18n/th.ts
@@ -97,6 +97,7 @@ export const dict = {
"ui.message.expand": "ขยายข้อความ",
"ui.message.collapse": "ย่อข้อความ",
"ui.message.copy": "คัดลอก",
+ "ui.message.copyMessage": "คัดลอกข้อความ",
"ui.message.copied": "คัดลอกแล้ว!",
"ui.message.interrupted": "ถูกขัดจังหวะ",
"ui.message.attachment.alt": "ไฟล์แนบ",
diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts
index 5f6eaaaeb..11733e9c8 100644
--- a/packages/ui/src/i18n/zh.ts
+++ b/packages/ui/src/i18n/zh.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.message.expand": "展开消息",
"ui.message.collapse": "收起消息",
"ui.message.copy": "复制",
+ "ui.message.copyMessage": "复制消息",
"ui.message.copied": "已复制!",
"ui.message.interrupted": "已中断",
"ui.message.attachment.alt": "附件",
diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts
index c413fe8cd..8e756de22 100644
--- a/packages/ui/src/i18n/zht.ts
+++ b/packages/ui/src/i18n/zht.ts
@@ -101,6 +101,7 @@ export const dict = {
"ui.message.expand": "展開訊息",
"ui.message.collapse": "收合訊息",
"ui.message.copy": "複製",
+ "ui.message.copyMessage": "複製訊息",
"ui.message.copied": "已複製!",
"ui.message.interrupted": "已中斷",
"ui.message.attachment.alt": "附件",