import "./instrument"; // Sentry must init before any other imports import posthog from 'posthog-js' import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import { reactErrorHandler } from '@sentry/react' import { HelmetProvider } from 'react-helmet-async' import { PostHogProvider } from '@posthog/react' import { initWebVitals } from './lib/webVitals' import { Toaster } from 'sonner' import './index.css' import App from './App' // Initialize PostHog client before rendering const posthogKey = import.meta.env.VITE_PUBLIC_POSTHOG_KEY as string | undefined if (posthogKey) { posthog.init(posthogKey, { api_host: (import.meta.env.VITE_PUBLIC_POSTHOG_HOST as string) || 'https://us.i.posthog.com', autocapture: true, capture_pageview: true, capture_pageleave: 'if_capture_pageview', persistence: 'localStorage+cookie', }) } // Start Web Vitals reporting to PostHog initWebVitals() createRoot(document.getElementById('root')!, { onUncaughtError: reactErrorHandler(), onCaughtError: reactErrorHandler(), onRecoverableError: reactErrorHandler(), }).render( {/* Toast notification system - theme syncs automatically via CSS custom properties */} , )