"use client";

import { useVariant } from "@unleash/proxy-client-react";
import { useEffect } from "react";

interface FlagVariantFetcherProps {
  flag: string;
  onVariantLoaded: (flag: string, variant: string | undefined) => void;
}

/**
 * Компонент для получения варианта одного флага
 * Каждый экземпляр этого компонента вызывает useVariant на верхнем уровне
 * Это позволяет обходить ограничение правил хуков React
 */
export function FlagVariantFetcher({ flag, onVariantLoaded }: FlagVariantFetcherProps) {
  const variant = useVariant(flag);
  
  useEffect(() => {
    onVariantLoaded(flag, variant?.name);
  }, [flag, variant?.name, onVariantLoaded]);
  
  return null; // Этот компонент не рендерит UI
}
