Feature Flag
UtilityFeature flag conditional renderer.
Preview
🚫 Beta Feature (flag disabled — showing fallback)
Usage
example.jsx
import { FeatureFlagProvider, useFeatureFlag, FeatureFlag } from "@/components/ui/feature-flag";
export default function Example() {
return <FeatureFlagProvider />;
}Source Code
Copy this file into components/ui/feature-flag.jsx in your project.
feature-flag.jsx
"use client";
import { createContext, useContext } from "react";
const FeatureFlagContext = createContext({});
function FeatureFlagProvider({ children, flags = {} }) {
return <FeatureFlagContext.Provider value={flags}>{children}</FeatureFlagContext.Provider>;
}
function useFeatureFlag(flag) { return useContext(FeatureFlagContext)[flag] ?? false; }
function FeatureFlag({ flag, children, fallback = null }) {
const enabled = useFeatureFlag(flag);
return enabled ? children : fallback;
}
export { FeatureFlagProvider, useFeatureFlag, FeatureFlag };
Quick Install
Make sure you have the cn() utility set up. It requires clsx and tailwind-merge.
npm install clsx tailwind-merge