From e8db35280323669ea34c6cfc42bb37ba6471c48c Mon Sep 17 00:00:00 2001 From: HighImKevin Date: Fri, 5 Dec 2025 19:07:40 -0500 Subject: [PATCH] Properly handle viewMoreUrl for Spotlight sections --- scripts/cardBuilder.js | 43 +++++++++++++++++++++++++++++++++++++++--- scripts/homeScreen.js | 6 +++++- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/scripts/cardBuilder.js b/scripts/cardBuilder.js index 7ee5a86..975e597 100644 --- a/scripts/cardBuilder.js +++ b/scripts/cardBuilder.js @@ -659,9 +659,46 @@ // Add section title in top left corner (absolute positioning, aligned with controls) if (title) { - const sectionTitleEl = document.createElement('div'); - sectionTitleEl.className = 'spotlight-section-title'; - sectionTitleEl.textContent = title; + let sectionTitleEl; + + if (viewMoreUrl) { + // Create clickable title + const titleLink = document.createElement('a'); + titleLink.className = 'spotlight-section-title spotlight-title-link'; + titleLink.textContent = title; + titleLink.title = 'See All'; + titleLink.style.textDecoration = 'none'; + + const cssStyle = document.createElement('style'); + cssStyle.textContent = ` + .spotlight-title-link:hover { + text-decoration: underline !important; + } + `; + titleLink.appendChild(cssStyle); + + // Handle both URL and function + if (typeof viewMoreUrl === 'function') { + titleLink.addEventListener('click', (e) => { + e.preventDefault(); + e.stopPropagation(); + viewMoreUrl(); + }); + } else { + titleLink.href = viewMoreUrl; + titleLink.addEventListener('click', (e) => { + e.stopPropagation(); + }); + } + + sectionTitleEl = titleLink; + } else { + // Regular non-clickable title + sectionTitleEl = document.createElement('div'); + sectionTitleEl.className = 'spotlight-section-title'; + sectionTitleEl.textContent = title; + } + bannerContainer.appendChild(sectionTitleEl); } diff --git a/scripts/homeScreen.js b/scripts/homeScreen.js index 10ecfce..2a044c0 100644 --- a/scripts/homeScreen.js +++ b/scripts/homeScreen.js @@ -5649,6 +5649,9 @@ case 'Parent': viewMoreUrl = `#/list.html?parentId=${source}&serverId=${ApiClient.serverId()}`; break; + case 'Tag': + viewMoreUrl = `#/list.html?type=tag&tag=${source}&serverId=${ApiClient.serverId()}`; + break; default: viewMoreUrl = null; break; @@ -5671,7 +5674,8 @@ interval: 5000, showDots: true, showNavButtons: true, - showClearArt: true + showClearArt: true, + viewMoreUrl: viewMoreUrl } ); } else {