forked from BoostIO/BoostNote-App
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.tsx
47 lines (44 loc) · 1.27 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import React from 'react'
import ReactDOM from 'react-dom'
import App from './components/App'
import { RouterProvider } from './lib/router'
import { ContextMenuProvider } from './lib/contextMenu'
import { DialogProvider } from './lib/dialog'
import { ModalProvider } from './lib/modal'
import { combineProviders } from './lib/utils/context'
import { DbProvider } from './lib/db'
import { PreferencesProvider } from './lib/preferences'
import { GeneralStatusProvider } from './lib/generalStatus'
import { PreviewStyleProvider } from './lib/preview'
import { ToastProvider } from './lib/toast'
const CombinedProvider = combineProviders(
PreviewStyleProvider,
GeneralStatusProvider,
ModalProvider,
DialogProvider,
ContextMenuProvider,
DbProvider,
PreferencesProvider,
RouterProvider,
ToastProvider
)
function render(Component: typeof App) {
let rootDiv = document.getElementById('root')
if (rootDiv == null) {
rootDiv = document.createElement('div', {})
rootDiv.setAttribute('id', 'root')
document.body.appendChild(rootDiv)
}
ReactDOM.render(
<CombinedProvider>
<Component />
</CombinedProvider>,
document.getElementById('root')
)
}
if (module.hot != null) {
module.hot.accept('./components/App', () => {
render(App)
})
}
render(App)