From 527a65e9bc585f6124e9df359211ab32769ebed1 Mon Sep 17 00:00:00 2001 From: Moyasee Date: Tue, 11 Nov 2025 22:07:42 +0200 Subject: [PATCH] feat: remembering the view user left the library and restoring it on opening library again --- src/renderer/src/pages/library/library.tsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/pages/library/library.tsx b/src/renderer/src/pages/library/library.tsx index 3252d753..8b377f63 100644 --- a/src/renderer/src/pages/library/library.tsx +++ b/src/renderer/src/pages/library/library.tsx @@ -19,7 +19,10 @@ export default function Library() { onLibraryBatchComplete?: (cb: () => void) => () => void; }; - const [viewMode, setViewMode] = useState("compact"); + const [viewMode, setViewMode] = useState(() => { + const savedViewMode = localStorage.getItem("library-view-mode"); + return (savedViewMode as ViewMode) || "compact"; + }); const [filterBy, setFilterBy] = useState("all"); const [contextMenu, setContextMenu] = useState<{ game: LibraryGame | null; @@ -31,6 +34,11 @@ export default function Library() { const dispatch = useAppDispatch(); const { t } = useTranslation("library"); + const handleViewModeChange = useCallback((mode: ViewMode) => { + setViewMode(mode); + localStorage.setItem("library-view-mode", mode); + }, []); + useEffect(() => { dispatch(setHeaderTitle(t("library"))); const electron = (globalThis as unknown as { electron?: ElectronAPI }) @@ -147,7 +155,10 @@ export default function Library() {
- +