Files
Giuseppe 21cbb09f0e feat: Enable features via url (#2459)
Allows to enable features from the /dashboard endpoint by setting it via `features` url param
2023-10-12 19:35:18 +02:00

21 lines
672 B
TypeScript

import { useSearchParams } from "@remix-run/react";
import { parse, readLocal, setLocal } from "@webstudio-is/feature-flags";
import { useEffect } from "react";
// Allows to set feature flags via URL parameter features=name1,name2,name3
export const useSetFeatures = () => {
const [searchParams] = useSearchParams();
useEffect(() => {
const features = searchParams.get("features");
if (features) {
const currentFlags = readLocal();
for (const flag of parse(features)) {
if (currentFlags.includes(flag) === false) {
currentFlags.push(flag);
}
}
setLocal(currentFlags.join(","));
}
}, [searchParams]);
};