diff options
Diffstat (limited to 'frontend/src/utils/hooks')
| -rw-r--r-- | frontend/src/utils/hooks/useSetting.ts | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/frontend/src/utils/hooks/useSetting.ts b/frontend/src/utils/hooks/useSetting.ts index f950bf6a..afed5239 100644 --- a/frontend/src/utils/hooks/useSetting.ts +++ b/frontend/src/utils/hooks/useSetting.ts @@ -1,25 +1,14 @@ import { useEffect, useState } from 'react'; -interface GetSettingArgs<T> { - key: string; - default: T; -} - -interface SetSettingArgs<T> { - key: string; - value: T; -} +import { getSetting, setSetting } from '../settings'; -export function useSetting<T>(key: string, def: T): [value: T | null, setValue: (value: T) => Promise<void>] { +export function useSetting<T>(key: string, def: T): [value: T, setValue: (value: T) => Promise<void>] { const [value, setValue] = useState(def); useEffect(() => { (async () => { - const res = (await window.DeckyPluginLoader.callServerMethod('get_setting', { - key, - default: def, - } as GetSettingArgs<T>)) as { result: T }; - setValue(res.result); + const res = await getSetting<T>(key, def); + setValue(res); })(); }, []); @@ -27,10 +16,7 @@ export function useSetting<T>(key: string, def: T): [value: T | null, setValue: value, async (val: T) => { setValue(val); - await window.DeckyPluginLoader.callServerMethod('set_setting', { - key, - value: val, - } as SetSettingArgs<T>); + await setSetting(key, val); }, ]; } |
