Skip to content

Commit 5614d62

Browse files
github-actions[bot]chasprowebdevMarfuen
authored
fix(portal): fixed the issue that the Posthog didn't identify people on the portal (#1668)
Co-authored-by: chasprowebdev <chasgarciaprowebdev@gmail.com> Co-authored-by: Mariano Fuentes <marfuen98@gmail.com>
1 parent 914c45e commit 5614d62

2 files changed

Lines changed: 19 additions & 3 deletions

File tree

‎apps/portal/src/app/layout.tsx‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { env } from '@/env.mjs';
2+
import { auth } from '@/app/lib/auth';
23
import { initializeServer } from '@comp/analytics/server';
34
import { cn } from '@comp/ui/cn';
45
import '@comp/ui/globals.css';
56
import { GeistMono } from 'geist/font/mono';
67
import type { Metadata } from 'next';
78
import localFont from 'next/font/local';
9+
import { headers } from 'next/headers';
810
import { NuqsAdapter } from 'nuqs/adapters/next/app';
911
import { Suspense } from 'react';
1012
import { Toaster } from 'sonner';
@@ -81,6 +83,10 @@ if (env.NEXT_PUBLIC_POSTHOG_KEY && env.NEXT_PUBLIC_POSTHOG_HOST) {
8183
export default async function Layout(props: { children: React.ReactNode }) {
8284
const { children } = props;
8385

86+
const session = await auth.api.getSession({
87+
headers: await headers(),
88+
});
89+
8490
return (
8591
<html lang="en" suppressHydrationWarning>
8692
<body
@@ -91,7 +97,7 @@ export default async function Layout(props: { children: React.ReactNode }) {
9197
>
9298
<Suspense>
9399
<NuqsAdapter>
94-
<Providers>
100+
<Providers session={session}>
95101
<main>{children}</main>
96102
</Providers>
97103
</NuqsAdapter>

‎apps/portal/src/app/providers.tsx‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,27 @@
11
'use client';
22

33
import { AnalyticsProvider } from '@comp/analytics';
4+
import { Session, User } from 'better-auth';
45
import { ThemeProvider } from 'next-themes';
56
import type { ReactNode } from 'react';
67

78
type ProviderProps = {
89
children: ReactNode;
10+
session: {
11+
session: Session | null;
12+
user: User | null;
13+
} | null;
914
};
1015

11-
export function Providers({ children }: ProviderProps) {
16+
export function Providers({ children, session }: ProviderProps) {
1217
return (
1318
<ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange>
14-
<AnalyticsProvider>{children}</AnalyticsProvider>
19+
<AnalyticsProvider
20+
userId={session?.user?.id ?? undefined}
21+
userEmail={session?.user?.email ?? undefined}
22+
>
23+
{children}
24+
</AnalyticsProvider>
1525
</ThemeProvider>
1626
);
1727
}

0 commit comments

Comments
 (0)