fix settings update being partial

This commit is contained in:
Fedor Katurov 2024-10-09 12:54:54 +07:00
parent 0ad22ec48a
commit 0de586249e

View file

@ -1,7 +1,7 @@
import { useMemo } from "react"; import { useCallback, useMemo } from "react";
import { useStorage } from "~/modules/storage/StorageContext"; import { useStorage } from "~/modules/storage/StorageContext";
import { useDefaultTheme } from "~/modules/theme/hooks/useDefaultTheme"; import { useDefaultTheme } from "~/modules/theme/hooks/useDefaultTheme";
import { defaultSettings } from "../context/SettingsContext"; import { defaultSettings, SettingsValue } from "../context/SettingsContext";
export const useSettings = () => { export const useSettings = () => {
const defaultColors = useDefaultTheme(); const defaultColors = useDefaultTheme();
@ -13,5 +13,12 @@ export const useSettings = () => {
[defaultColors, storedSettings] [defaultColors, storedSettings]
); );
return { settings, update: setSettings }; const update = useCallback(
(value: Partial<SettingsValue>) => {
setSettings({ ...settings, ...value });
},
[setSettings, settings]
);
return { settings, update };
}; };