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() {
- +