Refactor tab addition logic and streamline tab filtering in Zen components

This commit is contained in:
mr. M
2025-03-02 21:36:53 +01:00
parent 0cb7b0af95
commit 7ca57da6fe
2 changed files with 22 additions and 16 deletions

View File

@@ -600,10 +600,14 @@
}
addToEssentials(tab) {
const tabs = tab ? (
// if it's already an array, dont make it [tab]
tab?.length ? tab : [tab]
) : TabContextMenu.contextTab.multiselected ? gBrowser.selectedTabs : [TabContextMenu.contextTab];
const tabs = tab
? // if it's already an array, dont make it [tab]
tab?.length
? tab
: [tab]
: TabContextMenu.contextTab.multiselected
? gBrowser.selectedTabs
: [TabContextMenu.contextTab];
for (let i = 0; i < tabs.length; i++) {
const tab = tabs[i];
if (tab.hasAttribute('zen-essential')) {

View File

@@ -824,9 +824,7 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
* @param {string} gridType - The type of grid layout.
*/
splitTabs(tabs, gridType, initialIndex = 0) {
tabs = tabs.filter(
(t) => !t.hidden && !t.hasAttribute('zen-empty-tab')
);
tabs = tabs.filter((t) => !t.hidden && !t.hasAttribute('zen-empty-tab'));
if (tabs.length < 2 || tabs.length > this.MAX_TABS) {
return;
}
@@ -1494,15 +1492,19 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
// Put tabs always as if it was dropped from the left
this.splitTabs([draggedTab, droppedOnTab], gridType, 1);
if (draggedTab.linkedBrowser) {
gZenUIManager.motion.animate(draggedTab.linkedBrowser.closest('.browserSidebarContainer'), {
gZenUIManager.motion.animate(
draggedTab.linkedBrowser.closest('.browserSidebarContainer'),
{
scale: [0.98, 1],
opacity: [0, 1],
}, {
},
{
type: 'spring',
bounce: 0.6,
duration: 0.5,
delay: 0.1,
});
}
);
}
}
}