import { useCallback } from 'react' import PropTypes from 'prop-types' import { Trans, useTranslation } from 'react-i18next' import OLButton from '@/features/ui/components/ol/ol-button' import PreviewLogEntryHeader from './preview-log-entry-header' import Icon from '../../../shared/components/icon' import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context' import { useStopOnFirstError } from '../../../shared/hooks/use-stop-on-first-error' import MaterialIcon from '@/shared/components/material-icon' import BootstrapVersionSwitcher from '@/features/ui/components/bootstrap-5/bootstrap-version-switcher' function PreviewLogsPaneMaxEntries({ totalEntries, entriesShown, hasErrors }) { const { t } = useTranslation() const { startCompile, stoppedOnFirstError, setAnimateCompileDropdownArrow } = useCompileContext() const { enableStopOnFirstError } = useStopOnFirstError({ eventSource: 'too-many-logs', }) const title = t('log_entry_maximum_entries_title', { total: totalEntries, displayed: entriesShown, }) const handleEnableStopOnFirstErrorClick = useCallback(() => { enableStopOnFirstError() startCompile({ stopOnFirstError: true }) setAnimateCompileDropdownArrow(true) }, [enableStopOnFirstError, startCompile, setAnimateCompileDropdownArrow]) return (
) } PreviewLogsPaneMaxEntries.propTypes = { totalEntries: PropTypes.number, entriesShown: PropTypes.number, hasErrors: PropTypes.bool, } export default PreviewLogsPaneMaxEntries