aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-02-14 00:05:23 +0100
committerArmand Philippot <git@armandphilippot.com>2022-02-14 00:05:23 +0100
commitb79a46e6c2dc4b6df0a8e4c1a28ecf9178af965e (patch)
treed9dc62383271b636748de2f1a1001cd5376d856a /src/pages
parentab80c9b59a26e7316178bc7d3779b33ddc1747f1 (diff)
chore(matomo): use another dependency to track page views
I though the previous package would track all visits with the provided but it seems that I need to add trackPageView on all pages. So I decided to use another package.
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/_app.tsx41
1 files changed, 23 insertions, 18 deletions
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 6df1a1d..6ff8e1b 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -1,10 +1,10 @@
-import { MatomoProvider } from '@datapunt/matomo-tracker-react';
+import * as matomo from '@socialgouv/matomo-next';
import { AppPropsWithLayout } from '@ts/types/app';
import { settings } from '@utils/config';
-import { instance } from '@utils/helpers/matomo';
import { PrismThemeProvider } from '@utils/providers/prism';
import { ThemeProvider } from 'next-themes';
import { useRouter } from 'next/router';
+import { useEffect } from 'react';
import { IntlProvider } from 'react-intl';
import '../styles/globals.scss';
@@ -12,25 +12,30 @@ const MyApp = ({ Component, pageProps }: AppPropsWithLayout) => {
const { locale, defaultLocale } = useRouter();
const appLocale: string = locale || settings.locales.defaultLocale;
+ useEffect(() => {
+ matomo.init({
+ url: settings.matomo.urlBase,
+ siteId: settings.matomo.siteId,
+ });
+ }, []);
+
const getLayout = Component.getLayout ?? ((page) => page);
return (
- <MatomoProvider value={instance}>
- <IntlProvider
- locale={appLocale}
- defaultLocale={defaultLocale}
- messages={pageProps.translation}
+ <IntlProvider
+ locale={appLocale}
+ defaultLocale={defaultLocale}
+ messages={pageProps.translation}
+ >
+ <ThemeProvider
+ defaultTheme="system"
+ enableColorScheme={true}
+ enableSystem={true}
>
- <ThemeProvider
- defaultTheme="system"
- enableColorScheme={true}
- enableSystem={true}
- >
- <PrismThemeProvider>
- {getLayout(<Component {...pageProps} />)}
- </PrismThemeProvider>
- </ThemeProvider>
- </IntlProvider>
- </MatomoProvider>
+ <PrismThemeProvider>
+ {getLayout(<Component {...pageProps} />)}
+ </PrismThemeProvider>
+ </ThemeProvider>
+ </IntlProvider>
);
};