mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-11 22:06:17 +00:00
feat: remembering the view user left the library and restoring it on opening library again
This commit is contained in:
@@ -19,7 +19,10 @@ export default function Library() {
|
||||
onLibraryBatchComplete?: (cb: () => void) => () => void;
|
||||
};
|
||||
|
||||
const [viewMode, setViewMode] = useState<ViewMode>("compact");
|
||||
const [viewMode, setViewMode] = useState<ViewMode>(() => {
|
||||
const savedViewMode = localStorage.getItem("library-view-mode");
|
||||
return (savedViewMode as ViewMode) || "compact";
|
||||
});
|
||||
const [filterBy, setFilterBy] = useState<FilterOption>("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() {
|
||||
</div>
|
||||
|
||||
<div className="library__controls-right">
|
||||
<ViewOptions viewMode={viewMode} onViewModeChange={setViewMode} />
|
||||
<ViewOptions
|
||||
viewMode={viewMode}
|
||||
onViewModeChange={handleViewModeChange}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user