Spaces:
Build error
Build error
'use client' | |
import type { FC } from 'react' | |
import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor' | |
import { CodeLanguage } from '@/app/components/workflow/nodes/code/types' | |
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' | |
type OutputPanelProps = { | |
isRunning?: boolean | |
outputs?: any | |
error?: string | |
height?: number | |
} | |
const OutputPanel: FC<OutputPanelProps> = ({ | |
isRunning, | |
outputs, | |
error, | |
height, | |
}) => { | |
return ( | |
<div className='py-2'> | |
{isRunning && ( | |
<div className='pt-4 pl-[26px]'> | |
<LoadingAnim type='text' /> | |
</div> | |
)} | |
{!isRunning && error && ( | |
<div className='px-4'> | |
<StatusContainer status='failed'>{error}</StatusContainer> | |
</div> | |
)} | |
{!isRunning && !outputs && ( | |
<div className='px-4 py-2'> | |
<Markdown content='No Output' /> | |
</div> | |
)} | |
{outputs && Object.keys(outputs).length === 1 && ( | |
<div className='px-4 py-2'> | |
<Markdown content={outputs[Object.keys(outputs)[0]] || ''} /> | |
</div> | |
)} | |
{outputs && Object.keys(outputs).length > 1 && height! > 0 && ( | |
<div className='px-4 py-2 flex flex-col gap-2'> | |
<CodeEditor | |
readOnly | |
title={<div></div>} | |
language={CodeLanguage.json} | |
value={outputs} | |
isJSONStringifyBeauty | |
height={height} | |
/> | |
</div> | |
)} | |
</div> | |
) | |
} | |
export default OutputPanel | |