/** * index.tsx * * This is the entry file for the application, only setup and boilerplate * code. */ import 'react-app-polyfill/ie11'; import 'react-app-polyfill/stable'; import * as React from 'react'; import ReactDOM from 'react-dom/client'; import { Provider } from 'react-redux'; import FontFaceObserver from 'fontfaceobserver'; // Use consistent styling import 'sanitize.css/sanitize.css'; import { App } from 'app'; import { HelmetProvider } from 'react-helmet-async'; import { configureAppStore } from 'store/configureStore'; import { ThemeProvider } from 'styles/theme/ThemeProvider'; import reportWebVitals from 'reportWebVitals'; // Initialize languages import './locales/i18n'; // Observe loading of Inter (to remove 'Inter', remove the tag in // the index.html file and this observer) const openSansObserver = new FontFaceObserver('Inter', {}); // When Inter is loaded, add a font-family using Inter to the body openSansObserver.load().then(() => { document.body.classList.add('fontLoaded'); }); const store = configureAppStore(); const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement, ); root.render( , ); // Hot reloadable translation json files if (module.hot) { module.hot.accept(['./locales/i18n'], () => { // No need to render the App again because i18next works with the hooks }); } // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals();