Skip to content

Commit 1157b45

Browse files
decouple default component from react root (#2897)
Decouple default component from react root
2 parents 2db180d + a8df9e5 commit 1157b45

File tree

2 files changed

+40
-32
lines changed

2 files changed

+40
-32
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import React, { lazy } from 'react';
2+
import { Provider } from 'react-redux';
3+
import { PersistGate } from 'redux-persist/integration/react';
4+
import { store } from './app/store';
5+
import { persistor } from './persistor';
6+
import '@fontsource/inter/100.css';
7+
import '@fontsource/inter/200.css';
8+
import '@fontsource/inter/300.css';
9+
import '@fontsource/inter/400.css';
10+
import '@fontsource/inter/500.css';
11+
import '@fontsource/inter/600.css';
12+
import '@fontsource/inter/700.css';
13+
import '@fontsource/inter/800.css';
14+
import '@fontsource/inter/900.css';
15+
16+
import Loading from './Loading';
17+
18+
// Localization
19+
import './i18n';
20+
21+
const App = lazy(() => import('./app/App'));
22+
const ThemeLocaleProvider = lazy(() => import('./app/ThemeLocaleProvider'));
23+
24+
export default function Component() {
25+
return (
26+
<React.StrictMode>
27+
<Provider store={store}>
28+
<PersistGate loading={<Loading />} persistor={persistor}>
29+
<React.Suspense fallback={<Loading showText />}>
30+
<ThemeLocaleProvider>
31+
<App />
32+
</ThemeLocaleProvider>
33+
</React.Suspense>
34+
</PersistGate>
35+
</Provider>
36+
</React.StrictMode>
37+
);
38+
}

invokeai/frontend/web/src/main.tsx

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,7 @@
1-
import React, { lazy } from 'react';
21
import ReactDOM from 'react-dom/client';
3-
import { Provider } from 'react-redux';
4-
import { PersistGate } from 'redux-persist/integration/react';
5-
import { store } from './app/store';
6-
import { persistor } from './persistor';
7-
import '@fontsource/inter/100.css';
8-
import '@fontsource/inter/200.css';
9-
import '@fontsource/inter/300.css';
10-
import '@fontsource/inter/400.css';
11-
import '@fontsource/inter/500.css';
12-
import '@fontsource/inter/600.css';
13-
import '@fontsource/inter/700.css';
14-
import '@fontsource/inter/800.css';
15-
import '@fontsource/inter/900.css';
162

17-
import Loading from './Loading';
18-
19-
// Localization
20-
import './i18n';
21-
22-
const App = lazy(() => import('./app/App'));
23-
const ThemeLocaleProvider = lazy(() => import('./app/ThemeLocaleProvider'));
3+
import Component from './component';
244

255
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
26-
<React.StrictMode>
27-
<Provider store={store}>
28-
<PersistGate loading={<Loading />} persistor={persistor}>
29-
<React.Suspense fallback={<Loading showText />}>
30-
<ThemeLocaleProvider>
31-
<App />
32-
</ThemeLocaleProvider>
33-
</React.Suspense>
34-
</PersistGate>
35-
</Provider>
36-
</React.StrictMode>
6+
<Component />
377
);

0 commit comments

Comments
 (0)