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}"`,