From 7f430568a86d6529662d7dcf8ebdc6092311da84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristijan=20Ribari=C4=87?= Date: Fri, 11 Oct 2024 10:35:32 +0200 Subject: [PATCH] Fix: Update pinned tab context menu visibility logic This commit fixes an issue where weird stuff would happen if pinned tab didn't have a base url to reset to. If there is no base url, reset tab functionality won't work and it won't be visible in context menu until you click replace pinned url with current or unpin and repin the tab. --- src/ZenPinnedTabManager.mjs | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/ZenPinnedTabManager.mjs b/src/ZenPinnedTabManager.mjs index dcf940a..e4e7dc9 100644 --- a/src/ZenPinnedTabManager.mjs +++ b/src/ZenPinnedTabManager.mjs @@ -108,17 +108,9 @@ } updatePinnedTabForSessionRestore(tabData, tab) { - if (tabData.zenPinnedUrl) { - tab.setAttribute("zen-pinned-url", tabData.zenPinnedUrl); - } - - if (tabData.zenPinnedTitle) { - tab.setAttribute("zen-pinned-title", tabData.zenPinnedTitle); - } - - if(tabData.zenPinnedIcon) { - tab.setAttribute("zen-pinned-icon", tabData.zenPinnedIcon); - } + !!tabData.zenPinnedUrl ? tab.setAttribute("zen-pinned-url", tabData.zenPinnedUrl) : tab.removeAttribute("zen-pinned-url"); + !!tabData.zenPinnedTitle ? tab.setAttribute("zen-pinned-title", tabData.zenPinnedTitle) : tab.removeAttribute("zen-pinned-title"); + !!tabData.zenPinnedIcon ? tab.setAttribute("zen-pinned-icon", tabData.zenPinnedIcon) : tab.removeAttribute("zen-pinned-icon"); } _onCloseTabShortcut(event) { @@ -215,8 +207,8 @@ } updatePinnedTabContextMenu(contextTab) { - const isVisible = contextTab.pinned && contextTab.getAttribute("zen-pinned-url") && !contextTab.multiselected; - document.getElementById("context_zen-reset-pinned-tab").hidden = !isVisible; + const isVisible = contextTab.pinned && !contextTab.multiselected; + document.getElementById("context_zen-reset-pinned-tab").hidden = !isVisible || !contextTab.getAttribute("zen-pinned-url"); document.getElementById("context_zen-replace-pinned-url-with-current").hidden = !isVisible; } }