summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/hooks/useSettings.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks/useSettings.ts')
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useSettings.ts14
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];
}