TriggerEventCheckBox.jsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React from 'react';
  2. import { useTranslation } from 'next-i18next';
  3. import PropTypes from 'prop-types';
  4. const TriggerEventCheckBox = (props) => {
  5. const { t } = props;
  6. return (
  7. <div className={`custom-control form-check form-check-${props.checkbox}`}>
  8. <input
  9. className="custom-control-input"
  10. type="checkbox"
  11. id={`trigger-event-${props.event}`}
  12. checked={props.checked}
  13. onChange={props.onChange}
  14. />
  15. <label className="custom-control-label" htmlFor={`trigger-event-${props.event}`}>
  16. {props.children}{' '}
  17. {t(`notification_settings.event_${props.event}`)}
  18. </label>
  19. </div>
  20. );
  21. };
  22. TriggerEventCheckBox.propTypes = {
  23. t: PropTypes.func.isRequired, // i18next
  24. checkbox: PropTypes.string.isRequired,
  25. checked: PropTypes.bool.isRequired,
  26. onChange: PropTypes.func.isRequired,
  27. event: PropTypes.string.isRequired,
  28. children: PropTypes.object.isRequired,
  29. };
  30. // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
  31. const TriggerEventCheckBoxWrapperFC = (props) => {
  32. const { t } = useTranslation('admin');
  33. return <TriggerEventCheckBox t={t} {...props} />;
  34. };
  35. export default TriggerEventCheckBoxWrapperFC;