all repos — caroster @ 5c1602bae85f3ece02c4bc84f57ec47443c66eca

[Octree] Group carpool to your event https://caroster.io

frontend/hooks/useMatomo.ts (view raw)

 1import {useEffect} from 'react';
 2import useSettings from './useSettings';
 3
 4const useMatomo = () => {
 5  const settings = useSettings();
 6
 7  useEffect(() => {
 8    if (settings) {
 9      const {matomo_script_url} = settings;
10      console.log({matomo_script_url});
11      if (matomo_script_url && typeof window !== 'undefined')
12        loadMatomo(matomo_script_url);
13    }
14  }, [settings]);
15};
16
17const loadMatomo = (matomoScriptUrl: string) => {
18  const _mtm = (window._mtm = window._mtm || []);
19  _mtm.push({'mtm.startTime': new Date().getTime(), event: 'mtm.Start'});
20  const element = document.createElement('script');
21  const script = document.getElementsByTagName('script')[0];
22  element.async = true;
23  element.src = matomoScriptUrl;
24  script.parentNode.insertBefore(element, script);
25};
26
27export default process.env.NODE_ENV === 'production' ? useMatomo : () => {};