From 2e5f96fa41d0d6e18f47bb458b67cccf80516f2b Mon Sep 17 00:00:00 2001 From: Jay V Date: Thu, 10 Jul 2025 16:08:42 -0400 Subject: [PATCH] docs: share page attachment --- packages/web/src/components/Share.tsx | 1 + .../web/src/components/share/part.module.css | 23 +++++++++++++++++++ packages/web/src/components/share/part.tsx | 11 ++++----- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/packages/web/src/components/Share.tsx b/packages/web/src/components/Share.tsx index 90a1ffce..53a249d5 100644 --- a/packages/web/src/components/Share.tsx +++ b/packages/web/src/components/Share.tsx @@ -321,6 +321,7 @@ export default function Share(props: { const filteredParts = createMemo(() => msg.parts.filter((x, index) => { if (x.type === "step-start" && index > 0) return false + if (x.type === "text" && x.synthetic === true) return false if (x.type === "tool" && x.tool === "todoread") return false if (x.type === "text" && !x.text) return false if (x.type === "tool" && (x.state.status === "pending" || x.state.status === "running")) diff --git a/packages/web/src/components/share/part.module.css b/packages/web/src/components/share/part.module.css index 9145cddf..a11221ea 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 4d95fa52..d2b6bd92 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) { - + {model => } @@ -152,11 +153,9 @@ export function Part(props: PartProps) { )} {props.message.role === "user" && props.part.type === "file" && ( -
- Read - - {props.part.filename} - +
+
Attachment
+
{props.part.filename}
)} {props.part.type === "step-start" && props.message.role === "assistant" && (