import { useEffect } from 'react'; import posthog from 'posthog-js'; import { useLocation, useSearchParams } from 'react-router'; import { extractPostHogConfig } from '@documenso/lib/constants/feature-flags'; export function PostHogPageview() { const postHogConfig = extractPostHogConfig(); const { pathname } = useLocation(); const [searchParams] = useSearchParams(); // const { sessionData } = useOptionalSession(); // const user = sessionData?.user; if (typeof window !== 'undefined' && postHogConfig) { posthog.init(postHogConfig.key, { api_host: postHogConfig.host, disable_session_recording: true, // loaded: () => { // if (user) { // posthog.identify(user.email ?? user.id.toString()); // } else { // posthog.reset(); // } // }, custom_campaign_params: ['src'], }); } useEffect(() => { if (!postHogConfig || !pathname) { return; } let url = window.origin + pathname; if (searchParams && searchParams.toString()) { url = url + `?${searchParams.toString()}`; } posthog.capture('$pageview', { $current_url: url, }); }, [pathname, searchParams, postHogConfig]); return null; }