Pavle Golubovic vor 3 Jahren
Ursprung
Commit
c803a367e8
2 geänderte Dateien mit 29 neuen und 5 gelöschten Zeilen
  1. 4
    5
      frontend/src/App.js
  2. 25
    0
      frontend/src/hooks/usePageTracking.js

+ 4
- 5
frontend/src/App.js Datei anzeigen

import ScrollToTop from './components/root/ScrollToTop'; import ScrollToTop from './components/root/ScrollToTop';


import ReactGA from 'react-ga'; import ReactGA from 'react-ga';
import usePageTracking from './hooks/usePageTracking';


const Home = lazy(() => import('./pages/Home')); const Home = lazy(() => import('./pages/Home'));
const Portfolio = lazy(() => import('./pages/Portfolio')); const Portfolio = lazy(() => import('./pages/Portfolio'));
const PrivacyPolicy = lazy(() => import('./pages/PrivacyPolicy')); const PrivacyPolicy = lazy(() => import('./pages/PrivacyPolicy'));
const WorkWithUs = lazy(() => import('./pages/WorkWithUs')); const WorkWithUs = lazy(() => import('./pages/WorkWithUs'));


const trackingId = process.env.GOOGLE_TRACKING_ID;

//Initalize analytics
ReactGA.initialize(trackingId);

// Navigation Links // Navigation Links
const links = [ const links = [
{ {
//scroll to Contact segment //scroll to Contact segment
const forwardedRef = useRef(null); const forwardedRef = useRef(null);


//initialize analytics page tracking
usePageTracking();

//scroll to Contact fn //scroll to Contact fn
function scrollToView(event) { function scrollToView(event) {
event.preventDefault(); event.preventDefault();

+ 25
- 0
frontend/src/hooks/usePageTracking.js Datei anzeigen

import { useEffect, useState } from 'react';
import ReactGA from 'react-ga';
import { useLocation } from 'react-router';

const initialiseAnalytics = () => {
const TRACKING_ID = process.env.GOOGLE_TRACKING_ID;
ReactGA.initialize(TRACKING_ID);
}
export const usePageTracking = () => {
const location = useLocation();
const [initialized, setInitialized] = useState(false);
useEffect(() => {
initialiseAnalytics();
setInitialized(true);
}, []);
useEffect(() => {
if (initialized) {
ReactGA.pageview(location.pathname + location.search);
}
}, [initialized, location]);
}

export default usePageTracking;

Laden…
Abbrechen
Speichern