|
318 | 318 | if (selectedItem) {
|
319 | 319 | group.setAttribute('has-active', 'true');
|
320 | 320 | selectedItem.setAttribute('folder-active', 'true');
|
321 |
| - this.setFolderIndentation(selectedItem, group, false); |
| 321 | + this.setFolderIndentation(selectedItem, group, /* for collapse = */ true); |
322 | 322 | }
|
323 | 323 |
|
324 | 324 | for (const item of itemsAfterSelected) {
|
|
874 | 874 | return [];
|
875 | 875 | }
|
876 | 876 |
|
877 |
| - setFolderIndentation(tab, group = undefined) { |
| 877 | + setFolderIndentation(tab, group = undefined, forCollapse = true) { |
878 | 878 | if (!gZenPinnedTabManager.expandedSidebarMode) {
|
879 | 879 | return;
|
880 | 880 | }
|
|
886 | 886 | group = group.group;
|
887 | 887 | isTab = true;
|
888 | 888 | }
|
889 |
| - if (!isTab && !group?.hasAttribute('selected')) { |
| 889 | + if (!isTab && !group?.hasAttribute('selected') && !forCollapse) { |
890 | 890 | group = null; // Don't indent if the group is not selected
|
891 | 891 | }
|
892 | 892 | const level = group?.level + 1 || 0;
|
893 | 893 | 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; |
895 | 899 | const spacing = (level - tabLevel) * baseSpacing;
|
896 |
| - tab.style.setProperty('--zen-folder-indent', `${spacing}px`); |
| 900 | + tabToAnimate.style.setProperty('--zen-folder-indent', `${spacing}px`); |
897 | 901 | }
|
898 | 902 |
|
899 | 903 | changeFolderUserIcon(group) {
|
|
0 commit comments