summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components
diff options
context:
space:
mode:
authorShoubhit Dash <[email protected]>2026-04-07 15:45:22 +0530
committerGitHub <[email protected]>2026-04-07 10:15:22 +0000
commit3a1ec27feba5129623f2c916f6de31ddb43e535e (patch)
treeafa654a55d6030f3923fcf78fcd1fd9f1d57a93e /packages/app/src/components
parent3c96bf84688fa5e56977a1ff95a0b920f1749983 (diff)
downloadopencode-3a1ec27feba5129623f2c916f6de31ddb43e535e.tar.gz
opencode-3a1ec27feba5129623f2c916f6de31ddb43e535e.zip
feat(app): show full names on composer attachment chips (#21306)
Diffstat (limited to 'packages/app/src/components')
-rw-r--r--packages/app/src/components/prompt-input/image-attachments.tsx57
1 files changed, 30 insertions, 27 deletions
diff --git a/packages/app/src/components/prompt-input/image-attachments.tsx b/packages/app/src/components/prompt-input/image-attachments.tsx
index 835fddc30..dd8138e5a 100644
--- a/packages/app/src/components/prompt-input/image-attachments.tsx
+++ b/packages/app/src/components/prompt-input/image-attachments.tsx
@@ -1,5 +1,6 @@
import { Component, For, Show } from "solid-js"
import { Icon } from "@opencode-ai/ui/icon"
+import { Tooltip } from "@opencode-ai/ui/tooltip"
import type { ImageAttachmentPart } from "@/context/prompt"
type PromptImageAttachmentsProps = {
@@ -22,34 +23,36 @@ export const PromptImageAttachments: Component<PromptImageAttachmentsProps> = (p
<div class="flex flex-wrap gap-2 px-3 pt-3">
<For each={props.attachments}>
{(attachment) => (
- <div class="relative group">
- <Show
- when={attachment.mime.startsWith("image/")}
- fallback={
- <div class={fallbackClass}>
- <Icon name="folder" class="size-6 text-text-weak" />
- </div>
- }
- >
- <img
- src={attachment.dataUrl}
- alt={attachment.filename}
- class={imageClass}
- onClick={() => props.onOpen(attachment)}
- />
- </Show>
- <button
- type="button"
- onClick={() => props.onRemove(attachment.id)}
- class={removeClass}
- aria-label={props.removeLabel}
- >
- <Icon name="close" class="size-3 text-text-weak" />
- </button>
- <div class={nameClass}>
- <span class="text-10-regular text-white truncate block">{attachment.filename}</span>
+ <Tooltip value={attachment.filename} placement="top" contentClass="break-all">
+ <div class="relative group">
+ <Show
+ when={attachment.mime.startsWith("image/")}
+ fallback={
+ <div class={fallbackClass}>
+ <Icon name="folder" class="size-6 text-text-weak" />
+ </div>
+ }
+ >
+ <img
+ src={attachment.dataUrl}
+ alt={attachment.filename}
+ class={imageClass}
+ onClick={() => props.onOpen(attachment)}
+ />
+ </Show>
+ <button
+ type="button"
+ onClick={() => props.onRemove(attachment.id)}
+ class={removeClass}
+ aria-label={props.removeLabel}
+ >
+ <Icon name="close" class="size-3 text-text-weak" />
+ </button>
+ <div class={nameClass}>
+ <span class="text-10-regular text-white truncate block">{attachment.filename}</span>
+ </div>
</div>
- </div>
+ </Tooltip>
)}
</For>
</div>