Skip to content

feat(ui): add TOC side panel and dropdown for page viewer#1247

Merged
perber merged 1 commit into
mainfrom
feat/toc-side-panel
Jul 2, 2026
Merged

feat(ui): add TOC side panel and dropdown for page viewer#1247
perber merged 1 commit into
mainfrom
feat/toc-side-panel

Conversation

@perber

@perber perber commented Jul 1, 2026

Copy link
Copy Markdown
Owner

No description provided.

- Sticky TOC side panel (xl+) rendered via portal into app-toc-pane-root
- TOC dropdown button in subheader for smaller screens
- Shared scroll-spy hook (useTocScrollSpy) with atBottom detection so
  short paragraphs no longer prevent bottom headings from activating
- URL hash updated via history.replaceState on TOC entry click
- scrollToHeadlineHash now returns a cancel function; useScrollToHeadline
  uses it as useEffect cleanup to prevent stale replaceState on fast nav
- Lifted useTocScrollSpy to PageViewer to eliminate duplicate listeners
- overflow-hidden mobile guard moved to scroll-container (correct element)
- .app-layout__content-row added to print overflow:visible rule
- i18n keys: toc.title, toc.onThisPage
- Tests: TocSidePanel (13), TocDropdownButton (8), scrollToHeadline (3)
@perber perber linked an issue Jul 1, 2026 that may be closed by this pull request
@perber perber merged commit 948f43e into main Jul 2, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Table of Contents tree view instead of dropdown

1 participant