From e9b5e055f5314fc8abcdb27a81c910a229760bda Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Tue, 25 Aug 2026 00:52:54 -0400 Subject: [PATCH] fix(docs): refine header links and copy feedback --- packages/www/src/docs/layouts/DocsLayout.astro | 9 ++++++--- packages/www/src/docs/styles/global.css | 12 ++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/www/src/docs/layouts/DocsLayout.astro b/packages/www/src/docs/layouts/DocsLayout.astro index 1a8c948378e..8902cffbee9 100644 --- a/packages/www/src/docs/layouts/DocsLayout.astro +++ b/packages/www/src/docs/layouts/DocsLayout.astro @@ -61,6 +61,9 @@ const canonical = new URL(Astro.url.pathname, "https://opencode.ai").href + @@ -94,15 +97,15 @@ const canonical = new URL(Astro.url.pathname, "https://opencode.ai").href if (!(event.target instanceof Element)) return const button = event.target.closest("[data-copy-markdown]") if (!button) return - const response = await fetch(window.location.href, { headers: { Accept: "text/markdown" } }) - if (!response.ok) return - await navigator.clipboard.writeText(await response.text()) button.dataset.copied = "true" button.setAttribute("aria-label", "Copied") window.setTimeout(() => { delete button.dataset.copied button.setAttribute("aria-label", "Copy page as Markdown") }, 1500) + const response = await fetch(window.location.href, { headers: { Accept: "text/markdown" } }) + if (!response.ok) return + await navigator.clipboard.writeText(await response.text()) }) diff --git a/packages/www/src/docs/styles/global.css b/packages/www/src/docs/styles/global.css index 6a1b13f28f3..30cdb0125f1 100644 --- a/packages/www/src/docs/styles/global.css +++ b/packages/www/src/docs/styles/global.css @@ -158,8 +158,7 @@ a:hover { color: var(--foreground); } -.site-header nav a[aria-current="page"] { - border-bottom: 1px solid; +.site-header a:hover { text-decoration: none; } @@ -1012,6 +1011,15 @@ main { color: var(--foreground); } +.prose h1 button svg:last-child, +.prose h1 button[data-copied] svg:first-child { + display: none; +} + +.prose h1 button[data-copied] svg:last-child { + display: block; +} + .search-dialog { width: min(42rem, calc(100% - 2rem)); max-height: min(36rem, calc(100vh - 4rem));