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 && (
}
onClick={onBack}
className="back-btn"
>
返回文档列表
)}
{children}
);
}
// 重新导出类型,保持向后兼容
export type { MenuTab } from '~/types/dify-dataset-manager/layout';