submit-button.tsx 734 B

1234567891011121314151617181920212223242526272829303132
  1. import { useTranslation } from 'react-i18next'
  2. import { Button } from 'react-bootstrap'
  3. import Icon from '../../../../../shared/components/icon'
  4. type SubmitButtonProps = {
  5. isProcessing: boolean
  6. isFormValid: boolean
  7. children: React.ReactNode
  8. }
  9. function SubmitButton(props: SubmitButtonProps) {
  10. const { t } = useTranslation()
  11. return (
  12. <Button
  13. type="submit"
  14. bsStyle="primary"
  15. className="btn-block"
  16. disabled={props.isProcessing || !props.isFormValid}
  17. >
  18. {props.isProcessing && (
  19. <>
  20. <Icon type="spinner" spin />
  21. <span className="sr-only">{t('processing')}</span>
  22. </>
  23. )}{' '}
  24. {props.children}
  25. </Button>
  26. )
  27. }
  28. export default SubmitButton