| 123456789101112131415161718192021222324252627282930 |
- 'use client'
-
- import Loading from '@/app/components/base/loading'
- import { useAppContext } from '@/context/app-context'
- import { ExternalApiPanelProvider } from '@/context/external-api-panel-context'
- import { ExternalKnowledgeApiProvider } from '@/context/external-knowledge-api-context'
- import { useRouter } from 'next/navigation'
- import { useEffect } from 'react'
-
- export default function DatasetsLayout({ children }: { children: React.ReactNode }) {
- const { isCurrentWorkspaceEditor, isCurrentWorkspaceDatasetOperator, currentWorkspace, isLoadingCurrentWorkspace } = useAppContext()
- const router = useRouter()
-
- useEffect(() => {
- if (isLoadingCurrentWorkspace || !currentWorkspace.id)
- return
- if (!(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator))
- router.replace('/apps')
- }, [isCurrentWorkspaceEditor, isCurrentWorkspaceDatasetOperator, isLoadingCurrentWorkspace, currentWorkspace, router])
-
- if (isLoadingCurrentWorkspace || !(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator))
- return <Loading type='app' />
- return (
- <ExternalKnowledgeApiProvider>
- <ExternalApiPanelProvider>
- {children}
- </ExternalApiPanelProvider>
- </ExternalKnowledgeApiProvider>
- )
- }
|