Files
placebo.mk/pwa/src/main.tsx
T
dimitar b9a4a45781 feat: integrate PostHog analytics for frontend and PWA
- Install posthog-js and @posthog/react packages
- Add PostHogProvider wrapper in main.tsx for both apps
- Configure PostHog with EU instance and 2026-01-30 defaults
- Add environment variables for API key and host
- Update docker-compose.coolify.yml with PostHog build args
2026-03-01 01:04:17 +01:00

42 lines
1.1 KiB
TypeScript

import { StrictMode } from 'react'
import ReactDOM from 'react-dom/client'
import { RouterProvider } from '@tanstack/react-router'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { PostHogProvider } from '@posthog/react'
import { router } from './routes'
import { AuthProvider } from './contexts/AuthContext'
import { initializeTheme } from './lib/theme'
import { registerSW } from 'virtual:pwa-register'
initializeTheme()
const queryClient = new QueryClient()
const posthogOptions = {
api_host: import.meta.env.VITE_PUBLIC_POSTHOG_HOST,
defaults: '2026-01-30',
} as const
const updateSW = registerSW({
onNeedRefresh() {
if (confirm('New content available. Reload?')) {
updateSW(true)
}
},
})
ReactDOM.createRoot(document.getElementById('root')!).render(
<StrictMode>
<PostHogProvider
apiKey={import.meta.env.VITE_PUBLIC_POSTHOG_KEY}
options={posthogOptions}
>
<QueryClientProvider client={queryClient}>
<AuthProvider>
<RouterProvider router={router} />
</AuthProvider>
</QueryClientProvider>
</PostHogProvider>
</StrictMode>,
)