'use client' import type { FC } from 'react' import { useTranslation } from 'react-i18next' import { RiArrowRightSLine, RiRestartFill, } from '@remixicon/react' import StatusPanel from './status' import MetaData from './meta' import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/code-editor' import { CodeLanguage } from '@/app/components/workflow/nodes/code/types' import ErrorHandleTip from '@/app/components/workflow/nodes/_base/components/error-handle/error-handle-tip' import type { NodeTracing } from '@/types/workflow' import Button from '@/app/components/base/button' type ResultPanelProps = { inputs?: string process_data?: string outputs?: string status: string error?: string elapsed_time?: number total_tokens?: number created_at?: number created_by?: string finished_at?: number steps?: number showSteps?: boolean exceptionCounts?: number execution_metadata?: any retry_events?: NodeTracing[] onShowRetryDetail?: (retries: NodeTracing[]) => void } const ResultPanel: FC = ({ inputs, process_data, outputs, status, error, elapsed_time, total_tokens, created_at, created_by, steps, showSteps, exceptionCounts, execution_metadata, retry_events, onShowRetryDetail, }) => { const { t } = useTranslation() return (
{ retry_events?.length && onShowRetryDetail && (
) }
{t('workflow.common.input').toLocaleUpperCase()}
} language={CodeLanguage.json} value={inputs} isJSONStringifyBeauty /> {process_data && ( {t('workflow.common.processData').toLocaleUpperCase()}
} language={CodeLanguage.json} value={process_data} isJSONStringifyBeauty /> )} {(outputs || status === 'running') && ( {t('workflow.common.output').toLocaleUpperCase()}} language={CodeLanguage.json} value={outputs} isJSONStringifyBeauty tip={} /> )}
) } export default ResultPanel