root-context.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import PropTypes from 'prop-types'
  2. import createSharedContext from 'react2angular-shared-context'
  3. import { UserProvider } from './user-context'
  4. import { IdeProvider } from './ide-context'
  5. import { EditorProvider } from './editor-context'
  6. import { LocalCompileProvider } from './local-compile-context'
  7. import { DetachCompileProvider } from './detach-compile-context'
  8. import { LayoutProvider } from './layout-context'
  9. import { DetachProvider } from './detach-context'
  10. import { ChatProvider } from '../../features/chat/context/chat-context'
  11. import { ProjectProvider } from './project-context'
  12. import { SplitTestProvider } from './split-test-context'
  13. import { FileTreeDataProvider } from './file-tree-data-context'
  14. import { ProjectSettingsProvider } from '../../features/editor-left-menu/context/project-settings-context'
  15. import { HistoryProvider } from '../../features/history/context/history-context'
  16. export function ContextRoot({ children, ide, settings }) {
  17. return (
  18. <SplitTestProvider>
  19. <IdeProvider ide={ide}>
  20. <UserProvider>
  21. <ProjectProvider>
  22. <FileTreeDataProvider>
  23. <DetachProvider>
  24. <EditorProvider settings={settings}>
  25. <ProjectSettingsProvider>
  26. <LayoutProvider>
  27. <HistoryProvider>
  28. <LocalCompileProvider>
  29. <DetachCompileProvider>
  30. <ChatProvider>{children}</ChatProvider>
  31. </DetachCompileProvider>
  32. </LocalCompileProvider>
  33. </HistoryProvider>
  34. </LayoutProvider>
  35. </ProjectSettingsProvider>
  36. </EditorProvider>
  37. </DetachProvider>
  38. </FileTreeDataProvider>
  39. </ProjectProvider>
  40. </UserProvider>
  41. </IdeProvider>
  42. </SplitTestProvider>
  43. )
  44. }
  45. ContextRoot.propTypes = {
  46. children: PropTypes.any,
  47. ide: PropTypes.object,
  48. settings: PropTypes.object,
  49. }
  50. export const rootContext = createSharedContext(ContextRoot)