civictechindex/CTI-website-frontend

View on GitHub
src/index.js

Summary

Maintainability
A
0 mins
Test Coverage
B
88%
/* eslint-disable no-console */

import React from 'react';
import ReactDOM from 'react-dom';
import WebFont from 'webfontloader';
import createMuiTheme from '@material-ui/core/styles/createMuiTheme';
import { ThemeProvider } from '@material-ui/core/styles/';
import CssBaseline from '@material-ui/core/CssBaseline';
import GA4React from 'ga-4-react';

import App from './App';
import * as serviceWorker from './serviceWorker';
import themeMui from './theme-mui';

const ga4react = new GA4React('G-5V7GWWCKF0'); // Google Analytics 4 measurement ID
const theme = createMuiTheme(themeMui);

WebFont.load({
  google: {
    families: ['Work Sans:400,700', 'Source Code Pro:400'],
  },
});

(async _ => {
  await ga4react.initialize()
    .then((res) => console.log(res))
    .catch((err) => console.log(err)) // handle error scenarios such as ad blockers
    .finally(() => {
      ReactDOM.render(
        <React.StrictMode>
          <ThemeProvider theme={theme}>
            <CssBaseline />
            <App />
          </ThemeProvider>
        </React.StrictMode>,
        document.getElementById('root')
      );
    });
})();

/*
 * If you want your app to work offline and load faster, you can change
 * unregister() to register() below. Note this comes with some pitfalls.
 * Learn more about service workers: https://bit.ly/CRA-PWA
 */

serviceWorker.unregister();