Skip to content

Commit 4db4740

Browse files
Merge pull request #64 from prisma/update-posthog
fix: posthog integration
2 parents c902dc0 + ddde5c2 commit 4db4740

File tree

4 files changed

+88
-10
lines changed

4 files changed

+88
-10
lines changed

claim-db-worker/app/layout.tsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Navbar } from "../components/Navbar";
66
import { Footer } from "../components/Footer";
77
import { DropProvider } from "./contexts/DropContext";
88
import { Toaster } from "react-hot-toast";
9-
import { PageViewTracker } from "@/components/PageViewTracker";
9+
import { PostHogProvider } from "@/components/PostHogProvider";
1010

1111
const barlow = Barlow({
1212
weight: ["400", "500", "700", "800", "900"],
@@ -54,15 +54,16 @@ export default function RootLayout({
5454
src="https://cdn.tolt.io/tolt.js"
5555
data-tolt="fda67739-7ed0-42d2-b716-6da0edbec191"
5656
/>
57-
<PageViewTracker />
5857
<Toaster toastOptions={{ duration: 4000 }} />
59-
<DropProvider>
60-
<div className="flex items-center justify-center flex-col min-h-screen max-w-screen-xl mx-auto w-full">
61-
<Navbar />
62-
{children}
63-
<Footer />
64-
</div>
65-
</DropProvider>
58+
<PostHogProvider>
59+
<DropProvider>
60+
<div className="flex items-center justify-center flex-col min-h-screen max-w-screen-xl mx-auto w-full">
61+
<Navbar />
62+
{children}
63+
<Footer />
64+
</div>
65+
</DropProvider>
66+
</PostHogProvider>
6667
</body>
6768
</html>
6869
);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
"use client";
2+
3+
import posthog, { PostHog } from "posthog-js";
4+
import { PostHogProvider as PHProvider } from "posthog-js/react";
5+
6+
declare global {
7+
interface Window {
8+
posthog: PostHog;
9+
}
10+
}
11+
12+
export function PostHogProvider({ children }: { children: React.ReactNode }) {
13+
if (
14+
typeof window !== "undefined" &&
15+
process.env.NEXT_PUBLIC_POSTHOG_API_KEY
16+
) {
17+
posthog.init(process.env.NEXT_PUBLIC_POSTHOG_API_KEY || "", {
18+
api_host:
19+
process.env.NEXT_PUBLIC_POSTHOG_API_HOST ||
20+
"https://proxyhog.prisma-data.net",
21+
person_profiles: "identified_only",
22+
capture_pageview: true,
23+
capture_pageleave: true,
24+
autocapture: true,
25+
debug: process.env.NODE_ENV === "development", // Enable debug in development
26+
loaded: (posthog) => {
27+
if (process.env.NODE_ENV === "development") {
28+
console.log("PostHog initialized in debug mode");
29+
// Make posthog available globally for debugging
30+
window.posthog = posthog;
31+
}
32+
},
33+
});
34+
}
35+
36+
return <PHProvider client={posthog}>{children}</PHProvider>;
37+
}

claim-db-worker/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"lucide-react": "^0.541.0",
2626
"next": "15.4.6",
2727
"pg": "^8.16.3",
28+
"posthog-js": "^1.282.0",
2829
"prisma": "^6.14.0",
2930
"react": "19.1.0",
3031
"react-dom": "19.1.0",

pnpm-lock.yaml

Lines changed: 40 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)