diff options
| author | Jay V <[email protected]> | 2025-07-10 16:08:42 -0400 |
|---|---|---|
| committer | Jay V <[email protected]> | 2025-07-10 16:38:51 -0400 |
| commit | 2e5f96fa41d0d6e18f47bb458b67cccf80516f2b (patch) | |
| tree | c20b74a293e0bd29a5fba0593fefabeaff1da7b3 /packages/web/src/components/share | |
| parent | c056b0add9221c32cd50452d4b9b884f2be67021 (diff) | |
| download | opencode-2e5f96fa41d0d6e18f47bb458b67cccf80516f2b.tar.gz opencode-2e5f96fa41d0d6e18f47bb458b67cccf80516f2b.zip | |
docs: share page attachment
Diffstat (limited to 'packages/web/src/components/share')
| -rw-r--r-- | packages/web/src/components/share/part.module.css | 23 | ||||
| -rw-r--r-- | packages/web/src/components/share/part.tsx | 11 |
2 files changed, 28 insertions, 6 deletions
diff --git a/packages/web/src/components/share/part.module.css b/packages/web/src/components/share/part.module.css index 9145cddf7..a11221ea1 100644 --- a/packages/web/src/components/share/part.module.css +++ b/packages/web/src/components/share/part.module.css @@ -137,6 +137,29 @@ } } + [data-component="attachment"] { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 0.375rem; + padding-bottom: 1rem; + + [data-slot="copy"] { + line-height: 18px; + font-size: 0.875rem; + text-transform: uppercase; + letter-spacing: -0.5px; + color: var(--sl-color-text-secondary); + } + + [data-slot="filename"] { + line-height: 1.5; + font-size: 0.875rem; + font-weight: 500; + max-width: var(--md-tool-width); + } + } + [data-component="button-text"] { cursor: pointer; appearance: none; diff --git a/packages/web/src/components/share/part.tsx b/packages/web/src/components/share/part.tsx index 4d95fa528..d2b6bd925 100644 --- a/packages/web/src/components/share/part.tsx +++ b/packages/web/src/components/share/part.tsx @@ -15,6 +15,7 @@ import { IconSparkles, IconGlobeAlt, IconDocument, + IconPaperClip, IconQueueList, IconUserCircle, IconCommandLine, @@ -80,7 +81,7 @@ export function Part(props: PartProps) { <IconUserCircle width={18} height={18} /> </Match> <Match when={props.message.role === "user" && props.part.type === "file"}> - <IconDocument width={18} height={18} /> + <IconPaperClip width={18} height={18} /> </Match> <Match when={props.part.type === "step-start" && props.message.role === "assistant" && props.message.modelID}> {model => <ProviderIcon model={model()} size={18} />} @@ -152,11 +153,9 @@ export function Part(props: PartProps) { </> )} {props.message.role === "user" && props.part.type === "file" && ( - <div data-component="tool-title"> - <span data-slot="name">Read</span> - <span data-slot="target" title={props.part.filename}> - {props.part.filename} - </span> + <div data-component="attachment"> + <div data-slot="copy">Attachment</div> + <div data-slot="filename">{props.part.filename}</div> </div> )} {props.part.type === "step-start" && props.message.role === "assistant" && ( |
