[READ-ONLY] Mirror of https://github.com/lukebennett88/luke-ui. luke-ui.pages.dev

Share one top nav across docs and playground (#279) master

* Share one top nav across docs, playground, and 404 Docs and the playground carried different chrome: the docs sidebar owned the wordmark, search, nav links, and theme controls, while the playground had a bespoke bar with a plain-text title and one "Docs" link. Nothing carried across but the theme controls. Both surfaces now render one SiteNav: wordmark, Docs/Playground/Storybook, search, and the appearance controls. The 404 renders it too, so no surface is left with its own bar. The docs move from Fumadocs' docs layout to its notebook layout with nav.mode 'top', which spans the header full width and starts the sidebar beneath it. SiteNav is supplied through the layout's header slot, so it also carries the sidebar collapse and drawer triggers, and the sidebar footer no longer renders the theme switch. Below lg the docs hand the destinations to the sidebar, which already lists them there; surfaces with no sidebar keep them on a second nav row below md. Below md the appearance controls move behind a disclosure -- they are 230px of pills that cannot share a 320px row with the wordmark, search, and the sidebar trigger, and letting them wrap made the docs bar 113px tall while the layout still offset content by 56px. Pre-bundle lucide-react: Fumadocs' search trigger and popover import from its barrel, which unbundled is ~1750 module requests. Adding that to the playground, which also loads Monaco, exhausted the browser's connection pool in dev and the page never hydrated. * Cover shared navigation behavior