'use client' import { useRouter } from 'next/navigation' import { useEffect } from 'react' 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' export default function DatasetsLayout({ children }: { children: React.ReactNode }) { const { isCurrentWorkspaceEditor, isCurrentWorkspaceDatasetOperator, currentWorkspace, isLoadingCurrentWorkspace } = useAppContext() const router = useRouter() const shouldRedirect = !isLoadingCurrentWorkspace && currentWorkspace.id && !(isCurrentWorkspaceEditor || isCurrentWorkspaceDatasetOperator) useEffect(() => { if (shouldRedirect) router.replace('/apps') }, [shouldRedirect, router]) if (isLoadingCurrentWorkspace || !currentWorkspace.id) return if (shouldRedirect) { return null } return ( {children} ) }