import '../styles/globals.css'; import '../styles/tailwind.css'; import '../styles/sib-form.css'; import Script from 'next/script'; import { DefaultSeo } from 'next-seo'; import { NavGroup, NavItem, pageview, ThemeProvider } from '@portaljs/core'; import { siteConfig } from '../config/siteConfig'; import { useEffect } from 'react'; import { useRouter } from 'next/dist/client/router'; 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 MyApp({ Component, pageProps }) { const router = useRouter(); useEffect(() => { if (siteConfig.analytics) { const handleRouteChange = (url) => { pageview(url); }; router.events.on('routeChangeComplete', handleRouteChange); return () => { router.events.off('routeChangeComplete', handleRouteChange); }; } }, [router.events]); return ( {/* Global Site Tag (gtag.js) - Google Analytics */} {siteConfig.analytics && ( <>