diff --git a/src/@types/matomo.d.ts b/src/@types/matomo.d.ts new file mode 100644 index 0000000..781fee7 --- /dev/null +++ b/src/@types/matomo.d.ts @@ -0,0 +1,32 @@ +interface Dimensions { + dimension1?: string + dimension2?: string + dimension3?: string + dimension4?: string + dimension5?: string + dimension6?: string + dimension7?: string + dimension8?: string + dimension9?: string + dimension10?: string +} + +declare global { + interface Window { + _paq?: + | ( + | Dimensions + | number[] + | string[] + | number + | string + | null + | undefined + )[][] + | null + } +} + +window._paq = window._paq || {} + +export {} diff --git a/src/layouts/Site/index.tsx b/src/layouts/Site/index.tsx index 641186f..541f7f9 100644 --- a/src/layouts/Site/index.tsx +++ b/src/layouts/Site/index.tsx @@ -14,6 +14,7 @@ export default function Site({ children }: { children: React.ReactNode }) { // init Matomo tracking useEffect(() => { + if (window._paq) return init({ url: meta.matomoUrl, siteId: meta.matomoSite }) }, [])