-> mixpanel.tsx
'use client'
import mixpanel from 'mixpanel-browser'
import { useEffect } from 'react'
import { getCookie } from '@/lib/utils'
import {
MIXPANEL_EVENT_ID,
MIXPANEL_SUPER_PROPERTY_KEY,
MIXPANEL_PROFILE_PROPERTY_KEY,
} from '@/constants/mixpanel'
export const Mixpanel = ({ token }: { token: string }) => {
useEffect(() => {
mixpanel.init(token, {
track_pageview: 'full-url',
persistence: 'localStorage',
})
const userId = getCookie('user-id')
if (userId) {
mixpanel.identify(userId)
mixpanel.people.set_once({
[MIXPANEL_PROFILE_PROPERTY_KEY.USER_ID]: userId,
registered: true,
$name: userId,
})
mixpanel.track(MIXPANEL_EVENT_ID.USER_LOGGED_IN)
}
}, [token])
return null
}