import React, { memo, useCallback, useState } from 'react' import PropTypes from 'prop-types' import CloneProjectModalContent from './clone-project-modal-content' import AccessibleModal from '../../../shared/components/accessible-modal' function CloneProjectModal({ show, handleHide, handleAfterCloned, projectId, projectName, projectTags, }) { const [inFlight, setInFlight] = useState(false) const onHide = useCallback(() => { if (!inFlight) { handleHide() } }, [handleHide, inFlight]) return ( ) } CloneProjectModal.propTypes = { handleHide: PropTypes.func.isRequired, show: PropTypes.bool.isRequired, handleAfterCloned: PropTypes.func.isRequired, projectId: PropTypes.string, projectName: PropTypes.string, projectTags: PropTypes.arrayOf( PropTypes.shape({ _id: PropTypes.string.isRequired, name: PropTypes.string.isRequired, color: PropTypes.string, }) ), } export default memo(CloneProjectModal)