All files / src/contexts useFeature.ts

100% Statements 2/2
100% Branches 0/0
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                          354x 354x    
import type { AppConfig } from '../config/runtime-config';
import { useConfig } from './useConfig';
 
/**
 * Hook to check if a feature is enabled
 *
 * Convenience hook for checking feature flags.
 *
 * @param featureName - Name of the feature to check
 * @returns true if feature is enabled, false otherwise
 *
 * @example
 * ```tsx
 * function Analytics() {
 *   const analyticsEnabled = useFeature('analytics');
 *   if (!analyticsEnabled) return null;
 *   return <AnalyticsComponent />;
 * }
 * ```
 */
export function useFeature(featureName: keyof AppConfig['features']): boolean {
  const config = useConfig();
  return config.features[featureName];
}