editor-clone-project-modal-wrapper.tsx 1.0 KB

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