From abf0a2f248d981d1bcbc509ab3c6639a869cee18 Mon Sep 17 00:00:00 2001 From: Youhai Date: Mon, 20 Jul 2026 19:39:10 +0800 Subject: [PATCH] fix(site): correct navigation state and anchor scrolling (#6) - make the docs brand link return to the landing site - keep landing navigation active state synchronized across routes and section links - tighten sticky-header anchor scroll spacing --- packages/docs/src/components/nav.tsx | 5 +- packages/landing/src/components/footer.tsx | 19 ++--- packages/landing/src/components/nav.tsx | 91 +++++++++++++-------- packages/landing/src/components/section.tsx | 4 +- packages/landing/src/lib/nav-state.ts | 26 ++++++ packages/landing/src/sections/cta.tsx | 7 +- packages/landing/src/sections/hero.tsx | 7 +- packages/landing/src/styles.css | 6 +- packages/landing/test/nav-state.test.ts | 20 +++++ 9 files changed, 123 insertions(+), 62 deletions(-) create mode 100644 packages/landing/src/lib/nav-state.ts create mode 100644 packages/landing/test/nav-state.test.ts diff --git a/packages/docs/src/components/nav.tsx b/packages/docs/src/components/nav.tsx index 616ba0f..87545c9 100644 --- a/packages/docs/src/components/nav.tsx +++ b/packages/docs/src/components/nav.tsx @@ -4,7 +4,6 @@ * toggle. The sidebar itself lives in the layout (router.tsx); this bar only flips * its open state. */ -import { Link } from "react-router"; import { S } from "../lib/strings"; import { REPO_URL, SITE_URL } from "../lib/links"; import { GitHubIcon, MenuIcon, XIcon } from "./icons"; @@ -25,13 +24,13 @@ export function Nav({ menuOpen, onToggleMenu }: { menuOpen: boolean; onToggleMen {menuOpen ? : } - + {S.siteName} {S.docsBadge} - +
- onHome ? ( - - {label} - - ) : ( - - {label} - - ); + const anchor = (id: string, label: string) => ( + + {label} + + ); return (