From 887ff0d4598a794ad5f36b9587b1e7613edfb321 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 7 Feb 2026 03:42:52 -0800 Subject: fix: persist detail panel sizes with panelIds-keyed storage Without panelIds, the single-panel state (no entry selected) was overwriting the two-panel layout on every navigation. --- apps/web/app/reader/_components/command-palette.tsx | 2 +- apps/web/app/reader/_components/reader-shell.tsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/web/app/reader/_components/command-palette.tsx b/apps/web/app/reader/_components/command-palette.tsx index 744250f..32f035a 100644 --- a/apps/web/app/reader/_components/command-palette.tsx +++ b/apps/web/app/reader/_components/command-palette.tsx @@ -196,7 +196,7 @@ export function CommandPalette() { onSelect={() => actionAndClose(() => { localStorage.removeItem( - "react-resizable-panels:asa-detail-layout" + "react-resizable-panels:asa-detail-layout:entry-list:detail-panel" ) localStorage.removeItem( "react-resizable-panels:asa-sidebar-layout:sidebar:main-content" diff --git a/apps/web/app/reader/_components/reader-shell.tsx b/apps/web/app/reader/_components/reader-shell.tsx index 5d6bd60..09278c3 100644 --- a/apps/web/app/reader/_components/reader-shell.tsx +++ b/apps/web/app/reader/_components/reader-shell.tsx @@ -54,6 +54,7 @@ export function ReaderShell({ const detailLayout = useDefaultLayout({ id: "asa-detail-layout", + panelIds: ["entry-list", "detail-panel"], storage: typeof window !== "undefined" ? localStorage : { getItem: () => null, setItem: () => {} }, }) -- cgit v1.2.3