diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-11 09:38:35 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-11 09:38:35 -0400 |
| commit | a8388009b2ba141caafe7f2e35f7029d93e7811f (patch) | |
| tree | 2f939dba1042a1d1d9c03e4aa3470ad6332864e2 /src/components/GameConfigurationSelector.tsx | |
| parent | 9138886fd5315eb0e8c6a4a549a9d44f93ba3cde (diff) | |
| download | decky-lsfg-vk-a8388009b2ba141caafe7f2e35f7029d93e7811f.tar.gz decky-lsfg-vk-a8388009b2ba141caafe7f2e35f7029d93e7811f.zip | |
handle edge cases on flatpaks and ordering
Diffstat (limited to 'src/components/GameConfigurationSelector.tsx')
| -rw-r--r-- | src/components/GameConfigurationSelector.tsx | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/src/components/GameConfigurationSelector.tsx b/src/components/GameConfigurationSelector.tsx index ee87423..2c683ae 100644 --- a/src/components/GameConfigurationSelector.tsx +++ b/src/components/GameConfigurationSelector.tsx @@ -1,7 +1,7 @@ import { ButtonItem, ConfirmModal, Field, PanelSectionRow, showModal } from "@decky/ui"; -import { useEffect, useRef, useState } from "react"; +import { useEffect, useRef } from "react"; import { GameTarget } from "../hooks/useGameConfiguration"; -import { CollapsibleItemGroup, collapsibleItemGroupStyles } from "./CollapsibleItemGroup"; +import { CollapsibleItemGroup, collapsibleItemGroupStyles, usePersistentCollapsed } from "./CollapsibleItemGroup"; interface Props { targets: GameTarget[]; @@ -16,24 +16,6 @@ interface Props { const ENABLED_COLLAPSED_KEY = "lsfg-enabled-games-collapsed-v4"; const AVAILABLE_COLLAPSED_KEY = "lsfg-available-games-collapsed-v3"; -function usePersistentCollapsed(key: string) { - const [collapsed, setCollapsed] = useState(() => { - try { - return localStorage.getItem(key) !== "false"; - } catch { - return true; - } - }); - - useEffect(() => { - try { - localStorage.setItem(key, String(collapsed)); - } catch {} - }, [collapsed, key]); - - return [collapsed, () => setCollapsed((value) => !value)] as const; -} - function targetDescription(game: GameTarget): string { return game.nonSteam ? "Non-Steam" : "Steam"; } |
