import { useState } from 'react'; import { useRecoilValue } from 'recoil'; import { useProgress, useLocalize } from '~/hooks'; import ProgressText from './ProgressText'; import MarkdownLite from './MarkdownLite'; import store from '~/store'; export default function CodeAnalyze({ initialProgress = 0.1, code, outputs = [], }: { initialProgress: number; code: string; outputs: Record[]; }) { const localize = useLocalize(); const progress = useProgress(initialProgress); const showAnalysisCode = useRecoilValue(store.showCode); const [showCode, setShowCode] = useState(showAnalysisCode); const logs = outputs.reduce((acc, output) => { if (output['logs']) { return acc + output['logs'] + '\n'; } return acc; }, ''); return ( <>
setShowCode((prev) => !prev)} inProgressText={localize('com_ui_analyzing')} finishedText={localize('com_ui_analyzing_finished')} hasInput={!!code.length} isExpanded={showCode} />
{showCode && (
{logs && (
{localize('com_ui_result')}
{logs}
)}
)} ); }