Files
twenty_crm/front/src/index.tsx
Mustajab Ikram 8bb4071f09 feat: add page titles using React Helmet (#1321)
* feat: add page titles using React Helmet

* refactor: extract page title logic to separate component

* fix: resolve review comments

* fix: resolve testing errors
2023-08-28 18:49:04 +02:00

56 lines
1.8 KiB
TypeScript

import { StrictMode } from 'react';
import ReactDOM from 'react-dom/client';
import { HelmetProvider } from 'react-helmet-async';
import { BrowserRouter } from 'react-router-dom';
import { RecoilRoot } from 'recoil';
import { ApolloProvider } from '@/apollo/components/ApolloProvider';
import { ClientConfigProvider } from '@/client-config/components/ClientConfigProvider';
import { DialogProvider } from '@/ui/dialog/components/DialogProvider';
import { SnackBarProvider } from '@/ui/snack-bar/components/SnackBarProvider';
import { AppThemeProvider } from '@/ui/theme/components/AppThemeProvider';
import { ThemeType } from '@/ui/theme/constants/theme';
import { UserProvider } from '@/users/components/UserProvider';
import '@emotion/react';
import { PageChangeEffect } from './sync-hooks/PageChangeEffect';
import { App } from './App';
import './index.css';
import 'react-loading-skeleton/dist/skeleton.css';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement,
);
root.render(
<RecoilRoot>
<BrowserRouter>
<ApolloProvider>
<HelmetProvider>
<ClientConfigProvider>
<UserProvider>
<PageChangeEffect />
<AppThemeProvider>
<SnackBarProvider>
<DialogProvider>
<StrictMode>
<App />
</StrictMode>
</DialogProvider>
</SnackBarProvider>
</AppThemeProvider>
</UserProvider>
</ClientConfigProvider>
</HelmetProvider>
</ApolloProvider>
</BrowserRouter>
</RecoilRoot>,
);
declare module '@emotion/react' {
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface Theme extends ThemeType {}
}