+11




![autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)




Wu Tianwei
GitHub
fatelei
Copilot
autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
盐粒 Yanli
Charles Yao
Claude Opus 4.8
yunlu.wen
yyh
Jingyi
yyh
Joel
hjlarry
Asuka Minato
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Xiyuan Chen
gigglewang
chariri
Evan
zyssyz123
33edf97f81
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]>
42 lines
1.4 KiB
TypeScript
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
|