import { Button, Tooltip, Select, Spin } from 'antd'; import { FileTextOutlined, SearchOutlined, SettingOutlined, ArrowLeftOutlined, DatabaseOutlined, AppstoreOutlined, SwapOutlined, } from '@ant-design/icons'; import type { DatasetLayoutProps, MenuTab, MenuItem } from '~/types/dify-dataset-manager/layout'; /** * 知识库布局组件 * 包含左侧菜单栏和右侧内容区 */ export default function DatasetLayout({ dataset, activeTab, onTabChange, showBackButton = false, onBack, children, availableDatasets = [], loadingAvailableDatasets = false, onDatasetChange, }: DatasetLayoutProps) { const menuItems: MenuItem[] = [ { key: 'documents', icon: , label: '文档' }, { key: 'retrieve', icon: , label: '召回测试' }, { key: 'area-config', icon: , label: '配置管理' }, { key: 'settings', icon: , label: '设置' }, ]; // 是否显示知识库选择器(有多个知识库时显示) const showDatasetSelector = availableDatasets.length > 1; return (
{/* 左侧侧边栏 */} {/* 右侧内容区 */}
{/* 返回按钮 */} {showBackButton && onBack && (
)} {children}
); } // 重新导出类型,保持向后兼容 export type { MenuTab } from '~/types/dify-dataset-manager/layout';