From 0fbedb0de338f866cdfe3b63d5f79e159ac77cea Mon Sep 17 00:00:00 2001
From: "gpt-engineer-app[bot]"
<159125892+gpt-engineer-app[bot]@users.noreply.github.com>
Date: Tue, 28 Apr 2026 00:36:10 +0000
Subject: [PATCH] Changes
Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
---
src/components/cases/documents-tab.tsx | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/components/cases/documents-tab.tsx b/src/components/cases/documents-tab.tsx
index 5cbbe3c..14d0dc9 100644
--- a/src/components/cases/documents-tab.tsx
+++ b/src/components/cases/documents-tab.tsx
@@ -298,13 +298,15 @@ export function CaseDocumentsTab({ caseId }: { caseId: string }) {
const deleteFolder = async (full: string) => {
const inFolder = docs.filter((d) => (d.folder || "") === full || (d.folder || "").startsWith(`${full}/`));
- if (inFolder.length && !confirm(`Folder "${full}" contains ${inFolder.length} file(s). Delete folder and all its files?`)) return;
- if (!inFolder.length && !confirm(`Delete empty folder "${full}"?`)) return;
- if (inFolder.length) {
- await supabase.storage.from("case-documents").remove(inFolder.map((d) => d.storage_path));
- await supabase.from("documents").delete().in("id", inFolder.map((d) => d.id));
+ const hasSubfolders = folders.some((f) => f.startsWith(`${full}/`));
+ if (inFolder.length || hasSubfolders) {
+ toast.error("Folder is not empty", {
+ description: "Move or delete its contents before deleting the folder.",
+ });
+ return;
}
- await supabase.from("document_folders").delete().eq("case_id", caseId).or(`path.eq.${full},path.like.${full}/%`);
+ if (!confirm(`Delete empty folder "${full}"?`)) return;
+ await supabase.from("document_folders").delete().eq("case_id", caseId).eq("path", full);
toast.success("Folder deleted");
load();
};
@@ -553,9 +555,6 @@ export function CaseDocumentsTab({ caseId }: { caseId: string }) {
-
))}