root-context.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import { ApplicationProvider } from './application-context'
  4. import { EditorProvider } from './editor-context'
  5. import createSharedContext from 'react2angular-shared-context'
  6. import { ChatProvider } from '../../features/chat/context/chat-context'
  7. export function ContextRoot({
  8. children,
  9. editorLoading,
  10. chatIsOpenAngular,
  11. setChatIsOpenAngular,
  12. openDoc,
  13. onlineUsersArray
  14. }) {
  15. return (
  16. <ApplicationProvider>
  17. <EditorProvider
  18. loading={editorLoading}
  19. chatIsOpenAngular={chatIsOpenAngular}
  20. setChatIsOpenAngular={setChatIsOpenAngular}
  21. openDoc={openDoc}
  22. onlineUsersArray={onlineUsersArray}
  23. >
  24. <ChatProvider>{children}</ChatProvider>
  25. </EditorProvider>
  26. </ApplicationProvider>
  27. )
  28. }
  29. ContextRoot.propTypes = {
  30. children: PropTypes.any,
  31. editorLoading: PropTypes.bool,
  32. chatIsOpenAngular: PropTypes.bool,
  33. setChatIsOpenAngular: PropTypes.func.isRequired,
  34. openDoc: PropTypes.func.isRequired,
  35. onlineUsersArray: PropTypes.array.isRequired
  36. }
  37. export const rootContext = createSharedContext(ContextRoot)