UNPKG

@optic7409/resolvo-analytics

Version:

Simplified analytics client library for Next.js with automatic SSR handling, one-line integration, and comprehensive tracking

28 lines (27 loc) 992 B
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useContext, useEffect, useState } from 'react'; import { AnalyticsClient } from '../../core/AnalyticsClient'; export const AnalyticsContext = createContext({ client: null, isReady: false }); export function AnalyticsProvider({ config, children }) { const [client, setClient] = useState(null); const [isReady, setIsReady] = useState(false); useEffect(() => { const analyticsClient = new AnalyticsClient(config); setClient(analyticsClient); setIsReady(true); return () => { analyticsClient.destroy(); }; }, [config]); return (_jsx(AnalyticsContext.Provider, { value: { client, isReady }, children: children })); } export function useAnalyticsContext() { const context = useContext(AnalyticsContext); if (!context) { throw new Error('useAnalyticsContext must be used within an AnalyticsProvider'); } return context; }