w-funnel/src/components/providers/AppProviders.tsx
dev.daminik00 ea381ea399 ab test
2025-10-30 01:56:59 +01:00

30 lines
997 B
TypeScript

"use client";
import type { ReactNode } from "react";
import { FunnelProvider } from "@/lib/funnel/FunnelProvider";
import { UnleashProvider } from "./UnleashProvider";
interface AppProvidersProps {
children: ReactNode;
}
/**
* Корневой Provider приложения
*
* ВАЖНО: UnleashAnalyticsInitializer перемещен в FunnelUnleashWrapper
* чтобы гарантировать что impression listener готов ДО загрузки флагов
*
* Структура:
* 1. UnleashProvider (FlagProvider) - инициализация Unleash Client (глобально)
* 2. FunnelProvider - управление состоянием воронки
* 3. FunnelUnleashWrapper (в layout) - подписка на impression события + загрузка флагов
*/
export function AppProviders({ children }: AppProvidersProps) {
return (
<UnleashProvider>
<FunnelProvider>{children}</FunnelProvider>
</UnleashProvider>
);
}