Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / packages/analytics/providers/openpanel-identify.tsx |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | packages/analytics/providers/openpanel-identify.tsx |
| Original SHA-256 | bf40c6ef29bcd1ce363ed72e5f9b2988f081a26da0ac35f63dcbdf332434b959 |
| Git blob SHA | 0b45a75ebce58e0b6cc51b56cdd661d47cf6248e |
| Reading-copy SHA-256 | bf40c6ef29bcd1ce363ed72e5f9b2988f081a26da0ac35f63dcbdf332434b959 |
Recovered source transcript
Download complete source text ↓30 lines · 0.7 KB
'use client'
import { useAuth } from '@thedaviddias/auth/client'
import { useEffect } from 'react'
/**
* Syncs the authenticated Clerk user to OpenPanel's user identification.
* Must be rendered inside the Clerk/auth provider tree.
*/
export function OpenPanelIdentify() {
const { user } = useAuth()
useEffect(() => {
if (typeof window === 'undefined' || !window.op) return
if (user) {
window.op.identify({
profileId: user.id,
firstName: user.firstName ?? undefined,
lastName: user.lastName ?? undefined,
email: user.email ?? undefined
})
} else {
window.op.clear()
}
}, [user])
return null
}