41 lines
No EOL
1.3 KiB
JavaScript
41 lines
No EOL
1.3 KiB
JavaScript
// import App from 'next/app'
|
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
import { Fragment, useEffect } from 'react';
|
|
import "../components/css/styles.css"
|
|
import * as gtag from '../lib/gtag'
|
|
import { Router, useRouter } from 'next/router'
|
|
|
|
//Router.events.on('routeChangeComplete', (url) => gtag.pageview(url))
|
|
|
|
function MyApp({ Component, pageProps }) {
|
|
const router = useRouter()
|
|
useEffect(() => {
|
|
const handleRouteChange = (url) => {
|
|
gtag.pageview(url);
|
|
console.log("Pageview is happening")
|
|
};
|
|
router.events.on("routeChangeComplete", handleRouteChange);
|
|
return () => {
|
|
router.events.off("routeChangeComplete", handleRouteChange);
|
|
};
|
|
}, [router.events]);
|
|
|
|
|
|
return (
|
|
<Component {...pageProps} />
|
|
)
|
|
}
|
|
|
|
// Only uncomment this method if you have blocking data requirements for
|
|
// every single page in your application. This disables the ability to
|
|
// perform automatic static optimization, causing every page in your app to
|
|
// be server-side rendered.
|
|
//
|
|
// MyApp.getInitialProps = async (appContext) => {
|
|
// // calls page's `getInitialProps` and fills `appProps.pageProps`
|
|
// const appProps = await App.getInitialProps(appContext);
|
|
//
|
|
// return { ...appProps }
|
|
// }
|
|
|
|
export default MyApp |