This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

semble / src / webapp / providers / index.tsx
1.4 kB 50 lines
1'use client'; 2 3import { AuthProvider } from '@/hooks/useAuth'; 4import { useEffect } from 'react'; 5import MantineProvider from './mantine'; 6import TanStackQueryProvider from './tanstack'; 7import { NavbarProvider } from './navbar'; 8import { SettingsProvider } from './settings'; 9import posthog from 'posthog-js'; 10import { PostHogProvider } from 'posthog-js/react'; 11 12interface Props { 13 children: React.ReactNode; 14} 15 16export default function Providers(props: Props) { 17 useEffect(() => { 18 const posthogKey = process.env.NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY; 19 20 if (!posthogKey) { 21 console.warn('PostHog key not found in environment variables'); 22 return; 23 } 24 if (process.env.NEXT_PUBLIC_VERCEL_ENV !== 'production') { 25 return; 26 } 27 28 posthog.init(process.env.NEXT_PUBLIC_POSTHOG_PROJECT_API_KEY!, { 29 api_host: process.env.NEXT_PUBLIC_POSTHOG_API_HOST, 30 disable_session_recording: true, 31 autocapture: false, 32 capture_pageview: false, 33 capture_pageleave: false, 34 }); 35 }, []); 36 37 return ( 38 <PostHogProvider client={posthog}> 39 <TanStackQueryProvider> 40 <AuthProvider> 41 <MantineProvider> 42 <SettingsProvider> 43 <NavbarProvider>{props.children}</NavbarProvider> 44 </SettingsProvider> 45 </MantineProvider> 46 </AuthProvider> 47 </TanStackQueryProvider> 48 </PostHogProvider> 49 ); 50}