From 64b1ac28610426b1cc78085fefbdf15a1a2645dd Mon Sep 17 00:00:00 2001 From: fatwang2 Date: Mon, 18 Mar 2024 02:26:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=9F=E8=AE=A1=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/app/page.tsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index a70e0bc..2dcd634 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -1,11 +1,32 @@ "use client"; +import React, { useEffect } from 'react'; +import { useRouter } from 'next/router'; import { Footer } from "@/app/components/footer"; import { Logo } from "@/app/components/logo"; import { PresetQuery } from "@/app/components/preset-query"; import { Search } from "@/app/components/search"; -import React from "react"; + +declare global { + interface Window { gtag: any; } +} export default function Home() { + const router = useRouter(); + + useEffect(() => { + const handleRouteChange = (url: URL) => { + window.gtag('config', process.env.NEXT_PUBLIC_GA_ID, { + page_path: url, + }); + }; + + router.events.on('routeChangeComplete', handleRouteChange); + + return () => { + router.events.off('routeChangeComplete', handleRouteChange); + }; + }, [router.events]); + return (