import ListFilterBar from '@/components/list-filter-bar'; import { RenameDialog } from '@/components/rename-dialog'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; import { useFetchNextKnowledgeListByPage } from '@/hooks/knowledge-hooks'; import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks'; import { formatDate } from '@/utils/date'; import { pick } from 'lodash'; import { ChevronRight, Ellipsis, Plus } from 'lucide-react'; import { PropsWithChildren, useCallback } from 'react'; import { DatasetCreatingDialog } from './dataset-creating-dialog'; import { DatasetDropdown } from './dataset-dropdown'; import { DatasetsFilterPopover } from './datasets-filter-popover'; import { DatasetsPagination } from './datasets-pagination'; import { useSaveKnowledge } from './hooks'; import { useRenameDataset } from './use-rename-dataset'; export default function Datasets() { const { visible, hideModal, showModal, onCreateOk, loading: creatingLoading, } = useSaveKnowledge(); const { navigateToDataset } = useNavigatePage(); const { kbs, total, pagination, setPagination, handleInputChange, searchString, setOwnerIds, ownerIds, } = useFetchNextKnowledgeListByPage(); const { datasetRenameLoading, initialDatasetName, onDatasetRenameOk, datasetRenameVisible, hideDatasetRenameModal, showDatasetRenameModal, } = useRenameDataset(); const handlePageChange = useCallback( (page: number, pageSize?: number) => { setPagination({ page, pageSize }); }, [setPagination], ); return (
( {children} )} searchString={searchString} onSearchChange={handleInputChange} > Create dataset
{kbs.map((dataset) => (
CN

{dataset.name}

{dataset.doc_num} files

Created {formatDate(dataset.update_time)}

))}
{visible && ( )} {datasetRenameVisible && ( )}
); }