import { memo, useCallback } from 'react' import { useTranslation } from 'react-i18next' import Icon from '@/shared/components/icon' import MaterialIcon from '@/shared/components/material-icon' import { useDetachCompileContext as useCompileContext } from '@/shared/context/detach-compile-context' import * as eventTracking from '@/infrastructure/event-tracking' import OLTooltip from '@/features/ui/components/ol/ol-tooltip' import OLButton from '@/features/ui/components/ol/ol-button' import OLBadge from '@/features/ui/components/ol/ol-badge' import BootstrapVersionSwitcher from '@/features/ui/components/bootstrap-5/bootstrap-version-switcher' function PdfHybridLogsButton() { const { error, logEntries, toggleLogs, showLogs, stoppedOnFirstError } = useCompileContext() const { t } = useTranslation() const handleClick = useCallback(() => { // only send analytics on open if (!showLogs) { eventTracking.sendMB('logs-click') } toggleLogs() }, [toggleLogs, showLogs]) const errorCount = Number(logEntries?.errors?.length) const warningCount = Number(logEntries?.warnings?.length) const totalCount = errorCount + warningCount return ( } bs5={} /> {!showLogs && totalCount > 0 && ( {totalCount} )} ) } export default memo(PdfHybridLogsButton)