2022-12-04 17:42:43 +00:00
|
|
|
import { createRoot } from 'react-dom/client';
|
2021-05-02 12:29:43 +00:00
|
|
|
import { Provider } from 'react-redux';
|
2022-11-18 14:46:50 +00:00
|
|
|
import { HashRouter } from 'react-router-dom';
|
2023-04-14 18:04:21 +00:00
|
|
|
import { StrictMode, useEffect, useState } from 'react';
|
|
|
|
import { EventsOff, EventsOn } from '@wailsapp/runtime';
|
|
|
|
import { IsFatalError } from '@wailsapp/go/main/App';
|
2021-12-15 09:28:17 +00:00
|
|
|
|
|
|
|
import 'inter-ui/inter.css';
|
2022-01-07 08:41:53 +00:00
|
|
|
import '@fontsource/space-mono/index.css';
|
2021-12-15 09:28:17 +00:00
|
|
|
import 'normalize.css/normalize.css';
|
2021-09-17 09:55:15 +00:00
|
|
|
import './locale/setup';
|
|
|
|
|
2021-05-02 12:29:43 +00:00
|
|
|
import store from './store';
|
|
|
|
import App from './ui/App';
|
2023-04-14 18:04:21 +00:00
|
|
|
import ErrorWindow from './ui/ErrorWindow';
|
2021-12-16 16:01:24 +00:00
|
|
|
import { globalStyles } from './ui/theme';
|
|
|
|
|
|
|
|
globalStyles();
|
2021-05-02 12:29:43 +00:00
|
|
|
|
2023-04-14 18:04:21 +00:00
|
|
|
function AppWrapper() {
|
|
|
|
const [fatalErrorEncountered, setFatalErrorStatus] = useState(false);
|
|
|
|
useEffect(() => {
|
|
|
|
void IsFatalError().then(setFatalErrorStatus);
|
|
|
|
EventsOn('fatalError', () => {
|
|
|
|
setFatalErrorStatus(true);
|
|
|
|
});
|
|
|
|
return () => {
|
|
|
|
EventsOff('fatalError');
|
|
|
|
};
|
|
|
|
}, []);
|
|
|
|
|
|
|
|
if (fatalErrorEncountered) {
|
|
|
|
return <ErrorWindow />;
|
|
|
|
}
|
|
|
|
return <App />;
|
|
|
|
}
|
|
|
|
|
2022-12-04 17:42:43 +00:00
|
|
|
const main = document.getElementById('main');
|
|
|
|
const root = createRoot(main);
|
|
|
|
root.render(
|
2021-05-02 12:29:43 +00:00
|
|
|
<Provider store={store}>
|
2022-11-18 14:46:50 +00:00
|
|
|
<HashRouter>
|
2022-12-04 17:42:43 +00:00
|
|
|
<StrictMode>
|
2023-04-14 18:04:21 +00:00
|
|
|
<AppWrapper />
|
2022-12-04 17:42:43 +00:00
|
|
|
</StrictMode>
|
2022-11-18 14:46:50 +00:00
|
|
|
</HashRouter>
|
2021-05-02 12:29:43 +00:00
|
|
|
</Provider>,
|
|
|
|
);
|