Files
ragflow/web/src/pages/datasets/dataset-card.tsx
Lynn 4bb1acaa5b Refactor: dataset / kb API to RESTFul style (#13690)
### What problem does this PR solve?

1. Split dataset api to gateway and service, and modify web UI to use
restful http api.
2. Old KB releated APIs are commented.

### Type of change

- [x] Refactoring

---------

Co-authored-by: Yingfeng <yingfeng.zhang@gmail.com>
2026-03-19 14:41:36 +08:00

56 lines
1.7 KiB
TypeScript

import { HomeCard } from '@/components/home-card';
import { MoreButton } from '@/components/more-button';
import { SharedBadge } from '@/components/shared-badge';
import { Card, CardContent } from '@/components/ui/card';
import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks';
import { IKnowledge } from '@/interfaces/database/knowledge';
import { t } from 'i18next';
import { ChevronRight } from 'lucide-react';
import { DatasetDropdown } from './dataset-dropdown';
import { useRenameDataset } from './use-rename-dataset';
export type DatasetCardProps = {
dataset: IKnowledge;
} & Pick<ReturnType<typeof useRenameDataset>, 'showDatasetRenameModal'>;
export function DatasetCard({
dataset,
showDatasetRenameModal,
}: DatasetCardProps) {
const { navigateToDataset } = useNavigatePage();
return (
<HomeCard
data={{
...dataset,
description: `${dataset.document_count} ${t('knowledgeDetails.files')}`,
}}
moreDropdown={
<DatasetDropdown
showDatasetRenameModal={showDatasetRenameModal}
dataset={dataset}
>
<MoreButton></MoreButton>
</DatasetDropdown>
}
sharedBadge={<SharedBadge>{dataset.nickname}</SharedBadge>}
onClick={navigateToDataset(dataset.id)}
/>
);
}
export function SeeAllCard() {
const { navigateToDatasetList } = useNavigatePage();
return (
<Card
className="w-full flex-none h-full cursor-pointer"
onClick={() => navigateToDatasetList({ isCreate: false })}
>
<CardContent className="p-2.5 pt-1 w-full h-full flex items-center justify-center gap-1.5 text-text-secondary">
{t('common.seeAll')} <ChevronRight className="size-4" />
</CardContent>
</Card>
);
}