import { FeatureFlagConfig } from './feature-types';

/**
 * Example feature flag configuration
 * 
 * Copy this file to features.config.ts and customize for your needs
 * 
 * Feature states:
 * - 'enabled': Feature is fully available
 * - 'disabled': Feature is turned off
 * - 'coming_soon': Feature is in development, shown as "coming soon"
 * - 'hidden': Feature is hidden from users
 */
export const featureConfig: FeatureFlagConfig = {
  development: {
    sponsors: {
      portal: 'enabled',
      dashboard: 'enabled',
      management: 'enabled',
    },
    admin: {
      dashboard: 'enabled',
      userManagement: 'enabled',
      analytics: 'enabled',
    },
    beta: {
      newUI: 'enabled',
      experimental: 'coming_soon',
    },
  },

  test: {
    sponsors: {
      portal: 'enabled',
      dashboard: 'enabled',
      management: 'enabled',
    },
    admin: {
      dashboard: 'enabled',
      userManagement: 'enabled',
      analytics: 'enabled',
    },
    beta: {
      newUI: 'disabled',
      experimental: 'disabled',
    },
  },

  staging: {
    sponsors: {
      portal: 'enabled',
      dashboard: 'enabled',
      management: 'enabled',
    },
    admin: {
      dashboard: 'enabled',
      userManagement: 'enabled',
      analytics: 'enabled',
    },
    beta: {
      newUI: 'coming_soon',
      experimental: 'hidden',
    },
  },

  production: {
    sponsors: {
      portal: 'enabled',
      dashboard: 'enabled',
      management: 'disabled',
    },
    admin: {
      dashboard: 'enabled',
      userManagement: 'enabled',
      analytics: 'disabled',
    },
    beta: {
      newUI: 'disabled',
      experimental: 'hidden',
    },
  },
};