Files
overleaf-cep/services/web/frontend/js/features/clone-project-modal/components/editor-clone-project-modal-wrapper.tsx
T
David 975d1ee250 Merge pull request #27316 from overleaf/dp-file-menu-options
Add copy and submit project options to new editor file menu

GitOrigin-RevId: 7f402d96f278f2b084375441089b286adaa731b8
2025-08-21 08:05:37 +00:00

47 lines
1.2 KiB
TypeScript

import React, { useCallback } from 'react'
import { useProjectContext } from '../../../shared/context/project-context'
import withErrorBoundary from '../../../infrastructure/error-boundary'
import CloneProjectModal from './clone-project-modal'
type ProjectCopyResponse = {
project_id: string
}
const EditorCloneProjectModalWrapper = React.memo(
function EditorCloneProjectModalWrapper({
show,
handleHide,
openProject,
}: {
show: boolean
handleHide: () => void
openProject: (projectId: string) => void
}) {
const { project, tags: projectTags } = useProjectContext()
const handleAfterCloned = useCallback(
({ project_id: projectId }: ProjectCopyResponse) => {
openProject(projectId)
},
[openProject]
)
if (!project) {
// wait for useProjectContext
return null
} else {
return (
<CloneProjectModal
handleHide={handleHide}
show={show}
handleAfterCloned={handleAfterCloned}
projectId={project._id}
projectName={project.name}
projectTags={projectTags}
/>
)
}
}
)
export default withErrorBoundary(EditorCloneProjectModalWrapper)