Template
feat(app): route every page with wouter
Replace the single-scroll showcase and its anchor/scrollIntoView navigation with real routes: /, /patterns, /components/*, /foundations/*, /docs/*, plus a 404 fallback. - src/app/routes.tsx is the route table and the only source for paths, section headings, sidebar entries, breadcrumbs and the rail, so navigation cannot drift from the pages that exist - src/pages/* holds one component per route; App.tsx is now the shell (topbar, sidebar, breadcrumbs, Switch, right rail, scroll-to-top) - the active pattern moves into the URL (/patterns?pattern=table) and the sidebar/palette deep-link into it; SearchPalette results now carry a path - Sidebar/RightRail render <Link> with aria-current; Hero and Topbar use route links too (ButtonLink keeps the button visual) - PATTERNS + PatternId move to src/data/patterns.ts (no non-component export in a component file), pattern buttons gain aria-pressed - tests/routing.test.tsx: registry/nav invariants, per-route rendering, sidebar navigation, pattern deep links, 404
This commit is contained in:
1 parent
d6c7464170
commit
9ca7473729
29 files changed
+827
-317
No files matched your search
@@ -46,7 +46,8 @@ src/
|
||||
index.css ← fonts, token import, base resets
|
||||
utils.css ← token-compliant utility classes
|
||||
App.css ← application showcase styles
|
||||
app/ ← AppStateProvider + useAppState(): theme, viewMode, sidebar, ⌘K search
|
||||
app/ ← AppStateProvider + useAppState(), and the route table (wouter)
|
||||
pages/ ← one page component per route
|
||||
components/
|
||||
ui/ ← composable primitives (Overlay, Dialog, Sheet, Tabs, Alert, …)
|
||||
icon-registry.ts← the one icon name → lucide component map
|
||||
|
||||
Reference in new issue
Block a user