1.0.26 • Published 4 years ago

mbm-app-context v1.0.26

Weekly downloads
1
License
ISC
Repository
gitlab
Last release
4 years ago

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