1.0.26 • Published 5 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
5 years ago
1.0.25
5 years ago
1.0.24
6 years ago
1.0.23
6 years ago
1.0.22
6 years ago
1.0.21
6 years ago
1.0.20
6 years ago
1.0.19
6 years ago
1.0.18
6 years ago
1.0.17
6 years ago
1.0.16
6 years ago
1.0.15
6 years ago
1.0.14
6 years ago
1.0.13
6 years ago
1.0.12
6 years ago
1.0.11
6 years ago
1.0.10
6 years ago
1.0.9
6 years ago
1.0.8
6 years ago
1.0.7
6 years ago
1.0.6
6 years ago
1.0.5
6 years ago
1.0.4
6 years ago
1.0.3
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago