Spaces:
Build error
Build error
'use client' | |
import type { FC } from 'react' | |
import { useTranslation } from 'react-i18next' | |
import { ImageIndentLeft } from '@/app/components/base/icons/src/vender/line/editor' | |
import { Markdown } from '@/app/components/base/markdown' | |
import LoadingAnim from '@/app/components/base/chat/chat/loading-anim' | |
import StatusContainer from '@/app/components/workflow/run/status-container' | |
import { FileList } from '@/app/components/base/file-uploader' | |
import type { FileEntity } from '@/app/components/base/file-uploader/types' | |
type ResultTextProps = { | |
isRunning?: boolean | |
outputs?: any | |
error?: string | |
onClick?: () => void | |
allFiles?: FileEntity[] | |
} | |
const ResultText: FC<ResultTextProps> = ({ | |
isRunning, | |
outputs, | |
error, | |
onClick, | |
allFiles, | |
}) => { | |
const { t } = useTranslation() | |
return ( | |
<div className='bg-background-section-burn py-2'> | |
{isRunning && !outputs && ( | |
<div className='pt-4 pl-[26px]'> | |
<LoadingAnim type='text' /> | |
</div> | |
)} | |
{!isRunning && error && ( | |
<div className='px-4'> | |
<StatusContainer status='failed'> | |
{error} | |
</StatusContainer> | |
</div> | |
)} | |
{!isRunning && !outputs && !error && ( | |
<div className='mt-[120px] px-4 py-2 flex flex-col items-center text-[13px] leading-[18px] text-gray-500'> | |
<ImageIndentLeft className='w-6 h-6 text-gray-400' /> | |
<div className='mr-2'>{t('runLog.resultEmpty.title')}</div> | |
<div> | |
{t('runLog.resultEmpty.tipLeft')} | |
<span onClick={onClick} className='cursor-pointer text-primary-600'>{t('runLog.resultEmpty.link')}</span> | |
{t('runLog.resultEmpty.tipRight')} | |
</div> | |
</div> | |
)} | |
{outputs && ( | |
<div className='px-4 py-2'> | |
<Markdown content={outputs} /> | |
{!!allFiles?.length && ( | |
<FileList | |
files={allFiles} | |
showDeleteAction={false} | |
showDownloadAction | |
canPreview | |
/> | |
)} | |
</div> | |
)} | |
</div> | |
) | |
} | |
export default ResultText | |