pdf-hybrid-code-check-button.jsx 955 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { memo, useCallback } from 'react'
  2. import { Button } from 'react-bootstrap'
  3. import Icon from '../../../shared/components/icon'
  4. import { useTranslation } from 'react-i18next'
  5. import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context'
  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. <Button
  17. bsSize="xsmall"
  18. bsStyle="danger"
  19. disabled={Boolean(error)}
  20. className="btn-toggle-logs toolbar-item"
  21. onClick={handleClick}
  22. >
  23. <Icon type="exclamation-triangle" />
  24. <span className="toolbar-text toolbar-hide-small">
  25. {t('code_check_failed')}
  26. </span>
  27. </Button>
  28. )
  29. }
  30. export default memo(PdfHybridCodeCheckButton)