aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/src/index.tsx
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-12 19:54:46 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-12 19:54:46 +0200
commitd22c3b0c257f5daf5b401988a35ab9ce981a2341 (patch)
tree0a661c927c37b52197326d1c05e211daf9bd19e5 /subprojects/frontend/src/index.tsx
parentfix(language): rule parsing test (diff)
downloadrefinery-d22c3b0c257f5daf5b401988a35ab9ce981a2341.tar.gz
refinery-d22c3b0c257f5daf5b401988a35ab9ce981a2341.tar.zst
refinery-d22c3b0c257f5daf5b401988a35ab9ce981a2341.zip
refactor(frontend): move from Webpack to Vite
Also overhaulds the building and linting for frontend assets.
Diffstat (limited to 'subprojects/frontend/src/index.tsx')
-rw-r--r--subprojects/frontend/src/index.tsx46
1 files changed, 32 insertions, 14 deletions
diff --git a/subprojects/frontend/src/index.tsx b/subprojects/frontend/src/index.tsx
index 152c0bf7..2176b277 100644
--- a/subprojects/frontend/src/index.tsx
+++ b/subprojects/frontend/src/index.tsx
@@ -1,13 +1,25 @@
1import React from 'react';
2import { createRoot } from 'react-dom/client';
3import CssBaseline from '@mui/material/CssBaseline'; 1import CssBaseline from '@mui/material/CssBaseline';
2import React, { Suspense, lazy } from 'react';
3import { createRoot } from 'react-dom/client';
4import '@fontsource/jetbrains-mono/400.css';
5import '@fontsource/jetbrains-mono/400-italic.css';
6import '@fontsource/jetbrains-mono/700.css';
7import '@fontsource/jetbrains-mono/700-italic.css';
8import '@fontsource/jetbrains-mono/variable.css';
9import '@fontsource/jetbrains-mono/variable-italic.css';
10import '@fontsource/roboto/300.css';
11import '@fontsource/roboto/300-italic.css';
12import '@fontsource/roboto/400.css';
13import '@fontsource/roboto/400-italic.css';
14import '@fontsource/roboto/500.css';
15import '@fontsource/roboto/500-italic.css';
16import '@fontsource/roboto/700.css';
17import '@fontsource/roboto/700-italic.css';
4 18
5import { App } from './App'; 19import Loading from './Loading';
6import { RootStore, RootStoreProvider } from './RootStore'; 20import RootStore, { RootStoreProvider } from './RootStore';
7import { ThemeProvider } from './theme/ThemeProvider'; 21import ThemeProvider from './theme/ThemeProvider';
8import { getLogger } from './utils/logger'; 22import getLogger from './utils/getLogger';
9
10import './index.scss';
11 23
12const log = getLogger('index'); 24const log = getLogger('index');
13 25
@@ -60,13 +72,19 @@ scope Family = 1, Person += 5..10.
60 72
61const rootStore = new RootStore(initialValue); 73const rootStore = new RootStore(initialValue);
62 74
75const App = lazy(() => import('./App.js'));
76
63const app = ( 77const app = (
64 <RootStoreProvider rootStore={rootStore}> 78 <React.StrictMode>
65 <ThemeProvider> 79 <RootStoreProvider rootStore={rootStore}>
66 <CssBaseline /> 80 <ThemeProvider>
67 <App /> 81 <CssBaseline enableColorScheme />
68 </ThemeProvider> 82 <Suspense fallback={<Loading />}>
69 </RootStoreProvider> 83 <App />
84 </Suspense>
85 </ThemeProvider>
86 </RootStoreProvider>
87 </React.StrictMode>
70); 88);
71 89
72const rootElement = document.getElementById('app'); 90const rootElement = document.getElementById('app');