editor-clone-project-modal-wrapper.tsx 986 B

123456789101112131415161718192021222324252627282930313233343536
  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 { project, tags: projectTags } = useProjectContext()
  16. if (!project) {
  17. // wait for useProjectContext
  18. return null
  19. } else {
  20. return (
  21. <CloneProjectModal
  22. handleHide={handleHide}
  23. show={show}
  24. handleAfterCloned={openProject}
  25. projectId={project._id}
  26. projectName={project.name}
  27. projectTags={projectTags}
  28. />
  29. )
  30. }
  31. }
  32. )
  33. export default withErrorBoundary(EditorCloneProjectModalWrapper)