Add resizable panes with drag handles, min widths, and persistence

This commit is contained in:
2026-06-05 10:46:07 +03:00
parent 411bfbc6c2
commit c50f141d57
11 changed files with 482 additions and 25 deletions
+5 -2
View File
@@ -1,5 +1,6 @@
import { createRoot } from 'react-dom/client';
import { App } from './app/App';
import { initPanes, wirePanes } from './app/orchestration/panes';
import { initPreviewFitMode, wirePreviewFitMode } from './app/orchestration/preferences';
import { initApp } from './app/orchestration/startup';
import { initTheme, wireTheme } from './app/orchestration/theme';
@@ -11,10 +12,12 @@ import '../styles/base.css';
initTheme();
wireTheme();
// Hydrate + persist the preview fit mode the same way (pulled ahead of the M5
// Settings modal); hydrating before render keeps the store authoritative.
// Hydrate + persist the small UI preferences (preview fit mode, pane widths) the
// same way. Pane widths hydrate before render so the layout opens as left.
initPreviewFitMode();
wirePreviewFitMode();
initPanes();
wirePanes();
// Load the library from IndexedDB (seeding a sample on first run) and wire
// persistence. Fire-and-forget: the UI renders immediately and fills in when