import './polyfills';
import loadReact, {isLocal} from './react-loader';
if (isLocal()) {
Promise.all([
import('react'),
import('react-dom'),
import('react-dom/client'),
])
.then(([React, ReactDOM, ReactDOMClient]) => {
if (
React === undefined ||
ReactDOM === undefined ||
ReactDOMClient === undefined
) {
throw new Error(
'Unable to load React. Build experimental and then run `yarn dev` again'
);
}
window.React = React;
window.ReactDOM = ReactDOM;
window.ReactDOMClient = ReactDOMClient;
})
.then(() => import('./components/App'))
.then(App => {
window.ReactDOMClient.createRoot(document.getElementById('root')).render(
window.React.createElement(App.default)
);
});
} else {
loadReact()
.then(() => import('./components/App'))
.then(App => {
const {React, ReactDOM} = window;
if (
typeof window.ReactDOMClient !== 'undefined' &&
typeof window.ReactDOMClient.createRoot !== 'undefined'
) {
window.ReactDOMClient.createRoot(
document.getElementById('root')
).render(React.createElement(App.default));
} else {
ReactDOM.render(
React.createElement(App.default),
document.getElementById('root')
);
}
});
}