From 7194240a322bfdcedacc79b310ff6ef57213874d Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Tue, 28 Jul 2026 12:37:04 +0200 Subject: [PATCH] fix: keep tree structure in multi-select, checkbox+chevron, separate toggle/expand --- .../components/contacts/ContactFolderTree.tsx | 46 ++++++++----------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/frontend/src/components/contacts/ContactFolderTree.tsx b/frontend/src/components/contacts/ContactFolderTree.tsx index d9d99bd..8a11a98 100644 --- a/frontend/src/components/contacts/ContactFolderTree.tsx +++ b/frontend/src/components/contacts/ContactFolderTree.tsx @@ -163,10 +163,11 @@ function FolderTreeItem({ return (
-
+
{ + if (multiSelectMode) return; e.dataTransfer.setData('text/folder-id', node.id); e.dataTransfer.effectAllowed = 'move'; }} @@ -192,13 +193,21 @@ function FolderTreeItem({ }} > {multiSelectMode ? ( - onToggleMultiSelect?.(node.id)} - onClick={(e) => e.stopPropagation()} - className="w-3.5 h-3.5 rounded border-secondary-300 text-primary-600 focus:ring-primary-500 flex-shrink-0 cursor-pointer" - /> + <> + onToggleMultiSelect?.(node.id)} + onClick={(e) => e.stopPropagation()} + className="w-3.5 h-3.5 rounded border-secondary-300 text-primary-600 focus:ring-primary-500 flex-shrink-0 cursor-pointer" + /> + { e.stopPropagation(); setExpanded(!expanded); }} + className="flex-shrink-0 cursor-pointer" + > + {chevron(expanded)} + + ) : ( chevron(expanded) )} @@ -221,24 +230,7 @@ function FolderTreeItem({ )}
- {expanded && !multiSelectMode && node.children.map((child) => ( - - ))} - {multiSelectMode && node.children.map((child) => ( + {expanded && node.children.map((child) => (