import React from 'react'; import ReactDOM from 'react-dom'; import clsddp from 'classnames/dedupe'; import './Main.module.scss'; import {BrowserRouter as Router, Switch, Redirect} from 'react-router-dom'; import {Provider as ReduxProvider} from 'react-redux'; import { stateFactory } from '@wfh/redux-toolkit-observable/es/state-factory-browser'; import { useStoreOfStateFactory } from '@wfh/redux-toolkit-observable/es/react-redux-helper'; import { AppLayout } from '@wfh/doc-ui-common/client/components/AppLayout'; import {AnimatableRoutes} from '@wfh/doc-ui-common/client/animation/AnimatableRoutes'; import {routes, defaultRedirect} from '@wfh/doc-entry/configurable/routes'; import '@material-icons/font/css/outline.css'; import registerMarkdownFiles from '@wfh/doc-entry/configurable/markdown-setup'; const rootEl = document.getElementById('root'); if (/\WWindows\W/.test(navigator.userAgent)) { document.body.className = clsddp(document.body.className, 'is-windows'); } registerMarkdownFiles(); const MainComp: React.FC<{[p: string]: never}> = function(prop) { const reduxStore = useStoreOfStateFactory(stateFactory); if (reduxStore == null) { return <>...; } return ; }; stateFactory.configureStore(); export default MainComp; export function renderDom(dom: HTMLElement) { ReactDOM.render(, dom); return { unmount() { ReactDOM.unmountComponentAtNode(dom); } }; }