pdf-hybrid-code-check-button.tsx 943 B

12345678910111213141516171819202122232425262728293031323334
  1. import { memo, useCallback } from 'react'
  2. import { useTranslation } from 'react-i18next'
  3. import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context'
  4. import OLButton from '@/features/ui/components/ol/ol-button'
  5. import MaterialIcon from '@/shared/components/material-icon'
  6. function PdfHybridCodeCheckButton() {
  7. const { codeCheckFailed, error, toggleLogs } = useCompileContext()
  8. const { t } = useTranslation()
  9. const handleClick = useCallback(() => {
  10. toggleLogs()
  11. }, [toggleLogs])
  12. if (!codeCheckFailed) {
  13. return null
  14. }
  15. return (
  16. <OLButton
  17. variant="danger"
  18. size="sm"
  19. disabled={Boolean(error)}
  20. className="btn-toggle-logs toolbar-item"
  21. onClick={handleClick}
  22. >
  23. <MaterialIcon type="warning" />
  24. <span className="toolbar-text">{t('code_check_failed')}</span>
  25. </OLButton>
  26. )
  27. }
  28. export default memo(PdfHybridCodeCheckButton)