diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks/useSettings.ts')
-rw-r--r-- | packages/taler-wallet-webextension/src/hooks/useSettings.ts | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/packages/taler-wallet-webextension/src/hooks/useSettings.ts b/packages/taler-wallet-webextension/src/hooks/useSettings.ts index dd3822c1a..a79a71087 100644 --- a/packages/taler-wallet-webextension/src/hooks/useSettings.ts +++ b/packages/taler-wallet-webextension/src/hooks/useSettings.ts @@ -36,12 +36,16 @@ export const codecForSettings = (): Codec<Settings> => .property("walletAllowHttp", codecForBoolean()) .property("injectTalerSupport", codecForBoolean()) .property("autoOpen", codecForBoolean()) - .property("advanceMode", codecForBoolean()) + .property("advancedMode", codecForBoolean()) .property("backup", codecForBoolean()) .property("langSelector", codecForBoolean()) .property("showJsonOnError", codecForBoolean()) .property("extendedAccountTypes", codecForBoolean()) .property("suspendIndividualTransaction", codecForBoolean()) + .property("showRefeshTransactions", codecForBoolean()) + .property("showExchangeManagement", codecForBoolean()) + .property("selectTosFormat", codecForBoolean()) + .property("showWalletActivity", codecForBoolean()) .build("Settings"); const SETTINGS_KEY = buildStorageKey("wallet-settings", codecForSettings()); @@ -50,11 +54,11 @@ export function useSettings(): [ Readonly<Settings>, <T extends keyof Settings>(key: T, value: Settings[T]) => void, ] { - const { value, update } = useLocalStorage(SETTINGS_KEY); + const { value, update } = useLocalStorage(SETTINGS_KEY, defaultSettings); - const parsed: Settings = value ?? defaultSettings; function updateField<T extends keyof Settings>(k: T, v: Settings[T]) { - update({ ...parsed, [k]: v }); + update({ ...value, [k]: v }); } - return [parsed, updateField]; + + return [value, updateField]; } |