diff options
| author | Adam Malczewski <[email protected]> | 2026-06-22 14:55:45 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-22 14:55:45 +0900 |
| commit | b7ea4b7325c02bf29046ab232411c053b36a99bd (patch) | |
| tree | e0fc862f03a20fe070e28831d59a3450e7963214 /src/features/chat/ui/CompactionView.svelte | |
| parent | 0ab13155b0d32a6062797b3f3da1c093b30cc9f0 (diff) | |
| download | dispatch-web-b7ea4b7325c02bf29046ab232411c053b36a99bd.tar.gz dispatch-web-b7ea4b7325c02bf29046ab232411c053b36a99bd.zip | |
feat: persist sidebar layout + open/closed state between refreshes
Sidebar panel layout (which views are open and their order) and the
sidebar open/closed toggle are now persisted to localStorage. Default
layout is just the Model view at the top.
- ViewSidebar accepts an onChange callback that reports panel kinds
- App.svelte creates two createLocalStore instances (dispatch.sidebar.views
+ dispatch.sidebar.open) using the store's storage adapter
- AppStore exposes its storage instance so the shell persists via the
same adapter (test-injectable, not globalThis.localStorage)
- Tests pre-populate fake storage with ["extensions"] for the 4 tests
that need the Extensions view visible
686 tests green. 0 svelte-check warnings (2 pre-existing errors from
missing transport-contract exports, unchanged).
Diffstat (limited to 'src/features/chat/ui/CompactionView.svelte')
0 files changed, 0 insertions, 0 deletions
