From 6da6d47aab3d1a92f3aaab439922f7cd725c25f0 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sat, 19 Sep 2026 03:29:17 -0400 Subject: [PATCH] fix(web): render v2 banner full width below header --- packages/web/astro.config.mjs | 2 +- packages/web/src/components/Banner.astro | 61 ------------- packages/web/src/components/PageFrame.astro | 97 +++++++++++++++++++++ packages/web/src/components/V2Banner.astro | 85 ++++++++++++++++++ packages/web/src/styles/custom.css | 26 ++++++ 5 files changed, 209 insertions(+), 62 deletions(-) delete mode 100644 packages/web/src/components/Banner.astro create mode 100644 packages/web/src/components/PageFrame.astro create mode 100644 packages/web/src/components/V2Banner.astro diff --git a/packages/web/astro.config.mjs b/packages/web/astro.config.mjs index a6144fd173..21eaa6e651 100644 --- a/packages/web/astro.config.mjs +++ b/packages/web/astro.config.mjs @@ -296,7 +296,7 @@ export default defineConfig({ ], components: { Hero: "./src/components/Hero.astro", - Banner: "./src/components/Banner.astro", + PageFrame: "./src/components/PageFrame.astro", Head: "./src/components/Head.astro", Header: "./src/components/Header.astro", Footer: "./src/components/Footer.astro", diff --git a/packages/web/src/components/Banner.astro b/packages/web/src/components/Banner.astro deleted file mode 100644 index 05857bd850..0000000000 --- a/packages/web/src/components/Banner.astro +++ /dev/null @@ -1,61 +0,0 @@ - - New - OpenCode v2 is now available - - - - diff --git a/packages/web/src/components/PageFrame.astro b/packages/web/src/components/PageFrame.astro new file mode 100644 index 0000000000..49dc4195f0 --- /dev/null +++ b/packages/web/src/components/PageFrame.astro @@ -0,0 +1,97 @@ +--- +import MobileMenuToggle from "virtual:starlight/components/MobileMenuToggle" +import V2Banner from "./V2Banner.astro" + +const { hasSidebar } = Astro.locals.starlightRoute +--- + +
+
+ + { + hasSidebar && ( + + ) + } +
+
+ + diff --git a/packages/web/src/components/V2Banner.astro b/packages/web/src/components/V2Banner.astro new file mode 100644 index 0000000000..11ce915b66 --- /dev/null +++ b/packages/web/src/components/V2Banner.astro @@ -0,0 +1,85 @@ + + New + OpenCode v2 is now available + + + + diff --git a/packages/web/src/styles/custom.css b/packages/web/src/styles/custom.css index 04331dd6ae..744934ae74 100644 --- a/packages/web/src/styles/custom.css +++ b/packages/web/src/styles/custom.css @@ -28,6 +28,32 @@ /* For the share component */ --sl-color-bg-surface: var(--sl-color-bg-nav); --sl-color-divider: var(--sl-color-gray-5); + + /* Fixed v2 announcement bar rendered below the header by PageFrame */ + --v2-banner-height: 2.75rem; +} + +:root[data-has-hero] { + --v2-banner-height: 0rem; +} + +/* Shift fixed chrome below the v2 banner */ +mobile-starlight-toc nav { + top: calc(var(--sl-nav-height) + var(--v2-banner-height) - 1px); +} + +html { + scroll-padding-top: calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height) + var(--v2-banner-height)); +} + +@media (min-width: 72rem) { + .right-sidebar { + padding-top: calc(var(--sl-nav-height) + var(--v2-banner-height)); + } + + html { + scroll-padding-top: calc(1.5rem + var(--sl-nav-height) + var(--v2-banner-height)); + } } body {