editor-clone-project-modal-wrapper.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import { useProjectContext } from '../../../shared/context/project-context'
  4. import withErrorBoundary from '../../../infrastructure/error-boundary'
  5. import CloneProjectModal from './clone-project-modal'
  6. const EditorCloneProjectModalWrapper = React.memo(
  7. function EditorCloneProjectModalWrapper({ show, handleHide, openProject }) {
  8. const {
  9. _id: projectId,
  10. name: projectName,
  11. tags: projectTags,
  12. } = useProjectContext()
  13. if (!projectName) {
  14. // wait for useProjectContext
  15. return null
  16. } else {
  17. return (
  18. <CloneProjectModal
  19. handleHide={handleHide}
  20. show={show}
  21. handleAfterCloned={openProject}
  22. projectId={projectId}
  23. projectName={projectName}
  24. projectTags={projectTags}
  25. />
  26. )
  27. }
  28. }
  29. )
  30. EditorCloneProjectModalWrapper.propTypes = {
  31. handleHide: PropTypes.func.isRequired,
  32. show: PropTypes.bool.isRequired,
  33. openProject: PropTypes.func.isRequired,
  34. }
  35. export default withErrorBoundary(EditorCloneProjectModalWrapper)