application-context.js 685 B

1234567891011121314151617181920212223242526
  1. import React, { createContext, useContext } from 'react'
  2. import PropTypes from 'prop-types'
  3. import ExposedSettings from '../../main/exposed-settings'
  4. export const ApplicationContext = createContext()
  5. export function ApplicationProvider({ children }) {
  6. const applicationContextValue = {
  7. user: window.user,
  8. exposedSettings: ExposedSettings
  9. }
  10. return (
  11. <ApplicationContext.Provider value={applicationContextValue}>
  12. {children}
  13. </ApplicationContext.Provider>
  14. )
  15. }
  16. ApplicationProvider.propTypes = {
  17. children: PropTypes.any
  18. }
  19. export function useApplicationContext() {
  20. const applicationContext = useContext(ApplicationContext)
  21. return applicationContext
  22. }