Skip to content

Commit da252b3

Browse files
committed
feat: Add margin when moving groups inside other groups, b=no-bug, c=folders
1 parent 9dac7bc commit da252b3

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/zen/folders/ZenFolders.mjs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@
318318
if (selectedItem) {
319319
group.setAttribute('has-active', 'true');
320320
selectedItem.setAttribute('folder-active', 'true');
321-
this.setFolderIndentation(selectedItem, group, false);
321+
this.setFolderIndentation(selectedItem, group, /* for collapse = */ true);
322322
}
323323

324324
for (const item of itemsAfterSelected) {
@@ -874,7 +874,7 @@
874874
return [];
875875
}
876876

877-
setFolderIndentation(tab, group = undefined) {
877+
setFolderIndentation(tab, group = undefined, forCollapse = true) {
878878
if (!gZenPinnedTabManager.expandedSidebarMode) {
879879
return;
880880
}
@@ -886,14 +886,18 @@
886886
group = group.group;
887887
isTab = true;
888888
}
889-
if (!isTab && !group?.hasAttribute('selected')) {
889+
if (!isTab && !group?.hasAttribute('selected') && !forCollapse) {
890890
group = null; // Don't indent if the group is not selected
891891
}
892892
const level = group?.level + 1 || 0;
893893
const baseSpacing = 14; // Base spacing for each level
894-
const tabLevel = tab?.group?.level || 0;
894+
let tabToAnimate = tab;
895+
if (gBrowser.isTabGroupLabel(tab)) {
896+
tabToAnimate = tab.group;
897+
}
898+
const tabLevel = tabToAnimate?.group?.level || 0;
895899
const spacing = (level - tabLevel) * baseSpacing;
896-
tab.style.setProperty('--zen-folder-indent', `${spacing}px`);
900+
tabToAnimate.style.setProperty('--zen-folder-indent', `${spacing}px`);
897901
}
898902

899903
changeFolderUserIcon(group) {

0 commit comments

Comments
 (0)