File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import { env } from '@/env.mjs' ;
2+ import { auth } from '@/app/lib/auth' ;
23import { initializeServer } from '@comp/analytics/server' ;
34import { cn } from '@comp/ui/cn' ;
45import '@comp/ui/globals.css' ;
56import { GeistMono } from 'geist/font/mono' ;
67import type { Metadata } from 'next' ;
78import localFont from 'next/font/local' ;
9+ import { headers } from 'next/headers' ;
810import { NuqsAdapter } from 'nuqs/adapters/next/app' ;
911import { Suspense } from 'react' ;
1012import { Toaster } from 'sonner' ;
@@ -81,6 +83,10 @@ if (env.NEXT_PUBLIC_POSTHOG_KEY && env.NEXT_PUBLIC_POSTHOG_HOST) {
8183export 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 >
Original file line number Diff line number Diff line change 11'use client' ;
22
33import { AnalyticsProvider } from '@comp/analytics' ;
4+ import { Session , User } from 'better-auth' ;
45import { ThemeProvider } from 'next-themes' ;
56import type { ReactNode } from 'react' ;
67
78type 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}
You can’t perform that action at this time.
0 commit comments