From 0de586249ee503903a82eaaf1e970040cb95e6d2 Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Wed, 9 Oct 2024 12:54:54 +0700 Subject: [PATCH] fix settings update being partial --- src/modules/settings/hooks/useSettings.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/modules/settings/hooks/useSettings.ts b/src/modules/settings/hooks/useSettings.ts index 8257b87..14d7fb6 100644 --- a/src/modules/settings/hooks/useSettings.ts +++ b/src/modules/settings/hooks/useSettings.ts @@ -1,7 +1,7 @@ -import { useMemo } from "react"; +import { useCallback, useMemo } from "react"; import { useStorage } from "~/modules/storage/StorageContext"; import { useDefaultTheme } from "~/modules/theme/hooks/useDefaultTheme"; -import { defaultSettings } from "../context/SettingsContext"; +import { defaultSettings, SettingsValue } from "../context/SettingsContext"; export const useSettings = () => { const defaultColors = useDefaultTheme(); @@ -13,5 +13,12 @@ export const useSettings = () => { [defaultColors, storedSettings] ); - return { settings, update: setSettings }; + const update = useCallback( + (value: Partial) => { + setSettings({ ...settings, ...value }); + }, + [setSettings, settings] + ); + + return { settings, update }; };