import { Suspense } from 'react';
import ReactDOM from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import { HelmetProvider } from 'react-helmet-async';

import App from './app';
import LocaleResolver from './localeResolver';
import localeService from './services/locale-service';
import StorageService from './services/storage-service';
import LocalStorageProvider from './localStorageProvider';

StorageService.setStorageProvider(LocalStorageProvider);
localeService.setLocaleResolver(LocaleResolver);

// ----------------------------------------------------------------------

const root = ReactDOM.createRoot(document.getElementById('root'));

root.render(
  <HelmetProvider>
    <BrowserRouter>
      <Suspense>
        <App />
      </Suspense>
    </BrowserRouter>
  </HelmetProvider>
);
