@optic7409/resolvo-analytics
Version:
Simplified analytics client library for Next.js with automatic SSR handling, one-line integration, and comprehensive tracking
22 lines (21 loc) • 720 B
JavaScript
import { useEffect } from 'react';
import { useRouter } from 'next/router';
import { useAnalytics } from './useAnalytics';
export function usePageTracking() {
const router = useRouter();
const { trackPageView, isReady } = useAnalytics();
useEffect(() => {
if (!isReady)
return;
// Track initial page load
trackPageView();
const handleRouteChange = (url) => {
trackPageView(url);
};
// Listen for route changes
router.events.on('routeChangeComplete', handleRouteChange);
return () => {
router.events.off('routeChangeComplete', handleRouteChange);
};
}, [router.events, trackPageView, isReady]);
}