Skip to content

Commit

Permalink
Merge pull request #9400 from abailly-akamai/chore-enable-ff-local-st…
Browse files Browse the repository at this point in the history
…orage

Chore: Enable local storage for MSW feature flags
  • Loading branch information
abailly-akamai authored Jul 13, 2023
2 parents 2ec41f0 + 3b65f05 commit c592ef4
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions packages/manager/src/dev-tools/FeatureFlagTool.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import { Dispatch } from 'src/hooks/types';
import useFlags from 'src/hooks/useFlags';
import { setMockFeatureFlags } from 'src/store/mockFeatureFlags';
import Grid from '@mui/material/Unstable_Grid2';
import { getStorage, setStorage } from 'src/utilities/storage';

const MOCK_FEATURE_FLAGS_STORAGE_KEY = 'devTools/mock-feature-flags';

const options: { label: string; flag: keyof Flags }[] = [
{ label: 'Metadata', flag: 'metadata' },
Expand All @@ -17,11 +20,23 @@ const FeatureFlagTool: React.FC<{}> = () => {
const dispatch: Dispatch = useDispatch();
const flags = useFlags();

React.useEffect(() => {
const storedFlags = getStorage(MOCK_FEATURE_FLAGS_STORAGE_KEY);
if (storedFlags) {
dispatch(setMockFeatureFlags(storedFlags));
}
}, [dispatch]);

const handleCheck = (
e: React.ChangeEvent<HTMLInputElement>,
flag: keyof FlagSet
) => {
dispatch(setMockFeatureFlags({ [flag]: e.target.checked }));
const updatedFlags = JSON.stringify({
...getStorage(MOCK_FEATURE_FLAGS_STORAGE_KEY),
[flag]: e.target.checked,
});
setStorage(MOCK_FEATURE_FLAGS_STORAGE_KEY, updatedFlags);
};

return (
Expand Down

0 comments on commit c592ef4

Please sign in to comment.