fix: dashboard tree drag&drop on folder items + collapsible + subfolders + context menu

This commit is contained in:
A0 Orchestrator
2026-07-03 18:58:14 +02:00
parent 061f862960
commit c8858430ad
2 changed files with 243 additions and 115 deletions
+79 -7
View File
@@ -282,18 +282,90 @@
.folder-action-btn:hover { color: var(--color-primary); background: rgba(37, 99, 235, 0.1); }
.folder-action-btn.delete:hover { color: #e74c3c; background: rgba(231, 76, 60, 0.1); }
/* Drag-over visual feedback on tree nodes */
.tree-node.drag-over {
background: var(--color-primary) !important;
/* Folder tree items (recursive, native drag targets) */
.folder-tree-item {
display: flex;
align-items: center;
gap: 4px;
padding: 6px 8px;
border-radius: 4px;
cursor: pointer;
font-size: 13px;
color: var(--color-text);
transition: background 0.15s;
user-select: none;
}
.folder-tree-item:hover {
background: var(--color-surface-2);
}
.folder-tree-item.selected {
background: var(--color-primary);
color: white;
}
.folder-tree-item.drag-over {
background: var(--color-primary);
opacity: 0.7;
border: 2px dashed var(--color-primary);
border-radius: 4px;
}
.treeview-drop-zone.drag-over {
background: rgba(37, 99, 235, 0.15);
outline: 2px dashed var(--color-primary);
border-radius: 4px;
.folder-chevron {
background: none;
border: none;
cursor: pointer;
color: var(--color-text-muted);
padding: 0;
width: 16px;
font-size: 10px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.folder-chevron:hover {
color: var(--color-text);
}
.folder-tree-item.selected .folder-chevron {
color: rgba(255, 255, 255, 0.8);
}
.folder-chevron-placeholder {
width: 16px;
flex-shrink: 0;
}
.folder-tree-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.folder-count {
font-size: 11px;
color: var(--color-text-muted);
flex-shrink: 0;
}
.folder-tree-item.selected .folder-count {
color: rgba(255, 255, 255, 0.7);
}
.folder-rename-inline {
flex: 1;
padding: 2px 4px;
border: 1px solid var(--color-primary);
border-radius: 3px;
background: var(--color-surface);
color: var(--color-text);
font-size: 13px;
outline: none;
box-sizing: border-box;
}
.context-menu-overlay {