diff --git a/src/MediaManager.html b/src/MediaManager.html index 3861158..71770f3 100644 --- a/src/MediaManager.html +++ b/src/MediaManager.html @@ -822,12 +822,14 @@ // Targeted updates affectedIds.forEach(function (aid) { ui.updateCardState(aid); }); + ui.updateLinkButtonState(); }; MediaState.prototype.clearSelection = function () { var affectedIds = Array.from(this.selectedIds); this.selectedIds.clear(); affectedIds.forEach(function (aid) { ui.updateCardState(aid); }); + ui.updateLinkButtonState(); }; MediaState.prototype.addItem = function (item) { @@ -1047,6 +1049,22 @@ btn.disabled = false; }; + UI.prototype.updateLinkButtonState = function () { + var btnLink = document.getElementById('btn-link-selected'); + if (btnLink) { + var items = state.items || []; + var selectedItems = items.filter(function (i) { return state.selectedIds.has(i.id); }); + var hasDrive = selectedItems.some(function (i) { return i.source === 'drive_only'; }); + var hasShopify = selectedItems.some(function (i) { return i.source === 'shopify_only'; }); + + if (hasDrive && hasShopify) { + btnLink.style.display = 'block'; + } else { + btnLink.style.display = 'none'; + } + } + }; + UI.prototype.render = function (items) { this.grid.innerHTML = ''; var _this = this; // Capture 'this' for callbacks @@ -1061,18 +1079,7 @@ } // Link Selected button logic - var btnLink = document.getElementById('btn-link-selected'); - if (btnLink) { - var selectedItems = items.filter(function (i) { return state.selectedIds.has(i.id); }); - var hasDrive = selectedItems.some(function (i) { return i.source === 'drive_only'; }); - var hasShopify = selectedItems.some(function (i) { return i.source === 'shopify_only'; }); - - if (hasDrive && hasShopify) { - btnLink.style.display = 'block'; - } else { - btnLink.style.display = 'none'; - } - } + this.updateLinkButtonState(); if (items.length === 0) { this.grid.innerHTML = '
No media found. Upload something!
'; @@ -1333,7 +1340,7 @@ var overlay = el.querySelector('.media-overlay'); if (overlay) { // Remove existing link button if it exists - var oldLinkBtn = el.querySelector('#link-btn-' + id); + var oldLinkBtn = el.querySelector('[id="link-btn-' + id + '"]'); if (oldLinkBtn) oldLinkBtn.remove(); // Add link button back if NOT deleted