Skip to content

Commit 78f77a9

Browse files
committed
replace swetrix with openpanel
1 parent f7fc9d4 commit 78f77a9

4 files changed

Lines changed: 137 additions & 27 deletions

File tree

kite-web/package-lock.json

Lines changed: 102 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

kite-web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"@formkit/auto-animate": "^0.8.2",
1717
"@hookform/resolvers": "^3.6.0",
1818
"@lemonsqueezy/lemonsqueezy.js": "^2.2.0",
19+
"@openpanel/nextjs": "^1.4.0",
1920
"@radix-ui/react-accordion": "^1.2.0",
2021
"@radix-ui/react-alert-dialog": "^1.0.5",
2122
"@radix-ui/react-aspect-ratio": "^1.0.3",
@@ -75,7 +76,6 @@
7576
"recharts": "^2.15.0",
7677
"simple-markdown": "^0.7.3",
7778
"sonner": "^1.5.0",
78-
"swetrix": "^3.7.1",
7979
"tailwind-merge": "^2.3.0",
8080
"tailwindcss-animate": "^1.0.7",
8181
"vaul": "^0.9.9",
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { useUser } from "@/lib/hooks/api";
2+
import { OpenPanelComponent, useOpenPanel } from "@openpanel/nextjs";
3+
import { useEffect } from "react";
4+
5+
export default function AnalyticsProvider() {
6+
const op = useOpenPanel();
7+
const user = useUser();
8+
9+
useEffect(() => {
10+
if (user?.id) {
11+
op.identify({
12+
profileId: user.id,
13+
firstName: user.discord_username,
14+
lastName: user.display_name,
15+
email: user.email,
16+
});
17+
}
18+
}, [user?.id, op.identify]);
19+
20+
if (process.env.NODE_ENV !== "production" && typeof window === "undefined") {
21+
return null;
22+
}
23+
24+
return (
25+
<OpenPanelComponent
26+
clientId="3d379370-3ce9-4a92-b7ea-2c663b7fa7dd"
27+
apiUrl="https://analytics.vaven.io/api"
28+
trackScreenViews={true}
29+
trackOutgoingLinks={true}
30+
/>
31+
);
32+
}

kite-web/src/pages/_app.tsx

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,13 @@ import { TooltipProvider } from "@/components/ui/tooltip";
88
import { QueryClientProvider } from "@tanstack/react-query";
99
import queryClient from "@/lib/api/client";
1010
import { SpeedInsights } from "@vercel/speed-insights/next";
11-
import { Analytics } from "@vercel/analytics/react";
12-
import * as swetrix from "swetrix";
11+
import AnalyticsProvider from "@/components/common/AnalyticsProvider";
1312

1413
const fontSans = FontSans({
1514
subsets: ["latin"],
1615
variable: "--font-sans",
1716
});
1817

19-
if (process.env.NODE_ENV === "production" && typeof window !== "undefined") {
20-
document.addEventListener("DOMContentLoaded", () => {
21-
swetrix.init("1Lhc9ncbpz6e", {
22-
apiURL: "https://swetrix.vaven.io/log",
23-
});
24-
swetrix.trackViews();
25-
swetrix.trackErrors({
26-
sampleRate: 1,
27-
});
28-
});
29-
}
30-
3118
export default function App({ Component, pageProps }: AppProps) {
3219
return (
3320
<>
@@ -43,7 +30,7 @@ export default function App({ Component, pageProps }: AppProps) {
4330
<Toaster position="top-right" richColors={true} />
4431

4532
<SpeedInsights />
46-
<Analytics />
33+
<AnalyticsProvider />
4734
</TooltipProvider>
4835
</ThemeProvider>
4936
</QueryClientProvider>

0 commit comments

Comments
 (0)