feat(git-status): group changed files under collapsible folders (setting, default on)

The Git window shows each group's files under their folders, collapsed until clicked, with single-child folder chains merged and open folders surviving the refresh. App Settings → Bottom bar → 'Git status: group files by folder' (per device) switches back to the flat list.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JrzFKEdBLwVfu6ev2ZscJS
This commit is contained in:
Devvyn
2026-10-05 09:41:03 +08:00
co-authored by Claude Sonnet 5.5
parent cd9218c23e
commit 948c7c54dd
5 changed files with 164 additions and 4 deletions
+36
View File
@@ -19634,3 +19634,39 @@ html .toolbar .btn-git-status.git-status--conflict {
.git-diff-line--meta {
color: var(--text-muted);
}
/* Git status panel: files grouped under collapsible folders */
.git-tree-dir > .git-tree-summary {
display: flex;
align-items: baseline;
gap: 0.45rem;
padding: 0.15rem 0.25rem;
border-radius: 4px;
cursor: pointer;
min-width: 0;
}
.git-tree-dir > .git-tree-summary:hover {
background: var(--bg-hover);
}
.git-tree-name {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-family: 'SF Mono', Monaco, monospace;
font-size: 0.7rem;
}
.git-tree-count {
font-size: 0.64rem;
color: var(--text-muted);
}
.git-tree-children {
margin-left: 0.7rem;
padding-left: 0.4rem;
border-left: 1px solid var(--border);
}