diff --git a/package.json b/package.json index 38bd2fd..83b8abb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "markdown-home-tab", "private": true, - "version": "0.0.6", + "version": "0.0.7", "type": "module", "scripts": { "dev": "vite", diff --git a/public/manifest.json b/public/manifest.json index dc39c21..3633e45 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,7 +1,7 @@ { "name": "Markdown Home Tab", "short_name": "Markdown New Tab", - "version": "0.0.6", + "version": "0.0.7", "description": "Markdown right in your home tab! Paste links, pictures, lists and more. You can also customize colors to match your needs.", "manifest_version": 2, "permissions": ["storage"], 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 }; }; diff --git a/src/modules/storage/StorageProvider.tsx b/src/modules/storage/StorageProvider.tsx index 0e815ff..32d3e21 100644 --- a/src/modules/storage/StorageProvider.tsx +++ b/src/modules/storage/StorageProvider.tsx @@ -10,7 +10,7 @@ import { useDelayedSync } from "./hooks/useDelayedSync"; import { StorageContext } from "./StorageContext"; import { SettingsValue } from "~/modules/settings/context/SettingsContext"; -const debounceDelay = 500; +const debounceDelay = 3000; export const StorageProvider = ({ children }: { children: ReactNode }) => { const [hydrated, setHydrated] = useState(false);