29 lines
681 B
TypeScript
29 lines
681 B
TypeScript
'use client';
|
|
|
|
import posthog from 'posthog-js';
|
|
import { PostHogProvider } from 'posthog-js/react';
|
|
import { FC, ReactNode, useEffect } from 'react';
|
|
|
|
export const PHProvider: FC<{
|
|
children: ReactNode;
|
|
phkey?: string;
|
|
host?: string;
|
|
}> = ({ children, phkey, host }) => {
|
|
useEffect(() => {
|
|
if (!phkey || !host) {
|
|
return;
|
|
}
|
|
|
|
posthog.init(phkey, {
|
|
api_host: host,
|
|
person_profiles: 'identified_only',
|
|
capture_pageview: false, // Disable automatic pageview capture, as we capture manually
|
|
});
|
|
}, []);
|
|
|
|
if (!phkey || !host) {
|
|
return <>{children}</>;
|
|
}
|
|
return <PostHogProvider client={posthog}>{children}</PostHogProvider>;
|
|
};
|