root-context.js 954 B

12345678910111213141516171819202122232425262728293031323334
  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. }) {
  13. return (
  14. <ApplicationProvider>
  15. <EditorProvider
  16. loading={editorLoading}
  17. chatIsOpenAngular={chatIsOpenAngular}
  18. setChatIsOpenAngular={setChatIsOpenAngular}
  19. >
  20. <ChatProvider>{children}</ChatProvider>
  21. </EditorProvider>
  22. </ApplicationProvider>
  23. )
  24. }
  25. ContextRoot.propTypes = {
  26. children: PropTypes.any,
  27. editorLoading: PropTypes.bool,
  28. chatIsOpenAngular: PropTypes.bool,
  29. setChatIsOpenAngular: PropTypes.func.isRequired
  30. }
  31. export const rootContext = createSharedContext(ContextRoot)