import { useEffect } from "react"; import { useRouter } from "next/router"; import * as Panelbear from "@panelbear/panelbear-js"; import type { PanelbearConfig } from "@panelbear/panelbear-js"; export const usePanelbear = (siteId?: string, config: PanelbearConfig = {}) => { const router = useRouter(); useEffect(() => { if (!siteId) { return; } Panelbear.load(siteId, { scriptSrc: "/bear.js", ...config }); Panelbear.trackPageview(); const handleRouteChange = () => Panelbear.trackPageview(); router.events.on("routeChangeComplete", handleRouteChange); return () => router.events.off("routeChangeComplete", handleRouteChange); // eslint-disable-next-line }, [siteId]); };