From eb439574becb9a82c283d513a98440d7c8efbafe Mon Sep 17 00:00:00 2001 From: TrainDoctor Date: Thu, 1 Sep 2022 13:46:49 -0700 Subject: Addition of proper branch slection (#168) * This is a bit better, but branch selection still isn't working -_- * I'm the king of oversight * Selecting different branch checks for updates * Stable doesn't detect old versions, which indicates it doesn't work * Start adding deckyState for plugin updating * Few tweaks * Disable nightly selection * Update decky-frontend-lib and move useSetting set setting to async --- frontend/src/utils/hooks/useSetting.ts | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'frontend/src/utils/hooks') diff --git a/frontend/src/utils/hooks/useSetting.ts b/frontend/src/utils/hooks/useSetting.ts index 2425ed16..f950bf6a 100644 --- a/frontend/src/utils/hooks/useSetting.ts +++ b/frontend/src/utils/hooks/useSetting.ts @@ -10,9 +10,8 @@ interface SetSettingArgs { value: T; } -export function useSetting(key: string, def: T): [value: T | null, setValue: (value: T) => void] { +export function useSetting(key: string, def: T): [value: T | null, setValue: (value: T) => Promise] { const [value, setValue] = useState(def); - const [ready, setReady] = useState(false); useEffect(() => { (async () => { @@ -20,20 +19,18 @@ export function useSetting(key: string, def: T): [value: T | null, setValue: key, default: def, } as GetSettingArgs)) as { result: T }; - setReady(true); setValue(res.result); })(); }, []); - useEffect(() => { - if (ready) - (async () => { - await window.DeckyPluginLoader.callServerMethod('set_setting', { - key, - value, - } as SetSettingArgs); - })(); - }, [value]); - - return [value, setValue]; + return [ + value, + async (val: T) => { + setValue(val); + await window.DeckyPluginLoader.callServerMethod('set_setting', { + key, + value: val, + } as SetSettingArgs); + }, + ]; } -- cgit v1.2.3