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