import React, { Suspense } from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import { createBrowserHistory } from 'history'; import { Router } from 'react-router-dom'; import { AppSettings } from '@tabtabgo/core/Appsettings'; import Store from './reducers/stores'; import { Provider } from 'react-redux'; import Notifier from '@tabtabgo/web/components/Notifications/Notifier'; import indexRoutes from 'routes'; import AuthenticationProvider from '@tabtabgo/core/providers/AuthenticationProvider'; import { MuiPickersUtilsProvider } from '@material-ui/pickers'; import MomentUtils from '@date-io/moment'; import { MuiThemeProvider } from '@material-ui/core/styles'; import { SnackbarProvider } from 'notistack'; import theme from 'assets/jss/theme'; import LoadingPage from './LoadingPage'; import { setupServices, setupComponents } from './setup'; import SwitchRoutes from 'ttg-identity/components/Routes/SwitchRoutes'; import { ErrorProvider } from '@tabtabgo/web/contexts/ErrorContext'; import { ConfirmationDialogProvider } from '@tabtabgo/web/contexts/ConfirmationContext'; import { LinearProgress } from '@material-ui/core'; import i18n from 'i18next'; import Backend from 'i18next-xhr-backend'; import LanguageDetector from 'i18next-browser-languagedetector'; import { initReactI18next } from 'react-i18next'; import { UserSettingsProvider } from '@tabtabgo/core/contexts/UserSettingsContext'; import ComponentProvider from '@tabtabgo/core/providers/ComponentProvider'; import ErrorBoundary from '@tabtabgo/web/components/ErrorBoundary'; const fallbackLng = ['en']; const availableLanguages = ['en']; i18n .use(Backend) // load translation using xhr -> see /public/locales. We will add locales in the next step .use(LanguageDetector) // detect user language .use(initReactI18next) // pass the i18n instance to react-i18next. .init({ fallbackLng, // if user computer language is not on the list of available languages, than we will be using the fallback language specified earlier debug: false, whitelist: availableLanguages, interpolation: { escapeValue: false, }, }); const history = createBrowserHistory({ basename: AppSettings.basename }); //MomentUtils.prototype.getStartOfMonth = MomentUtils.prototype.startOfMonth; class CustomMomentUtils extends MomentUtils { dateFormat = AppSettings.defaultDateFormat; } setupServices(Store.dispatch); const componentToUseProps = setupComponents(); ReactDOM.render( }> , document.getElementById('root'), ); // 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();