use-save-user-settings.tsx 612 B

12345678910111213141516171819
  1. import { useUserSettingsContext } from '@/shared/context/user-settings-context'
  2. import { saveUserSettings } from '../utils/api'
  3. import { UserSettings } from '../../../../../types/user-settings'
  4. export default function useSaveUserSettings() {
  5. const { userSettings, setUserSettings } = useUserSettingsContext()
  6. return (
  7. key: keyof UserSettings,
  8. newSetting: UserSettings[keyof UserSettings]
  9. ) => {
  10. const currentSetting = userSettings[key]
  11. if (currentSetting !== newSetting) {
  12. setUserSettings({ ...userSettings, [key]: newSetting })
  13. saveUserSettings(key, newSetting)
  14. }
  15. }
  16. }