import React, { useState, useCallback } from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, Button } from 'reactstrap'; import { gettext } from '../../../../utils/constants'; import metadataAPI from '../../../api'; import toaster from '../../../../components/toast'; import { Utils } from '../../../../utils/utils'; const MetadataFaceRecognitionDialog = ({ value, repoID, toggle, submit }) => { const [submitting, setSubmitting] = useState(false); const onToggle = useCallback(() => { toggle(); }, [toggle]); const onSubmit = useCallback(() => { setSubmitting(true); metadataAPI.openFaceRecognition(repoID).then(res => { submit(true); toggle(); }).catch(error => { const errorMsg = Utils.getErrorMsg(error); toaster.danger(errorMsg); setSubmitting(false); }); }, [repoID, submit, toggle]); return ( {gettext('Face recognition')} {value ? gettext('Face recognition enabled.') : gettext('Whether to enable face recognition?')} {!value && ( )} ); }; MetadataFaceRecognitionDialog.propTypes = { value: PropTypes.bool.isRequired, repoID: PropTypes.string.isRequired, toggle: PropTypes.func.isRequired, submit: PropTypes.func.isRequired, }; export default MetadataFaceRecognitionDialog;