Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
946 B · 25 lines
TypeScript
at main
1234567891011121314151617181920212223242526import { useCallback, useEffect } from 'react'import { settingsChangeDetector } from '../utils/settings/changeDetector.js'import type { SettingSource } from '../utils/settings/constants.js'import { getSettings_DEPRECATED } from '../utils/settings/settings.js'import type { SettingsJson } from '../utils/settings/types.js'
export function useSettingsChange( onChange: (source: SettingSource, settings: SettingsJson) => void,): void { const handleChange = useCallback( (source: SettingSource) => { // Cache is already reset by the notifier (changeDetector.fanOut) — // resetting here caused N-way thrashing with N subscribers: each // cleared the cache, re-read from disk, then the next cleared again. const newSettings = getSettings_DEPRECATED() onChange(source, newSettings) }, [onChange], )
useEffect( () => settingsChangeDetector.subscribe(handleChange), [handleChange], )}