import { AppProps } from 'next/app'; import '@portaljs/components/styles.css'; import './styles.css'; import { NextSeo } from 'next-seo'; import { useEffect } from 'react'; import Script from 'next/script'; import Head from 'next/head'; import { useRouter } from 'next/router'; import { Layout, SearchProvider, pageview, ThemeProvider, NavItem, NavGroup, } from '@portaljs/core'; export interface CustomAppProps { meta: { showToc: boolean; showEditLink: boolean; showSidebar: boolean; showComments: boolean; urlPath: string; // not sure what's this for editUrl?: string; [key: string]: any; }; siteMap?: Array; [key: string]: any; } function CustomApp({ Component, pageProps }: AppProps) { const router = useRouter(); const GA_TOKEN = 'G-GXZF7NRXX6'; useEffect(() => { const handleRouteChange = (url) => { pageview(url); }; router.events.on('routeChangeComplete', handleRouteChange); return () => { router.events.off('routeChangeComplete', handleRouteChange); }; }, [router.events]); return ( <>