Feat v0.4.6 sidebar restructure
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m33s
CI/CD / test-sqlite (pull_request) Successful in 2m58s
CI/CD / build-and-deploy (pull_request) Successful in 1m16s

Restructure the notes sidebar with a two-tab header (Notes / Outline)
and relocate the document outline from the editor-side panel into the
sidebar's Outline tab with active heading tracking.

- Add SidebarTabs component with Notes/Outline tabs; Outline disabled
  when no note is selected
- Add SidebarOutline component with nested heading hierarchy
  (H1→H2→H3), depth indentation, and click-to-scroll
- Add RAF-throttled scroll listener for active heading highlighting
  based on scroll position (preview getBoundingClientRect / CM6 viewport)
- Lift headings, scrollToHeading, and activeHeadingIdx state to NotesApp
  via EditorPane callback props
- Remove old DocumentOutline component and .doc-outline CSS
- Auto-reset to Notes tab when active note is deleted
- Bump notes package to v0.7.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 21:16:31 +00:00
parent 6fbac0a33f
commit d5984f4762
6 changed files with 240 additions and 111 deletions

View File

@@ -6,9 +6,9 @@
"route": "/s/notes",
"auth": "authenticated",
"layout": "single",
"version": "0.6.0",
"version": "0.7.0",
"icon": "📝",
"description": "Markdown notes surface with rich editor, folders, tags, backlinks, import/export, and document outline.",
"description": "Markdown notes surface with rich editor, folders, tags, backlinks, import/export, sidebar tabs, and document outline.",
"author": "switchboard",
"permissions": ["db.write"],