1.0.26 • Published 4 years ago
mbm-app-context v1.0.26
Example
also need to attach the index.css file.
import * as React from 'react'
import * as ReactDOM from 'react-dom'
import {
AppProvider,
useAppState,
useAppActions,
ServerProvider,
useServer,
Header,
Footer,
initMatchMedia,
HOST_URL,
} from 'mbm-app-context'
initMatchMedia()
const HeaderWrapper = () => {
const { user } = useAppState()
const { server, websocket } = useServer()
const { logout } = useAppActions()
return <Header
server={server}
websocket={{ server, websocket }}
onLogout={() => {
logout()
window.location.replace(HOST_URL)
}}
// there should be authorization modal windows
onAuth={() => console.log('onAuth')}
onRegister={() => console.log('onRegister')}
onSearch={(e) => {
window.open(`${HOST_URL}/search?${e}`)
}}
user={user}
/>
}
const FooterWrapper = () => {
const { server, websocket } = useServer()
return <Footer
server={server}
websocket={websocket}
/>
}
const AppProviderWrapper = ({ children }) => {
const { server } = useServer()
return <AppProvider server={server}>
{children}
</AppProvider>
}
const AppWrapper = () => {
const { user } = useAppState()
const { authChecked, authorized } = user
if (authChecked && !authorized) {
window.location.replace(HOST_URL)
}
return <React.Fragment>
<HeaderWrapper />
<div style={{ height: '1000px', textAlign: 'center' }}>
--------------------------THE CONTENT--------------------------
</div>
<FooterWrapper />
</React.Fragment>
}
const App = () => (
<ServerProvider
server={HOST_URL}
websocket={{
protocol: 'wss',
host: 'dp.mbm.ru',
port: '8081',
}}
>
<AppProviderWrapper>
<AppWrapper />
</AppProviderWrapper>
</ServerProvider>
)
ReactDOM.render(<App />, document.getElementById('root'))
1.0.26
4 years ago
1.0.25
4 years ago
1.0.24
4 years ago
1.0.23
4 years ago
1.0.22
4 years ago
1.0.21
4 years ago
1.0.20
4 years ago
1.0.19
4 years ago
1.0.18
4 years ago
1.0.17
4 years ago
1.0.16
4 years ago
1.0.15
4 years ago
1.0.14
4 years ago
1.0.13
4 years ago
1.0.12
4 years ago
1.0.11
4 years ago
1.0.10
4 years ago
1.0.9
4 years ago
1.0.8
4 years ago
1.0.7
4 years ago
1.0.6
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago
1.0.1
4 years ago