mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-16 02:52:31 -04:00
414540af5c
GitOrigin-RevId: 6054143eb042e4ff336b1f325a8cef693ae8c4bd
19 lines
619 B
TypeScript
19 lines
619 B
TypeScript
import useScopeValue from '../../../shared/hooks/use-scope-value'
|
|
import { saveUserSettings } from '../utils/api'
|
|
import type { UserSettingsScope } from '../utils/api'
|
|
|
|
export default function useSaveUserSettings() {
|
|
const [userSettingsScope, setUserSettingsScope] = useScopeValue<UserSettingsScope>(
|
|
'settings',
|
|
true
|
|
)
|
|
|
|
return <T,>(key: keyof UserSettingsScope, newSetting: T) => {
|
|
const currentSetting = userSettingsScope[key]
|
|
|
|
if (currentSetting !== newSetting) {
|
|
setUserSettingsScope({ ...userSettingsScope, [key]: newSetting })
|
|
saveUserSettings({ [key]: newSetting })
|
|
}
|
|
}
|
|
}
|