diff --git a/src/frontend/src/features/auth/api/useUser.tsx b/src/frontend/src/features/auth/api/useUser.tsx index fb09cd7c..0f4bd716 100644 --- a/src/frontend/src/features/auth/api/useUser.tsx +++ b/src/frontend/src/features/auth/api/useUser.tsx @@ -2,6 +2,8 @@ import { useQuery } from '@tanstack/react-query' import { keys } from '@/api/queryKeys' import { fetchUser } from './fetchUser' import { type ApiUser } from './ApiUser' +import { useEffect } from 'react' +import posthog from 'posthog-js' /** * returns info about currently logged in user @@ -15,6 +17,12 @@ export const useUser = () => { staleTime: 1000 * 60 * 60, // 1 hour }) + useEffect(() => { + if (query.data && query.data.id && !posthog._isIdentified()) { + posthog.identify('query.data.id', { email: query.data.email }) + } + }, [query.data]) + const isLoggedIn = query.status === 'success' ? query.data !== false : undefined const isLoggedOut = isLoggedIn === false diff --git a/src/frontend/src/layout/Header.tsx b/src/frontend/src/layout/Header.tsx index 2fe8348d..04fd0dfa 100644 --- a/src/frontend/src/layout/Header.tsx +++ b/src/frontend/src/layout/Header.tsx @@ -9,6 +9,7 @@ import { useMatchesRoute } from '@/navigation/useMatchesRoute' import { Feedback } from '@/components/Feedback' import { Menu } from '@/primitives/Menu' import { MenuList } from '@/primitives/MenuList' +import posthog from 'posthog-js' export const Header = () => { const { t } = useTranslation() @@ -79,6 +80,7 @@ export const Header = () => { items={[{ value: 'logout', label: t('logout') }]} onAction={(value) => { if (value === 'logout') { + posthog.reset() window.location.href = logoutUrl() } }}