26 lines
696 B
TypeScript
26 lines
696 B
TypeScript
'use client';
|
|
|
|
import { usePathname, useSearchParams } from 'next/navigation';
|
|
import { useEffect } from 'react';
|
|
import { usePostHog } from 'posthog-js/react';
|
|
|
|
export function PostHogPageView(): null {
|
|
const pathname = usePathname();
|
|
const searchParams = useSearchParams();
|
|
const posthog = usePostHog();
|
|
|
|
useEffect(() => {
|
|
// Tracker les changements de page
|
|
if (pathname && posthog) {
|
|
let url = window.origin + pathname;
|
|
if (searchParams && searchParams.toString()) {
|
|
url = url + '?' + searchParams.toString();
|
|
}
|
|
posthog.capture('$pageview', {
|
|
$current_url: url,
|
|
});
|
|
}
|
|
}, [pathname, searchParams, posthog]);
|
|
|
|
return null;
|
|
}
|