Feat/error boundaries (#2779)
* - Changed to objectNameSingular always defined - Added ErrorCatchAll * - Added mock mode for companies logged out - Added a proper ErrorBoundary component * Removed react-error-boundary * Implemented proper ErrorBoundary * Fixes * Change strategy about mocks --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@ -7,6 +7,8 @@ import { RecoilRoot } from 'recoil';
|
||||
import { ApolloProvider } from '@/apollo/components/ApolloProvider';
|
||||
import { ClientConfigProvider } from '@/client-config/components/ClientConfigProvider';
|
||||
import { RecoilDebugObserverEffect } from '@/debug/components/RecoilDebugObserver';
|
||||
import { AppErrorBoundary } from '@/error-handler/components/AppErrorBoundary';
|
||||
import { PromiseRejectionEffect } from '@/error-handler/components/PromiseRejectionEffect';
|
||||
import { ApolloMetadataClientProvider } from '@/object-metadata/components/ApolloMetadataClientProvider';
|
||||
import { ObjectMetadataItemsProvider } from '@/object-metadata/components/ObjectMetadataItemsProvider';
|
||||
import { DialogManager } from '@/ui/feedback/dialog-manager/components/DialogManager';
|
||||
@ -16,12 +18,11 @@ import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/Sn
|
||||
import { AppThemeProvider } from '@/ui/theme/components/AppThemeProvider';
|
||||
import { ThemeType } from '@/ui/theme/constants/theme';
|
||||
import { UserProvider } from '@/users/components/UserProvider';
|
||||
import { App } from '~/App';
|
||||
import { PageChangeEffect } from '~/effect-components/PageChangeEffect';
|
||||
|
||||
import '@emotion/react';
|
||||
|
||||
import { PageChangeEffect } from './effect-components/PageChangeEffect';
|
||||
import { App } from './App';
|
||||
|
||||
import './index.css';
|
||||
import 'react-loading-skeleton/dist/skeleton.css';
|
||||
|
||||
@ -31,35 +32,38 @@ const root = ReactDOM.createRoot(
|
||||
|
||||
root.render(
|
||||
<RecoilRoot>
|
||||
<RecoilDebugObserverEffect />
|
||||
<BrowserRouter>
|
||||
<ApolloProvider>
|
||||
<HelmetProvider>
|
||||
<ClientConfigProvider>
|
||||
<UserProvider>
|
||||
<ApolloMetadataClientProvider>
|
||||
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
|
||||
<ObjectMetadataItemsProvider>
|
||||
<PageChangeEffect />
|
||||
<AppThemeProvider>
|
||||
<SnackBarProvider>
|
||||
<DialogManagerScope dialogManagerScopeId="dialog-manager">
|
||||
<DialogManager>
|
||||
<StrictMode>
|
||||
<App />
|
||||
</StrictMode>
|
||||
</DialogManager>
|
||||
</DialogManagerScope>
|
||||
</SnackBarProvider>
|
||||
</AppThemeProvider>
|
||||
</ObjectMetadataItemsProvider>
|
||||
</SnackBarProviderScope>
|
||||
</ApolloMetadataClientProvider>
|
||||
</UserProvider>
|
||||
</ClientConfigProvider>
|
||||
</HelmetProvider>
|
||||
</ApolloProvider>
|
||||
</BrowserRouter>
|
||||
<AppErrorBoundary>
|
||||
<RecoilDebugObserverEffect />
|
||||
<BrowserRouter>
|
||||
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
|
||||
<ApolloProvider>
|
||||
<HelmetProvider>
|
||||
<ClientConfigProvider>
|
||||
<UserProvider>
|
||||
<ApolloMetadataClientProvider>
|
||||
<ObjectMetadataItemsProvider>
|
||||
<AppThemeProvider>
|
||||
<SnackBarProvider>
|
||||
<DialogManagerScope dialogManagerScopeId="dialog-manager">
|
||||
<DialogManager>
|
||||
<StrictMode>
|
||||
<PromiseRejectionEffect />
|
||||
<App />
|
||||
</StrictMode>
|
||||
</DialogManager>
|
||||
</DialogManagerScope>
|
||||
</SnackBarProvider>
|
||||
</AppThemeProvider>
|
||||
<PageChangeEffect />
|
||||
</ObjectMetadataItemsProvider>
|
||||
</ApolloMetadataClientProvider>
|
||||
</UserProvider>
|
||||
</ClientConfigProvider>
|
||||
</HelmetProvider>
|
||||
</ApolloProvider>
|
||||
</SnackBarProviderScope>
|
||||
</BrowserRouter>
|
||||
</AppErrorBoundary>
|
||||
</RecoilRoot>,
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user