Skip to content

feat(ui): split / side-by-side page view#45

Open
advancedresearcharray wants to merge 1 commit into
mainfrom
feat/split-page-view
Open

feat(ui): split / side-by-side page view#45
advancedresearcharray wants to merge 1 commit into
mainfrom
feat/split-page-view

Conversation

@advancedresearcharray

Copy link
Copy Markdown
Owner

Summary

  • Adds resizable side-by-side page view with independent left/right pane navigation
  • Entry points: right-click "Open in Split View" (tree + wiki-links), Mod+\ keyboard shortcut, and history "Compare with current"
  • Persists split state in sessionStorage; disabled on viewports <768px with user notice

Implementation

Uses existing kiwi-resize-handle drag pattern for the divider. Core pieces:

  • SplitViewProvider context + splitView.ts state helpers
  • SplitPageLayout / SplitPageView rendering dual KiwiPage / KiwiEditor panes
  • Backend + frontend default keybinding: toggle_split_view: mod+\

Test plan

  • go test ./internal/keybindings/... — PASS
  • npm test (ui) — 196/196 PASS (includes 7 splitView regression tests)
  • Right-click tree item → Open in Split View
  • Right-click wiki-link → Open in Split View
  • Ctrl+\ / Cmd+\ toggles split view
  • Drag divider resizes panes (25–75% clamp)
  • Close button on secondary pane
  • History → Compare with current opens version split
  • Mobile viewport shows blocked message

Upstream: kiwifs#426

Made with Cursor

Add resizable two-pane split view with sessionStorage persistence,
context-menu and keyboard (Mod+\) entry points, independent pane
navigation, version compare from history, and mobile viewport guard.

Closes kiwifs#426
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.

1 participant