ProjectContext.tsx27 lines · main
| 1 | import { PropsWithChildren } from 'react' |
| 2 | |
| 3 | import { DatabaseSelectorStateContextProvider } from '@/state/database-selector' |
| 4 | import { RoleImpersonationStateContextProvider } from '@/state/role-impersonation-state' |
| 5 | import { TableEditorStateContextProvider } from '@/state/table-editor' |
| 6 | import { TabsStateContextProvider } from '@/state/tabs' |
| 7 | |
| 8 | type ProjectContextProviderProps = { |
| 9 | projectRef: string | undefined |
| 10 | } |
| 11 | |
| 12 | export 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 | } |