From 308c175b200e584f7e4b240e46eeaff94e6485f1 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Tue, 1 Sep 2026 10:18:46 -0700 Subject: [PATCH 1/2] refactor(website): drop the marketing footer from the docs tree Every /docs route now wears the sidebar control plane, and a marketing footer bolted under the article column breaks that single-pane read. The footer is mounted once in the root layout, so a route gate is its only opt-out: SiteFooter suppresses it on /docs and /docs/*, and every other route is untouched. Verified against the prerendered build: all 122 docs pages ship without footer-root, every other page still has it. Co-Authored-By: Claude Opus 5 --- apps/website/src/app/layout.tsx | 4 +- .../src/components/shared/SiteFooter.spec.tsx | 44 +++++++++++++++++++ .../src/components/shared/SiteFooter.tsx | 17 +++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 apps/website/src/components/shared/SiteFooter.spec.tsx create mode 100644 apps/website/src/components/shared/SiteFooter.tsx diff --git a/apps/website/src/app/layout.tsx b/apps/website/src/app/layout.tsx index 4eb7e0073..b535dcb84 100644 --- a/apps/website/src/app/layout.tsx +++ b/apps/website/src/app/layout.tsx @@ -2,7 +2,7 @@ import type { Metadata } from 'next'; import { EB_Garamond, Inter, JetBrains_Mono } from 'next/font/google'; import './global.css'; import { Nav } from '../components/shared/Nav'; -import { Footer } from '../components/shared/Footer'; +import { SiteFooter } from '../components/shared/SiteFooter'; import { AnnouncementToast } from '../components/shared/AnnouncementToast'; import { JsonLd } from '../components/shared/JsonLd'; import { rootJsonLd } from '../lib/structured-data'; @@ -70,7 +70,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })