Commit a6c1c49f authored by Zach Pomerantz's avatar Zach Pomerantz Committed by GitHub

fix: update feature flags on update (#4613)

parent 7848ad86
import { useAtom } from 'jotai' import { atomWithStorage, useAtomValue, useUpdateAtom } from 'jotai/utils'
import { atomWithStorage, useAtomValue } from 'jotai/utils'
import { createContext, ReactNode, useCallback, useContext } from 'react' import { createContext, ReactNode, useCallback, useContext } from 'react'
export { FeatureFlag } from './flags/featureFlags' export { FeatureFlag } from './flags/featureFlags'
...@@ -23,14 +22,16 @@ export function useFeatureFlagsContext(): FeatureFlagsContextType { ...@@ -23,14 +22,16 @@ export function useFeatureFlagsContext(): FeatureFlagsContextType {
export const featureFlagSettings = atomWithStorage<Record<string, string>>('featureFlags', {}) export const featureFlagSettings = atomWithStorage<Record<string, string>>('featureFlags', {})
export function useUpdateFlag() { export function useUpdateFlag() {
const [featureFlags, setFeatureFlags] = useAtom(featureFlagSettings) const setFeatureFlags = useUpdateAtom(featureFlagSettings)
return useCallback( return useCallback(
(featureFlag: string, option: string) => { (featureFlag: string, option: string) => {
featureFlags[featureFlag] = option setFeatureFlags((featureFlags) => ({
setFeatureFlags(featureFlags) ...featureFlags,
[featureFlag]: option,
}))
}, },
[featureFlags, setFeatureFlags] [setFeatureFlags]
) )
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment