ProjectContext.tsx 1.1 KB

123456789101112131415161718192021222324252627
  1. import { PropsWithChildren } from 'react'
  2. import { DatabaseSelectorStateContextProvider } from '@/state/database-selector'
  3. import { RoleImpersonationStateContextProvider } from '@/state/role-impersonation-state'
  4. import { TableEditorStateContextProvider } from '@/state/table-editor'
  5. import { TabsStateContextProvider } from '@/state/tabs'
  6. type ProjectContextProviderProps = {
  7. projectRef: string | undefined
  8. }
  9. export const ProjectContextProvider = ({
  10. projectRef,
  11. children,
  12. }: PropsWithChildren<ProjectContextProviderProps>) => {
  13. return (
  14. <TableEditorStateContextProvider key={`table-editor-state-${projectRef}`}>
  15. <TabsStateContextProvider key={`tabs-state-${projectRef}`}>
  16. <DatabaseSelectorStateContextProvider key={`database-selector-state-${projectRef}`}>
  17. <RoleImpersonationStateContextProvider key={`role-impersonation-state-${projectRef}`}>
  18. {children}
  19. </RoleImpersonationStateContextProvider>
  20. </DatabaseSelectorStateContextProvider>
  21. </TabsStateContextProvider>
  22. </TableEditorStateContextProvider>
  23. )
  24. }