diff --git a/src-web/components/core/tree/Tree.tsx b/src-web/components/core/tree/Tree.tsx index b9ba9feb..307864cb 100644 --- a/src-web/components/core/tree/Tree.tsx +++ b/src-web/components/core/tree/Tree.tsx @@ -265,17 +265,13 @@ function TreeInner( let hoveredChildIndex = selectableItem.index + (side === 'above' ? 0 : 1); const collapsedMap = jotaiStore.get(collapsedFamily(treeId)); - const isHoveredItemCollapsed = hovered != null ? collapsedMap[hovered.item.id] : false; + const isHoveredItemCollapsed = + hovered != null ? hovered.children?.length === 0 || collapsedMap[hovered.item.id] : false; - if (hovered?.children != null && side === 'below') { + if (hovered?.children != null && side === 'below' && isHoveredItemCollapsed) { // Move into the folder if it's open and we're moving below it - if (isHoveredItemCollapsed) { - hoveredParent = hovered; - hoveredChildIndex = 0; - } else { - hoveredParent = hovered; - hoveredChildIndex = 0; - } + hoveredParent = hovered; + hoveredChildIndex = 0; } const parentId = hoveredParent?.item.id ?? null; diff --git a/src-web/components/core/tree/TreeDropMarker.tsx b/src-web/components/core/tree/TreeDropMarker.tsx index 7e5d0185..21b7e9c7 100644 --- a/src-web/components/core/tree/TreeDropMarker.tsx +++ b/src-web/components/core/tree/TreeDropMarker.tsx @@ -24,8 +24,8 @@ export const TreeDropMarker = memo(function TreeDropMarker