feat(docs): redesign sidebar and top bar to be minimal Vercel-style
Summary
- Redesign the docs sidebar from the bordered "Better Auth" accordion style (section icons, chevrons, full-bleed row borders) to a minimal Vercel-style nav: input-style search box with a ⌘K chip, static group labels, and quiet rounded links.
- Remove all top bar borders; the sticky header and the sidebar scroller now use fade-out edges instead of hard lines.
- Drop
framer-motionfrom the docs app (only used by the old accordion) and add@superset/uifor the sharedOverflowFadeContainer.
Why / Context
The old sidebar was visually heavy — every section header was a bordered collapsible button with an icon and animated chevron, and rows had full-width hover blocks. This restyles it to match Vercel's docs: whitespace-separated groups, clear type hierarchy (medium-weight headers over muted items), and an active page marked by a subtle bg-accent pill at regular weight.
How It Works
Sidebar.tsxdrops the collapse state/framer-motion entirely; groups are always expanded (six flat groups didn't need an accordion). The search stays pinned while the list scrolls insideOverflowFadeContainer(fadeEdges: top+bottom) — the same component the desktopDashboardSidebaruses, so items dissolve at the edges instead of clipping.- The sticky top bar scrolls the window (not an inner container), so it gets the visual equivalent: a 20px
background → transparentgradient strip below the header. No scroll listener needed; it's invisible at the top of the page. SidebarContent.tsxkeeps parsing the"<Icon> <Title>"separator format frommeta.json(strips the legacy icon prefix), so no content changes were needed. Mobile nav (NavigationMobile) got the same label/item treatment.
Manual QA Checklist
Verified via headless Chromium against the dev server, light + dark, at desktop viewport:
- Sidebar renders all groups/items; active page shows the accent pill
- Search box opens the fumadocs search dialog (⌘K binding unchanged)
- Sidebar list fades under the pinned search box and at the bottom edge when scrollable
- Page content fades out under the sticky top bar when scrolled
- No console errors; screenshots visually inspected in both themes
Not covered: real mobile-device pass on NavigationMobile (styling-only change, same markup structure).
Testing
bun run typecheck(docs app)bun run lint(exit 0, warnings-as-errors)
Design Decisions
- Static groups instead of collapsible: the accordion chrome was most of the visual noise, Vercel's groups are static, and six groups fit comfortably; removing it also deleted the framer-motion dependency.
- Gradient strip instead of mask for the top bar:
mask-imageonly works on a scroll container, and the docs page scrolls the window; an always-on gradient below the sticky header produces the identical fade with zero JS.
Summary by cubic
Redesigned the docs sidebar and sticky top bar to a minimal Vercel-style nav with static groups, a simple ⌘K search, and fade-out scroll edges. This simplifies navigation, removes heavy borders/animations, and improves readability.
-
New Features
- Sidebar: static group labels, rounded links, input-style search with ⌘K; list uses fade edges via
@superset/ui’sOverflowFadeContainer. - Top bar: borders removed; adds a subtle gradient fade below the sticky header.
- Mobile nav: matches label/item styling; unified active link pill via
AsideLink.
- Sidebar: static group labels, rounded links, input-style search with ⌘K; list uses fade edges via
-
Dependencies
- Removed
framer-motion; added@superset/ui.
- Removed
Summary by CodeRabbit
- Style
- Refreshed the documentation sidebar with a cleaner static layout, updated spacing, and simplified section presentation.
- Restyled the sidebar search control and added a visible keyboard shortcut.
- Improved active and inactive link colors and spacing.
- Added a subtle fade beneath the navigation header.
- Simplified mobile navigation with more compact spacing and reduced visual clutter.