diff --git a/pages/_app.tsx b/pages/_app.tsx index 4b4a7763..6c9fd605 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -3,7 +3,7 @@ import { GrazProvider } from "graz"; import { AppProps } from "next/app"; import Script from "next/script"; import "nextra-theme-docs/style.css"; -import { ReactNode, useEffect, useState } from "react"; +import { ReactNode, useEffect, useState, useRef } from "react"; import { WagmiConfig, createConfig } from "wagmi"; import { arbitrum, avalanche, mainnet, sepolia } from "wagmi/chains"; import * as amplitude from "@amplitude/analytics-browser"; @@ -37,17 +37,21 @@ const config = createConfig( export default function Nextra({ Component, pageProps }: NextraAppProps) { const [mounted, setMounted] = useState(false); + const amplitudeInitialized = useRef(false); useEffect(() => setMounted(true), []); useEffect(() => { TagManager.initialize(tagManagerArgs); }, []); useEffect(() => { - if (AMPLITUDE_API_KEY) { - amplitude.init(AMPLITUDE_API_KEY); + if (AMPLITUDE_API_KEY && !amplitudeInitialized.current) { amplitude.add(autocapturePlugin()); + amplitude.init(AMPLITUDE_API_KEY, { + defaultTracking: true, + }); + amplitudeInitialized.current = true; } - }); + }, []); // Make the global context available to every page. return (