forked from Northgate-Systems/RemitX
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAnalytics.tsx
More file actions
33 lines (28 loc) · 865 Bytes
/
Copy pathAnalytics.tsx
File metadata and controls
33 lines (28 loc) · 865 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"use client";
import { Suspense, useEffect } from "react";
import { usePathname, useSearchParams } from "next/navigation";
function AnalyticsInner() {
const pathname = usePathname();
const searchParams = useSearchParams();
useEffect(() => {
const consent = localStorage.getItem("remitx_cookie_consent");
if (consent !== "accepted") return;
const url = `${pathname}${searchParams?.toString() ? `?${searchParams.toString()}` : ""}`;
try {
navigator.sendBeacon?.(
"/api/analytics",
new Blob([JSON.stringify({ url, referrer: document.referrer, ts: Date.now() })], { type: "application/json" })
);
} catch {
// best-effort
}
}, [pathname, searchParams]);
return null;
}
export default function Analytics() {
return (
<Suspense fallback={null}>
<AnalyticsInner />
</Suspense>
);
}