Files
ProxMenux/web/components/ui
MacRimi e9e10e4ffa Fix doc nav + sidebar active-page detection after trailingSlash:true
PR #212 added `trailingSlash: true` to next.config.mjs so GitHub Pages
would serve the locale roots correctly. That changed what usePathname()
returns at runtime — `/docs/.../page/` with a trailing slash — but
the sidebar config (sidebarItems in DocSidebar.tsx) still declares
hrefs without the trailing slash. Every equality check
`pathname === item.href` therefore returned false on every page, and
two things broke:

1. components/ui/doc-navigation.tsx — the Previous/Next bar at the
   bottom of every doc page. With `findIndex` returning -1,
   `prevPage` was null and `nextPage = allPages[0]` (Introduction).
   So every doc page showed "Next: Introduction" regardless of
   where the user was.

2. components/DocSidebar.tsx — four comparisons that drove (a) the
   highlighted active item in the sidebar, (b) the active-section
   auto-open when navigating directly to a nested page, (c) the
   leaf-item highlight when the item has no submenu. All silently
   broken on every page.

Fix: a `stripTrailingSlash` helper plus a derived `currentPath` that
is compared instead of the raw `pathname`. `collectHrefs(...)` results
are also normalized at the point of comparison so the
`.includes(currentPath)` checks behave correctly.

Verified locally with `npm run build` — 232 pages indexed, no errors.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 14:44:52 +02:00
..
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-12-13 21:19:08 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00
2025-02-13 23:04:40 +01:00