diff --git a/src/zen/drag-and-drop/ZenDragAndDrop.js b/src/zen/drag-and-drop/ZenDragAndDrop.js index b76972fed..11f1bb10e 100644 --- a/src/zen/drag-and-drop/ZenDragAndDrop.js +++ b/src/zen/drag-and-drop/ZenDragAndDrop.js @@ -973,13 +973,15 @@ (possibleFolderElement.collapsed || possibleFolderElement.childGroupsAndTabs.length < 2))); if ( - isTabGroupLabel(draggedTab) && - draggedTab.group?.isZenFolder && - (isTab(dropElement) || dropElement.hasAttribute("split-view-group")) && - (!dropElement.pinned || dropElement.hasAttribute("zen-essential")) + (isTabGroupLabel(draggedTab) && + draggedTab.group?.isZenFolder && + (isTab(dropElement) || dropElement.hasAttribute("split-view-group")) && + (!dropElement.pinned || dropElement.hasAttribute("zen-essential"))) || + showIndicatorUnderNewTabButton ) { + dropElement = null; this.clearDragOverVisuals(); - return null; + return [dropElement, dropBefore]; } if ( isTab(dropElement) || @@ -994,7 +996,7 @@ let top = 0; threshold = Services.prefs.getIntPref("browser.tabs.dragDrop.moveOverThresholdPercent") / 100; - if (overlapPercent > threshold) { + if (overlapPercent > threshold || showIndicatorUnderNewTabButton) { top = Math.round(rect.top + rect.height) + "px"; dropBefore = false; } else { diff --git a/src/zen/tabs/ZenPinnedTabManager.mjs b/src/zen/tabs/ZenPinnedTabManager.mjs index aca3ba580..ebe9b04b5 100644 --- a/src/zen/tabs/ZenPinnedTabManager.mjs +++ b/src/zen/tabs/ZenPinnedTabManager.mjs @@ -565,6 +565,12 @@ class nsZenPinnedTabManager extends nsZenDOMOperatedFeature { currentEssenialContainer.essentialsPromo.remove(); } + movingTabs = movingTabs.filter((tab) => + gBrowser.isTabGroupLabel(tab) + ? tab.group?.isZenFolder && !tabsTarget && !essentialTabsTarget + : true + ); + // TODO: Solve the issue of adding a tab between two groups // Remove group labels from the moving tabs and replace it // with the sub tabs