import { useTranslation } from 'react-i18next' import { memo } from 'react' import classnames from 'classnames' import PdfValidationIssue from './pdf-validation-issue' import StopOnFirstErrorPrompt from './stop-on-first-error-prompt' import TimeoutUpgradePrompt from './timeout-upgrade-prompt' import PdfPreviewError from './pdf-preview-error' import PdfClearCacheButton from './pdf-clear-cache-button' import PdfDownloadFilesButton from './pdf-download-files-button' import PdfLogsEntries from './pdf-logs-entries' import withErrorBoundary from '../../../infrastructure/error-boundary' import ErrorBoundaryFallback from './error-boundary-fallback' import PdfCodeCheckFailedNotice from './pdf-code-check-failed-notice' import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context' import PdfLogEntry from './pdf-log-entry' function PdfLogsViewer() { const { codeCheckFailed, error, logEntries, rawLog, validationIssues, showLogs, stoppedOnFirstError, } = useCompileContext() const { t } = useTranslation() return (
{codeCheckFailed && } {stoppedOnFirstError && } {error && } {error === 'timedout' && } {validationIssues && Object.entries(validationIssues).map(([name, issue]) => ( ))} {logEntries?.all && ( 0} /> )} {rawLog && ( )}
) } export default withErrorBoundary(memo(PdfLogsViewer), () => ( ))