feat: arborescence interactive avec expand/collapse, breadcrumb et navigation par dossier
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped

- API /api/local-workspace/tree: arbre récursif complet (support optionnel ?folder=ID)
- API /api/local-workspace/breadcrumb: fil d'Ariane parent pour un dossier
- Page /local-workspace: supporte ?folder=ID pour naviguer dans un dossier
- Sidebar: expand/collapse (▶/▼) sur les dossiers, clic dossier → /local-workspace?folder=ID
- CSS: styles chevron .tree-chevron, .tree-folder-link
- Alpine.js: expandedFolders, toggleTreeFolder, navigateToFolder
This commit is contained in:
2026-07-11 08:24:57 -04:00
parent 54abe8ac3b
commit e9a419b83f
4 changed files with 331 additions and 65 deletions
+44 -1
View File
@@ -397,8 +397,51 @@ input, select, textarea { font-family: inherit; color: inherit; }
.sidebar-item .page-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-overflow: ellipsis;
color: var(--text);
text-decoration: none;
font-size: 13px;
}
/* Tree chevron for expand/collapse */
.tree-chevron {
width: 16px;
height: 16px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
background: none;
border: none;
color: var(--text-tertiary);
cursor: pointer;
font-size: 8px;
padding: 0;
border-radius: 3px;
transition: transform 150ms, color 100ms;
}
.tree-chevron:hover {
color: var(--text);
background: var(--bg-hover);
}
.tree-chevron.open {
transform: rotate(90deg);
}
/* Folder link styling */
.tree-folder-link {
flex: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: var(--text);
font-size: 13px;
cursor: pointer;
font-weight: 500;
}
.tree-folder-link:hover {
color: var(--accent);
}
.sidebar-item .item-actions {