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
This commit is contained in:
1 parent
64588935ca
commit
b9a4a45781
9 files changed
+1008
-185
No files matched your search
@@ -11,3 +11,7 @@ VITE_API_URL=http://localhost:3000/api/v1
|
||||
|
||||
# ===== COMMON =====
|
||||
VITE_CMS_URL=http://localhost:1337
|
||||
|
||||
# ===== POSTHOG ANALYTICS =====
|
||||
VITE_PUBLIC_POSTHOG_KEY=phc_kuDGT1kUmJmijLRjiQaKWIaU4JBdFW0aELW2hIGlBXR
|
||||
VITE_PUBLIC_POSTHOG_HOST=https://eu.i.posthog.com
|
||||
@@ -18,6 +18,7 @@
|
||||
"dev:reset-env": "cp -f .env.docker .env"
|
||||
},
|
||||
"dependencies": {
|
||||
"@posthog/react": "^1.8.1",
|
||||
"@radix-ui/react-label": "^2.1.8",
|
||||
"@radix-ui/react-select": "^2.2.6",
|
||||
"@radix-ui/react-slot": "^1.2.4",
|
||||
@@ -27,6 +28,7 @@
|
||||
"@tanstack/react-query": "^5.90.14",
|
||||
"@tanstack/react-router": "^1.144.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"posthog-js": "^1.356.1",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"react-markdown": "^10.1.0",
|
||||
|
||||
+16
-5
@@ -2,6 +2,7 @@ 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'
|
||||
@@ -11,12 +12,22 @@ initializeTheme();
|
||||
|
||||
const queryClient = new QueryClient()
|
||||
|
||||
const posthogOptions = {
|
||||
api_host: import.meta.env.VITE_PUBLIC_POSTHOG_HOST,
|
||||
defaults: '2026-01-30',
|
||||
} as const
|
||||
|
||||
ReactDOM.createRoot(document.getElementById('root')!).render(
|
||||
<StrictMode>
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<AuthProvider>
|
||||
<RouterProvider router={router} />
|
||||
</AuthProvider>
|
||||
</QueryClientProvider>
|
||||
<PostHogProvider
|
||||
apiKey={import.meta.env.VITE_PUBLIC_POSTHOG_KEY}
|
||||
options={posthogOptions}
|
||||
>
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<AuthProvider>
|
||||
<RouterProvider router={router} />
|
||||
</AuthProvider>
|
||||
</QueryClientProvider>
|
||||
</PostHogProvider>
|
||||
</StrictMode>,
|
||||
)
|
||||
Reference in new issue
Block a user