diff --git a/app/components/FileItemMenu.tsx b/app/components/FileItemMenu.tsx index 0c82c7c..e2a48f5 100644 --- a/app/components/FileItemMenu.tsx +++ b/app/components/FileItemMenu.tsx @@ -82,10 +82,12 @@ export default function FileItemMenu({ Download - run(onCopy)}> - - Copy - + {file.type === "file" && ( + run(onCopy)}> + + Make a Copy + + )} run(onShare)}> Share diff --git a/app/components/file-manager/FileManagerContent.tsx b/app/components/file-manager/FileManagerContent.tsx index 7289996..8c11e8c 100644 --- a/app/components/file-manager/FileManagerContent.tsx +++ b/app/components/file-manager/FileManagerContent.tsx @@ -331,14 +331,6 @@ export default function FileManagerContent() { dispatchFileAction({ type: "download", file }); }, }, - { - label: "Copy", - icon: Copy, - onClick: () => { - closeContextMenu(); - dispatchFileAction({ type: "copy", file }); - }, - }, { label: "Share", icon: Share2, @@ -360,6 +352,17 @@ export default function FileManagerContent() { }); } + if (file.type === "file") { + actions.push({ + label: "Make a Copy", + icon: Copy, + onClick: () => { + closeContextMenu(); + dispatchFileAction({ type: "copy", file }); + }, + }); + } + actions.push({ label: "Delete", icon: Trash2, diff --git a/app/components/file-manager/hooks/useFileOperations.ts b/app/components/file-manager/hooks/useFileOperations.ts index 37f9bb8..5e9c1f1 100644 --- a/app/components/file-manager/hooks/useFileOperations.ts +++ b/app/components/file-manager/hooks/useFileOperations.ts @@ -7,7 +7,6 @@ import type { AccessLevel } from "../../ShareDialog"; import { getAuthenticatedSession, copyFileResource, - copyFolderResource, downloadFile, downloadFolderAsZip, deleteFileResource, @@ -91,7 +90,7 @@ export function useFileOperations({ const copyFile = useCallback( async (file: FileItemData) => { - if (!file) { + if (!file || file.type === "folder") { return; } @@ -99,11 +98,7 @@ export function useFileOperations({ `Copying "${file.name}"...`, async () => { const { fetch: fetchFn } = getAuthenticatedSession(); - if (file.type === "folder") { - await copyFolderResource(file, fetchFn); - } else { - await copyFileResource(file, fetchFn); - } + await copyFileResource(file, fetchFn); }, { successMessage: `Copied "${file.name}"`,