Files
dify/web/app/components/datasets/documents/components/empty-element.tsx
+11
Wu TianweiGitHubfateleiCopilotautofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>盐粒 YanliCharles YaoClaude Opus 4.8yunlu.wenyyhJingyiyyhJoelhjlarryAsuka Minatodependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Xiyuan ChengigglewangchaririEvanzyssyz123
33edf97f81 feat: RBAC (#37107)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: fatelei <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: 盐粒 Yanli <[email protected]>
Co-authored-by: Charles Yao <[email protected]>
Co-authored-by: Claude Opus 4.8 <[email protected]>
Co-authored-by: yunlu.wen <[email protected]>
Co-authored-by: yyh <[email protected]>
Co-authored-by: Jingyi <[email protected]>
Co-authored-by: yyh <[email protected]>
Co-authored-by: Joel <[email protected]>
Co-authored-by: hjlarry <[email protected]>
Co-authored-by: Asuka Minato <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiyuan Chen <[email protected]>
Co-authored-by: gigglewang <[email protected]>
Co-authored-by: chariri <[email protected]>
Co-authored-by: Evan <[email protected]>
Co-authored-by: zyssyz123 <[email protected]>
2026-06-18 16:35:29 +00:00

42 lines
1.4 KiB
TypeScript

'use client'
import type { FC } from 'react'
import { PlusIcon } from '@heroicons/react/24/solid'
import { Button } from '@langgenius/dify-ui/button'
import { useTranslation } from 'react-i18next'
import s from '../style.module.css'
import { FolderPlusIcon, NotionIcon, ThreeDotsIcon } from './icons'
type EmptyElementProps = {
canAdd: boolean
onClick: () => void
type?: 'upload' | 'sync'
}
const EmptyElement: FC<EmptyElementProps> = ({ canAdd = false, onClick, type = 'upload' }) => {
const { t } = useTranslation()
return (
<div className={s.emptyWrapper}>
<div className={s.emptyElement}>
<div className={s.emptySymbolIconWrapper}>
{type === 'upload' ? <FolderPlusIcon /> : <NotionIcon />}
</div>
<span className={s.emptyTitle}>
{t('list.empty.title', { ns: 'datasetDocuments' })}
<ThreeDotsIcon className="relative -top-3 -left-1.5 inline" />
</span>
<div className={s.emptyTip}>
{t(`list.empty.${type}.tip`, { ns: 'datasetDocuments' })}
</div>
{type === 'upload' && canAdd && (
<Button onClick={onClick} className={s.addFileBtn} variant="secondary-accent">
<PlusIcon className={s.plusIcon} />
{t('list.addFile', { ns: 'datasetDocuments' })}
</Button>
)}
</div>
</div>
)
}
export default EmptyElement