import { useState } from 'react';
import { Button, Layout, Menu, theme, Input, Spin } from 'antd';
import {
MenuFoldOutlined,
MenuUnfoldOutlined,
DatabaseOutlined,
SearchOutlined,
FileTextOutlined,
} from '@ant-design/icons';
import type { Dataset } from '~/api/dify-dataset';
import '../../styles/components/dify-dataset-manager/sidebar.css';
const { Sider } = Layout;
interface DatasetSidebarProps {
collapsed: boolean;
onToggle: () => void;
datasets: Dataset[];
currentDatasetId: string;
onDatasetSelect: (datasetId: string) => void;
loading?: boolean;
}
/**
* 知识库侧边栏组件
*/
export default function DatasetSidebar({
collapsed,
onToggle,
datasets,
currentDatasetId,
onDatasetSelect,
loading = false,
}: DatasetSidebarProps) {
const [searchValue, setSearchValue] = useState('');
const {
token: { colorBgContainer },
} = theme.useToken();
// 过滤知识库列表
const filteredDatasets = datasets.filter((ds) =>
ds.name.toLowerCase().includes(searchValue.toLowerCase())
);
// 生成菜单项
const menuItems = filteredDatasets.map((ds) => ({
key: ds.id,
icon:
未找到相关知识库
暂无知识库