'use client'; import { analytics } from '@konobangu/analytics/client'; import { useSession } from '@konobangu/auth/client'; import { usePathname, useSearchParams } from 'next/navigation'; import { useEffect, useRef } from 'react'; export const PostHogIdentifier = () => { const session = useSession(); const user = session?.data?.user; const identified = useRef(false); const pathname = usePathname(); const searchParams = useSearchParams(); useEffect(() => { // Track pageviews if (pathname && analytics) { let url = window.origin + pathname; if (searchParams.toString()) { url = `${url}?${searchParams.toString()}`; } analytics.capture('$pageview', { $current_url: url, }); } }, [pathname, searchParams]); useEffect(() => { if (!user || identified.current) { return; } analytics.identify(user.id, { email: user.email, name: user.name, createdAt: user.createdAt, avatar: user.image, }); identified.current = true; }, [user]); return null; };