From e9dfa7ab9c8febff760513e3b24a8ff8d10e98d0 Mon Sep 17 00:00:00 2001 From: KennyG Date: Fri, 10 Apr 2026 14:50:53 -0400 Subject: [PATCH 01/41] Add Group Details plugin (0.1.0) UI plugin for group list cards: filtered total duration and average vertical resolution with GraphQL-backed metrics. Made-with: Cursor --- plugins/GroupDetails/GroupDetails.css | 20 ++ plugins/GroupDetails/GroupDetails.js | 318 ++++++++++++++++++++++++++ plugins/GroupDetails/GroupDetails.yml | 9 + plugins/GroupDetails/README.md | 33 +++ 4 files changed, 380 insertions(+) create mode 100644 plugins/GroupDetails/GroupDetails.css create mode 100644 plugins/GroupDetails/GroupDetails.js create mode 100644 plugins/GroupDetails/GroupDetails.yml create mode 100644 plugins/GroupDetails/README.md diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css new file mode 100644 index 00000000..fa1d4473 --- /dev/null +++ b/plugins/GroupDetails/GroupDetails.css @@ -0,0 +1,20 @@ +.group-card .card-popovers .gd-stat { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 4.5rem; + padding: 0.2rem 0.45rem; + font-size: 0.9rem; + line-height: 1.1; + color: var(--text, #d5dbe3); + opacity: 0.95; + white-space: nowrap; +} + +.group-card .card-popovers .gd-stat-left { + margin-right: 0.25rem; +} + +.group-card .card-popovers .gd-stat-right { + margin-left: 0.25rem; +} diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js new file mode 100644 index 00000000..66ee9aee --- /dev/null +++ b/plugins/GroupDetails/GroupDetails.js @@ -0,0 +1,318 @@ +"use strict"; + +(function () { + var ROOT_ID = "root"; + var ROUTE_PREFIX = "/groups"; + var GROUP_METRICS_QUERY = + "query GroupDetailsMetrics($id: ID!) {" + + " findGroup(id: $id) {" + + " id " + + " scenes { " + + " id " + + " files { duration height } " + + " groups { group { id } scene_index } " + + " } " + + " }" + + "}"; + + var state = { + observer: null, + attachedRoot: null, + retryTimer: null, + applyingDomEnhancements: false, + cacheByGroupId: new Map(), + inFlightByGroupId: new Map(), + }; + + async function gql(query, variables) { + var res = await fetch("/graphql", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ query: query, variables: variables || {} }), + }); + var j = await res.json(); + if (j.errors && j.errors.length) { + throw new Error( + j.errors.map(function (e) { + return e.message; + }).join("; ") + ); + } + return j.data; + } + + function routeMatches() { + var p = window.location.pathname || ""; + return p === ROUTE_PREFIX || p.indexOf(ROUTE_PREFIX + "/") === 0; + } + + function parseGroupIdFromHref(href) { + if (!href) return null; + var match = String(href).match(/\/groups\/(\d+)/); + return match ? String(match[1]) : null; + } + + function parseGroupIdFromCard(card) { + if (!card) return null; + var header = card.querySelector("a.group-card-header"); + if (header && header.getAttribute("href")) { + return parseGroupIdFromHref(header.getAttribute("href")); + } + var firstLink = card.querySelector("a[href*='/groups/']"); + if (firstLink && firstLink.getAttribute("href")) { + return parseGroupIdFromHref(firstLink.getAttribute("href")); + } + return null; + } + + function sceneIndexForGroup(scene, groupId) { + var groups = (scene && scene.groups) || []; + var gid = String(groupId); + for (var i = 0; i < groups.length; i++) { + var g = groups[i]; + if (g && g.group && String(g.group.id) === gid) return g.scene_index; + } + return undefined; + } + + function isEligibleSceneIndex(idx) { + if (idx == null) return true; + var n = Number(idx); + return Number.isFinite(n) && n >= 0 && n <= 89; + } + + function getSceneDurationSeconds(scene) { + var files = (scene && scene.files) || []; + var maxDur = 0; + for (var i = 0; i < files.length; i++) { + var dur = Number(files[i] && files[i].duration); + if (Number.isFinite(dur) && dur > maxDur) maxDur = dur; + } + return maxDur; + } + + function getSceneVerticalPixels(scene) { + var files = (scene && scene.files) || []; + var maxHeight = 0; + for (var i = 0; i < files.length; i++) { + var h = Number(files[i] && files[i].height); + if (Number.isFinite(h) && h > maxHeight) maxHeight = h; + } + return maxHeight; + } + + function computeMetrics(groupId, scenes) { + var totalDurationSec = 0; + var verticalSum = 0; + var verticalCount = 0; + var list = scenes || []; + + for (var i = 0; i < list.length; i++) { + var scene = list[i]; + var idx = sceneIndexForGroup(scene, groupId); + if (!isEligibleSceneIndex(idx)) continue; + + var duration = getSceneDurationSeconds(scene); + totalDurationSec += duration; + + if (duration > 600) { + var height = getSceneVerticalPixels(scene); + if (height > 0) { + verticalSum += height; + verticalCount += 1; + } + } + } + + return { + totalDurationSec: Math.round(totalDurationSec), + averageVerticalPixels: + verticalCount > 0 ? Math.round(verticalSum / verticalCount) : null, + verticalSampleCount: verticalCount, + }; + } + + async function fetchMetricsForGroup(groupId) { + var data = await gql(GROUP_METRICS_QUERY, { id: String(groupId) }); + var group = data && data.findGroup; + return computeMetrics(groupId, (group && group.scenes) || []); + } + + async function getMetricsForGroup(groupId) { + if (!groupId) return null; + var gid = String(groupId); + if (state.cacheByGroupId.has(gid)) return state.cacheByGroupId.get(gid); + if (state.inFlightByGroupId.has(gid)) return state.inFlightByGroupId.get(gid); + + var p = fetchMetricsForGroup(gid) + .then(function (metrics) { + state.cacheByGroupId.set(gid, metrics); + state.inFlightByGroupId.delete(gid); + return metrics; + }) + .catch(function (e) { + state.inFlightByGroupId.delete(gid); + throw e; + }); + state.inFlightByGroupId.set(gid, p); + return p; + } + + function formatDuration(totalSeconds) { + var s = Math.max(0, Math.round(Number(totalSeconds) || 0)); + var hrs = Math.floor(s / 3600); + var mins = Math.floor((s % 3600) / 60); + var secs = s % 60; + return hrs + ":" + String(mins).padStart(2, "0") + ":" + String(secs).padStart(2, "0"); + } + + function formatVerticalPixels(avgHeight) { + var n = Number(avgHeight); + if (!Number.isFinite(n) || n <= 0) return "n/a"; + return String(Math.round(n)) + "p"; + } + + function buildStatNode(id, text, title) { + var el = document.createElement("span"); + el.id = id; + el.className = "gd-stat"; + el.textContent = text; + if (title) el.title = title; + return el; + } + + function injectMetricsIntoCard(card, metrics) { + if (!card || !metrics) return; + var popovers = card.querySelector(".card-popovers"); + if (!popovers) return; + + var sceneCount = popovers.querySelector(".scene-count"); + if (!sceneCount) return; + + var oldLeft = popovers.querySelector(".gd-stat-left"); + if (oldLeft && oldLeft.parentNode) oldLeft.parentNode.removeChild(oldLeft); + var oldRight = popovers.querySelector(".gd-stat-right"); + if (oldRight && oldRight.parentNode) oldRight.parentNode.removeChild(oldRight); + + var durationNode = buildStatNode( + "gd-stat-left-" + Date.now(), + formatDuration(metrics.totalDurationSec), + "Total duration for scenes with scene_index null or 0..89" + ); + durationNode.classList.add("gd-stat-left"); + + var resolutionNode = buildStatNode( + "gd-stat-right-" + Date.now(), + formatVerticalPixels(metrics.averageVerticalPixels), + "Average vertical resolution for those scenes with duration > 600s" + ); + resolutionNode.classList.add("gd-stat-right"); + + popovers.insertBefore(durationNode, sceneCount); + if (sceneCount.nextSibling) popovers.insertBefore(resolutionNode, sceneCount.nextSibling); + else popovers.appendChild(resolutionNode); + } + + async function decorateGroupCard(card) { + var groupId = parseGroupIdFromCard(card); + if (!groupId) return; + var metrics = await getMetricsForGroup(groupId); + injectMetricsIntoCard(card, metrics); + } + + function applyDomEnhancements() { + if (state.applyingDomEnhancements) return; + state.applyingDomEnhancements = true; + + var cards = Array.prototype.slice.call( + document.querySelectorAll("div.group-card") + ); + Promise.all( + cards.map(function (card) { + return decorateGroupCard(card).catch(function () { + // Ignore per-card failures so one bad response does not block others. + }); + }) + ).finally(function () { + state.applyingDomEnhancements = false; + }); + } + + function detachObserver() { + if (state.observer) { + state.observer.disconnect(); + state.observer = null; + } + state.attachedRoot = null; + } + + function clearRetryTimer() { + if (state.retryTimer) { + clearInterval(state.retryTimer); + state.retryTimer = null; + } + } + + function attach() { + if (!routeMatches()) { + detachObserver(); + return false; + } + var root = document.getElementById(ROOT_ID); + if (!root) return false; + + if (state.attachedRoot === root && state.observer) { + applyDomEnhancements(); + return true; + } + + detachObserver(); + state.cacheByGroupId.clear(); + state.inFlightByGroupId.clear(); + + var obs = new MutationObserver(function () { + applyDomEnhancements(); + }); + obs.observe(root, { childList: true, subtree: true }); + state.observer = obs; + state.attachedRoot = root; + + applyDomEnhancements(); + return true; + } + + function scheduleAttachRetries() { + clearRetryTimer(); + state.retryTimer = setInterval(function () { + try { + if (!routeMatches()) { + detachObserver(); + return; + } + if (attach()) clearRetryTimer(); + } catch (e) { + // Ignore transient route/render timing errors. + } + }, 500); + setTimeout(clearRetryTimer, 60000); + } + + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", function () { + attach(); + scheduleAttachRetries(); + }); + } else { + attach(); + scheduleAttachRetries(); + } + + window.addEventListener("popstate", function () { + attach(); + scheduleAttachRetries(); + }); + window.addEventListener("hashchange", function () { + attach(); + scheduleAttachRetries(); + }); +})(); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml new file mode 100644 index 00000000..643e896f --- /dev/null +++ b/plugins/GroupDetails/GroupDetails.yml @@ -0,0 +1,9 @@ +name: Group Details +description: Adds group-card metrics for filtered duration and average vertical resolution. +version: 0.1.0 +url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails +ui: + javascript: + - GroupDetails.js + css: + - GroupDetails.css diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md new file mode 100644 index 00000000..448704e3 --- /dev/null +++ b/plugins/GroupDetails/README.md @@ -0,0 +1,33 @@ +# Group Details + +`Group Details` is a UI plugin for Stash group pages. + +It adds two computed metrics to each group card's stats row, flanking the scene-count element: + +- Left: total duration (`H:MM:SS`) +- Right: average vertical resolution (`###p`) + +## Filtering rules + +Both metrics only consider scenes whose `scene_index` for the current group is: + +- `null`, or +- an integer in the inclusive range `0..89` + +This excludes common trailer/bonus/out-of-band indices such as `-1`, `90`, `99`, etc. + +## Resolution rule + +Average resolution is based on vertical pixels (`height`) with an additional duration filter: + +- Include only eligible scenes where `duration > 600` seconds. +- Compute as `round(sum(height) / count)`. +- Display as `NNNp` (for example, `720p`). + +## Duration rule + +Total duration is the sum of eligible scene durations and is displayed as `H:MM:SS`. + +## Data source + +The plugin fetches group scene data through GraphQL (`findGroup`) and computes metrics in-browser. It does not rely on card DOM text parsing. From 2827b066571f30f35329934bb317ddd47e9f9740 Mon Sep 17 00:00:00 2001 From: KennyG Date: Sat, 11 Apr 2026 07:31:44 -0400 Subject: [PATCH 02/41] Update Group Details plugin to version 0.1.2 Enhance metrics display by adding a new setting to include all scenes in calculations, allowing for a more comprehensive view of total duration and average vertical resolution. Adjusted CSS for improved layout and responsiveness of metrics. Updated README to reflect new functionality and usage instructions. Made-with: Cursor --- plugins/GroupDetails/GroupDetails.css | 40 +++++++--- plugins/GroupDetails/GroupDetails.js | 104 ++++++++++++++++++++++---- plugins/GroupDetails/GroupDetails.yml | 9 ++- plugins/GroupDetails/README.md | 8 +- 4 files changed, 133 insertions(+), 28 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index fa1d4473..eb67281f 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -1,20 +1,40 @@ +.group-card .card-popovers { + flex-wrap: wrap; +} + +/* Full-width row: duration at left edge, scene count centered, resolution at right edge */ +.group-card .card-popovers .gd-metrics-row { + display: grid; + grid-template-columns: 1fr auto 1fr; + align-items: center; + width: 100%; + flex: 1 1 100%; + box-sizing: border-box; + column-gap: 0.35rem; + padding: 0.15rem 0.1rem; +} + +.group-card .card-popovers .gd-metrics-row .gd-stat-left { + justify-self: start; +} + +.group-card .card-popovers .gd-metrics-row .scene-count { + justify-self: center; +} + +.group-card .card-popovers .gd-metrics-row .gd-stat-right { + justify-self: end; +} + .group-card .card-popovers .gd-stat { display: inline-flex; align-items: center; justify-content: center; - min-width: 4.5rem; - padding: 0.2rem 0.45rem; + min-width: 0; + padding: 0.2rem 0.15rem; font-size: 0.9rem; line-height: 1.1; color: var(--text, #d5dbe3); opacity: 0.95; white-space: nowrap; } - -.group-card .card-popovers .gd-stat-left { - margin-right: 0.25rem; -} - -.group-card .card-popovers .gd-stat-right { - margin-left: 0.25rem; -} diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 66ee9aee..0dc8d666 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -3,6 +3,7 @@ (function () { var ROOT_ID = "root"; var ROUTE_PREFIX = "/groups"; + var PLUGIN_ID = "GroupDetails"; var GROUP_METRICS_QUERY = "query GroupDetailsMetrics($id: ID!) {" + " findGroup(id: $id) {" + @@ -22,6 +23,7 @@ applyingDomEnhancements: false, cacheByGroupId: new Map(), inFlightByGroupId: new Map(), + includeAllScenes: false, }; async function gql(query, variables) { @@ -81,6 +83,44 @@ return Number.isFinite(n) && n >= 0 && n <= 89; } + function readBoolSetting(raw, fallback) { + if (raw === true || raw === "true") return true; + if (raw === false || raw === "false") return false; + return fallback; + } + + async function loadPluginSettings() { + try { + var data = await gql("query GdCfg { configuration { plugins } }"); + var plug = data.configuration && data.configuration.plugins; + var cfg = null; + if (plug && typeof plug === "object") { + cfg = plug[PLUGIN_ID] || null; + if (!cfg) { + var k = Object.keys(plug).find(function (key) { + return String(key).toLowerCase() === String(PLUGIN_ID).toLowerCase(); + }); + if (k) cfg = plug[k]; + } + } + var next = false; + if (cfg && typeof cfg === "object") { + next = readBoolSetting(cfg.includeAllScenes, false); + } + if (next !== state.includeAllScenes) { + state.includeAllScenes = next; + state.cacheByGroupId.clear(); + state.inFlightByGroupId.clear(); + } + } catch (e) { + state.includeAllScenes = false; + } + } + + function metricsCacheKey(groupId) { + return String(groupId) + ":" + (state.includeAllScenes ? "1" : "0"); + } + function getSceneDurationSeconds(scene) { var files = (scene && scene.files) || []; var maxDur = 0; @@ -101,7 +141,7 @@ return maxHeight; } - function computeMetrics(groupId, scenes) { + function computeMetrics(groupId, scenes, includeAllScenes) { var totalDurationSec = 0; var verticalSum = 0; var verticalCount = 0; @@ -110,7 +150,7 @@ for (var i = 0; i < list.length; i++) { var scene = list[i]; var idx = sceneIndexForGroup(scene, groupId); - if (!isEligibleSceneIndex(idx)) continue; + if (!includeAllScenes && !isEligibleSceneIndex(idx)) continue; var duration = getSceneDurationSeconds(scene); totalDurationSec += duration; @@ -135,26 +175,31 @@ async function fetchMetricsForGroup(groupId) { var data = await gql(GROUP_METRICS_QUERY, { id: String(groupId) }); var group = data && data.findGroup; - return computeMetrics(groupId, (group && group.scenes) || []); + return computeMetrics( + groupId, + (group && group.scenes) || [], + state.includeAllScenes + ); } async function getMetricsForGroup(groupId) { if (!groupId) return null; var gid = String(groupId); - if (state.cacheByGroupId.has(gid)) return state.cacheByGroupId.get(gid); - if (state.inFlightByGroupId.has(gid)) return state.inFlightByGroupId.get(gid); + var key = metricsCacheKey(gid); + if (state.cacheByGroupId.has(key)) return state.cacheByGroupId.get(key); + if (state.inFlightByGroupId.has(key)) return state.inFlightByGroupId.get(key); var p = fetchMetricsForGroup(gid) .then(function (metrics) { - state.cacheByGroupId.set(gid, metrics); - state.inFlightByGroupId.delete(gid); + state.cacheByGroupId.set(key, metrics); + state.inFlightByGroupId.delete(key); return metrics; }) .catch(function (e) { - state.inFlightByGroupId.delete(gid); + state.inFlightByGroupId.delete(key); throw e; }); - state.inFlightByGroupId.set(gid, p); + state.inFlightByGroupId.set(key, p); return p; } @@ -189,28 +234,45 @@ var sceneCount = popovers.querySelector(".scene-count"); if (!sceneCount) return; + var oldRow = popovers.querySelector(".gd-metrics-row"); + if (oldRow) { + var sc = oldRow.querySelector(".scene-count"); + if (sc) popovers.insertBefore(sc, oldRow); + oldRow.parentNode.removeChild(oldRow); + } var oldLeft = popovers.querySelector(".gd-stat-left"); if (oldLeft && oldLeft.parentNode) oldLeft.parentNode.removeChild(oldLeft); var oldRight = popovers.querySelector(".gd-stat-right"); if (oldRight && oldRight.parentNode) oldRight.parentNode.removeChild(oldRight); + var durationTitle = state.includeAllScenes + ? "Total duration for all scenes in this group" + : "Total duration for scenes with scene_index null or 0..89"; var durationNode = buildStatNode( "gd-stat-left-" + Date.now(), formatDuration(metrics.totalDurationSec), - "Total duration for scenes with scene_index null or 0..89" + durationTitle ); durationNode.classList.add("gd-stat-left"); + var resTitle = state.includeAllScenes + ? "Average vertical resolution (scenes with duration > 600s), all scenes in group" + : "Average vertical resolution for eligible scenes with duration > 600s"; var resolutionNode = buildStatNode( "gd-stat-right-" + Date.now(), formatVerticalPixels(metrics.averageVerticalPixels), - "Average vertical resolution for those scenes with duration > 600s" + resTitle ); resolutionNode.classList.add("gd-stat-right"); - popovers.insertBefore(durationNode, sceneCount); - if (sceneCount.nextSibling) popovers.insertBefore(resolutionNode, sceneCount.nextSibling); - else popovers.appendChild(resolutionNode); + var row = document.createElement("div"); + row.className = "gd-metrics-row"; + row.setAttribute("role", "presentation"); + + popovers.insertBefore(row, sceneCount); + row.appendChild(durationNode); + row.appendChild(sceneCount); + row.appendChild(resolutionNode); } async function decorateGroupCard(card) { @@ -262,7 +324,12 @@ if (!root) return false; if (state.attachedRoot === root && state.observer) { - applyDomEnhancements(); + loadPluginSettings() + .then(function () {}) + .catch(function () {}) + .finally(function () { + applyDomEnhancements(); + }); return true; } @@ -277,7 +344,12 @@ state.observer = obs; state.attachedRoot = root; - applyDomEnhancements(); + loadPluginSettings() + .then(function () {}) + .catch(function () {}) + .finally(function () { + applyDomEnhancements(); + }); return true; } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 643e896f..8c287035 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,9 +1,16 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.0 +version: 0.1.2 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: - GroupDetails.js css: - GroupDetails.css +settings: + includeAllScenes: + displayName: Include all scenes + description: >- + When enabled, duration and average resolution include every scene linked to the group. + When disabled (default), scenes are limited to those with scene_index null or 0..89 for this group. + type: BOOLEAN diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 448704e3..8c6f5e04 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -9,13 +9,19 @@ It adds two computed metrics to each group card's stats row, flanking the scene- ## Filtering rules -Both metrics only consider scenes whose `scene_index` for the current group is: +By default, both metrics only consider scenes whose `scene_index` for the current group is: - `null`, or - an integer in the inclusive range `0..89` This excludes common trailer/bonus/out-of-band indices such as `-1`, `90`, `99`, etc. +### Plugin setting: Include all scenes + +In **Settings → Plugins → Group Details**, enable **Include all scenes** to skip the `scene_index` filter and use every scene returned for the group. The **`duration > 600` seconds** rule for the average resolution metric still applies in both modes. + +After changing this setting, reload the group page (or navigate away and back) so metrics refresh. + ## Resolution rule Average resolution is based on vertical pixels (`height`) with an additional duration filter: From af52adb8e065c7504d9044adb17f2ac5214429d4 Mon Sep 17 00:00:00 2001 From: KennyG Date: Sat, 11 Apr 2026 08:00:21 -0400 Subject: [PATCH 03/41] Adjustment to plugin justification layout --- plugins/GroupDetails/GroupDetails.css | 3 +- plugins/GroupDetails/GroupDetails.js | 54 +++++++++++++++++++-------- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 9 +++++ 4 files changed, 50 insertions(+), 18 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index eb67281f..e999b6f8 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -11,7 +11,8 @@ flex: 1 1 100%; box-sizing: border-box; column-gap: 0.35rem; - padding: 0.15rem 0.1rem; + /* Inset from card edge so stats are not flush against chrome */ + padding: 0.15rem 2px; } .group-card .card-popovers .gd-metrics-row .gd-stat-left { diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 0dc8d666..4118b911 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -10,6 +10,7 @@ " id " + " scenes { " + " id " + + " title " + " files { duration height } " + " groups { group { id } scene_index } " + " } " + @@ -141,11 +142,29 @@ return maxHeight; } + function formatDuration(totalSeconds) { + var s = Math.max(0, Math.round(Number(totalSeconds) || 0)); + var hrs = Math.floor(s / 3600); + var mins = Math.floor((s % 3600) / 60); + var secs = s % 60; + return hrs + ":" + String(mins).padStart(2, "0") + ":" + String(secs).padStart(2, "0"); + } + + function formatSceneTooltipLine(sceneIndex, title, durationSec) { + var idxLabel = + sceneIndex == null || sceneIndex === "" ? "null" : String(sceneIndex); + var t = String(title || "").replace(/\s+/g, " ").trim(); + if (!t) t = "(no title)"; + return "[" + idxLabel + "] " + t + " " + formatDuration(durationSec); + } + function computeMetrics(groupId, scenes, includeAllScenes) { var totalDurationSec = 0; var verticalSum = 0; var verticalCount = 0; var list = scenes || []; + var durationLines = []; + var resolutionLines = []; for (var i = 0; i < list.length; i++) { var scene = list[i]; @@ -154,21 +173,38 @@ var duration = getSceneDurationSeconds(scene); totalDurationSec += duration; + durationLines.push( + formatSceneTooltipLine(idx, scene && scene.title, duration) + ); if (duration > 600) { var height = getSceneVerticalPixels(scene); if (height > 0) { verticalSum += height; verticalCount += 1; + resolutionLines.push( + formatSceneTooltipLine(idx, scene && scene.title, duration) + ); } } } + var durationTooltip = + durationLines.length > 0 + ? durationLines.join("\n") + : "No scenes in scope."; + var resolutionTooltip = + resolutionLines.length > 0 + ? resolutionLines.join("\n") + : "No scenes over 600s with height data."; + return { totalDurationSec: Math.round(totalDurationSec), averageVerticalPixels: verticalCount > 0 ? Math.round(verticalSum / verticalCount) : null, verticalSampleCount: verticalCount, + durationTooltip: durationTooltip, + resolutionTooltip: resolutionTooltip, }; } @@ -203,14 +239,6 @@ return p; } - function formatDuration(totalSeconds) { - var s = Math.max(0, Math.round(Number(totalSeconds) || 0)); - var hrs = Math.floor(s / 3600); - var mins = Math.floor((s % 3600) / 60); - var secs = s % 60; - return hrs + ":" + String(mins).padStart(2, "0") + ":" + String(secs).padStart(2, "0"); - } - function formatVerticalPixels(avgHeight) { var n = Number(avgHeight); if (!Number.isFinite(n) || n <= 0) return "n/a"; @@ -245,23 +273,17 @@ var oldRight = popovers.querySelector(".gd-stat-right"); if (oldRight && oldRight.parentNode) oldRight.parentNode.removeChild(oldRight); - var durationTitle = state.includeAllScenes - ? "Total duration for all scenes in this group" - : "Total duration for scenes with scene_index null or 0..89"; var durationNode = buildStatNode( "gd-stat-left-" + Date.now(), formatDuration(metrics.totalDurationSec), - durationTitle + metrics.durationTooltip || "" ); durationNode.classList.add("gd-stat-left"); - var resTitle = state.includeAllScenes - ? "Average vertical resolution (scenes with duration > 600s), all scenes in group" - : "Average vertical resolution for eligible scenes with duration > 600s"; var resolutionNode = buildStatNode( "gd-stat-right-" + Date.now(), formatVerticalPixels(metrics.averageVerticalPixels), - resTitle + metrics.resolutionTooltip || "" ); resolutionNode.classList.add("gd-stat-right"); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 8c287035..4fced985 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.2 +version: 0.1.4 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 8c6f5e04..b503af70 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -37,3 +37,12 @@ Total duration is the sum of eligible scene durations and is displayed as `H:MM: ## Data source The plugin fetches group scene data through GraphQL (`findGroup`) and computes metrics in-browser. It does not rely on card DOM text parsing. + +## Tooltips + +Hovering the duration or resolution values shows a multi-line list of contributing scenes, one per line: + +`[scene_index] Title H:MM:SS` + +Null `scene_index` is shown as `[null]`. Missing titles appear as `(no title)`. +The duration chip lists every scene in the duration scope; the resolution chip lists only scenes counted toward the `> 600s` average (with non-zero height). From 9bea7387ab62dcca3be773be851a4ee3b3dce45b Mon Sep 17 00:00:00 2001 From: KennyG Date: Sat, 11 Apr 2026 09:53:07 -0400 Subject: [PATCH 04/41] Refactor Group Details plugin layout and enhance tooltip functionality Updated the CSS for the Group Details plugin to implement a stacked layout for metrics, improving visual clarity. Adjusted JavaScript to add tooltip support for scene metrics, ensuring better user experience. Incremented version to 0.1.6 and updated README to reflect layout changes and tooltip functionality. --- plugins/GroupDetails/GroupDetails.css | 29 +++++++++++------ plugins/GroupDetails/GroupDetails.js | 46 ++++++++++++++++++++++++--- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 10 ++++-- 4 files changed, 69 insertions(+), 18 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index e999b6f8..e2820699 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -2,29 +2,38 @@ flex-wrap: wrap; } -/* Full-width row: duration at left edge, scene count centered, resolution at right edge */ +/* Stacked layout: line1 = duration + scene count; line2 = resolution (so extra chips stay on their own row). */ .group-card .card-popovers .gd-metrics-row { - display: grid; - grid-template-columns: 1fr auto 1fr; - align-items: center; + display: flex; + flex-direction: column; + align-items: stretch; width: 100%; flex: 1 1 100%; box-sizing: border-box; - column-gap: 0.35rem; - /* Inset from card edge so stats are not flush against chrome */ + gap: 0.12rem; padding: 0.15rem 2px; } -.group-card .card-popovers .gd-metrics-row .gd-stat-left { +.group-card .card-popovers .gd-metrics-line1 { + display: grid; + grid-template-columns: 1fr auto 1fr; + align-items: center; + width: 100%; +} + +.group-card .card-popovers .gd-metrics-line1 .gd-stat-left { justify-self: start; } -.group-card .card-popovers .gd-metrics-row .scene-count { +.group-card .card-popovers .gd-metrics-line1 .scene-count { justify-self: center; } -.group-card .card-popovers .gd-metrics-row .gd-stat-right { - justify-self: end; +.group-card .card-popovers .gd-metrics-line2 { + display: flex; + justify-content: flex-end; + align-items: center; + width: 100%; } .group-card .card-popovers .gd-stat { diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 4118b911..e1fd3a89 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -25,6 +25,7 @@ cacheByGroupId: new Map(), inFlightByGroupId: new Map(), includeAllScenes: false, + tooltipDelegateBound: false, }; async function gql(query, variables) { @@ -245,12 +246,41 @@ return String(Math.round(n)) + "p"; } + function applySceneListTooltip(el, tip) { + var s = tip == null ? "" : String(tip); + if (s.length > 0) { + el.setAttribute("data-gd-full-title", s); + el.setAttribute("title", s); + } else { + el.removeAttribute("data-gd-full-title"); + el.removeAttribute("title"); + } + } + + function ensureTooltipRefreshDelegate() { + if (state.tooltipDelegateBound) return; + state.tooltipDelegateBound = true; + document.addEventListener( + "pointerenter", + function (ev) { + var raw = ev.target; + var el = raw && raw.nodeType === 1 ? raw : raw && raw.parentElement; + if (!el || !el.closest) return; + var host = el.closest("[data-gd-full-title]"); + if (!host) return; + var full = host.getAttribute("data-gd-full-title"); + if (full != null) host.setAttribute("title", full); + }, + true + ); + } + function buildStatNode(id, text, title) { var el = document.createElement("span"); el.id = id; el.className = "gd-stat"; el.textContent = text; - if (title) el.title = title; + applySceneListTooltip(el, title); return el; } @@ -291,10 +321,17 @@ row.className = "gd-metrics-row"; row.setAttribute("role", "presentation"); + var line1 = document.createElement("div"); + line1.className = "gd-metrics-line1"; + var line2 = document.createElement("div"); + line2.className = "gd-metrics-line2"; + popovers.insertBefore(row, sceneCount); - row.appendChild(durationNode); - row.appendChild(sceneCount); - row.appendChild(resolutionNode); + line1.appendChild(durationNode); + line1.appendChild(sceneCount); + line2.appendChild(resolutionNode); + row.appendChild(line1); + row.appendChild(line2); } async function decorateGroupCard(card) { @@ -342,6 +379,7 @@ detachObserver(); return false; } + ensureTooltipRefreshDelegate(); var root = document.getElementById(ROOT_ID); if (!root) return false; diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 4fced985..6ef78065 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.4 +version: 0.1.6 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index b503af70..a2f00747 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -2,10 +2,10 @@ `Group Details` is a UI plugin for Stash group pages. -It adds two computed metrics to each group card's stats row, flanking the scene-count element: +It adds two computed metrics to each group card's stats area: -- Left: total duration (`H:MM:SS`) -- Right: average vertical resolution (`###p`) +- **Top line:** total duration (`H:MM:SS`) on the left, native scene-count chip centered. +- **Second line:** average vertical resolution (`###p`) right-aligned, below the first line so tag/group chips on further lines are not squeezed horizontally. ## Filtering rules @@ -46,3 +46,7 @@ Hovering the duration or resolution values shows a multi-line list of contributi Null `scene_index` is shown as `[null]`. Missing titles appear as `(no title)`. The duration chip lists every scene in the duration scope; the resolution chip lists only scenes counted toward the `> 600s` average (with non-zero height). + +## Updates not showing? + +Stash loads UI plugins from a fixed URL (`/plugin/GroupDetails/javascript`). After you change plugin files, do a **full page reload** (F5 or Ctrl+Shift+R) so the browser fetches the new script (the server ETag changes when file content changes). In-app navigation alone can keep an older script in memory, so you may still see old tooltip text until you reload. From fd98c2a5dede3858f7392498efe506212f8cc744 Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 08:00:01 -0400 Subject: [PATCH 05/41] GroupDetails: resolution buckets, layout, and tooltips. Stack duration and scene count above a resolution row; show resolution as FA-based bucket icons via PluginApi with free-tier fallbacks; extend tooltips with average height header and scene lists; bump to 0.1.7. Made-with: Cursor --- plugins/GroupDetails/GroupDetails.css | 25 ++++ plugins/GroupDetails/GroupDetails.js | 159 ++++++++++++++++++++++++-- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 4 +- 4 files changed, 177 insertions(+), 13 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index e2820699..74819238 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -36,6 +36,31 @@ width: 100%; } +.group-card .card-popovers .gd-res-bucket { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 1.15em; + line-height: 1; +} + +.group-card .card-popovers .gd-resolution-fa { + width: 1em; + height: 1em; + vertical-align: -0.125em; +} + +.group-card .card-popovers .gd-metrics-line2 .gd-resolution-fa.fa-icon { + margin: 0; +} + +.group-card .card-popovers .gd-res-bucket-fallback { + font-size: 0.68rem; + font-weight: 600; + letter-spacing: 0.04em; + opacity: 0.95; +} + .group-card .card-popovers .gd-stat { display: inline-flex; align-items: center; diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index e1fd3a89..492fd4be 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -194,21 +194,164 @@ durationLines.length > 0 ? durationLines.join("\n") : "No scenes in scope."; - var resolutionTooltip = + var avgPx = + verticalCount > 0 ? Math.round(verticalSum / verticalCount) : null; + var resHead = + avgPx != null + ? "Average height: " + + avgPx + + "px (" + + resolutionBucketSummary(avgPx) + + ")\n" + : ""; + var resolutionBody = resolutionLines.length > 0 ? resolutionLines.join("\n") : "No scenes over 600s with height data."; + var resolutionTooltip = resHead + resolutionBody; return { totalDurationSec: Math.round(totalDurationSec), - averageVerticalPixels: - verticalCount > 0 ? Math.round(verticalSum / verticalCount) : null, + averageVerticalPixels: avgPx, verticalSampleCount: verticalCount, durationTooltip: durationTooltip, resolutionTooltip: resolutionTooltip, }; } + function resolutionBucketTier(avgHeightPx) { + var h = Math.round(Number(avgHeightPx) || 0); + if (h <= 0) return -1; + if (h < 480) return 0; + if (h < 720) return 1; + if (h < 1081) return 2; + return 3; + } + + function resolutionBucketSummary(avgHeightPx) { + var t = resolutionBucketTier(avgHeightPx); + if (t === 0) return "<480p"; + if (t === 1) return "<720p"; + if (t === 2) return "<1081p"; + return ">1080p"; + } + + function getPluginFaLib(useRegular) { + var P = + typeof window !== "undefined" && + window.PluginApi && + window.PluginApi.libraries; + if (!P) return null; + return useRegular ? P.FontAwesomeRegular : P.FontAwesomeSolid; + } + + function createSvgFromFaIconDef(def) { + if (!def || typeof def !== "object" || !def.icon) return null; + try { + var pack = def.icon; + var w = pack[0]; + var h = pack[1]; + var pathParts = pack[4]; + var svg = document.createElementNS( + "http://www.w3.org/2000/svg", + "svg" + ); + svg.setAttribute("viewBox", "0 0 " + w + " " + h); + svg.setAttribute("class", "fa-icon gd-resolution-fa"); + svg.setAttribute("focusable", "false"); + svg.setAttribute("aria-hidden", "true"); + if (Array.isArray(pathParts)) { + for (var i = 0; i < pathParts.length; i++) { + var d = pathParts[i]; + if (typeof d !== "string") continue; + var p = document.createElementNS( + "http://www.w3.org/2000/svg", + "path" + ); + p.setAttribute("fill", "currentColor"); + p.setAttribute("d", d); + svg.appendChild(p); + } + } else if (typeof pathParts === "string") { + var p2 = document.createElementNS( + "http://www.w3.org/2000/svg", + "path" + ); + p2.setAttribute("fill", "currentColor"); + p2.setAttribute("d", pathParts); + svg.appendChild(p2); + } else { + return null; + } + if (!svg.querySelector("path")) return null; + return svg; + } catch (e) { + return null; + } + } + + var RESOLUTION_BUCKET_ICON_TRIES = [ + [ + { reg: false, name: "faDisplay" }, + { reg: false, name: "faTv" }, + { reg: false, name: "faMobileScreenButton" }, + ], + [ + { reg: true, name: "faStandardDefinition" }, + { reg: false, name: "faFilm" }, + { reg: false, name: "faVideo" }, + ], + [ + { reg: true, name: "faHighDefinition" }, + { reg: false, name: "faClapperboard" }, + { reg: false, name: "faExpand" }, + ], + [ + { reg: true, name: "faRectangle4k" }, + { reg: false, name: "faMaximize" }, + { reg: false, name: "faExpand" }, + ], + ]; + + var RESOLUTION_BUCKET_FALLBACK_TEXT = ["<480", "SD", "HD", "4K"]; + + function pickFaDefForTier(tier) { + var tries = RESOLUTION_BUCKET_ICON_TRIES[tier]; + if (!tries) return null; + for (var i = 0; i < tries.length; i++) { + var spec = tries[i]; + var lib = getPluginFaLib(!!spec.reg); + if (!lib) continue; + var def = lib[spec.name]; + if (def) return def; + } + return null; + } + + function buildResolutionBucket(id, avgPixels, resolutionTooltip) { + var wrap = document.createElement("span"); + wrap.id = id; + wrap.className = "gd-stat gd-res-bucket"; + var h = avgPixels == null ? NaN : Math.round(Number(avgPixels)); + if (!Number.isFinite(h) || h <= 0) { + wrap.textContent = "\u2014"; + applySceneListTooltip(wrap, resolutionTooltip || ""); + return wrap; + } + var tier = resolutionBucketTier(h); + var def = pickFaDefForTier(tier); + var svg = def ? createSvgFromFaIconDef(def) : null; + if (svg) wrap.appendChild(svg); + else { + var fb = document.createElement("span"); + fb.className = "gd-res-bucket-fallback"; + fb.textContent = RESOLUTION_BUCKET_FALLBACK_TEXT[tier] || "?"; + wrap.appendChild(fb); + } + applySceneListTooltip(wrap, resolutionTooltip || ""); + return wrap; + } + async function fetchMetricsForGroup(groupId) { var data = await gql(GROUP_METRICS_QUERY, { id: String(groupId) }); var group = data && data.findGroup; @@ -240,12 +383,6 @@ return p; } - function formatVerticalPixels(avgHeight) { - var n = Number(avgHeight); - if (!Number.isFinite(n) || n <= 0) return "n/a"; - return String(Math.round(n)) + "p"; - } - function applySceneListTooltip(el, tip) { var s = tip == null ? "" : String(tip); if (s.length > 0) { @@ -310,9 +447,9 @@ ); durationNode.classList.add("gd-stat-left"); - var resolutionNode = buildStatNode( + var resolutionNode = buildResolutionBucket( "gd-stat-right-" + Date.now(), - formatVerticalPixels(metrics.averageVerticalPixels), + metrics.averageVerticalPixels, metrics.resolutionTooltip || "" ); resolutionNode.classList.add("gd-stat-right"); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 6ef78065..046ab438 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.6 +version: 0.1.7 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index a2f00747..e16e1031 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -5,7 +5,9 @@ It adds two computed metrics to each group card's stats area: - **Top line:** total duration (`H:MM:SS`) on the left, native scene-count chip centered. -- **Second line:** average vertical resolution (`###p`) right-aligned, below the first line so tag/group chips on further lines are not squeezed horizontally. +- **Second line:** resolution **bucket icon** (from Stash’s Font Awesome packs via `PluginApi`) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover for average height, bucket label, and per-scene lines. + +Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`<1081`**, **`≥1081`**. The plugin tries Pro-style icon names (`faStandardDefinition`, `faHighDefinition`, `faRectangle4k`) first; Stash only bundles **Free** icons, so **solid/regular fallbacks** (display/TV, film, clapperboard/expand, maximize) are used when those exports are missing. ## Filtering rules From f775500dc85f37acd8555d8257f7c070b2f60aad Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 09:52:54 -0400 Subject: [PATCH 06/41] Update Group Details plugin to version 0.1.8 Enhance tooltip functionality by ensuring the resolution icon wrapper captures hover events for better user experience. Adjust JavaScript to default icon dimensions to 512 if not specified, and update README to clarify tooltip behavior. Increment version to 0.1.8. --- plugins/GroupDetails/GroupDetails.css | 6 ++++++ plugins/GroupDetails/GroupDetails.js | 10 ++++++---- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 2 ++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index 74819238..265d1396 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -42,6 +42,12 @@ justify-content: center; min-height: 1.15em; line-height: 1; + /* Let hover hit the wrapper so the native `title` tooltip on .gd-res-bucket shows (SVG children do not inherit it). */ + cursor: help; +} + +.group-card .card-popovers .gd-res-bucket > * { + pointer-events: none; } .group-card .card-popovers .gd-resolution-fa { diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 492fd4be..b9cf1718 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -249,8 +249,8 @@ if (!def || typeof def !== "object" || !def.icon) return null; try { var pack = def.icon; - var w = pack[0]; - var h = pack[1]; + var w = Number(pack[0]) || 512; + var h = Number(pack[1]) || 512; var pathParts = pack[4]; var svg = document.createElementNS( "http://www.w3.org/2000/svg", @@ -332,10 +332,12 @@ var wrap = document.createElement("span"); wrap.id = id; wrap.className = "gd-stat gd-res-bucket"; + wrap.setAttribute("role", "img"); + var tip = resolutionTooltip || ""; var h = avgPixels == null ? NaN : Math.round(Number(avgPixels)); if (!Number.isFinite(h) || h <= 0) { wrap.textContent = "\u2014"; - applySceneListTooltip(wrap, resolutionTooltip || ""); + applySceneListTooltip(wrap, tip); return wrap; } var tier = resolutionBucketTier(h); @@ -348,7 +350,7 @@ fb.textContent = RESOLUTION_BUCKET_FALLBACK_TEXT[tier] || "?"; wrap.appendChild(fb); } - applySceneListTooltip(wrap, resolutionTooltip || ""); + applySceneListTooltip(wrap, tip); return wrap; } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 046ab438..5b5e1ae9 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.7 +version: 0.1.8 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index e16e1031..c96b4535 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -49,6 +49,8 @@ Hovering the duration or resolution values shows a multi-line list of contributi Null `scene_index` is shown as `[null]`. Missing titles appear as `(no title)`. The duration chip lists every scene in the duration scope; the resolution chip lists only scenes counted toward the `> 600s` average (with non-zero height). +The resolution **icon** sits inside a wrapper; inner SVG uses `pointer-events: none` so hover targets the wrapper and the native `title` tooltip (scene list + average height header) appears reliably in Chrome. + ## Updates not showing? Stash loads UI plugins from a fixed URL (`/plugin/GroupDetails/javascript`). After you change plugin files, do a **full page reload** (F5 or Ctrl+Shift+R) so the browser fetches the new script (the server ETag changes when file content changes). In-app navigation alone can keep an older script in memory, so you may still see old tooltip text until you reload. From f9d1ec2ab217fc5853600ee20b189ebe552d571e Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 09:56:49 -0400 Subject: [PATCH 07/41] Update Group Details plugin to version 0.1.9 Enhance tooltip functionality by adding detailed resolution sample lines for scenes contributing to the average vertical height. Update the README to clarify the tooltip behavior for both duration and resolution metrics. Increment version to 0.1.9. --- plugins/GroupDetails/GroupDetails.js | 74 ++++++++++++++++++++------- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 7 +-- 3 files changed, 61 insertions(+), 22 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index b9cf1718..cc5bab45 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -159,13 +159,36 @@ return "[" + idxLabel + "] " + t + " " + formatDuration(durationSec); } + function formatResolutionSampleLine( + sceneIndex, + title, + durationSec, + heightPx + ) { + var idxLabel = + sceneIndex == null || sceneIndex === "" ? "null" : String(sceneIndex); + var t = String(title || "").replace(/\s+/g, " ").trim(); + if (!t) t = "(no title)"; + var hp = Math.round(Number(heightPx) || 0); + return ( + "[" + + idxLabel + + "] " + + t + + " max file height " + + hp + + "px duration " + + formatDuration(durationSec) + ); + } + function computeMetrics(groupId, scenes, includeAllScenes) { var totalDurationSec = 0; var verticalSum = 0; var verticalCount = 0; var list = scenes || []; var durationLines = []; - var resolutionLines = []; + var resolutionSampleLines = []; for (var i = 0; i < list.length; i++) { var scene = list[i]; @@ -183,32 +206,47 @@ if (height > 0) { verticalSum += height; verticalCount += 1; - resolutionLines.push( - formatSceneTooltipLine(idx, scene && scene.title, duration) + resolutionSampleLines.push( + formatResolutionSampleLine( + idx, + scene && scene.title, + duration, + height + ) ); } } } + var durationHeader = + "Scenes included in total duration (same scene_index rules as the chip):\n"; var durationTooltip = durationLines.length > 0 - ? durationLines.join("\n") - : "No scenes in scope."; + ? durationHeader + durationLines.join("\n") + : "No eligible scenes for total duration."; var avgPx = verticalCount > 0 ? Math.round(verticalSum / verticalCount) : null; - var resHead = - avgPx != null - ? "Average height: " + - avgPx + - "px (" + - resolutionBucketSummary(avgPx) + - ")\n" - : ""; - var resolutionBody = - resolutionLines.length > 0 - ? resolutionLines.join("\n") - : "No scenes over 600s with height data."; - var resolutionTooltip = resHead + resolutionBody; + var resolutionTooltip; + if (avgPx == null || verticalCount < 1) { + resolutionTooltip = + "Resolution average is not shown: no scenes qualify (need duration > 600s, non-zero file height, and the same scene_index rules as total duration)."; + } else { + var sumHeights = verticalSum; + resolutionTooltip = + "Resolution average: " + + avgPx + + "px (" + + resolutionBucketSummary(avgPx) + + " bucket)\n" + + "Calculation: round((" + + Math.round(sumHeights) + + " sum of max file heights) / " + + verticalCount + + " scenes).\n" + + "Only scenes with duration > 600s and height > 0 are averaged (scene_index rules apply).\n" + + "Scenes in the average:\n" + + resolutionSampleLines.join("\n"); + } return { totalDurationSec: Math.round(totalDurationSec), diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 5b5e1ae9..27a0255b 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.8 +version: 0.1.9 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index c96b4535..86a2de92 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -42,14 +42,15 @@ The plugin fetches group scene data through GraphQL (`findGroup`) and computes m ## Tooltips -Hovering the duration or resolution values shows a multi-line list of contributing scenes, one per line: +**Duration chip:** every eligible scene included in the **total duration** sum, one line per scene: `[scene_index] Title H:MM:SS` +**Resolution icon:** how the **average vertical height** was computed (sum of each qualifying scene’s tallest file height, divided by count), plus one line per scene that **entered the average** (with `max file height` and duration on that line). + Null `scene_index` is shown as `[null]`. Missing titles appear as `(no title)`. -The duration chip lists every scene in the duration scope; the resolution chip lists only scenes counted toward the `> 600s` average (with non-zero height). -The resolution **icon** sits inside a wrapper; inner SVG uses `pointer-events: none` so hover targets the wrapper and the native `title` tooltip (scene list + average height header) appears reliably in Chrome. +The resolution **icon** sits inside a wrapper; inner SVG uses `pointer-events: none` so hover targets the wrapper and the native `title` tooltip appears reliably in Chrome. ## Updates not showing? From 217e61b764b91f65e70a569337e8bd434750f8f1 Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 10:02:17 -0400 Subject: [PATCH 08/41] Update Group Details plugin to version 0.2.0 Refactor resolution bucket handling by replacing Font Awesome icons with inline SVGs for better visual distinction. Adjust resolution bucket labels to include correct comparisons. Update README to reflect changes in icon usage and resolution bucket definitions. Increment version to 0.1.20. --- plugins/GroupDetails/GroupDetails.js | 147 +++++++++----------------- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 4 +- 3 files changed, 54 insertions(+), 99 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index cc5bab45..35ca62f9 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -262,7 +262,7 @@ if (h <= 0) return -1; if (h < 480) return 0; if (h < 720) return 1; - if (h < 1081) return 2; + if (h <= 1081) return 2; return 3; } @@ -270,100 +270,55 @@ var t = resolutionBucketTier(avgHeightPx); if (t === 0) return "<480p"; if (t === 1) return "<720p"; - if (t === 2) return "<1081p"; - return ">1080p"; - } - - function getPluginFaLib(useRegular) { - var P = - typeof window !== "undefined" && - window.PluginApi && - window.PluginApi.libraries; - if (!P) return null; - return useRegular ? P.FontAwesomeRegular : P.FontAwesomeSolid; - } - - function createSvgFromFaIconDef(def) { - if (!def || typeof def !== "object" || !def.icon) return null; - try { - var pack = def.icon; - var w = Number(pack[0]) || 512; - var h = Number(pack[1]) || 512; - var pathParts = pack[4]; - var svg = document.createElementNS( - "http://www.w3.org/2000/svg", - "svg" - ); - svg.setAttribute("viewBox", "0 0 " + w + " " + h); - svg.setAttribute("class", "fa-icon gd-resolution-fa"); - svg.setAttribute("focusable", "false"); - svg.setAttribute("aria-hidden", "true"); - if (Array.isArray(pathParts)) { - for (var i = 0; i < pathParts.length; i++) { - var d = pathParts[i]; - if (typeof d !== "string") continue; - var p = document.createElementNS( - "http://www.w3.org/2000/svg", - "path" - ); - p.setAttribute("fill", "currentColor"); - p.setAttribute("d", d); - svg.appendChild(p); - } - } else if (typeof pathParts === "string") { - var p2 = document.createElementNS( - "http://www.w3.org/2000/svg", - "path" - ); - p2.setAttribute("fill", "currentColor"); - p2.setAttribute("d", pathParts); - svg.appendChild(p2); - } else { - return null; - } - if (!svg.querySelector("path")) return null; - return svg; - } catch (e) { - return null; - } - } - - var RESOLUTION_BUCKET_ICON_TRIES = [ - [ - { reg: false, name: "faDisplay" }, - { reg: false, name: "faTv" }, - { reg: false, name: "faMobileScreenButton" }, - ], - [ - { reg: true, name: "faStandardDefinition" }, - { reg: false, name: "faFilm" }, - { reg: false, name: "faVideo" }, - ], - [ - { reg: true, name: "faHighDefinition" }, - { reg: false, name: "faClapperboard" }, - { reg: false, name: "faExpand" }, - ], - [ - { reg: true, name: "faRectangle4k" }, - { reg: false, name: "faMaximize" }, - { reg: false, name: "faExpand" }, - ], + if (t === 2) return "\u22641081p"; + return ">1081p"; + } + + // Inlined svgPathData from @fortawesome/free-solid-svg-icons@6.5.2 so each + // bucket always gets a distinct glyph. Stash’s PluginApi FA exports are + // incomplete (tree-shaken), which made every tier fall through to the same + // fallback. Pro-only names (SD/HD/4K rectangle) are not bundled in Free. + var BUNDLED_RESOLUTION_ICONS = [ + { + w: 576, + h: 512, + d: + "M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z", + }, + { + w: 512, + h: 512, + d: + "M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z", + }, + { + w: 448, + h: 512, + d: + "M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z", + }, + { + w: 512, + h: 512, + d: + "M200 32H56C42.7 32 32 42.7 32 56V200c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312V456c0 13.3 10.7 24 24 24H200c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H456c13.3 0 24-10.7 24-24V312c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z", + }, ]; - var RESOLUTION_BUCKET_FALLBACK_TEXT = ["<480", "SD", "HD", "4K"]; - - function pickFaDefForTier(tier) { - var tries = RESOLUTION_BUCKET_ICON_TRIES[tier]; - if (!tries) return null; - for (var i = 0; i < tries.length; i++) { - var spec = tries[i]; - var lib = getPluginFaLib(!!spec.reg); - if (!lib) continue; - var def = lib[spec.name]; - if (def) return def; - } - return null; + function createResolutionTierSvg(tier) { + var b = BUNDLED_RESOLUTION_ICONS[tier]; + if (!b || typeof b.d !== "string") return null; + var NS = "http://www.w3.org/2000/svg"; + var svg = document.createElementNS(NS, "svg"); + svg.setAttribute("viewBox", "0 0 " + b.w + " " + b.h); + svg.setAttribute("class", "fa-icon gd-resolution-fa"); + svg.setAttribute("focusable", "false"); + svg.setAttribute("aria-hidden", "true"); + var path = document.createElementNS(NS, "path"); + path.setAttribute("fill", "currentColor"); + path.setAttribute("d", b.d); + svg.appendChild(path); + return svg; } function buildResolutionBucket(id, avgPixels, resolutionTooltip) { @@ -379,13 +334,13 @@ return wrap; } var tier = resolutionBucketTier(h); - var def = pickFaDefForTier(tier); - var svg = def ? createSvgFromFaIconDef(def) : null; + wrap.setAttribute("data-gd-resolution-tier", String(tier)); + var svg = createResolutionTierSvg(tier); if (svg) wrap.appendChild(svg); else { var fb = document.createElement("span"); fb.className = "gd-res-bucket-fallback"; - fb.textContent = RESOLUTION_BUCKET_FALLBACK_TEXT[tier] || "?"; + fb.textContent = ["<480", "SD", "HD", "4K"][tier] || "?"; wrap.appendChild(fb); } applySceneListTooltip(wrap, tip); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 27a0255b..6555752c 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.9 +version: 0.2.0 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 86a2de92..d3c514ab 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -5,9 +5,9 @@ It adds two computed metrics to each group card's stats area: - **Top line:** total duration (`H:MM:SS`) on the left, native scene-count chip centered. -- **Second line:** resolution **bucket icon** (from Stash’s Font Awesome packs via `PluginApi`) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover for average height, bucket label, and per-scene lines. +- **Second line:** resolution **bucket icon** (inline SVG from Font Awesome **Free** solid paths) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover for average height, bucket label, and per-scene lines. -Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`<1081`**, **`≥1081`**. The plugin tries Pro-style icon names (`faStandardDefinition`, `faHighDefinition`, `faRectangle4k`) first; Stash only bundles **Free** icons, so **solid/regular fallbacks** (display/TV, film, clapperboard/expand, maximize) are used when those exports are missing. +Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`≤1081`**, **`>1081`**. Icons are **display**, **film**, **expand**, **maximize** (FA 6.5.2 free-solid), chosen so each tier is visually distinct. Stash’s `PluginApi` Font Awesome export is incomplete for plugins, and Pro-only glyphs (regular SD/HD/4K marks) are not in Free, so icons are **not** loaded from `PluginApi`. ## Filtering rules From abf9b2fc54d2353c0c9f6aff325afded053466d8 Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 10:05:01 -0400 Subject: [PATCH 09/41] Refactor Group Details plugin to streamline resolution metrics Removed the resolution sample line formatting and adjusted the tooltip to display a simplified resolution average. Updated the README to reflect changes in tooltip behavior and versioning. Incremented version to 0.1.11. --- plugins/GroupDetails/GroupDetails.js | 65 ++------------------------- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 4 +- 3 files changed, 7 insertions(+), 64 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 35ca62f9..8328b915 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -159,36 +159,12 @@ return "[" + idxLabel + "] " + t + " " + formatDuration(durationSec); } - function formatResolutionSampleLine( - sceneIndex, - title, - durationSec, - heightPx - ) { - var idxLabel = - sceneIndex == null || sceneIndex === "" ? "null" : String(sceneIndex); - var t = String(title || "").replace(/\s+/g, " ").trim(); - if (!t) t = "(no title)"; - var hp = Math.round(Number(heightPx) || 0); - return ( - "[" + - idxLabel + - "] " + - t + - " max file height " + - hp + - "px duration " + - formatDuration(durationSec) - ); - } - function computeMetrics(groupId, scenes, includeAllScenes) { var totalDurationSec = 0; var verticalSum = 0; var verticalCount = 0; var list = scenes || []; var durationLines = []; - var resolutionSampleLines = []; for (var i = 0; i < list.length; i++) { var scene = list[i]; @@ -206,14 +182,6 @@ if (height > 0) { verticalSum += height; verticalCount += 1; - resolutionSampleLines.push( - formatResolutionSampleLine( - idx, - scene && scene.title, - duration, - height - ) - ); } } } @@ -226,27 +194,10 @@ : "No eligible scenes for total duration."; var avgPx = verticalCount > 0 ? Math.round(verticalSum / verticalCount) : null; - var resolutionTooltip; - if (avgPx == null || verticalCount < 1) { - resolutionTooltip = - "Resolution average is not shown: no scenes qualify (need duration > 600s, non-zero file height, and the same scene_index rules as total duration)."; - } else { - var sumHeights = verticalSum; - resolutionTooltip = - "Resolution average: " + - avgPx + - "px (" + - resolutionBucketSummary(avgPx) + - " bucket)\n" + - "Calculation: round((" + - Math.round(sumHeights) + - " sum of max file heights) / " + - verticalCount + - " scenes).\n" + - "Only scenes with duration > 600s and height > 0 are averaged (scene_index rules apply).\n" + - "Scenes in the average:\n" + - resolutionSampleLines.join("\n"); - } + var resolutionTooltip = + avgPx == null || verticalCount < 1 + ? "Resolution average: \u2014" + : "Resolution average: " + avgPx + "px"; return { totalDurationSec: Math.round(totalDurationSec), @@ -266,14 +217,6 @@ return 3; } - function resolutionBucketSummary(avgHeightPx) { - var t = resolutionBucketTier(avgHeightPx); - if (t === 0) return "<480p"; - if (t === 1) return "<720p"; - if (t === 2) return "\u22641081p"; - return ">1081p"; - } - // Inlined svgPathData from @fortawesome/free-solid-svg-icons@6.5.2 so each // bucket always gets a distinct glyph. Stash’s PluginApi FA exports are // incomplete (tree-shaken), which made every tier fall through to the same diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 6555752c..487b3d7e 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.2.0 +version: 0.1.11 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index d3c514ab..7dfb4172 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -5,7 +5,7 @@ It adds two computed metrics to each group card's stats area: - **Top line:** total duration (`H:MM:SS`) on the left, native scene-count chip centered. -- **Second line:** resolution **bucket icon** (inline SVG from Font Awesome **Free** solid paths) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover for average height, bucket label, and per-scene lines. +- **Second line:** resolution **bucket icon** (inline SVG from Font Awesome **Free** solid paths) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover shows `Resolution average: Npx` (or `—` if none). Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`≤1081`**, **`>1081`**. Icons are **display**, **film**, **expand**, **maximize** (FA 6.5.2 free-solid), chosen so each tier is visually distinct. Stash’s `PluginApi` Font Awesome export is incomplete for plugins, and Pro-only glyphs (regular SD/HD/4K marks) are not in Free, so icons are **not** loaded from `PluginApi`. @@ -46,7 +46,7 @@ The plugin fetches group scene data through GraphQL (`findGroup`) and computes m `[scene_index] Title H:MM:SS` -**Resolution icon:** how the **average vertical height** was computed (sum of each qualifying scene’s tallest file height, divided by count), plus one line per scene that **entered the average** (with `max file height` and duration on that line). +**Resolution icon:** hover shows `Resolution average: Npx`, or `Resolution average: —` when no scenes qualify for the average (same duration, height, and scene_index rules as in **Resolution rule**). Null `scene_index` is shown as `[null]`. Missing titles appear as `(no title)`. From ec657363793cd556bb395cc1675b6eecee866f94 Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 10:06:12 -0400 Subject: [PATCH 10/41] Update Group Details plugin to simplify duration tooltip text Modified the tooltip header for total duration to enhance clarity by removing unnecessary details. This change aims to improve user understanding of the displayed information. No version increment required. --- plugins/GroupDetails/GroupDetails.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 8328b915..79c4eecf 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -187,7 +187,7 @@ } var durationHeader = - "Scenes included in total duration (same scene_index rules as the chip):\n"; + "Scenes in total duration:\n"; var durationTooltip = durationLines.length > 0 ? durationHeader + durationLines.join("\n") From c75ded741743afc22b00180ef59ec5cdffdf5e9d Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 10:18:08 -0400 Subject: [PATCH 11/41] Update Group Details plugin to version 0.1.12 Refine resolution bucket icons and tooltip text for clarity. Adjusted the tooltip to display resolution average in pixels correctly and updated the README to reflect changes in icon usage and bucket definitions. Incremented version to 0.1.12. --- plugins/GroupDetails/GroupDetails.js | 40 +++++++++++++++++++++++---- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 2 +- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 79c4eecf..1c833ed2 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -159,19 +159,46 @@ return "[" + idxLabel + "] " + t + " " + formatDuration(durationSec); } + /** For ordering only: missing index sorts like 90. */ + function sceneIndexSortKey(idx) { + if (idx == null || idx === "") return 90; + var n = Number(idx); + return Number.isFinite(n) ? n : 90; + } + function computeMetrics(groupId, scenes, includeAllScenes) { var totalDurationSec = 0; var verticalSum = 0; var verticalCount = 0; var list = scenes || []; - var durationLines = []; + var rows = []; for (var i = 0; i < list.length; i++) { var scene = list[i]; var idx = sceneIndexForGroup(scene, groupId); if (!includeAllScenes && !isEligibleSceneIndex(idx)) continue; - var duration = getSceneDurationSeconds(scene); + rows.push({ scene: scene, idx: idx, duration: duration }); + } + + rows.sort(function (a, b) { + var ka = sceneIndexSortKey(a.idx); + var kb = sceneIndexSortKey(b.idx); + if (ka !== kb) return ka - kb; + var da = Number(a.duration) || 0; + var db = Number(b.duration) || 0; + if (db !== da) return db - da; + var ida = String((a.scene && a.scene.id) || ""); + var idb = String((b.scene && b.scene.id) || ""); + return ida < idb ? -1 : ida > idb ? 1 : 0; + }); + + var durationLines = []; + for (var j = 0; j < rows.length; j++) { + var row = rows[j]; + var scene = row.scene; + var idx = row.idx; + var duration = row.duration; totalDurationSec += duration; durationLines.push( formatSceneTooltipLine(idx, scene && scene.title, duration) @@ -197,7 +224,7 @@ var resolutionTooltip = avgPx == null || verticalCount < 1 ? "Resolution average: \u2014" - : "Resolution average: " + avgPx + "px"; + : "Resolution average: " + avgPx + "p"; return { totalDurationSec: Math.round(totalDurationSec), @@ -221,6 +248,9 @@ // bucket always gets a distinct glyph. Stash’s PluginApi FA exports are // incomplete (tree-shaken), which made every tier fall through to the same // fallback. Pro-only names (SD/HD/4K rectangle) are not bundled in Free. + // Tier order: display, film, gauge-high (HD-ish), maximize. Deliberately not + // using faExpand for HD: same bucket (e.g. 1080p) correctly reuses one icon, + // but expand reads like “fullscreen” and is often confused with a bug. var BUNDLED_RESOLUTION_ICONS = [ { w: 576, @@ -235,10 +265,10 @@ "M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z", }, { - w: 448, + w: 512, h: 512, d: - "M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z", + "M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z", }, { w: 512, diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 487b3d7e..fb12f2d9 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.11 +version: 0.1.13 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 7dfb4172..9b561dd4 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -7,7 +7,7 @@ It adds two computed metrics to each group card's stats area: - **Top line:** total duration (`H:MM:SS`) on the left, native scene-count chip centered. - **Second line:** resolution **bucket icon** (inline SVG from Font Awesome **Free** solid paths) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover shows `Resolution average: Npx` (or `—` if none). -Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`≤1081`**, **`>1081`**. Icons are **display**, **film**, **expand**, **maximize** (FA 6.5.2 free-solid), chosen so each tier is visually distinct. Stash’s `PluginApi` Font Awesome export is incomplete for plugins, and Pro-only glyphs (regular SD/HD/4K marks) are not in Free, so icons are **not** loaded from `PluginApi`. +Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`≤1081`**, **`>1081`**. Icons are **display**, **film**, **gauge-high**, **maximize** (FA 6.5.2 free-solid). Groups in the **same** height bucket reuse the **same** icon (for example, both ~1080p averages use the HD-bucket glyph). Stash’s `PluginApi` Font Awesome export is incomplete for plugins, and Pro-only glyphs (regular SD/HD/4K marks) are not in Free, so icons are **not** loaded from `PluginApi`. ## Filtering rules From e7d3ae1c0dc9ea2f3adc8268336da879d46a393d Mon Sep 17 00:00:00 2001 From: KennyG Date: Sun, 12 Apr 2026 10:21:27 -0400 Subject: [PATCH 12/41] Update Group Details plugin to version 0.1.14 Refine scene eligibility logic to ensure that single-scene groups are always included in metrics, regardless of their scene_index. Updated README to clarify this exception and adjusted the version number accordingly. --- plugins/GroupDetails/GroupDetails.js | 4 +++- plugins/GroupDetails/GroupDetails.yml | 5 +++-- plugins/GroupDetails/README.md | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 1c833ed2..d26a6783 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -171,12 +171,14 @@ var verticalSum = 0; var verticalCount = 0; var list = scenes || []; + var applySceneIndexFilter = + !includeAllScenes && list.length !== 1; var rows = []; for (var i = 0; i < list.length; i++) { var scene = list[i]; var idx = sceneIndexForGroup(scene, groupId); - if (!includeAllScenes && !isEligibleSceneIndex(idx)) continue; + if (applySceneIndexFilter && !isEligibleSceneIndex(idx)) continue; var duration = getSceneDurationSeconds(scene); rows.push({ scene: scene, idx: idx, duration: duration }); } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index fb12f2d9..ca6302c4 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.13 +version: 0.1.14 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: @@ -12,5 +12,6 @@ settings: displayName: Include all scenes description: >- When enabled, duration and average resolution include every scene linked to the group. - When disabled (default), scenes are limited to those with scene_index null or 0..89 for this group. + When disabled (default), scenes are limited to those with scene_index null or 0..89 for this group, + except when the group has only one scene (that scene is always included). type: BOOLEAN diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 9b561dd4..6ffadc1c 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -16,7 +16,9 @@ By default, both metrics only consider scenes whose `scene_index` for the curren - `null`, or - an integer in the inclusive range `0..89` -This excludes common trailer/bonus/out-of-band indices such as `-1`, `90`, `99`, etc. +**Exception:** if the group has **exactly one** scene in the GraphQL `scenes` list, that scene is **always** included (no `scene_index` filter), so single-scene groups are not blanked by an odd index. + +Otherwise this excludes common trailer/bonus/out-of-band indices such as `-1`, `90`, `99`, etc. ### Plugin setting: Include all scenes From d0d70e79d4b5b18362529aa88db8b5a7807c0171 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 07:48:45 -0400 Subject: [PATCH 13/41] Add new resolution PNG assets and update Group Details plugin to version 0.1.15 Introduced new PNG images for various video resolutions (144p, 240p, 360p, 480p, 720p, 1080p, 2k, 4k, 5k, 6k, and 8k) to enhance visual representation in the Group Details plugin. Updated the JavaScript to utilize these images for resolution metrics and refined the CSS for better display. Incremented version to 0.1.15. --- plugins/480p.png | Bin 0 -> 4358 bytes plugins/GroupDetails/1080p.png | Bin 0 -> 1717 bytes plugins/GroupDetails/144p.png | Bin 0 -> 1307 bytes plugins/GroupDetails/240p.png | Bin 0 -> 1563 bytes plugins/GroupDetails/2k.png | Bin 0 -> 1732 bytes plugins/GroupDetails/360p.png | Bin 0 -> 1697 bytes plugins/GroupDetails/480p.png | Bin 0 -> 1700 bytes plugins/GroupDetails/4k.png | Bin 0 -> 1591 bytes plugins/GroupDetails/5k.png | Bin 0 -> 1645 bytes plugins/GroupDetails/6k.png | Bin 0 -> 1742 bytes plugins/GroupDetails/720p.png | Bin 0 -> 1359 bytes plugins/GroupDetails/8k.png | Bin 0 -> 1713 bytes plugins/GroupDetails/GroupDetails.css | 12 ++- plugins/GroupDetails/GroupDetails.js | 118 ++++++++++++-------------- plugins/GroupDetails/GroupDetails.yml | 2 +- 15 files changed, 62 insertions(+), 70 deletions(-) create mode 100644 plugins/480p.png create mode 100644 plugins/GroupDetails/1080p.png create mode 100644 plugins/GroupDetails/144p.png create mode 100644 plugins/GroupDetails/240p.png create mode 100644 plugins/GroupDetails/2k.png create mode 100644 plugins/GroupDetails/360p.png create mode 100644 plugins/GroupDetails/480p.png create mode 100644 plugins/GroupDetails/4k.png create mode 100644 plugins/GroupDetails/5k.png create mode 100644 plugins/GroupDetails/6k.png create mode 100644 plugins/GroupDetails/720p.png create mode 100644 plugins/GroupDetails/8k.png diff --git a/plugins/480p.png b/plugins/480p.png new file mode 100644 index 0000000000000000000000000000000000000000..47a8642db3c421ce8ecb7725ebf69cfeb6ee8b02 GIT binary patch literal 4358 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 II;Vst06bhyG5`Po literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/240p.png b/plugins/GroupDetails/240p.png new file mode 100644 index 0000000000000000000000000000000000000000..21ed58d98d11577d0809c921779cb34561e131f3 GIT binary patch literal 1563 zcmaKsX;2af6vv4)?+PW8!~VL# z+%zlQOwFuScd#JIHaymY5`;{R5ET{0b$51VZDwaby!U3_@t=7!@As}9_w&}#+@%Qs z0CaqPPyy?4cHQo%Z&~-&)|=h|0IK7@D9^xT#?0u@&2pdZ9^bTet*x<**_ZHPXsw6f zlclG{2u?^|Pz%_UX2Smd)-xM>xs(mux#SYBVSvL!p>A<&+wFw1!I?W`*nQ$NcYRY= z*r82G5->+wRUM+aeLvVVY>!9J@eGRp%QWrznG7H+vnXlddHo4k`KDR8PH4-qJh+`9 zwF3Lm7#+-}$e?7d`(-o2K?)wmEVWE%IH}`s6DylCcu&!hGspA@jnu z6nRT6d~}SPJdyCYu)Tz}wlmQr64^1{KrP}z!bvwSCvj+!_eyM5N6;dL_-YW;V0qeh zTvB=J^?zi7xm8iKh7a9(f zV|iFh3sE967aH4nb~UXY|N45Y&=a+im+Na-v$b#KQryLEh=qbvK0&PXrGu6@`JbiX z68?9q9R$R=xKk-yeW2JmG6d<}B~`>>Cm&NE_hLa2oe(eMheg4tPt_l-609+Wi+?DL zItU%L7ibkAGvUWNLh~kWwA9ELUueT3=cz9(9l2{SFj=y>AUXRiqCfZL5cg?#L2xyt zuK!d@@ae*;h6e@siL4LgAc+NzvsE3>6#H8xf*&1VbMsE*FoF{Tx@TVff)8*LYS+Cr zQ-=1>$o1>b+;`HYmtNW0cRPNFPn{VFv9$0O>VqUYN4sU$?5#=+sc25wU6xI;Mk`Nc z5=18}FfP$k3lgTxznD)ul7qng9JMVW1)d^a-wNY368b|Ky^&Q(KpD3ljD14)2_PYG zV7KLEGviR2B(lC#1)a{mg zcQe)o1l4Qx?(A@-v)!CyBiT8c#$WCt*^GY+UD3t#oQwu_xmoy!f~8KNeX;EmuHokd z>Ick<+R~(DQCcLXOZ!;Gq@FYBk^F3M6D+W&xoe!b14W8V`i+?1NJ(PTHxrJw*ZCJA zWbk5#%H+xxg zA}>a(Q146%h!_Q8NOWYlCniWrm({3mfMX+58;K|dGq6p5f04E^`vrm<3JlGm)N<1; z=KoLE-{58s;&$gUSq1l?yiI^mD00~T6esxj7(ezvKAFV^Lw%x8q>-_W9od0 zZJ`4Dp@FCKf-p8XEnp*kkP$oWSYf=jrbpZRgU(^pu8JN_@43MuL%W}Rot8Evqr)W= zqw$8Np>}3Tb5SC`UKp49SqbMMlfA-%=CPwv3t*!`Zu3+imOue&6hA_1`r%v?2n%6+fy)d;4#SvOAPi|h;*Nx6$ zkSh+ihw#ddoxy@Lr`EsPgD6*z=GZgC@1z>7O+>KwxWPjLaqjM|xo}<^Q@m#ZTEQa* zrpO6qh3KA&`dsN^5;qgO<87&GHdz3|?Z)i0HB2Q2cH0ekeX31RdCJtig7p&io-x7= zDUkD8RT_8-(^G!^aC>VDJn^q`_f_PkFrD>Hq)$ literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/2k.png b/plugins/GroupDetails/2k.png new file mode 100644 index 0000000000000000000000000000000000000000..e0dfec2f24c99a692cc7c74b23c96095e83a6e80 GIT binary patch literal 1732 zcmaJ?X*3&%7UoT-MYN4tUTiJe+KPv1sTxayrX6W5ZM2CjRgoxF#S0~j5v>VI60a3n z!!aF8LXy@J`!W~_Vrf(&4e6B7nxLpov>7%2%=pZ;_s_lO%MHE=-LGS! zqoJX(|NJ@s(A~bVTh&^7ck$O0QGkZV-u(0a;LCT)R%Vw%W#0hz2K%jl<_Ze{>GRVK z^-;y;Q2$;k-6Ws&64w8Kj?BD8k>RsDo zdN@|1dW1Uqs%uKx@Gl>_8E#|0dYgOv0RUMmo{lM$?pkq-uQM6%ElVwP|5 z@5PMpDD8DOGHQa78JlZ{f;tT#*3R5l?kc|Hgi3;i@ZAk|kn0e|H^93xnF62hS$38% z1^Y^``dbM+n{}SX{Bd)W0Tln#EC*B6liH4#=Y@=sSY8H?RF4++wU#;^1XREAs4$ZkRhkY(9^1~jjU%=AuwU$${jN!`*L)i`k zA7;2*XNh}MtYa_HBRx94JIlI(n~Rtq7>y0 z6g5}@641xRSh&;35a)}u3kTq|DIf=aF1_LbC0(<E8! zus=!iL+x-R!la^D#zD|xxes#PTBM%$7Txb^m335Op7V~p0eL))ULoS2P@nNZ|8e#P z--3mkPrjA;(Xu}aeTR8WwP4JgmBf{Fm?(5ZuoOGCGh9jkizLae#+97B+5Pp!pxZi4DKDkMWE zlo}1L0iU4tyyLXA4m zo@A|_wm0m5??%UmT(l{S*(VqjkM*b66NKm8z literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/360p.png b/plugins/GroupDetails/360p.png new file mode 100644 index 0000000000000000000000000000000000000000..508a2b44614bbfb5fea4c97464f281b365b830fc GIT binary patch literal 1697 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 MR{)0T`NO5Z0Oo%XM*si- literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/5k.png b/plugins/GroupDetails/5k.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d36c394d90ed2a4d94775533c92d14656ce471 GIT binary patch literal 1645 zcmZ{lYg7^j7>22lk%o~Dt+WKKbmG!1O}ul9H1pDAmX(*pIYTog5w)N>8^o4MH*aXG zW+s?|Xpl}^iA834OHIRT8Y1433Y97IoSoCzkM-kwzd!H$?|a_wQlLK`tiMGc004k} z4qy+j?75XG1?jCQ0AN}r0`NHPwH6;z zSKuOO8@}o-)5*7;(+%tS&Aep<=p;HEGtxujP1i0kAdLmny-SdjM+Uw2MWkk|Uj^K} z8srFs5J4~*#5)Im0fqsfegWW6%e80BTq=pzOITm>{2RuuMMg$Fx)RO*c98yj?4ecm z8}9Qg0`ab;Q~`4Agp8<9{v6jZT?0zo49y?T6mwwYqdu*j29B7^+$XVxCqa&lphS<1 z76|%y2r=h`ptumyQ)=0H9U_9u&RR*QK#uJdRnbCNXA|?(xsvleYx3V^itEL&x|1HJ z@M#Q=_6R?6ZQ}?Hn7=bqY>(RcxCwa(^wdb-w+Wb<{Mc_Ds+j5ERT>{=Jo;>$-x^z}0H&f{?eI7tQt;M5?L1X= z2v?lv|2!e*(INw=)8Ti}9~3~17e)oP zpqnohoAo1qS~dw{i_m930dj$J3eAIwBis#@Qp5YLEhG}KBs#D6-S(7rWL5M2E#y%> zj?H4-qRoMv*ovM@Q_YbS?WMcF`7Z{tO{+qiQr8Q(@*A*D>Gx*{3JUNc862DuW#nMkgTeq>bzGcmc(9|&) z=zT){8#ug$jZs0rf=jP4i>&CJd2CZq=6nKoZufiBx=C_V7=p22WPqNI%vXA^n@y)| z?43D`sQUp_4QP$;f`;enj&yCiWip@+9y`CQp*syhEZG`!W9Tl&n*$nDw@LN3GP?eU zm=zjW+X}??9RA!dMvDO#aR;_+?2h>n`~|>1lQ(WOYNGYAIR8S}fKgqZ4_oq#p;LbS zsICz~DjudQg_J&Z8vYHnJH|M8bl>-K{+}92f5=>oeM^TV<4=r=8?I6$EbVe~rqa)a zKhR$;@7nEUyNr=nObDX73~xH<;y;wq^^^DokW>d=s$FsKtB!sggZ<&>NC@c2a4tQ|^np+hSSZ_q8zyfSWNYn%>7n~WL+ zUdl#pc^MNvDC|EmSqlj%CYQgGzTdCGc<+ zKJ;>rYm|}|w@K40<8t;|^1Ew|8=q>b+f(rd()IEEPBPb!^c{_lL#@o8E{KY)p6o(7 z1Gn8t`TcN~noTJj`(uoo46}ae8FtZyX8NLIPaeTfJ6S*fitBNe(W9}JoHkZcv}I3j zuOU~G({{bOSK|_0eMRGNTXy!oY=_9^rRTBq=)SUspm@)?taC)FrF85;U+u@eW4>1R zu2{c3H7==Akq86&vCj#PB}Jqf<7doUr<-TfvX3q{@^=&*TU!@>p|bqb4fl|JQD&}u z$X^)a|8(=`(^)C)*(qODB)q+KJx>N1>gf#NI+iON7}=6#Moo`HLuHdDygD%{w`o?4 QU3nt_ADln70v(a@59}`&P5=M^ literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/6k.png b/plugins/GroupDetails/6k.png new file mode 100644 index 0000000000000000000000000000000000000000..eb8f737268fd9e6942885c3af344adfd081b21a0 GIT binary patch literal 1742 zcmZvdX;{*U7RE7`P(cYImlDBhx-KJ>fTg=HTKlpTxA*r(kQs(1bE(LE>4cSkDorM{2U)(FC{KJN9t>f@pE_?S@%I+tJtUz13ed@$6?7IFq2ll!JrQB{&d5s9x zpWvElTdJXXu-j-y5EY^V{*Ni5w)?d}e{OB-a(B)IsTu5p1%vH#F(Bao456`|932R0 z&|J-aQ5O-g-CpML7@ca~swr6u5^0fUU6C$aT46Cjvz;aw$qtoNI#-h;*MrW4kU0C_b5=4U}qXk%2Uk)&fA%Ds`=zt1BqE& z4sCT~@yd@c`NzBE8MVCQHhiDZn>%dx4jcY<2@6PAXckiF6NQkjcB!>`hGK^d zGL&Cqo;o^<2VFvA3O1Pr`#k}1?wEn6+;|BoLP)O@A7&$K5L&VROGk-TE;xkrvl_Wa zNH`N;1(%-B)NRrRwqepl&)_DQ^pzR|qq!1IZ7)k_5;=x8-=;#1WGDeWbcz{}wN+-q zN>F(GWx||rqI+CTS>{)Ap1;9%n9u`mmCMEv%c=8a&%&OF>YK%GPv%;52|8x0*<%v- zl1=APzw%>9a(T!d&k}Z6aSC<9z^L#bbpjI@Q04y$dRX>xzgLwUf@GBIPY-Lx^(Ksw z#^hhKS!fV&F^p{YB7qd6ODaiJy5{PR%~_qh7`ZPXmiDEKF+eu+!a!j2FZ*->aUL8$ z#BIw^_B8^hj2@ZOuS#2I8yDR23`zk)E>T`xT{%MPNBxc1U^;iEtmbh@4ey{w@)gUq zYZ#t(WjEPk+>KLsoTuJDM)v*Zl6PGbI$s!&bwi!<<}_!-`F!QTBE&zB#9XQ7hg9=| z1AmC@!>&@dN@hx+&uf`1w4RkCZjK8dfd3{*kGL!%L`PdN7}@xLM}KY3n;MsF9O9!*lDh9WM)p5oWFv zs}kl`O}yld0168}dv_!=CCq^+JD^$)&o}w&-DFjCOCY%i=kRzV{bYjQIa1fUHtN~B8O{?EgOiYFUK=c7RLEgKFevRcxeUJ ztjNi*WMPv(zTre5;@*d+ezzlp0<*XnthI10=+}$-N3cCVxiQokuE|Dm8?%Z!dr_1z zkg1)-CKGpS#m^u2C3aOl-h_kk}S;ufS-n$fQX?l~2r7={0Ly0CbKKy%I_(r8(*?^+mrMg2vqP z(s`t(hOtRDsz@xleDB8oxaP;dRm;xmn6z%r5->cVhEH05CwQ&yy?=5hAj&x0_^ugn z>dfN1Kz2#k@{ysrhf_9fGm3@3KANjlJdm)ZX3vgFA_v97bV@~#ydE{^?6czKThp(9 zxi*nTQ5?lv{P-PP(dGhqaP}%U%KKVvz`|u{yx@YyuTH+gp|*y)?;BWElu+E_u*(4) zEaktG3V{ww?(tvB-#>J zo%}h!NNQ`K`_{D*8|B~pE{NT403?Q`F>O7338|Z-M`DkYCC1+ zSB1sqKFZ9J8{ag^d7ofDGbi>7Ps*{P?Pu~T*1n83`MH1o{#^Bpzq`|OYF@aXaO`6% za*IfM=Y3*sNUY)cm^{Pp%1`*hq7+vjReWYA^JbTU;8TI3#c_r<@+aRGKFInq@nL`e z{Y_{3Qnm|!;!_Uav|jG_$K4Z^)8231nx#2?tf>U$33I;=93ls zFTb92CN#N^_vVyY?enA$1DSt*WFGD4F9=w5SL^qy#Xn^#cZVG@qb zl$_RCN!^y8mwtX~+SL2~pA^GuKUV8)zc|CYuCL}>m;R%j-}bq=$DbBu6aIZdm~%#; zS9?t6{fHwyDK7IIj`W0?J<(#{S*4r4zG1ce+^5;or6#8Lr>%DN(F?cdog}s~uqId4 z{mIpEt@JF}ONhM z`75&I`gW5%*|{5=WNZ1-?^hna>dzXJt7Um*<56d!WBQ&GNog_!fB zw(t|Z>-OA#(K5Ys+TJS%_1L3-eKHK^leahZxUpf5?BxrgdNBq$l1~%{@HzTTKfOBVpttxi9pIDMo(6lEaow2+mJoyDBkJ zv0(y13p8xU1#fznCi>qqA8~@$^c1`H2|uq{CwBjoS$1vD+uZ@ao1Ysi6`xQ}ySVOP#~A^p`Q9f? zHrnrD3(n?9a9MV9b>Ph}RdUL}eEvzPCvFQU!+&D?$|=dj0YsIG?tbeECiGY<>K~E} z0!xAlgtJlmPENK1g^iD}`&poC+6>mt^FASyW)jyvq4IV)qjc|cVWZt|B^zC9_!K{P z&fa}hIc1l?$DKg+jO!gw$S6J7y2GEJ#Xt#5NdyVGhS}YR7jCOQy!|-8bildAcW)n$ pXE3!f*S>fEop}F^8G%>tp9xwNQmV;&4Ombzc)I$ztaD0e0ssXQTl)Y2 literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/8k.png b/plugins/GroupDetails/8k.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ec8df9dd3dbe17beb58147a64c8e98e0173884 GIT binary patch literal 1713 zcmZuyX;cyl76vs$QwLL1D__u?w3n3%YJxhrp=r5?jvBAbt>l3NMvDuUf@3-+H06?_ z(^w$l)5_80sA-0YyNF>>PfO@on&~JmM96T?{AtdaANPLeyXX6L@BQw*84(s_YP`o7 z005W2;Ow#5ohK(S+S< z8#**E80qkAGtYn(Q*K6HGCf+>GK+fchCVwwKABlBYARU1?fd0bQVZ^^GDRvnbr}og% z8rR_@EH;HqGhO|qeq%{vtaJhO)OnSXoY|!hR$N~Kjn-UbpQ<@7W+4vVfu6amkf#=2 zg3`!q$s@p)vGsNj!=|~<;=pFAOaUW~oc~(vHM!o~*4PR>Kf6FkPMfx<)trvuxyK<# z@=sx(LiWB}xQ7zf&o~Tc-bSy3mm9Hh76*((c#FV0KFCHp zCDLEvu*kA*i6OV+aX_d4#UgH-e88qAHf-LeDg|>dg>FO^h;sUkUwuUc8D%yU@8im= zQ^|oHTnY`)^uu|qs;dcFCIcW0eGl4WVi-YRE+IgEMLpc1d0Lb3IAVu?k-8c=61Uec z^hI~@Bbdmi(^<&h{> z;02^3XPJLt?gju}Kf#kcGPbhS1Lu7;iaD2V3T*hV3w7YbEN+7P*S?k?Jq9o@%JA*P;^oA6w zr1;f@7U$}C!`KBItxK|Qkn(7zHJMHR9Lmek5*b@l>J@)XA>g#)U20=xV>ZeP`Dm)d z;TCbQi{SnfALv&p2Cp7uPeBk4zO_DKcX!RXfyq7xk4>Pz?r~#J*Ek3*Uhfo2SIocXS-$4)rGb8&vk4G@F8fZ_v*}{f^w)~S}|@s=1pOD zNhw;IA{Bcb$Chkn7wqr(tgiD`=T)5Iv+%#)5LkA0Mao*= z>>iE1k-L$BI$QhebC>+`x{Rr37ifimGp@kzFZTC)k 0 ? Math.round(verticalSum / verticalCount) : null; var resolutionTooltip = avgPx == null || verticalCount < 1 - ? "Resolution average: \u2014" - : "Resolution average: " + avgPx + "p"; + ? "Resolution Average: \u2014" + : "Resolution Average: " + avgPx + "p"; return { totalDurationSec: Math.round(totalDurationSec), @@ -237,63 +237,55 @@ }; } - function resolutionBucketTier(avgHeightPx) { - var h = Math.round(Number(avgHeightPx) || 0); - if (h <= 0) return -1; - if (h < 480) return 0; - if (h < 720) return 1; - if (h <= 1081) return 2; - return 3; - } - - // Inlined svgPathData from @fortawesome/free-solid-svg-icons@6.5.2 so each - // bucket always gets a distinct glyph. Stash’s PluginApi FA exports are - // incomplete (tree-shaken), which made every tier fall through to the same - // fallback. Pro-only names (SD/HD/4K rectangle) are not bundled in Free. - // Tier order: display, film, gauge-high (HD-ish), maximize. Deliberately not - // using faExpand for HD: same bucket (e.g. 1080p) correctly reuses one icon, - // but expand reads like “fullscreen” and is often confused with a bug. - var BUNDLED_RESOLUTION_ICONS = [ - { - w: 576, - h: 512, - d: - "M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z", - }, - { - w: 512, - h: 512, - d: - "M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z", - }, - { - w: 512, - h: 512, - d: - "M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z", - }, - { - w: 512, - h: 512, - d: - "M200 32H56C42.7 32 32 42.7 32 56V200c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312V456c0 13.3 10.7 24 24 24H200c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H456c13.3 0 24-10.7 24-24V312c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z", - }, + var RESOLUTION_PNG_LADDER = [ + { value: 4320, label: "8k", file: "8k.png" }, + { value: 3160, label: "6k", file: "6k.png" }, + { value: 2880, label: "5k", file: "5k.png" }, + { value: 2160, label: "4k", file: "4k.png" }, + { value: 1440, label: "2k", file: "2k.png" }, + { value: 1080, label: "1080p", file: "1080p.png" }, + { value: 720, label: "720p", file: "720p.png" }, + { value: 480, label: "480p", file: "480p.png" }, + { value: 360, label: "360p", file: "360p.png" }, + { value: 240, label: "240p", file: "240p.png" }, ]; + var LOWEST_RESOLUTION_PNG = { value: 144, label: "144p", file: "144p.png" }; + var RESOLUTION_MATCH_RATIO = 0.98; // 2% tolerance + var LOWEST_RESOLUTION_CUTOFF = 234; + + function pickResolutionPngSpec(avgHeightPx) { + var h = Math.round(Number(avgHeightPx) || 0); + if (!Number.isFinite(h) || h <= 0) return null; + if (h < LOWEST_RESOLUTION_CUTOFF) return LOWEST_RESOLUTION_PNG; + for (var i = 0; i < RESOLUTION_PNG_LADDER.length; i++) { + var spec = RESOLUTION_PNG_LADDER[i]; + if (h >= Math.round(spec.value * RESOLUTION_MATCH_RATIO)) return spec; + } + return LOWEST_RESOLUTION_PNG; + } - function createResolutionTierSvg(tier) { - var b = BUNDLED_RESOLUTION_ICONS[tier]; - if (!b || typeof b.d !== "string") return null; - var NS = "http://www.w3.org/2000/svg"; - var svg = document.createElementNS(NS, "svg"); - svg.setAttribute("viewBox", "0 0 " + b.w + " " + b.h); - svg.setAttribute("class", "fa-icon gd-resolution-fa"); - svg.setAttribute("focusable", "false"); - svg.setAttribute("aria-hidden", "true"); - var path = document.createElementNS(NS, "path"); - path.setAttribute("fill", "currentColor"); - path.setAttribute("d", b.d); - svg.appendChild(path); - return svg; + function getResolutionPngSrcCandidates(fileName) { + return [ + "/plugin/" + PLUGIN_ID + "/assets/" + fileName, + "/plugin/" + PLUGIN_ID + "/" + fileName, + fileName, + ]; + } + + function createResolutionPng(spec) { + if (!spec || !spec.file) return null; + var img = document.createElement("img"); + var candidates = getResolutionPngSrcCandidates(spec.file); + var idx = 0; + img.className = "gd-resolution-png"; + img.alt = spec.label; + img.setAttribute("aria-hidden", "true"); + img.src = candidates[idx]; + img.addEventListener("error", function () { + idx += 1; + if (idx < candidates.length) img.src = candidates[idx]; + }); + return img; } function buildResolutionBucket(id, avgPixels, resolutionTooltip) { @@ -308,14 +300,16 @@ applySceneListTooltip(wrap, tip); return wrap; } - var tier = resolutionBucketTier(h); - wrap.setAttribute("data-gd-resolution-tier", String(tier)); - var svg = createResolutionTierSvg(tier); - if (svg) wrap.appendChild(svg); + var spec = pickResolutionPngSpec(h); + if (spec) { + wrap.setAttribute("data-gd-resolution-tier", spec.label); + } + var img = createResolutionPng(spec); + if (img) wrap.appendChild(img); else { var fb = document.createElement("span"); fb.className = "gd-res-bucket-fallback"; - fb.textContent = ["<480", "SD", "HD", "4K"][tier] || "?"; + fb.textContent = h + "p"; wrap.appendChild(fb); } applySceneListTooltip(wrap, tip); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index ca6302c4..3057c5ca 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.14 +version: 0.1.15 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: From 239fa2402b9ce8e899f4070a98ddb8fb300580d0 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 07:51:09 -0400 Subject: [PATCH 14/41] Update Group Details plugin to version 0.1.17 Added total file count calculation to enhance metrics in the Group Details plugin. Adjusted resolution bucket rendering logic to conditionally display content based on the number of files. Incremented version to 0.1.17. --- plugins/GroupDetails/GroupDetails.js | 25 ++++++++++++++++++++----- plugins/GroupDetails/GroupDetails.yml | 2 +- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 5668c0a1..c221b9ba 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -170,6 +170,7 @@ var totalDurationSec = 0; var verticalSum = 0; var verticalCount = 0; + var totalFileCount = 0; var list = scenes || []; var applySceneIndexFilter = !includeAllScenes && list.length !== 1; @@ -195,6 +196,12 @@ return ida < idb ? -1 : ida > idb ? 1 : 0; }); + for (var fc = 0; fc < rows.length; fc++) { + var filesForCount = (rows[fc].scene && rows[fc].scene.files) || []; + totalFileCount += filesForCount.length; + } + var bypassDurationFilterForResolution = totalFileCount === 1; + var durationLines = []; for (var j = 0; j < rows.length; j++) { var row = rows[j]; @@ -206,7 +213,7 @@ formatSceneTooltipLine(idx, scene && scene.title, duration) ); - if (duration > 600) { + if (bypassDurationFilterForResolution || duration > 600) { var height = getSceneVerticalPixels(scene); if (height > 0) { verticalSum += height; @@ -232,6 +239,7 @@ totalDurationSec: Math.round(totalDurationSec), averageVerticalPixels: avgPx, verticalSampleCount: verticalCount, + totalFileCount: totalFileCount, durationTooltip: durationTooltip, resolutionTooltip: resolutionTooltip, }; @@ -288,7 +296,7 @@ return img; } - function buildResolutionBucket(id, avgPixels, resolutionTooltip) { + function buildResolutionBucket(id, avgPixels, resolutionTooltip, totalFileCount) { var wrap = document.createElement("span"); wrap.id = id; wrap.className = "gd-stat gd-res-bucket"; @@ -296,8 +304,14 @@ var tip = resolutionTooltip || ""; var h = avgPixels == null ? NaN : Math.round(Number(avgPixels)); if (!Number.isFinite(h) || h <= 0) { - wrap.textContent = "\u2014"; - applySceneListTooltip(wrap, tip); + if ((Number(totalFileCount) || 0) > 1) { + wrap.textContent = "\u2014"; + applySceneListTooltip(wrap, tip); + } else { + // No files (or only one file with no usable height): render nothing. + wrap.textContent = ""; + applySceneListTooltip(wrap, ""); + } return wrap; } var spec = pickResolutionPngSpec(h); @@ -414,7 +428,8 @@ var resolutionNode = buildResolutionBucket( "gd-stat-right-" + Date.now(), metrics.averageVerticalPixels, - metrics.resolutionTooltip || "" + metrics.resolutionTooltip || "", + metrics.totalFileCount ); resolutionNode.classList.add("gd-stat-right"); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 3057c5ca..267ac0ac 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.15 +version: 0.1.17 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: From 5d54cd3d4496814766010e089fb2aa9cb1ce32cc Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 07:54:54 -0400 Subject: [PATCH 15/41] Update Group Details plugin to version 0.1.19 Refactor CSS and JavaScript to enhance date line display within group cards. Introduced new functions to find and mount duration on date lines, improving the overall layout and user experience. Incremented version to 0.1.19. --- plugins/GroupDetails/GroupDetails.css | 32 +++++++++++++++--- plugins/GroupDetails/GroupDetails.js | 48 ++++++++++++++++++++++++--- plugins/GroupDetails/GroupDetails.yml | 2 +- 3 files changed, 71 insertions(+), 11 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index 2e92e7e1..e7b61990 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -16,15 +16,11 @@ .group-card .card-popovers .gd-metrics-line1 { display: grid; - grid-template-columns: 1fr auto 1fr; + grid-template-columns: 1fr; align-items: center; width: 100%; } -.group-card .card-popovers .gd-metrics-line1 .gd-stat-left { - justify-self: start; -} - .group-card .card-popovers .gd-metrics-line1 .scene-count { justify-self: center; } @@ -77,3 +73,29 @@ opacity: 0.95; white-space: nowrap; } + +.group-card .gd-date-line { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; +} + +.group-card .gd-date-text { + min-width: 0; +} + +.group-card .gd-date-duration { + margin-left: 0.5rem; + margin-right: 0; + margin-inline-start: 0.5rem; + margin-inline-end: 0; + padding: 0; + justify-content: flex-end; + font-size: inherit; + line-height: inherit; + font-weight: inherit; + color: inherit; + opacity: inherit; + cursor: help; +} diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index c221b9ba..26379dac 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -399,6 +399,45 @@ return el; } + function findDateLineInCard(card) { + if (!card || !card.querySelectorAll) return null; + var re = /^\d{4}-\d{2}-\d{2}$/; + var nodes = card.querySelectorAll("time, small, span, div, p"); + for (var i = 0; i < nodes.length; i++) { + var el = nodes[i]; + if (!el || !el.textContent) continue; + if (el.closest && el.closest(".card-popovers")) continue; + if (el.querySelector && el.querySelector(".gd-date-duration")) continue; + var raw = String(el.textContent || "").trim(); + if (re.test(raw)) return el; + } + return null; + } + + function mountDurationOnDateLine(card, durationNode) { + if (!card || !durationNode) return false; + var old = card.querySelectorAll(".gd-date-duration"); + for (var i = 0; i < old.length; i++) { + if (old[i] && old[i].parentNode) old[i].parentNode.removeChild(old[i]); + } + var line = findDateLineInCard(card); + if (!line) return false; + + line.classList.add("gd-date-line"); + var textSpan = line.querySelector(".gd-date-text"); + if (!textSpan) { + var original = String(line.textContent || "").trim(); + line.textContent = ""; + textSpan = document.createElement("span"); + textSpan.className = "gd-date-text"; + textSpan.textContent = original; + line.appendChild(textSpan); + } + durationNode.classList.add("gd-date-duration"); + line.appendChild(durationNode); + return true; + } + function injectMetricsIntoCard(card, metrics) { if (!card || !metrics) return; var popovers = card.querySelector(".card-popovers"); @@ -413,17 +452,15 @@ if (sc) popovers.insertBefore(sc, oldRow); oldRow.parentNode.removeChild(oldRow); } - var oldLeft = popovers.querySelector(".gd-stat-left"); - if (oldLeft && oldLeft.parentNode) oldLeft.parentNode.removeChild(oldLeft); var oldRight = popovers.querySelector(".gd-stat-right"); if (oldRight && oldRight.parentNode) oldRight.parentNode.removeChild(oldRight); var durationNode = buildStatNode( - "gd-stat-left-" + Date.now(), + "gd-stat-duration-" + Date.now(), formatDuration(metrics.totalDurationSec), metrics.durationTooltip || "" ); - durationNode.classList.add("gd-stat-left"); + durationNode.classList.add("gd-duration"); var resolutionNode = buildResolutionBucket( "gd-stat-right-" + Date.now(), @@ -443,11 +480,12 @@ line2.className = "gd-metrics-line2"; popovers.insertBefore(row, sceneCount); - line1.appendChild(durationNode); line1.appendChild(sceneCount); line2.appendChild(resolutionNode); row.appendChild(line1); row.appendChild(line2); + + mountDurationOnDateLine(card, durationNode); } async function decorateGroupCard(card) { diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 267ac0ac..c0b4b0a1 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.17 +version: 0.1.19 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: From 81e4a3f26fbfc8bf28bd71feda5c628c0378b9a0 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 07:55:36 -0400 Subject: [PATCH 16/41] Enhance Group Details plugin with dynamic base URL and safe file name encoding Introduced a new PLUGIN_BASE_URL to dynamically determine the base URL for plugin assets, improving flexibility. Updated the getResolutionPngSrcCandidates function to use safeName for file names, ensuring proper URL encoding. Incremented version to 0.1.20. --- plugins/GroupDetails/GroupDetails.js | 16 ++++++++++++++-- plugins/GroupDetails/GroupDetails.yml | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 26379dac..7acc66cc 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -4,6 +4,15 @@ var ROOT_ID = "root"; var ROUTE_PREFIX = "/groups"; var PLUGIN_ID = "GroupDetails"; + var PLUGIN_BASE_URL = (function () { + try { + var s = document.currentScript && document.currentScript.src; + if (s) { + return s.replace(/\/javascript(?:\?.*)?$/, "/"); + } + } catch (e) {} + return "/plugin/" + PLUGIN_ID + "/"; + })(); var GROUP_METRICS_QUERY = "query GroupDetailsMetrics($id: ID!) {" + " findGroup(id: $id) {" + @@ -273,9 +282,12 @@ } function getResolutionPngSrcCandidates(fileName) { + var safeName = encodeURIComponent(String(fileName || "")); return [ - "/plugin/" + PLUGIN_ID + "/assets/" + fileName, - "/plugin/" + PLUGIN_ID + "/" + fileName, + PLUGIN_BASE_URL + "assets/" + safeName, + PLUGIN_BASE_URL + safeName, + "/plugin/" + PLUGIN_ID + "/assets/" + safeName, + "/plugin/" + PLUGIN_ID + "/" + safeName, fileName, ]; } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index c0b4b0a1..bc406350 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.19 +version: 0.1.20 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: From de76891be6cadef0c7627c001398695182b400c1 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 07:58:51 -0400 Subject: [PATCH 17/41] Update Group Details plugin to version 0.1.22 Incremented version to 0.1.22. Removed unused fileName variable from JavaScript and added new asset mappings for various video resolutions (144p, 240p, 360p, 480p, 720p, 1080p, 2k, 4k, 5k, 6k, and 8k) in the YAML configuration to enhance visual representation in the Group Details plugin. --- plugins/GroupDetails/GroupDetails.js | 1 - plugins/GroupDetails/GroupDetails.yml | 14 +++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 7acc66cc..1153a4f1 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -288,7 +288,6 @@ PLUGIN_BASE_URL + safeName, "/plugin/" + PLUGIN_ID + "/assets/" + safeName, "/plugin/" + PLUGIN_ID + "/" + safeName, - fileName, ]; } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index bc406350..3ab0998e 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,12 +1,24 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.20 +version: 0.1.22 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: - GroupDetails.js css: - GroupDetails.css + assets: + /144p.png: 144p.png + /240p.png: 240p.png + /360p.png: 360p.png + /480p.png: 480p.png + /720p.png: 720p.png + /1080p.png: 1080p.png + /2k.png: 2k.png + /4k.png: 4k.png + /5k.png: 5k.png + /6k.png: 6k.png + /8k.png: 8k.png settings: includeAllScenes: displayName: Include all scenes From fc8714f326ab8da15ef0549e74ff42de2d0d84bd Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 08:05:46 -0400 Subject: [PATCH 18/41] Refactor Group Details plugin to improve metrics display and update version to 0.1.23 Removed unnecessary DOM manipulation for metrics rows and streamlined the addition of resolution nodes. Updated the version in the YAML configuration to reflect these changes. --- plugins/GroupDetails/GroupDetails.js | 24 +++--------------------- plugins/GroupDetails/GroupDetails.yml | 2 +- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 1153a4f1..18658fda 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -453,16 +453,11 @@ if (!card || !metrics) return; var popovers = card.querySelector(".card-popovers"); if (!popovers) return; - var sceneCount = popovers.querySelector(".scene-count"); if (!sceneCount) return; var oldRow = popovers.querySelector(".gd-metrics-row"); - if (oldRow) { - var sc = oldRow.querySelector(".scene-count"); - if (sc) popovers.insertBefore(sc, oldRow); - oldRow.parentNode.removeChild(oldRow); - } + if (oldRow && oldRow.parentNode) oldRow.parentNode.removeChild(oldRow); var oldRight = popovers.querySelector(".gd-stat-right"); if (oldRight && oldRight.parentNode) oldRight.parentNode.removeChild(oldRight); @@ -480,21 +475,8 @@ metrics.totalFileCount ); resolutionNode.classList.add("gd-stat-right"); - - var row = document.createElement("div"); - row.className = "gd-metrics-row"; - row.setAttribute("role", "presentation"); - - var line1 = document.createElement("div"); - line1.className = "gd-metrics-line1"; - var line2 = document.createElement("div"); - line2.className = "gd-metrics-line2"; - - popovers.insertBefore(row, sceneCount); - line1.appendChild(sceneCount); - line2.appendChild(resolutionNode); - row.appendChild(line1); - row.appendChild(line2); + resolutionNode.classList.add("chip"); + popovers.appendChild(resolutionNode); mountDurationOnDateLine(card, durationNode); } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 3ab0998e..e8b5a90e 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.22 +version: 0.1.23 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: From 69f2d881b98745e41daad021072a5ed35358f61b Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 08:51:07 -0400 Subject: [PATCH 19/41] Refactor Group Details plugin to utilize embedded resolution images and update version to 0.1.24 Removed the dynamic base URL logic and replaced it with a direct mapping to embedded resolution images for improved performance. Added a new JavaScript file for image mappings and updated the version in the YAML configuration. --- plugins/GroupDetails/GroupDetails.js | 36 +++++++++------------------ plugins/GroupDetails/GroupDetails.yml | 3 ++- plugins/GroupDetails/images.js | 17 +++++++++++++ 3 files changed, 31 insertions(+), 25 deletions(-) create mode 100644 plugins/GroupDetails/images.js diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 18658fda..42ff3ab3 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -4,15 +4,6 @@ var ROOT_ID = "root"; var ROUTE_PREFIX = "/groups"; var PLUGIN_ID = "GroupDetails"; - var PLUGIN_BASE_URL = (function () { - try { - var s = document.currentScript && document.currentScript.src; - if (s) { - return s.replace(/\/javascript(?:\?.*)?$/, "/"); - } - } catch (e) {} - return "/plugin/" + PLUGIN_ID + "/"; - })(); var GROUP_METRICS_QUERY = "query GroupDetailsMetrics($id: ID!) {" + " findGroup(id: $id) {" + @@ -281,29 +272,26 @@ return LOWEST_RESOLUTION_PNG; } - function getResolutionPngSrcCandidates(fileName) { - var safeName = encodeURIComponent(String(fileName || "")); - return [ - PLUGIN_BASE_URL + "assets/" + safeName, - PLUGIN_BASE_URL + safeName, - "/plugin/" + PLUGIN_ID + "/assets/" + safeName, - "/plugin/" + PLUGIN_ID + "/" + safeName, - ]; + function getEmbeddedResolutionImage(fileName) { + var map = + typeof window !== "undefined" && window.GroupDetailsImages + ? window.GroupDetailsImages + : null; + if (!map) return ""; + var key = String(fileName || ""); + var uri = map[key]; + return typeof uri === "string" ? uri : ""; } function createResolutionPng(spec) { if (!spec || !spec.file) return null; + var src = getEmbeddedResolutionImage(spec.file); + if (!src) return null; var img = document.createElement("img"); - var candidates = getResolutionPngSrcCandidates(spec.file); - var idx = 0; img.className = "gd-resolution-png"; img.alt = spec.label; img.setAttribute("aria-hidden", "true"); - img.src = candidates[idx]; - img.addEventListener("error", function () { - idx += 1; - if (idx < candidates.length) img.src = candidates[idx]; - }); + img.src = src; return img; } diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index e8b5a90e..669b56ea 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,9 +1,10 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.23 +version: 0.1.24 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: + - images.js - GroupDetails.js css: - GroupDetails.css diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js new file mode 100644 index 00000000..f5a2bac1 --- /dev/null +++ b/plugins/GroupDetails/images.js @@ -0,0 +1,17 @@ +"use strict"; +(function () { + var MAP = { + "144p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAE4klEQVR4nO3d0XLaSBCGUezK+79yNtRaVV4WYqSRRt2/zrnYyqYSB2w+eiRG8Ov24PcfN6C0jz/+8//LLwQM/SxBf97/I2LoaWn31w1o78M0hv5MZAggZAggZAggZAggZAggZAggZAggZAgwFPLjxm1gu5HNWZ+3AXaFQQ2W1hDA0hoCmMgQQMgQQMgQQMgQQMgQQMgQQMgQwM4uCGAiQwAhQwAhQwB7rSGAiQwBnLWGAJFL67VPMBXvR8f7kPB972poInOMjiudLbfZim4/ccfI3R8cHtxsEXWMLIJz+L6fz8tPhVxlSc3+YpbWltTzibiOiJBFPJ+Ia2kfsojnE3E9rUMWMfyrZcgCOI/vfU2tQk56EFlSs6cWIac9gETM3kqHnPjgETFHKBly6gNHxBzF9ciTCGLcnldXvfu1uuxeFDIvJby89xji2vu0/PnqQQt5gi2T5OyInGB8/verBu165INd5bi48sTa82dQ9ecZE3LCu3zcnX0/0iK+ivZL65S3G7oT8f6OmKDPjr3P1noii/hcV57E1ZbYLSdy2gPIG+cxqlXIHR48HYNIO0M9S6UldvmQOz3zXyVi07iesiF3e7B4mamHZ7d/5GdXZSqXPNl1hYidoZ7v1e1PWGHYEDLIGeoefrr93e+fLZoDukZ8tTPUVzimN5EnEnFtW+9rhfMjJvJGVzhD7ex0H0Ke5Ohn7VdffyTGGZPmiNt9RUKGAEKGAEKGAEKGAEKGAEKGL52vArMhhHhXuExTyFzCTzGPxO7qJ5joVawJE9sxMpeSuswW8kZHL6eO2Bdd7TbfubJqH0KGAEKGAEKGjSodFggZNqh2bC9kWKniCTqvIxNvz/CqnmUXMpewR4CVXyqztOYytn6AfIfXuqNCTnqfJ+99fYzH25jynmEmMpeW8uQvZAggZAggZAggZAggZAggZAggZAggZAggZAggZAggZAggZNpIuihmb0KGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEOf/bTl4zeA/xttaXgiixnOZ2kNAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYRcyE+fpDCyr/2dT2mwb76vDz+8c239GJQ1P7fRj1rxGKlv6DJGxowENvNzkD6+3ChLyCfZI4zZgYm5LsfIJ+gcxHLbLbdrEXIhP8Xx7Alga1B/+3smbz9CnuxVJO8EufyZo6fi96/76vbef99UrsMxckO/v9wmMLl7EDI/MnnrEzJDTOUahMxbTOXahFyEycYIIRdSPeZXU9mT0PmEPNk7rxULg7WEfIJ3jjc/vrkdwJNFFhtCbvUdsQHEyassQj7J4y6tdxy9o4u+LK1PtiVKx9E8MpELeGdv8zP2O7MwkYtZu4/aZObORC5qyzE012UiF/fOhBY7Qm6iwrHwyLXUHEvIjQiGVxwjQwATuZmzprJldW1CPkGX97M+899kHUvryZYoumy3/FvEpnEdQp7oWRRrdmfNXN6awr0IuYDHaLZu2Rz5N9cyjWsRckFrIjsjKBHX42TXRHsHIGIWJvJke+2hnh2UgGsT8km2Bj0zKPH24XrWorwbCGuYyEUJmDWEDAGEDAGEDAGEDAGEDAGEDAGEDAGEDAE+XXcKvd0b/lx+cQPaWdr9fPwNoIfvzf4DPsGeEYECe94AAAAASUVORK5CYII=", + "240p.png": "data:image/png;base64,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", + "360p.png": "data:image/png;base64,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", + "480p.png": "data:image/png;base64,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", + "720p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAFFklEQVR4nO3d7XKbRhiGYarJ+Z9yGrVRR7WtGLEf7PtwXb88TkZGEje7IBA/tic/f9mAEv765fHz7fGDiKGW52ZvH38B1PFo9y8RQ30/NqA8IUMAIUMAIUMAIUMAIUMAIUMAIUOA5pCfz/cEjmk9Meu2NRAx9NHakqk1BBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBFgq5FXvQ9Xrm1Ban99Z38jSsty+RWaOZUJe+WZy92U7ukL2fF7PjzUjkB7L/t/dAgU9lKn1IKM3TCMDGbHsgh5LyAPMnF30DGTGcrfMbnit6Vs0+b+fv20naP27Z2x86EfIQY4GckZYYu5LyJ1UXTHPXG4x9yPkDlZaIavFIeY+HOy6MBHlEHKjXjE8H8ntceBq9JHhj4/fssyOZLcT8g4jV7KvHvvxu5EjZu+ztWYsM6/ZR/7G7Ijf+fczGDnXtMyIPHIFOTpKnBlxqxHT1T2Pd/8/R15v0+s2ptYv7FmpZkwjj4bxJ6a///rudai0YYkP+chKO/tAUZoRG5+7Xu/l3sepdH54dMijIx61wvZgmvpZ65lvK7+mptaN3nlzj+47bguYddnkqL/T65LMVWOODdmUmoeeG8NVY478+GnFiI9wUKrdKvvqo/kcebtWxDYOfaz2OsZNrRNW1NbnYAp/PVEjcsKU2ohZx0rvlaPWC+mxYhiNrykm5OqjsYjnqXal2R5G5AWIeI7kq7YiQq46GtsfnmfPlWaV34/yIVd98Xsut9GYS36OfPaKL+K59r5GR1/LFQYT+8gTCZhRSodcad9YxIxkRJ5AxIxWNuQqB7l6LWevgKsfneVrlxqRZ49mq0VMLlc/DZIWsVF8bSVH5NVXKmdqHWPmcdxlptazVhIRcwZT646qRDzjO7W3hbz7rZkVlQs5eV9t9ZHYfvLXXP0UpNe3NG4dnbGCHX0OZ995w9VPBVxtKjnSn4KochCy5/XIqzAiX1TLiSEfg6gWQ+KGV8iNrrzf6ISXdZa91MEuB1v68jFXDh8/NUjYsJwds9G4DyFz2gop4n7i95FNH9fkfenLwS7+MfMIdPWI3cStQdXT/qpJvCNlz7+56kbIiMwnI0bnVQ6qrXrmWasyIa/2Ql5hH6/1DKgVX6N3gq70HhuR2SVtw5X2fIQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYRMGb5V5DUhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQ4CmkFNvZAbVGJEhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJBP8NUdE45egPLq7gt7Hu/onRtcLLMeIfO25w2AqNcgZJo8ohb0uW4bdOAGa+cyIvPJx9F1b6T3/2dkPoeQ+dY7YYv5HKbWvO27UE2z5zMic8gjZtGuwYjMEAKfS8g0sT+8BlNrCGBEptmrUdn0eh4jMgQQ8iKMXrQQMgQQ8gb1CRkCCBkCCHkhR06ucJCMOyEvwhlStBAyBBAyBBAyzVq+yZM+hAwBhEwTR83XIGSGMK2eS8gcZjReh5B523cBG43nEzK77RmBRXwOIfOJm7vVI2S6EPG5hEwTAa9ByBwi4LW4Tw8EMCJDACFDACFDACFDACFDACFDACFDACFDACFDgJuLw6G2e8O3xw8bUM6j3dvHXwA1PDcr3t/uF4/YmFHV38xSolR1KQ3WAAAAAElFTkSuQmCC", + "1080p.png": "data:image/png;base64,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", + "2k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACmCAYAAADgd9JFAAAGi0lEQVR4nO3d6VLbShAGUEPx/q/MjQt849iyrGWWnp5zfpEiCGs0n7q18nW58/3HBRjCxx//f337QohhTNdAf12/EGIY24cQw/i+LsDwBBkSEGRIQJAhAUGGBAQZEhBkSECQIYHTQb6/3xM47szNWaeCLMQQg9YaEhBkSECQIQFBhgQEGRIQZEhAkCEBQYYEBBkSEOQVR2+Zc8cbrQnypfxbRF8tr3XAa71YseZ69HgZZIYd77RB7jFh7n+nqv3MG12Pmy7IUSbL7XMI9I9e2yXL+E8V5Ih7fIHuJ9OYTxHkEVq262ecNcyOi8/7vCQ30nHXjMeIQlzGqSBHn3gjBmOmMAtxOaeCHHlQRg7EDGEW4rJSttYZgpA5zEJcXvpj5JFlDLMQ15HuGHnGE0a8NsuVgLTHyFlk2jG1XpeZ5meq68iqcVxCXJeHJnZamiC1J+noN4vYwdaXJsg1J8u7EN2+b8I+c3KrDWet39gzKZwz+JcQtyPIK45MCmH+IcRtpQhytJa2xoTStq+bfQfqZNcLKutxzlC3J8gUJcR9CDLFCHE/TnYtKDFBZptkQtyXilyJ54rrEeJnKYJ8ZMM6C1yGEMcwbUUebUKYwMZgjda6glmqfcv1FOJ1gswhQhyLIBfmfVtlCfE2glzQiH9riRxcRy7EWfA6jOs2glxAz2ehZyDM72mtTzLJiEBFPqF2iFXjv+ww16nIB5lYRCLIO7UKsGr8bPSXENaktd5BiPvTCS1TkTcSYiIT5DfcxRSPFvuZIK8QYkbhGPkFIY7NsfK/BHmBEI9BmP/SWt/xtgtGpSL/EuIxqco/VOSLVprxTV+Rhbiej1+XylTlyYMsxPXcr68w1zdlay3AdTl8aG+6iizEdb1aZ1W5rqkqsvul64qw3rPevjlNRRbiurast5a7nimCLMR1RVvvGVts15ELmLnS7F336/93uai89BXZe7XmNNvOInWQhbiuo+vfatxmCnPa1lqI69KJxJKyIgtxXSXWX1Uuy8muA3pNDlWQV9JVZGdEx6Eql+N5ZKaQPcypgqwaj8fhQhlpgizEvJN5jmit6a5lVc4aZmetIYEUFVlbPT5V+RwVGRJwjEwYqvJxwwdZW81RmeaOikworisfI8hMLUtVFmTCUZX3GzrIjo8pIcM8UpEJqXVVHj3MQwdZC5bb0vattc1Hn0un3mgoSFDOmSy6swsSEGRIQJAhAUGGBAQZEhBkSECQIQFBhgQEGRI4FWQPLUAMKjIkIMiQgCBDAoIMCQgyJCDIkIAgQwKCDAkIMiQgyJCAIEMCggwJCDJdLL1K+exDOI/LXFve2Vc5R3tgKFSQtwxuqY1dakOUWt79upf4bEcmqqfZtis9j84KEeR3e+f775ea8NflRNkIUV70X3pnMoMoge4a5K2t0Fqojw5g5IlaciezZzlLO0yB3qZ3YegW5KN7/9v/vf18pMp61nU9elbnpR1mpvF9Z8t6rm2fnmPV5Y+4lWjhXlXp0UStfFnGd6ut4//969X3e41V17/GeHbyZpxsjx1HT7OFeY+1QPcYq+ZBLl2BZmn7ejG+66KMT6o/dD5a1RjthJKqvF3rsWoa5FoTN1vViNReX6nK6yKMT6qKTH2qckzpgjzKRHvXnajKY1kan5bbrlmQa6+UiTa32TuF5jeECJy7pl7Rth/nGDmwaO11ZqOPsccYLzA+QW5MWx3T6NtDkIO7PUgxw8MLZx9LvUys2y2aUNLsHY6K3NDS8757f15LzpJmQa79rO3eY8/eoTj6wD8sUZEbO7LzqL0T3MLOZN3S+LQsFN1fLNBaryp8dp2jXFPW2sfUNMi1JoFqUZfxXde7Gl91u7OrxuSIWi2yXDtWjZ9F2ck1D3LpyXAkJKXa1NYB7dFeZ9kJ1fBqO/QYq673WpcKUo9lzNBuaqlfizY2XYJc4qVu9z939Ezw0rLOLGdJrYpW+1Le2fEdzdbxfBybR73Gqtvlp/tLKnsm++Mgnhm4x8+w9/f32Gj3n7m0kmM7olJXFnroeh358ZivR7uytEPZ+nOXARwdU8fE+/QerxA3hOw5ifNYkbZW0pK//7JRrba61oMUwrtflDEb+t7d2Y7jMqlx7XXPocHIbfSS4W/Cn/24Dq6Gf9XPY3B7HGdDbyne2fX96/ZvYWY2qV6+p61mVukeYxRmZuR5ZEhAkCEBQYYEBBkSEGRIQJAhgU83T8DYrhn+vH1xAYblgQMY1H0B/g+X0yIRqI8pfgAAAABJRU5ErkJggg==", + "4k.png": "data:image/png;base64,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", + "5k.png": "data:image/png;base64,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", + "6k.png": "data:image/png;base64,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", + "8k.png": "data:image/png;base64,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", + }; + window.GroupDetailsImages = MAP; +})(); From eb3e6f69a96857851d292a0a35c1d0ea9b4d0453 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 08:56:40 -0400 Subject: [PATCH 20/41] Update Group Details plugin to version 0.1.25 by removing the 480p resolution image and optimizing the embedded resolution images for better performance. This change streamlines the image assets used in the plugin, ensuring only relevant resolutions are included. --- plugins/GroupDetails/images.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js index f5a2bac1..760792dc 100644 --- a/plugins/GroupDetails/images.js +++ b/plugins/GroupDetails/images.js @@ -4,7 +4,7 @@ "144p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAE4klEQVR4nO3d0XLaSBCGUezK+79yNtRaVV4WYqSRRt2/zrnYyqYSB2w+eiRG8Ov24PcfN6C0jz/+8//LLwQM/SxBf97/I2LoaWn31w1o78M0hv5MZAggZAggZAggZAggZAggZAggZAggZAgwFPLjxm1gu5HNWZ+3AXaFQQ2W1hDA0hoCmMgQQMgQQMgQQMgQQMgQQMgQQMgQwM4uCGAiQwAhQwAhQwB7rSGAiQwBnLWGAJFL67VPMBXvR8f7kPB972poInOMjiudLbfZim4/ccfI3R8cHtxsEXWMLIJz+L6fz8tPhVxlSc3+YpbWltTzibiOiJBFPJ+Ia2kfsojnE3E9rUMWMfyrZcgCOI/vfU2tQk56EFlSs6cWIac9gETM3kqHnPjgETFHKBly6gNHxBzF9ciTCGLcnldXvfu1uuxeFDIvJby89xji2vu0/PnqQQt5gi2T5OyInGB8/verBu165INd5bi48sTa82dQ9ecZE3LCu3zcnX0/0iK+ivZL65S3G7oT8f6OmKDPjr3P1noii/hcV57E1ZbYLSdy2gPIG+cxqlXIHR48HYNIO0M9S6UldvmQOz3zXyVi07iesiF3e7B4mamHZ7d/5GdXZSqXPNl1hYidoZ7v1e1PWGHYEDLIGeoefrr93e+fLZoDukZ8tTPUVzimN5EnEnFtW+9rhfMjJvJGVzhD7ex0H0Ke5Ohn7VdffyTGGZPmiNt9RUKGAEKGAEKGAEKGAEKGAEKGL52vArMhhHhXuExTyFzCTzGPxO7qJ5joVawJE9sxMpeSuswW8kZHL6eO2Bdd7TbfubJqH0KGAEKGAEKGjSodFggZNqh2bC9kWKniCTqvIxNvz/CqnmUXMpewR4CVXyqztOYytn6AfIfXuqNCTnqfJ+99fYzH25jynmEmMpeW8uQvZAggZAggZAggZAggZAggZAggZAggZAggZAggZAggZAggZNpIuihmb0KGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEOf/bTl4zeA/xttaXgiixnOZ2kNAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYRcyE+fpDCyr/2dT2mwb76vDz+8c239GJQ1P7fRj1rxGKlv6DJGxowENvNzkD6+3ChLyCfZI4zZgYm5LsfIJ+gcxHLbLbdrEXIhP8Xx7Alga1B/+3smbz9CnuxVJO8EufyZo6fi96/76vbef99UrsMxckO/v9wmMLl7EDI/MnnrEzJDTOUahMxbTOXahFyEycYIIRdSPeZXU9mT0PmEPNk7rxULg7WEfIJ3jjc/vrkdwJNFFhtCbvUdsQHEyassQj7J4y6tdxy9o4u+LK1PtiVKx9E8MpELeGdv8zP2O7MwkYtZu4/aZObORC5qyzE012UiF/fOhBY7Qm6iwrHwyLXUHEvIjQiGVxwjQwATuZmzprJldW1CPkGX97M+899kHUvryZYoumy3/FvEpnEdQp7oWRRrdmfNXN6awr0IuYDHaLZu2Rz5N9cyjWsRckFrIjsjKBHX42TXRHsHIGIWJvJke+2hnh2UgGsT8km2Bj0zKPH24XrWorwbCGuYyEUJmDWEDAGEDAGEDAGEDAGEDAGEDAGEDAGEDAE+XXcKvd0b/lx+cQPaWdr9fPwNoIfvzf4DPsGeEYECe94AAAAASUVORK5CYII=", "240p.png": "data:image/png;base64,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", "360p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAGaElEQVR4nO3d227bOhAFUCfI//9yToPGgKvjiyTeZsZrPRRtGtu0xK2hZFL+umx8/3EBQvv4459/X/8iwJDPNdCfP38IMeR0ze7XBUjtJ8xfqjHkpyJDAYIMBQgyFCDIUIAgQwGCDAUIMhQgyFBAc5C3k7eBc1omZzUFWYghBkNrKODz0sA8bYjB0BoKUJGhABUZCnCxCwoQZChAkKEAQYYCBBkKEGQoQJChAEGGAgQZChBkKECQoYASQd6zeCPqvPCMbX/WZvPv10gZ5DOrru49ZkWn69H2me0+2t6VbX1naYI8Ysnk9TlndLae7Z/R7l7tvX0eoR4nRZBHr3seGYyRbR/R7mzt5a+mGwuM9v3rMknv15rV9hHVc6SZ+/RdhA3yqp2dLRS9Xi9be/lXyCCv3snZQtH6utkPmgQfWmeU7SAkTDWEC3KUjtXrI67IIrTXgaSPUjO7tldDM3WSnm3/eawrw+8lVJDPdt5Hnfb68xmBHtH2qAeiR21uOUd34GnjHDmwiBM+nrVJGNcJE+QRHevI77QY2fZszr4n58ptwgytZw6DM3k0xF5xEFBx4wp3seteZ6kY7iOh6B2g0dtz1Pn90ed8tt32PleWg1eKq9aRN6YRRFz3LqKd/Zw9eqDf4mKXsOUwa3HM2cdG7kfl7xCS8ULUozavbFP28+Oec+gjbovSQc5Uife09fZ3XHjar3c/iBjmMkHuubMi34Fj+ziBfu5dTqtMCNk4EozWYXuPTnb03G1Wx65+gIl2gBDkG7M634gLJ9E61jtUwkjvUZB/Vagg7zKM5P8E+ZcQkJkb1N+ocAEpyhXVUbO7WvWeORhle5eoyNXPN48yurjv1XLXzFTkB2YfaVunEvLcq30ZdQSxl3PkJ2bs2I9fe3/OcVGXsfZULsgfG5dGI3fSyLXUKvpxmQ+cJYbWe+5akbljZx/2Md7bDK2jHW2rD5sdeOZyjrxDxNVIcOutgix4tkFVKjK7GCrH5nNkKCBVkLdVwTAR/goX5KNra4W5DvvyvFA3qM94Hpax842eZJJ1bbQpmkm03tGjJxeP5lo9Q2+09EGOEIh3mMt79aotkQ6WW4/alnU0eCtMkFt25J6dEHFHjWz3ntU+l5OeBeIS3PcdlwJK3UXzUeds2Vmzqm3vBe+jVQlAFaGC3Lo4YGXnitT2vQefKIsxMl+tjtJ2M7ueOLqTfHzCKuGCHCUMZ9uxuv3ZDj6qcR8hK7LKdk62g48Q9xN2aL1yQ7W+9oq2Z2uzEPcV+hx5Refq9Zo9n2vPa106yNbeFa8X9QAU/uOnWbfqGbWDRl4ZHtHmkdt79Sir9T1FHkWk+Rx5RAdbUYF6tH9Gu3tu72gXMI++p8gBvko3IWS7UY/slAg75Gz7o1yQit7ePfYcWDOE91b6mV3ZNvhWtvZn395bVd6PO4RAAYIMBQgyFCDIUIAgQwGCDAUIMhQgyFCAIEMBggwFCDIUIMikUW2ed0+CDAUIMhQgyFCAIEMBggwFCDIUIMhQgCBDAYIMBQgyFCDIUIAgQwFNX+IW4dvugQ4VWZhhPUNrKECQoQBBhgIEGQoQZChAkKEAQYYCBBkKEGQoQJChAEGGAgQ5kFffpHB2Xvv2eX+e595rmTef14edt9bZr0E5st9av2pFH4mvaRkjbVoCNvN7kD5+XQjL0HqRHsG4Psesijn79dhPRV4ge3VTneNRkYN5Vu16X6B69Ng9Qf35HZU5DkGe7FFI9oTi+jujh7i3z6v65mBondD3r8sER0cIrCHIvGQIHZ8gs0vL+TTjOUeGAlTkIFQ2WghyINHDbHgdlyBP9urCkemQnOEceYFHq49u3f6/q8a8oiJf1ji6ekmV5hlBXuhopRVoHhHkxc4MmwWaLefIAZyd22zhAlcqcjBH51GrzPxQkYParnSCZ1Tk4PZUaGFHRU4iQoVuWUvNWIIMBRhaJ6P6cY+KzC7Ow2MT5AVa7rm1IlDPXtMIIQZD68luQ5GhyqnEOajIE90LxZHqPPvbJV79jmochyAH8WjZ4shAtRwYhDgWQQ7oSMBWBEqI4xHkiXpP6hBirgR5gT13CNnzHJeJBDg2QV7kbHWeGSjhzcN61qCsNeYIFTkoIeYIQYYCBBkKEGQoQJChAEGGAgQZChBkKODTelPIT0WG5H6K8ef1LxcgnWt2P7c/AHK4zex/FTjWRfQkzwcAAAAASUVORK5CYII=", - "480p.png": "data:image/png;base64,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", + "480p.png": "data:image/png;base64,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", "720p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAFFklEQVR4nO3d7XKbRhiGYarJ+Z9yGrVRR7WtGLEf7PtwXb88TkZGEje7IBA/tic/f9mAEv765fHz7fGDiKGW52ZvH38B1PFo9y8RQ30/NqA8IUMAIUMAIUMAIUMAIUMAIUMAIUOA5pCfz/cEjmk9Meu2NRAx9NHakqk1BBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBFgq5FXvQ9Xrm1Ban99Z38jSsty+RWaOZUJe+WZy92U7ukL2fF7PjzUjkB7L/t/dAgU9lKn1IKM3TCMDGbHsgh5LyAPMnF30DGTGcrfMbnit6Vs0+b+fv20naP27Z2x86EfIQY4GckZYYu5LyJ1UXTHPXG4x9yPkDlZaIavFIeY+HOy6MBHlEHKjXjE8H8ntceBq9JHhj4/fssyOZLcT8g4jV7KvHvvxu5EjZu+ztWYsM6/ZR/7G7Ijf+fczGDnXtMyIPHIFOTpKnBlxqxHT1T2Pd/8/R15v0+s2ptYv7FmpZkwjj4bxJ6a///rudai0YYkP+chKO/tAUZoRG5+7Xu/l3sepdH54dMijIx61wvZgmvpZ65lvK7+mptaN3nlzj+47bguYddnkqL/T65LMVWOODdmUmoeeG8NVY478+GnFiI9wUKrdKvvqo/kcebtWxDYOfaz2OsZNrRNW1NbnYAp/PVEjcsKU2ohZx0rvlaPWC+mxYhiNrykm5OqjsYjnqXal2R5G5AWIeI7kq7YiQq46GtsfnmfPlWaV34/yIVd98Xsut9GYS36OfPaKL+K59r5GR1/LFQYT+8gTCZhRSodcad9YxIxkRJ5AxIxWNuQqB7l6LWevgKsfneVrlxqRZ49mq0VMLlc/DZIWsVF8bSVH5NVXKmdqHWPmcdxlptazVhIRcwZT646qRDzjO7W3hbz7rZkVlQs5eV9t9ZHYfvLXXP0UpNe3NG4dnbGCHX0OZ995w9VPBVxtKjnSn4KochCy5/XIqzAiX1TLiSEfg6gWQ+KGV8iNrrzf6ISXdZa91MEuB1v68jFXDh8/NUjYsJwds9G4DyFz2gop4n7i95FNH9fkfenLwS7+MfMIdPWI3cStQdXT/qpJvCNlz7+56kbIiMwnI0bnVQ6qrXrmWasyIa/2Ql5hH6/1DKgVX6N3gq70HhuR2SVtw5X2fIQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYRMGb5V5DUhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQ4CmkFNvZAbVGJEhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJBP8NUdE45egPLq7gt7Hu/onRtcLLMeIfO25w2AqNcgZJo8ohb0uW4bdOAGa+cyIvPJx9F1b6T3/2dkPoeQ+dY7YYv5HKbWvO27UE2z5zMic8gjZtGuwYjMEAKfS8g0sT+8BlNrCGBEptmrUdn0eh4jMgQQ8iKMXrQQMgQQ8gb1CRkCCBkCCHkhR06ucJCMOyEvwhlStBAyBBAyBBAyzVq+yZM+hAwBhEwTR83XIGSGMK2eS8gcZjReh5B523cBG43nEzK77RmBRXwOIfOJm7vVI2S6EPG5hEwTAa9ByBwi4LW4Tw8EMCJDACFDACFDACFDACFDACFDACFDACFDACFDgJuLw6G2e8O3xw8bUM6j3dvHXwA1PDcr3t/uF4/YmFHV38xSolR1KQ3WAAAAAElFTkSuQmCC", "1080p.png": "data:image/png;base64,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", "2k.png": "data:image/png;base64,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", From 8ade1bea2ca72b5ad0b88b48d74f4045ddd61388 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 08:58:17 -0400 Subject: [PATCH 21/41] Update Group Details plugin to version 0.1.26 by removing the 480p resolution image and optimizing the embedded resolution images for better performance. This change streamlines the image assets used in the plugin, ensuring only relevant resolutions are included. --- plugins/GroupDetails/images.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js index 760792dc..6265c87b 100644 --- a/plugins/GroupDetails/images.js +++ b/plugins/GroupDetails/images.js @@ -5,10 +5,10 @@ "240p.png": "data:image/png;base64,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", "360p.png": "data:image/png;base64,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", "480p.png": "data:image/png;base64,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", - "720p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAFFklEQVR4nO3d7XKbRhiGYarJ+Z9yGrVRR7WtGLEf7PtwXb88TkZGEje7IBA/tic/f9mAEv765fHz7fGDiKGW52ZvH38B1PFo9y8RQ30/NqA8IUMAIUMAIUMAIUMAIUMAIUMAIUOA5pCfz/cEjmk9Meu2NRAx9NHakqk1BBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBBAyBFgq5FXvQ9Xrm1Ban99Z38jSsty+RWaOZUJe+WZy92U7ukL2fF7PjzUjkB7L/t/dAgU9lKn1IKM3TCMDGbHsgh5LyAPMnF30DGTGcrfMbnit6Vs0+b+fv20naP27Z2x86EfIQY4GckZYYu5LyJ1UXTHPXG4x9yPkDlZaIavFIeY+HOy6MBHlEHKjXjE8H8ntceBq9JHhj4/fssyOZLcT8g4jV7KvHvvxu5EjZu+ztWYsM6/ZR/7G7Ijf+fczGDnXtMyIPHIFOTpKnBlxqxHT1T2Pd/8/R15v0+s2ptYv7FmpZkwjj4bxJ6a///rudai0YYkP+chKO/tAUZoRG5+7Xu/l3sepdH54dMijIx61wvZgmvpZ65lvK7+mptaN3nlzj+47bguYddnkqL/T65LMVWOODdmUmoeeG8NVY478+GnFiI9wUKrdKvvqo/kcebtWxDYOfaz2OsZNrRNW1NbnYAp/PVEjcsKU2ohZx0rvlaPWC+mxYhiNrykm5OqjsYjnqXal2R5G5AWIeI7kq7YiQq46GtsfnmfPlWaV34/yIVd98Xsut9GYS36OfPaKL+K59r5GR1/LFQYT+8gTCZhRSodcad9YxIxkRJ5AxIxWNuQqB7l6LWevgKsfneVrlxqRZ49mq0VMLlc/DZIWsVF8bSVH5NVXKmdqHWPmcdxlptazVhIRcwZT646qRDzjO7W3hbz7rZkVlQs5eV9t9ZHYfvLXXP0UpNe3NG4dnbGCHX0OZ995w9VPBVxtKjnSn4KochCy5/XIqzAiX1TLiSEfg6gWQ+KGV8iNrrzf6ISXdZa91MEuB1v68jFXDh8/NUjYsJwds9G4DyFz2gop4n7i95FNH9fkfenLwS7+MfMIdPWI3cStQdXT/qpJvCNlz7+56kbIiMwnI0bnVQ6qrXrmWasyIa/2Ql5hH6/1DKgVX6N3gq70HhuR2SVtw5X2fIQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYRMGb5V5DUhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQwAhQ4CmkFNvZAbVGJEhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJAhgJBP8NUdE45egPLq7gt7Hu/onRtcLLMeIfO25w2AqNcgZJo8ohb0uW4bdOAGa+cyIvPJx9F1b6T3/2dkPoeQ+dY7YYv5HKbWvO27UE2z5zMic8gjZtGuwYjMEAKfS8g0sT+8BlNrCGBEptmrUdn0eh4jMgQQ8iKMXrQQMgQQ8gb1CRkCCBkCCHkhR06ucJCMOyEvwhlStBAyBBAyBBAyzVq+yZM+hAwBhEwTR83XIGSGMK2eS8gcZjReh5B523cBG43nEzK77RmBRXwOIfOJm7vVI2S6EPG5hEwTAa9ByBwi4LW4Tw8EMCJDACFDACFDACFDACFDACFDACFDACFDACFDgJuLw6G2e8O3xw8bUM6j3dvHXwA1PDcr3t/uF4/YmFHV38xSolR1KQ3WAAAAAElFTkSuQmCC", - "1080p.png": "data:image/png;base64,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", + "720p.png": "data:image/png;base64,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", + "1080p.png": "data:image/png;base64,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", "2k.png": "data:image/png;base64,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", - "4k.png": "data:image/png;base64,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", + "4k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAFEUlEQVR42u2da0xbZRjH/6cBFijQZY4MLJnLPrjEjbszMeF+26bR6Jx+UO7bzBK/KZeuXaGs0IG6mLkBhUIpUAqILDNq5u3DvGzcyk0zFzHZkmlcnLGLlUsIo/XDXAK0cA7sQ99z+vw+vufl5Mn7/70PPSenPQDh13B8E3bs3OOmZRIvf97+hduUABS8f4jACQn/5vR1WkERsvvJvbwScOuFT8FLT4TVEnDewqfgpS3Ccglk9D/f/1ietWz1Qdr90sVbtjLa/f7dBWS0+/27C8hoSfwbEoAEIEgAwm8JEFOx9+8v4fkXX8b1n2/wzh0d/B5RUZGCzvvCS0cwMTm15vFopRJDV68IrnNicgqv5xXh35mZdefF7NuL3u4OKBQK6gBCuNBoFBS+LxmfmBRN+KISYHr6V5w738B0jWPjE3gjv5g3/NiYfUyELxoBlpaW8HaZCouLi8zWaB8bFxx+j9XCRPiiEaDZZMbk1I/M1jdqH0NeQQlmZmfXDz82hpmdL5oPgTdv3cLZD86xHX5hCWZn5/jDt1oQHh5Ol4FCcblcKC1XY2Fhgcn6hkfsgsKPi4tlMnzmBWi3dGFk1O4x/nhUFBPhFxQfFXX4TAtw+7ffUf/+WY9xjuNgqKn2cfijyC/i3/nx/4cfFhbG7CZjUgC3242yCjXm5uY9jhUV5OGZ/Uk+q21oeAT5RUe91rY6/B7Gw2dWAKutF1evDXqMRyuVUJWX+qyuwaFh5Bcd4w0/IT5OFOEzKcAfd+6g1lDv9Vj9GT3k8hCf1HVtcAgFxccxP88fvk0k4TMpQLnqlNfr6VdfOYy01BSf1OS450BhyZu84ScmxD8IPzQUYoGp+wB9/QO48u13HuMR27ejSqv2WV18Lf9h+N1d7aIKn6kOcPfuX6jWG7weq9XrsHWrgtlFTEpMEGX4THWAk5pKOJ1Oj/FDB3Px3KEDzIcfKpdDjDDRAS598im+/Pobj3GFQgGDXsf0Au7a9QRCgoMhVnwuwN8OByqr9V6PVWnViIiIYHoBBy5eQmn5SbhcLhJgM2i0Ojgc9zzG01KS8dqRw6JYxI8+voiyCjXcbjcJsBEuf/EVPvv8sse4XB6C+roaUS1kX/8AylUa0UngUwHW+tSvKnsH0UolM4sUHByMLVu28M7r6etHhVorKgl8KsA/Xj71P52UiMKCPKYW6bFt22BuNQqSwNbTB5WmUjQSMPdAiH1sHDt373nk8+x/duVdw8jIHbAP/bDp86WlJMPcakTJsRO8zyd023rBAThTexocx1EHkAppKckwm5oQFBTEO9dq64VGq2O+E5AAG5UgNUWwBJ1WG05VVpMAUiM9LRVtLY2CJOjo6mZaAhJgk2Skp6G1uUGQBJZOK7Q6PQkgNTIz0mEyNiAwMJB3brulE1Wn2bu34dOrgBs/jW/q75xOJ56KXf+xsI18N/BRyMp8IMHxE2/xfnGlzdwBDhx0lRrqAFIiOysDLU0XBHWCVrNlzRtgJICIycnORHPjeQQE8DdVU1s79LV1JIDUyM3JQnOTMAmaTW2oWePZRxJAxBzIyYax8UNBEhhbWmGoe5cEkBoHc3MES9BoNMFQ/57PauUA+olYf2P5T8ZSB/BzSAASgCABCBKAIAEIfxdg9TtmCOleAq4QgO/VYoT0eJi5jM8QQrq7f4UA1AX8b/cD9No4v9v56742zpsEJIJ0Wr6gF0euJQEhnbYvSAASQdrBEwQA4D8iUuD1D944jQAAAABJRU5ErkJggg==", "5k.png": "data:image/png;base64,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", "6k.png": "data:image/png;base64,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", "8k.png": "data:image/png;base64,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", From 8cfce16bb677eadc669b8c879a45492d806d26c8 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 08:59:49 -0400 Subject: [PATCH 22/41] Update Group Details plugin to version 0.1.27 by removing the 5k resolution image and optimizing the embedded resolution images for better performance. This change further streamlines the image assets used in the plugin, ensuring only relevant resolutions are included. --- plugins/GroupDetails/images.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js index 6265c87b..8f76a030 100644 --- a/plugins/GroupDetails/images.js +++ b/plugins/GroupDetails/images.js @@ -9,9 +9,9 @@ "1080p.png": "data:image/png;base64,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", "2k.png": "data:image/png;base64,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", "4k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAFEUlEQVR42u2da0xbZRjH/6cBFijQZY4MLJnLPrjEjbszMeF+26bR6Jx+UO7bzBK/KZeuXaGs0IG6mLkBhUIpUAqILDNq5u3DvGzcyk0zFzHZkmlcnLGLlUsIo/XDXAK0cA7sQ99z+vw+vufl5Mn7/70PPSenPQDh13B8E3bs3OOmZRIvf97+hduUABS8f4jACQn/5vR1WkERsvvJvbwScOuFT8FLT4TVEnDewqfgpS3Ccglk9D/f/1ietWz1Qdr90sVbtjLa/f7dBWS0+/27C8hoSfwbEoAEIEgAwm8JEFOx9+8v4fkXX8b1n2/wzh0d/B5RUZGCzvvCS0cwMTm15vFopRJDV68IrnNicgqv5xXh35mZdefF7NuL3u4OKBQK6gBCuNBoFBS+LxmfmBRN+KISYHr6V5w738B0jWPjE3gjv5g3/NiYfUyELxoBlpaW8HaZCouLi8zWaB8bFxx+j9XCRPiiEaDZZMbk1I/M1jdqH0NeQQlmZmfXDz82hpmdL5oPgTdv3cLZD86xHX5hCWZn5/jDt1oQHh5Ol4FCcblcKC1XY2Fhgcn6hkfsgsKPi4tlMnzmBWi3dGFk1O4x/nhUFBPhFxQfFXX4TAtw+7ffUf/+WY9xjuNgqKn2cfijyC/i3/nx/4cfFhbG7CZjUgC3242yCjXm5uY9jhUV5OGZ/Uk+q21oeAT5RUe91rY6/B7Gw2dWAKutF1evDXqMRyuVUJWX+qyuwaFh5Bcd4w0/IT5OFOEzKcAfd+6g1lDv9Vj9GT3k8hCf1HVtcAgFxccxP88fvk0k4TMpQLnqlNfr6VdfOYy01BSf1OS450BhyZu84ScmxD8IPzQUYoGp+wB9/QO48u13HuMR27ejSqv2WV18Lf9h+N1d7aIKn6kOcPfuX6jWG7weq9XrsHWrgtlFTEpMEGX4THWAk5pKOJ1Oj/FDB3Px3KEDzIcfKpdDjDDRAS598im+/Pobj3GFQgGDXsf0Au7a9QRCgoMhVnwuwN8OByqr9V6PVWnViIiIYHoBBy5eQmn5SbhcLhJgM2i0Ojgc9zzG01KS8dqRw6JYxI8+voiyCjXcbjcJsBEuf/EVPvv8sse4XB6C+roaUS1kX/8AylUa0UngUwHW+tSvKnsH0UolM4sUHByMLVu28M7r6etHhVorKgl8KsA/Xj71P52UiMKCPKYW6bFt22BuNQqSwNbTB5WmUjQSMPdAiH1sHDt373nk8+x/duVdw8jIHbAP/bDp86WlJMPcakTJsRO8zyd023rBAThTexocx1EHkAppKckwm5oQFBTEO9dq64VGq2O+E5AAG5UgNUWwBJ1WG05VVpMAUiM9LRVtLY2CJOjo6mZaAhJgk2Skp6G1uUGQBJZOK7Q6PQkgNTIz0mEyNiAwMJB3brulE1Wn2bu34dOrgBs/jW/q75xOJ56KXf+xsI18N/BRyMp8IMHxE2/xfnGlzdwBDhx0lRrqAFIiOysDLU0XBHWCVrNlzRtgJICIycnORHPjeQQE8DdVU1s79LV1JIDUyM3JQnOTMAmaTW2oWePZRxJAxBzIyYax8UNBEhhbWmGoe5cEkBoHc3MES9BoNMFQ/57PauUA+olYf2P5T8ZSB/BzSAASgCABCBKAIAEIfxdg9TtmCOleAq4QgO/VYoT0eJi5jM8QQrq7f4UA1AX8b/cD9No4v9v56742zpsEJIJ0Wr6gF0euJQEhnbYvSAASQdrBEwQA4D8iUuD1D944jQAAAABJRU5ErkJggg==", - "5k.png": "data:image/png;base64,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", - "6k.png": "data:image/png;base64,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", - "8k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAGeElEQVR4nO3d23LaMBQFUJrJ//9yWiahIQR80V1Haz10Os2UgNDWkWXZfr88+PjnAgzvzz///377iwDDfG5hfrv+IcQwp1t23y/A1K5hfleNYX4qMgQgyBCAIEMAggwBCDIEIMgQgCBDAIIMAWQF+X7TNpAnZ3OWigwBvF0y2N4JY1CRIQDHyBCAigwBCDIEIMgQgCBDAIJ80LNTbRb7GIUgf0k5J773fwSdVpYOcu0NLY+v3zrYNT9fzc/Sc6PRrIPvkkHu1VHuf69q/ZwQp1kqyCNtKb29F4H+JsTplgjyyHvCr+9NmIU4V9ZFEzOY4cIOF5/0E2UQDR3kmQKycph7ffZIM6GwQZ4xGCuGWYjLCBnkmQOxUpiFuJxwQY4QhBXCLMRlhQpypABEDrMQl2eLJk0JcR1hgtyigzx2hhZbPJ1jzrdCG6rIO7Y6we1nzgMf06OdVhkIBXnD0U4g0PuEuK4Qi101OklKJ6jRcazCp1ntkERFpiohbiP8XusUOR3B4tQ3IW5HRaYKIW5LkB+oqHNa/XsztX5g5Tlf6zY0+KrIFCbEfQgyxQhxPyGm1r7Q/oS4L8fIT+R0ytIdeoYOa12hP1NrsjjNNIYwFbn0l1vjyRPk+fPlwi+m1hvOBHOU/d4tGbjGEWpqfe34pTvX3tMhanVmIf5JJd7mGPkEFYhRhZtaRxi5VR/OCnmMPHMQhPg5s6FtYRe7ZlzhFOJtwvxa+FXrWcIhxORY4vTTyCFxbvQcVfk555E70zHP02a/hT/9NMtjVVVlcoQN8myj9u39CvQxBr+fPI1xMKaNpPA0xgEJ8zHa6ZunMQ5KJz1GO33yELcTPMSNUXlkzAGvzvW2OAes4uzTRq5+2uQhbsxi+oo80vXAtaqzAWLf6m1kZ9cTnv1UVqs2WTnMgkxVtxAb4OqaOsij3ifLc5I/9QjvqlVZRaaKV6v8lwZWDLNVa4ozjW5PRaaovRCrynWoyBSjEvejIlPEmRCryuUJMtlGrsSrhFmQyZIaYtPwsgSZZLOEcYWqLMgkGXXjzKoE+UGJ0dtFDuOJ/p0IMl21rMqRwzx1kEe8bFA1pgcV+YWUQNYMceTjSVU5nyBvOPOlq8T0NH2QW9wzayukez8vYYXVXVU5j73WB6m4sUS7Q2mIqbXjxxicV07nGJllRZplhQlyxNF8xQrV+jNHCXOoihyp45tmcka4qXWEAKweYlX5vKwgj9oAMwdBJSZFVpBH7nQzBkKIv6nK54SsyDczBUOI+5s5zFkbQmbofKM/YE2AX7u2jY04xyyzs2u0QAvwmGbd8ZUV5Bk/9P37bR1q4T1PVT4mq5EidsxSnUZoOSun77lo4oEAMqPQq9awChUZAgh/+glWYGoNAajIEICKDAGoyBBAkYqsMkOe3AzZ/gYBOI8MAQgyBCDIEIAgQwCCDAEIMgQgyBCAIEMAggwBCDIEIMgQQJMg17in9NnXTH0Pta/w2no/qb+7xv750rcRfvbZSt/R9cjrnW3jUa9NUJF3uHf3+Fp+P4+/a5T2FeQDalf9Ur//2XupcYN3N43/Vus7Pyvc85H5dN+xcivWKJ11ZH++XDoR5MBKhvnZa/JbrzCbWgdX6hj/McDRp9c5i5A92kZFXkhKoGdb6Gvh48tlIIK8gBEW3yLKqdqlCTIv7S1yqdbjhFmQIdMIMxSLXQtQOeNTkRdypnLsTatv/26Q+NT78ENFhgBU5OBmqpiqezoVObDUiyeObsm8bTYpuQFCmNMI8iWm1BAzJ0GeQE6VEuI1CHJAJS7QP/oaNabXnCfIE9gLyNnwEY8gB9KrKpaqyqn/1wKZIIdQ6lLF+9cQjrk4jxyEnVZrU5ED6jnFtej1U6u2UJEDablazU+9Z0JTBtn0cZ82WkuTINc6flM9fsu5dW6p373aIPLq87bsn6bWAaUGysB43iiDliAHZ4pdz1bbhr2LZqlpl0WZY3o9HWOF6fVtdf4ykC6nn1JPUaguaZwSOm+2C1WaTq1LnB7JfZ2VaKf2erV582Pk+6nX0VFPiNNtTXVrHaasuHr90fmm9V2m1vd7gx+/7PufPft/l0y5nWvmgcQUu7xR2rPbFs1XgX32bzpfnq3BMYKWn2/UvmiEhgBcNAEBCDIEIMgQgCBDAIIMAQgyBCDIEIAgQwBvriiC+anIMLlrMX67/eUCTOf/xUePP3i199qVMzCOx+L7F88wBijDQceCAAAAAElFTkSuQmCC", + "5k.png": "data:image/png;base64,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", + "6k.png": "data:image/png;base64,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", + "8k.png": "data:image/png;base64,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", }; window.GroupDetailsImages = MAP; })(); From 9fd4f6264e56cac8ec5c55fc73b6995cf6a4f49f Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:02:15 -0400 Subject: [PATCH 23/41] Update Group Details plugin to version 0.1.28 by removing the 240p and 360p resolution images and optimizing the embedded 144p image for better performance. This change continues to streamline the image assets used in the plugin, ensuring only essential resolutions are included. --- plugins/GroupDetails/images.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js index 8f76a030..50e9ec05 100644 --- a/plugins/GroupDetails/images.js +++ b/plugins/GroupDetails/images.js @@ -1,13 +1,13 @@ "use strict"; (function () { var MAP = { - "144p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACnCAYAAAArKwHgAAAE4klEQVR4nO3d0XLaSBCGUezK+79yNtRaVV4WYqSRRt2/zrnYyqYSB2w+eiRG8Ov24PcfN6C0jz/+8//LLwQM/SxBf97/I2LoaWn31w1o78M0hv5MZAggZAggZAggZAggZAggZAggZAggZAgwFPLjxm1gu5HNWZ+3AXaFQQ2W1hDA0hoCmMgQQMgQQMgQQMgQQMgQQMgQQMgQwM4uCGAiQwAhQwAhQwB7rSGAiQwBnLWGAJFL67VPMBXvR8f7kPB972poInOMjiudLbfZim4/ccfI3R8cHtxsEXWMLIJz+L6fz8tPhVxlSc3+YpbWltTzibiOiJBFPJ+Ia2kfsojnE3E9rUMWMfyrZcgCOI/vfU2tQk56EFlSs6cWIac9gETM3kqHnPjgETFHKBly6gNHxBzF9ciTCGLcnldXvfu1uuxeFDIvJby89xji2vu0/PnqQQt5gi2T5OyInGB8/verBu165INd5bi48sTa82dQ9ecZE3LCu3zcnX0/0iK+ivZL65S3G7oT8f6OmKDPjr3P1noii/hcV57E1ZbYLSdy2gPIG+cxqlXIHR48HYNIO0M9S6UldvmQOz3zXyVi07iesiF3e7B4mamHZ7d/5GdXZSqXPNl1hYidoZ7v1e1PWGHYEDLIGeoefrr93e+fLZoDukZ8tTPUVzimN5EnEnFtW+9rhfMjJvJGVzhD7ex0H0Ke5Ohn7VdffyTGGZPmiNt9RUKGAEKGAEKGAEKGAEKGAEKGL52vArMhhHhXuExTyFzCTzGPxO7qJ5joVawJE9sxMpeSuswW8kZHL6eO2Bdd7TbfubJqH0KGAEKGAEKGjSodFggZNqh2bC9kWKniCTqvIxNvz/CqnmUXMpewR4CVXyqztOYytn6AfIfXuqNCTnqfJ+99fYzH25jynmEmMpeW8uQvZAggZAggZAggZAggZAggZAggZAggZAggZAggZAggZAggZNpIuihmb0KGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEKGAEOf/bTl4zeA/xttaXgiixnOZ2kNAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYQMAYRcyE+fpDCyr/2dT2mwb76vDz+8c239GJQ1P7fRj1rxGKlv6DJGxowENvNzkD6+3ChLyCfZI4zZgYm5LsfIJ+gcxHLbLbdrEXIhP8Xx7Alga1B/+3smbz9CnuxVJO8EufyZo6fi96/76vbef99UrsMxckO/v9wmMLl7EDI/MnnrEzJDTOUahMxbTOXahFyEycYIIRdSPeZXU9mT0PmEPNk7rxULg7WEfIJ3jjc/vrkdwJNFFhtCbvUdsQHEyassQj7J4y6tdxy9o4u+LK1PtiVKx9E8MpELeGdv8zP2O7MwkYtZu4/aZObORC5qyzE012UiF/fOhBY7Qm6iwrHwyLXUHEvIjQiGVxwjQwATuZmzprJldW1CPkGX97M+899kHUvryZYoumy3/FvEpnEdQp7oWRRrdmfNXN6awr0IuYDHaLZu2Rz5N9cyjWsRckFrIjsjKBHX42TXRHsHIGIWJvJke+2hnh2UgGsT8km2Bj0zKPH24XrWorwbCGuYyEUJmDWEDAGEDAGEDAGEDAGEDAGEDAGEDAGEDAE+XXcKvd0b/lx+cQPaWdr9fPwNoIfvzf4DPsGeEYECe94AAAAASUVORK5CYII=", - "240p.png": "data:image/png;base64,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", - "360p.png": "data:image/png;base64,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", + "144p.png": "data:image/png;base64,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", + "240p.png": "data:image/png;base64,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", + "360p.png": "data:image/png;base64,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", "480p.png": "data:image/png;base64,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", "720p.png": "data:image/png;base64,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", "1080p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAIyElEQVR42u1daVCURxp+ZkAUh8FwDARi1IgMEI4kWqtoNIjculuJ8QQRDYhWYsImroYSssbVBa/suqUoiqsut1CsukYRcA2HiSeaiCADDFghHLKAqDAgx8D+sKCc+fqbA2EGmX6q+PG9/XbPQ/fT3W+/PVMfQKHT4ChzsJxk10e76dVFQ3UZZ1ACoAOvG0LgqDL4VeUltAdfQUwVOioVAUfR4NOBH31CkBcBhzT4dOBHtxBeFAGX7vm6hxfHmitfSGf/6AVpbLl09uv2KsCls1+3VwEu7RLdBhUAFQAFFQAFFQAFFQAFFQAFFQCFTkFfmUNdfT1EojKIyipQVl4OkagMFeJKdHV1MXwX+vkgLjZm0GQqxJXIvJiN/IIrqK2tQ1NzMwwMDGBubgY7W1t4ei7AQl9vGBsbq9Vu1YMHyLyYjdt3fkaFuBKPHrWgvV0CPT198HjjYW1lBaHQFm7z5sLbywN8Pl/r3F3fn4+a2lqVfHm88eDz+Zg86U04OznBx9sTrrNmgsNR+n2f57eBbLeAZWXl8PBZpHInDFYALS2PEb1nH9LSM9Db26vQ18TkNXy9eRNWr/JX2m5jUxO2bd+J789nqszF2NgYf/ziM6xfF6xSBw4Xd3UEQILtNBvsitoB11kzGWUv3gpqfQtoaPgfFi9dgdRT6Uo7sL/Dt0Zuw9bIbejr61PY7oeLl6k1+ADw9OlT7IzajS3hEVrjPhSoEFdi2cpAJCanjtwYoLOzEytXBUFcWaV23cTkVOz9bj9reeSft6P6t5pBczuVnoELmVla4T5U6OvrQ8Q33+Knq9dGpgD+/o+DqBBXMuzWVlaIP3EMZSV38XPhNWwN3ww9PT2GX+zROBSX3CfOzJz/XiZ+pouLMzLSkiEq+QV3bl7F7uidMOLxiL5JKaka5z4cIti+I3pwQSCHw4GV1euwEwrhYC+EnVAIOzshfrlbhK2R216K2KNHLYj75wkmIX19JCWcgNB22kCAs/HTDejpkWLf32RnTU+PFHu/24+Ek8dk7MUl94lLshGPh/gTcRCYmw88BwasRG9vLyK++ZbhX3SvROPclSHs88/w9eavBp7bJBL8+ms1UlLTkJicSvy/S0UilFeIB3ipvAIIhba4de0KkuKPI3JrOJYuWQxnJ0eMHTv2pZWZcfoMuru7GXbPBe5EosFrV8PAwIBhzy+4gocPGxj7OAnOzk4Dg/8i3Oe7Ef1bW1s1zl1dGPF4cHzbAVE7t8sIQx6FhbdH1haQeTGbaJ87dw7Rzufz8e47Lgy7VCrFxewcGZuFhYB1OVTHztbOcHJ/GXz04R8UnIiaR44ApFIpSu6XEssc7O1Y69kJbYn2oqJimefp771LPMsXF5egsamJYc/Nyye2O/+DeRrnrhOZwMqqB+jo6CCWWVpYsNaztLQk2uWDKUNDQ3wZtpHh1yaRYE3wety4eQttEgkaGxuRlHIKu3bvIy6tYV9s1Dj3l8GZs+dYyywE5oPLBA4HGhsbFSZL2GBqakK0NxFm9YbQEDx+/AQxh4/ILPFFRfewZHmAQn4CgQBxsQcx6c2JWuGuDtokElRX/4aU1DQkJKWw+s2YMX3kCIAtuAKgMMAkBVIA8IQl6Avfsgl+vt44Gncc31/IVJqsEQgEWL3KH+uC17CmbDXFnQ0HYg7jQMxhteo42NsTg1OtbQHt7R3s51J9dk2OYSnr6upCT4+UYZdI2pGbV4DC23dUytQ1Nzfj6rXruFV4R+vchwocDgfbt0UMLg8wXBg/3pC1rLu7m7UjuwhHr/7Zpa8vm2wRV1YhaG2IWtnA3t5eXL9xE9dv3MTypR9j7+5oRrua4D6Ugx/917/g/TmzR1YQaGRkxFpGumXsR2dnJ9FuLBfxt7a2IiBwLXHwf7/ID5nnTg9kAo8dOYQpUyYz/NIzTiNq1x6Ncx8qTLOZivTURKUXT1pZASwEAoUZwgkTJrCWkWAuF+GejE9EXX09w8/bywNHDh2QifT9fL3h4uIED6+FaJNI5NpJQOi6T2BtZaUx7oOBoaEh+HwjTJ40CS4uTvDx8sRs11kq3WZqRQA2NlMxbtw4PHv2jFH2sKEBb701hVjvYQM5a+bk+LbM8+Uf8oh+QYHk6P8Na2u4u7sxbg57eqTIyytAgP8KjXFXBvlU8CuZB9DT02P9x0WiMtZ6paUiov0dF2eZZ7Z7dGtra9a2J75BLquprdMod51IBAHPvzxCQsGPPxHtLS2Pca+YmTXjcrnw9fZS6ThWV1fHykd+oBW1NZzcdUYASz7+iBgx5+blo7y8gmE/fvJfxOOS2wfzYGX1OmNJJyEpJY1or69/iNzcfJVXhuHkPqIE0NMjxcQptoy/TZvDif6ZF7OJ/lk5lxi+ZqamWB8aTPzMwDUh+CE3D+3tHWhqbsbBQ7E4EBNL3EpI+6HHgvlEflnZOfg87CsU3St+ngpuakJWziWsCAhiBID9M9TNbZ5GuWsa+tr88D99GYZLly4zvlhRV1+PoE9Cldb/dEMonJ0cGfaAlctxNO448eLn7LnzOHvuvEr8AlYuh7mZmUa568wW0L+/nkpOwDSbqWrXXb3KH+FbNpHP1sbGOHRwv8KkjTLMmP4eIiPCNc5dpwQAAJaWFjiTkQb/FcvA5SqnY2LyGnZF7cCuqB0Kz7lzZrviP6fTMWvm79TiM2bMGGwIDUFqUjz4CpI+w8ldZ7aAFztm355orA8NwYXMLBRc+RE1NbVoam7GWAMDmJmbwV4ohIeHOxb5+aj83XoHe3v8Oz0FJfdLkZWdg7tFxRCLxWh5/AQdHe3gcvXA442HpaUl7IW2cHWdBT9fb5iZmmqdu6ag8HcBFKMTI+p3ARQ6HgNQUAFQUAFQUAFQUAFQUAFQUAFQUAFQUAFQUAFQaFoA8u+YoRh9kB9jLqD81WIUow/9Y85VphCK0Tv7ZQRAVwHdm/0AfW2czs18ha+NI4mACmH0LPkqvTiSTQQUo2fZV0kAVAije+ApKAAA/wfVyiysuk3xAAAAAABJRU5ErkJggg==", - "2k.png": "data:image/png;base64,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", + "2k.png": "data:image/png;base64,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", "4k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAFEUlEQVR42u2da0xbZRjH/6cBFijQZY4MLJnLPrjEjbszMeF+26bR6Jx+UO7bzBK/KZeuXaGs0IG6mLkBhUIpUAqILDNq5u3DvGzcyk0zFzHZkmlcnLGLlUsIo/XDXAK0cA7sQ99z+vw+vufl5Mn7/70PPSenPQDh13B8E3bs3OOmZRIvf97+hduUABS8f4jACQn/5vR1WkERsvvJvbwScOuFT8FLT4TVEnDewqfgpS3Ccglk9D/f/1ietWz1Qdr90sVbtjLa/f7dBWS0+/27C8hoSfwbEoAEIEgAwm8JEFOx9+8v4fkXX8b1n2/wzh0d/B5RUZGCzvvCS0cwMTm15vFopRJDV68IrnNicgqv5xXh35mZdefF7NuL3u4OKBQK6gBCuNBoFBS+LxmfmBRN+KISYHr6V5w738B0jWPjE3gjv5g3/NiYfUyELxoBlpaW8HaZCouLi8zWaB8bFxx+j9XCRPiiEaDZZMbk1I/M1jdqH0NeQQlmZmfXDz82hpmdL5oPgTdv3cLZD86xHX5hCWZn5/jDt1oQHh5Ol4FCcblcKC1XY2Fhgcn6hkfsgsKPi4tlMnzmBWi3dGFk1O4x/nhUFBPhFxQfFXX4TAtw+7ffUf/+WY9xjuNgqKn2cfijyC/i3/nx/4cfFhbG7CZjUgC3242yCjXm5uY9jhUV5OGZ/Uk+q21oeAT5RUe91rY6/B7Gw2dWAKutF1evDXqMRyuVUJWX+qyuwaFh5Bcd4w0/IT5OFOEzKcAfd+6g1lDv9Vj9GT3k8hCf1HVtcAgFxccxP88fvk0k4TMpQLnqlNfr6VdfOYy01BSf1OS450BhyZu84ScmxD8IPzQUYoGp+wB9/QO48u13HuMR27ejSqv2WV18Lf9h+N1d7aIKn6kOcPfuX6jWG7weq9XrsHWrgtlFTEpMEGX4THWAk5pKOJ1Oj/FDB3Px3KEDzIcfKpdDjDDRAS598im+/Pobj3GFQgGDXsf0Au7a9QRCgoMhVnwuwN8OByqr9V6PVWnViIiIYHoBBy5eQmn5SbhcLhJgM2i0Ojgc9zzG01KS8dqRw6JYxI8+voiyCjXcbjcJsBEuf/EVPvv8sse4XB6C+roaUS1kX/8AylUa0UngUwHW+tSvKnsH0UolM4sUHByMLVu28M7r6etHhVorKgl8KsA/Xj71P52UiMKCPKYW6bFt22BuNQqSwNbTB5WmUjQSMPdAiH1sHDt373nk8+x/duVdw8jIHbAP/bDp86WlJMPcakTJsRO8zyd023rBAThTexocx1EHkAppKckwm5oQFBTEO9dq64VGq2O+E5AAG5UgNUWwBJ1WG05VVpMAUiM9LRVtLY2CJOjo6mZaAhJgk2Skp6G1uUGQBJZOK7Q6PQkgNTIz0mEyNiAwMJB3brulE1Wn2bu34dOrgBs/jW/q75xOJ56KXf+xsI18N/BRyMp8IMHxE2/xfnGlzdwBDhx0lRrqAFIiOysDLU0XBHWCVrNlzRtgJICIycnORHPjeQQE8DdVU1s79LV1JIDUyM3JQnOTMAmaTW2oWePZRxJAxBzIyYax8UNBEhhbWmGoe5cEkBoHc3MES9BoNMFQ/57PauUA+olYf2P5T8ZSB/BzSAASgCABCBKAIAEIfxdg9TtmCOleAq4QgO/VYoT0eJi5jM8QQrq7f4UA1AX8b/cD9No4v9v56742zpsEJIJ0Wr6gF0euJQEhnbYvSAASQdrBEwQA4D8iUuD1D944jQAAAABJRU5ErkJggg==", "5k.png": "data:image/png;base64,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", "6k.png": "data:image/png;base64,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", From 3cae153c5a32cdb787328e5ba2aac1306ecd3fac Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:05:35 -0400 Subject: [PATCH 24/41] Remove obsolete image assets from Group Details plugin and add new build script for asset management. Updated version to 0.1.26 to reflect these changes. --- plugins/GroupDetails/1080p.png | Bin 1717 -> 0 bytes plugins/GroupDetails/144p.png | Bin 1307 -> 0 bytes plugins/GroupDetails/240p.png | Bin 1563 -> 0 bytes plugins/GroupDetails/2k.png | Bin 1732 -> 0 bytes plugins/GroupDetails/360p.png | Bin 1697 -> 0 bytes plugins/GroupDetails/480p.png | Bin 1700 -> 0 bytes plugins/GroupDetails/4k.png | Bin 1591 -> 0 bytes plugins/GroupDetails/5k.png | Bin 1645 -> 0 bytes plugins/GroupDetails/6k.png | Bin 1742 -> 0 bytes plugins/GroupDetails/720p.png | Bin 1359 -> 0 bytes plugins/GroupDetails/8k.png | Bin 1713 -> 0 bytes plugins/GroupDetails/GroupDetails.yml | 24 ++++++------ plugins/GroupDetails/assets/.gitkeep | 1 + plugins/GroupDetails/assets/1080p.png | Bin 0 -> 2305 bytes plugins/GroupDetails/assets/144p.png | Bin 0 -> 6708 bytes plugins/GroupDetails/assets/240p.png | Bin 0 -> 2456 bytes plugins/GroupDetails/assets/2k.png | Bin 0 -> 1705 bytes plugins/GroupDetails/assets/360p.png | Bin 0 -> 3055 bytes plugins/GroupDetails/assets/480p.png | Bin 0 -> 2947 bytes plugins/GroupDetails/assets/4k.png | Bin 0 -> 1354 bytes plugins/GroupDetails/assets/5k.png | Bin 0 -> 1622 bytes plugins/GroupDetails/assets/6k.png | Bin 0 -> 2011 bytes plugins/GroupDetails/assets/720p.png | Bin 0 -> 2617 bytes plugins/GroupDetails/assets/8k.png | Bin 0 -> 2058 bytes plugins/GroupDetails/build.sh | 53 ++++++++++++++++++++++++++ 25 files changed, 66 insertions(+), 12 deletions(-) delete mode 100644 plugins/GroupDetails/1080p.png delete mode 100644 plugins/GroupDetails/144p.png delete mode 100644 plugins/GroupDetails/240p.png delete mode 100644 plugins/GroupDetails/2k.png delete mode 100644 plugins/GroupDetails/360p.png delete mode 100644 plugins/GroupDetails/480p.png delete mode 100644 plugins/GroupDetails/4k.png delete mode 100644 plugins/GroupDetails/5k.png delete mode 100644 plugins/GroupDetails/6k.png delete mode 100644 plugins/GroupDetails/720p.png delete mode 100644 plugins/GroupDetails/8k.png create mode 100644 plugins/GroupDetails/assets/.gitkeep create mode 100644 plugins/GroupDetails/assets/1080p.png create mode 100644 plugins/GroupDetails/assets/144p.png create mode 100644 plugins/GroupDetails/assets/240p.png create mode 100644 plugins/GroupDetails/assets/2k.png create mode 100644 plugins/GroupDetails/assets/360p.png create mode 100644 plugins/GroupDetails/assets/480p.png create mode 100644 plugins/GroupDetails/assets/4k.png create mode 100644 plugins/GroupDetails/assets/5k.png create mode 100644 plugins/GroupDetails/assets/6k.png create mode 100644 plugins/GroupDetails/assets/720p.png create mode 100644 plugins/GroupDetails/assets/8k.png create mode 100644 plugins/GroupDetails/build.sh diff --git a/plugins/GroupDetails/1080p.png b/plugins/GroupDetails/1080p.png deleted file mode 100644 index ca67820e3c5d82953771a5302059e39fb4ad2493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1717 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 II;Vst06bhyG5`Po diff --git a/plugins/GroupDetails/240p.png b/plugins/GroupDetails/240p.png deleted file mode 100644 index 21ed58d98d11577d0809c921779cb34561e131f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1563 zcmaKsX;2af6vv4)?+PW8!~VL# z+%zlQOwFuScd#JIHaymY5`;{R5ET{0b$51VZDwaby!U3_@t=7!@As}9_w&}#+@%Qs z0CaqPPyy?4cHQo%Z&~-&)|=h|0IK7@D9^xT#?0u@&2pdZ9^bTet*x<**_ZHPXsw6f zlclG{2u?^|Pz%_UX2Smd)-xM>xs(mux#SYBVSvL!p>A<&+wFw1!I?W`*nQ$NcYRY= z*r82G5->+wRUM+aeLvVVY>!9J@eGRp%QWrznG7H+vnXlddHo4k`KDR8PH4-qJh+`9 zwF3Lm7#+-}$e?7d`(-o2K?)wmEVWE%IH}`s6DylCcu&!hGspA@jnu z6nRT6d~}SPJdyCYu)Tz}wlmQr64^1{KrP}z!bvwSCvj+!_eyM5N6;dL_-YW;V0qeh zTvB=J^?zi7xm8iKh7a9(f zV|iFh3sE967aH4nb~UXY|N45Y&=a+im+Na-v$b#KQryLEh=qbvK0&PXrGu6@`JbiX z68?9q9R$R=xKk-yeW2JmG6d<}B~`>>Cm&NE_hLa2oe(eMheg4tPt_l-609+Wi+?DL zItU%L7ibkAGvUWNLh~kWwA9ELUueT3=cz9(9l2{SFj=y>AUXRiqCfZL5cg?#L2xyt zuK!d@@ae*;h6e@siL4LgAc+NzvsE3>6#H8xf*&1VbMsE*FoF{Tx@TVff)8*LYS+Cr zQ-=1>$o1>b+;`HYmtNW0cRPNFPn{VFv9$0O>VqUYN4sU$?5#=+sc25wU6xI;Mk`Nc z5=18}FfP$k3lgTxznD)ul7qng9JMVW1)d^a-wNY368b|Ky^&Q(KpD3ljD14)2_PYG zV7KLEGviR2B(lC#1)a{mg zcQe)o1l4Qx?(A@-v)!CyBiT8c#$WCt*^GY+UD3t#oQwu_xmoy!f~8KNeX;EmuHokd z>Ick<+R~(DQCcLXOZ!;Gq@FYBk^F3M6D+W&xoe!b14W8V`i+?1NJ(PTHxrJw*ZCJA zWbk5#%H+xxg zA}>a(Q146%h!_Q8NOWYlCniWrm({3mfMX+58;K|dGq6p5f04E^`vrm<3JlGm)N<1; z=KoLE-{58s;&$gUSq1l?yiI^mD00~T6esxj7(ezvKAFV^Lw%x8q>-_W9od0 zZJ`4Dp@FCKf-p8XEnp*kkP$oWSYf=jrbpZRgU(^pu8JN_@43MuL%W}Rot8Evqr)W= zqw$8Np>}3Tb5SC`UKp49SqbMMlfA-%=CPwv3t*!`Zu3+imOue&6hA_1`r%v?2n%6+fy)d;4#SvOAPi|h;*Nx6$ zkSh+ihw#ddoxy@Lr`EsPgD6*z=GZgC@1z>7O+>KwxWPjLaqjM|xo}<^Q@m#ZTEQa* zrpO6qh3KA&`dsN^5;qgO<87&GHdz3|?Z)i0HB2Q2cH0ekeX31RdCJtig7p&io-x7= zDUkD8RT_8-(^G!^aC>VDJn^q`_f_PkFrD>Hq)$ diff --git a/plugins/GroupDetails/2k.png b/plugins/GroupDetails/2k.png deleted file mode 100644 index e0dfec2f24c99a692cc7c74b23c96095e83a6e80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1732 zcmaJ?X*3&%7UoT-MYN4tUTiJe+KPv1sTxayrX6W5ZM2CjRgoxF#S0~j5v>VI60a3n z!!aF8LXy@J`!W~_Vrf(&4e6B7nxLpov>7%2%=pZ;_s_lO%MHE=-LGS! zqoJX(|NJ@s(A~bVTh&^7ck$O0QGkZV-u(0a;LCT)R%Vw%W#0hz2K%jl<_Ze{>GRVK z^-;y;Q2$;k-6Ws&64w8Kj?BD8k>RsDo zdN@|1dW1Uqs%uKx@Gl>_8E#|0dYgOv0RUMmo{lM$?pkq-uQM6%ElVwP|5 z@5PMpDD8DOGHQa78JlZ{f;tT#*3R5l?kc|Hgi3;i@ZAk|kn0e|H^93xnF62hS$38% z1^Y^``dbM+n{}SX{Bd)W0Tln#EC*B6liH4#=Y@=sSY8H?RF4++wU#;^1XREAs4$ZkRhkY(9^1~jjU%=AuwU$${jN!`*L)i`k zA7;2*XNh}MtYa_HBRx94JIlI(n~Rtq7>y0 z6g5}@641xRSh&;35a)}u3kTq|DIf=aF1_LbC0(<E8! zus=!iL+x-R!la^D#zD|xxes#PTBM%$7Txb^m335Op7V~p0eL))ULoS2P@nNZ|8e#P z--3mkPrjA;(Xu}aeTR8WwP4JgmBf{Fm?(5ZuoOGCGh9jkizLae#+97B+5Pp!pxZi4DKDkMWE zlo}1L0iU4tyyLXA4m zo@A|_wm0m5??%UmT(l{S*(VqjkM*b66NKm8z diff --git a/plugins/GroupDetails/360p.png b/plugins/GroupDetails/360p.png deleted file mode 100644 index 508a2b44614bbfb5fea4c97464f281b365b830fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1697 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 MR{)0T`NO5Z0Oo%XM*si- diff --git a/plugins/GroupDetails/5k.png b/plugins/GroupDetails/5k.png deleted file mode 100644 index d1d36c394d90ed2a4d94775533c92d14656ce471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1645 zcmZ{lYg7^j7>22lk%o~Dt+WKKbmG!1O}ul9H1pDAmX(*pIYTog5w)N>8^o4MH*aXG zW+s?|Xpl}^iA834OHIRT8Y1433Y97IoSoCzkM-kwzd!H$?|a_wQlLK`tiMGc004k} z4qy+j?75XG1?jCQ0AN}r0`NHPwH6;z zSKuOO8@}o-)5*7;(+%tS&Aep<=p;HEGtxujP1i0kAdLmny-SdjM+Uw2MWkk|Uj^K} z8srFs5J4~*#5)Im0fqsfegWW6%e80BTq=pzOITm>{2RuuMMg$Fx)RO*c98yj?4ecm z8}9Qg0`ab;Q~`4Agp8<9{v6jZT?0zo49y?T6mwwYqdu*j29B7^+$XVxCqa&lphS<1 z76|%y2r=h`ptumyQ)=0H9U_9u&RR*QK#uJdRnbCNXA|?(xsvleYx3V^itEL&x|1HJ z@M#Q=_6R?6ZQ}?Hn7=bqY>(RcxCwa(^wdb-w+Wb<{Mc_Ds+j5ERT>{=Jo;>$-x^z}0H&f{?eI7tQt;M5?L1X= z2v?lv|2!e*(INw=)8Ti}9~3~17e)oP zpqnohoAo1qS~dw{i_m930dj$J3eAIwBis#@Qp5YLEhG}KBs#D6-S(7rWL5M2E#y%> zj?H4-qRoMv*ovM@Q_YbS?WMcF`7Z{tO{+qiQr8Q(@*A*D>Gx*{3JUNc862DuW#nMkgTeq>bzGcmc(9|&) z=zT){8#ug$jZs0rf=jP4i>&CJd2CZq=6nKoZufiBx=C_V7=p22WPqNI%vXA^n@y)| z?43D`sQUp_4QP$;f`;enj&yCiWip@+9y`CQp*syhEZG`!W9Tl&n*$nDw@LN3GP?eU zm=zjW+X}??9RA!dMvDO#aR;_+?2h>n`~|>1lQ(WOYNGYAIR8S}fKgqZ4_oq#p;LbS zsICz~DjudQg_J&Z8vYHnJH|M8bl>-K{+}92f5=>oeM^TV<4=r=8?I6$EbVe~rqa)a zKhR$;@7nEUyNr=nObDX73~xH<;y;wq^^^DokW>d=s$FsKtB!sggZ<&>NC@c2a4tQ|^np+hSSZ_q8zyfSWNYn%>7n~WL+ zUdl#pc^MNvDC|EmSqlj%CYQgGzTdCGc<+ zKJ;>rYm|}|w@K40<8t;|^1Ew|8=q>b+f(rd()IEEPBPb!^c{_lL#@o8E{KY)p6o(7 z1Gn8t`TcN~noTJj`(uoo46}ae8FtZyX8NLIPaeTfJ6S*fitBNe(W9}JoHkZcv}I3j zuOU~G({{bOSK|_0eMRGNTXy!oY=_9^rRTBq=)SUspm@)?taC)FrF85;U+u@eW4>1R zu2{c3H7==Akq86&vCj#PB}Jqf<7doUr<-TfvX3q{@^=&*TU!@>p|bqb4fl|JQD&}u z$X^)a|8(=`(^)C)*(qODB)q+KJx>N1>gf#NI+iON7}=6#Moo`HLuHdDygD%{w`o?4 QU3nt_ADln70v(a@59}`&P5=M^ diff --git a/plugins/GroupDetails/6k.png b/plugins/GroupDetails/6k.png deleted file mode 100644 index eb8f737268fd9e6942885c3af344adfd081b21a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1742 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 diff --git a/plugins/GroupDetails/8k.png b/plugins/GroupDetails/8k.png deleted file mode 100644 index e2ec8df9dd3dbe17beb58147a64c8e98e0173884..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1713 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 b00937)ygcax=rx_00000NkvXXu0mjfU<^<- literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/assets/144p.png b/plugins/GroupDetails/assets/144p.png new file mode 100644 index 0000000000000000000000000000000000000000..25b98c4946aa3d8f3d1376f84ad7811c60490b53 GIT binary patch literal 6708 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 literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/assets/240p.png b/plugins/GroupDetails/assets/240p.png new file mode 100644 index 0000000000000000000000000000000000000000..485a1d3cb5b2d3fb521a7d41246a5722d7eca06f GIT binary patch literal 2456 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 literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/assets/4k.png b/plugins/GroupDetails/assets/4k.png new file mode 100644 index 0000000000000000000000000000000000000000..fda73dcd69d499bd9027f75b6a84486c4d951bd3 GIT binary patch literal 1354 zcmV-Q1-1H#P)U2&47GTmrOk4(vnUbNc)~zUSrS$@~Ak z4?QQRJpkd?aC{SX?A+s~WfCuc-u{K#lmHaGe~7>d3IFEwby`6Yvir%syb^Hhg-^jt zPlVMHaNfeF;H53XatUPgKi~gYp0#ZCLE8P&#ap&A+Wr3B1!T1Q{ksduXi5AV5`Y9C zNC3ib2@q4U_wO&^`4?Zt^`CF>&K({69#K(|g3kNGOGhv&9GRsgH57gw(hdW=Ual~9$J`mCXg^(=~rJljI`7gpVZ{I=Rje}o4nyCCd5Ao zKQt6#fvNidefq<0`A)N1VVy?Ay#}Yz~2rBDy#Kgk5y^ah=_<_dI1M6UP5X4Nw{1t5@0iEv^qE( z_dLeaQj+o7k;9@`#E(9{h_VVb+-^4sun{hQ@fAM%{IbWmTpoh@x*Aa}WMBUP%2gWC zN#Iif*80@1DtiafN+mOk6dW9kEnBwm&g<#xM}=A|DhYflz&~C-^*^1Ih{A$ArWWb3 zZQEdOH42iz*3$=-rcyK#F!w-+eQX>%ckg-R^Xz|ip>1f5nJ zPE}Tu08%48EfsAoje;cT=;~%#0uo@8WTdB|wYfo%1eQ)Kv^qTrAT=^G(qS?-ATThH zcW%3-6IG|#ySL%ftAHCnjc@AjoK7d6ie3M)u#J2-@KMOhd?3N`6L0Z;aiz`N0S+8= zl^W^*QX)Gm11(J#1a*Q|vt`X2U?hNu$;r+{bK`jg1n@UiQ(HUqwRI$b)X2@rLUWTa z37So9s9EFLM-o899LULrvGGGe5*S-rVW@kT1dtjBb8`es&}cNlQ2(CKYUKd>iCBMQ z`A^1D2k>)901|*80SFR+AOQ$}7hv@}W(etC0^Fwwl7Ek5<%L*69fR@KO$1#^$*@SjQ{`u M07*qoM6N<$g4BVBDgXcg literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/assets/5k.png b/plugins/GroupDetails/assets/5k.png new file mode 100644 index 0000000000000000000000000000000000000000..9e566bcc648d68d26bf165f94c29420044b1b1ae GIT binary patch literal 1622 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 literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/assets/720p.png b/plugins/GroupDetails/assets/720p.png new file mode 100644 index 0000000000000000000000000000000000000000..316c14ca1d5cadeb9e675fd016ca00647bb99d09 GIT binary patch literal 2617 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 b008_K0Lq}SE9BbW00000NkvXXu0mjfhDGol literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/assets/8k.png b/plugins/GroupDetails/assets/8k.png new file mode 100644 index 0000000000000000000000000000000000000000..e803c4b9434ae83ac4ba0b12752cf7afac5cdde6 GIT binary patch literal 2058 zcmV+l2=(`gP)kul%$pw2b#Q6uU7=8M6&<&oZR*;#-`dcS370Ul`*%LWku5deWD!-}f~ z`~CM0oGZP6hQ=nyWHQ{j^Bd#}ITVUs0DzsHE$nRV;OsmeuC9~e;Vy*O-w)3`^E6>~ z2%ywwgj|>e{&1xNU+z1As_I&(R6|>wP!xriUz&lvI!BMsWd>Kj6w83OwI`|(j^6qddlgvzR# zA(IaPDwPVARW(?$ED#$vMWesJ-{AGQT6c}pE~AU`M5=;U)|5}2NurBm|%LD|J}WFE~nNF8cwuj0L+ zP?I8`69P~wl{lOt)mwbYk+fkACqqGXO)Ub0!ys2E=*jo;Kop-kiN@r?Bl%PRCf`BF?>8#}xC^H+j^Rve|2yr!(Z9o8sI&4`R8}Dlg zA25=i&vEiOApqf&7xBXL&uO%`w%$VVnX?-0$BVwky?ggG+TGj)5V%g(Nm;K{R3a#3 z6(jl6rh1zM`J4~{MN!!LG5sX&gYb=ri%&p9V-vc&yV29rgNDW?#Kdk#RCEmOv!86; zqLXs|aHRslp{w!W0W;N(Dyp zr%#)T-0TcE*xPfObWWZHL`H-o>EJ$$9WzGjSmVY$h18TJR^+omZ|?)MA)j;m0P0xy z<^lwW{PETCB4i%TMvLs{AwBQrCP3JVAiT5qZCG1d8?4+jrcXmoR=UZN&xtv}U`wns zC1>%=udPFVRwnxyr_Y>4RduaF$v4HG&$$fn$Nl@*xG5TC7t4noHXBvEQf$o-xi~?sz#&T&dwG^g$0l87zzZgh!nU&1;=RZ>({QK-7fa>^uU_cVYD%F z^9!^pqm7LXt5rq*u|h;|i#4fCU{nDN3_L_lZ5^%8g86e9jp(z6p8<4l}5f!5yL-L3VJu+PlbS&JYyuK-(3 zLofCpq)QKD#E21$zBzdXh>6|Kc@Y>@0BjCS+HN!7 z7;0;~&FG`63mHCd%w#QsteiZ25*JSdpb2BgGVlAJE-qp8DLzB*V`cS(PB(;R`MiO& zBgw2pa5OuY(;_gc0Qh`91OiuDpF>F!+`RddMtft^4WvlZXk!S4LY*(od}sL}H6@9a z2r{#B5W78r2w*UX{C(-iZiNC17ca%W1BcMu+=9NoKJ@kVp}9qd{fS9fv}76M1r3p& z_5l2RXF)1S0-w)k^v%f3!l$3@;G6)AejlK<^%i`^bM^Kam$kJu$}f~)g0r(mA8o%4 zJYQOd)oVXsRfkn!A=n-lV^q>PbsxaRWfE4e4AEQsb!%49lCP^QcI5COR+%6*JrnT> zyT}lrjxC!bFn0_rrV1D?Aa~_jI2+X(l|4#rU3s_$72gq;ZEUxF%{x)tf5fCAmPs(TY<48>+ oATXb_&q@G92&2 + echo "create it and add PNG files, then run this script again." >&2 + exit 1 +fi + +shopt -s nullglob +pngs=("${ASSET_DIR}"/*.png) +shopt -u nullglob + +if [[ ${#pngs[@]} -eq 0 ]]; then + echo "error: no PNG files found in ${ASSET_DIR}" >&2 + exit 1 +fi + +python3 - "${ASSET_DIR}" "${OUT_FILE}" <<'PY' +import base64 +import pathlib +import sys + +asset_dir = pathlib.Path(sys.argv[1]) +out_file = pathlib.Path(sys.argv[2]) + +# Deterministic ordering for clean diffs. +files = sorted(asset_dir.glob("*.png"), key=lambda p: p.name.lower()) + +lines = [ + '"use strict";', + "(function () {", + " var MAP = {", +] + +for p in files: + b64 = base64.b64encode(p.read_bytes()).decode("ascii") + lines.append(f' "{p.name}": "data:image/png;base64,{b64}",') + +lines.extend([ + " };", + " window.GroupDetailsImages = MAP;", + "})();", + "", +]) + +out_file.write_text("\n".join(lines), encoding="utf-8") +print(f"wrote {out_file} with {len(files)} image(s)") +PY From 493061c9f33007ba0750a77a5f36fd567cbbd19e Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:06:01 -0400 Subject: [PATCH 25/41] Update Group Details plugin to version 0.1.29 by adding new embedded image assets for 1080p and 144p resolutions. This change continues to optimize the image assets used in the plugin, ensuring a more comprehensive range of resolutions is available for better performance and visual representation. --- plugins/GroupDetails/images.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js index 50e9ec05..d901f935 100644 --- a/plugins/GroupDetails/images.js +++ b/plugins/GroupDetails/images.js @@ -1,16 +1,16 @@ "use strict"; (function () { var MAP = { + "1080p.png": "data:image/png;base64,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", "144p.png": "data:image/png;base64,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", "240p.png": "data:image/png;base64,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", + "2k.png": "data:image/png;base64,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", "360p.png": "data:image/png;base64,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", "480p.png": "data:image/png;base64,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", - "720p.png": "data:image/png;base64,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", - "1080p.png": "data:image/png;base64,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", - "2k.png": "data:image/png;base64,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", "4k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAFEUlEQVR42u2da0xbZRjH/6cBFijQZY4MLJnLPrjEjbszMeF+26bR6Jx+UO7bzBK/KZeuXaGs0IG6mLkBhUIpUAqILDNq5u3DvGzcyk0zFzHZkmlcnLGLlUsIo/XDXAK0cA7sQ99z+vw+vufl5Mn7/70PPSenPQDh13B8E3bs3OOmZRIvf97+hduUABS8f4jACQn/5vR1WkERsvvJvbwScOuFT8FLT4TVEnDewqfgpS3Ccglk9D/f/1ietWz1Qdr90sVbtjLa/f7dBWS0+/27C8hoSfwbEoAEIEgAwm8JEFOx9+8v4fkXX8b1n2/wzh0d/B5RUZGCzvvCS0cwMTm15vFopRJDV68IrnNicgqv5xXh35mZdefF7NuL3u4OKBQK6gBCuNBoFBS+LxmfmBRN+KISYHr6V5w738B0jWPjE3gjv5g3/NiYfUyELxoBlpaW8HaZCouLi8zWaB8bFxx+j9XCRPiiEaDZZMbk1I/M1jdqH0NeQQlmZmfXDz82hpmdL5oPgTdv3cLZD86xHX5hCWZn5/jDt1oQHh5Ol4FCcblcKC1XY2Fhgcn6hkfsgsKPi4tlMnzmBWi3dGFk1O4x/nhUFBPhFxQfFXX4TAtw+7ffUf/+WY9xjuNgqKn2cfijyC/i3/nx/4cfFhbG7CZjUgC3242yCjXm5uY9jhUV5OGZ/Uk+q21oeAT5RUe91rY6/B7Gw2dWAKutF1evDXqMRyuVUJWX+qyuwaFh5Bcd4w0/IT5OFOEzKcAfd+6g1lDv9Vj9GT3k8hCf1HVtcAgFxccxP88fvk0k4TMpQLnqlNfr6VdfOYy01BSf1OS450BhyZu84ScmxD8IPzQUYoGp+wB9/QO48u13HuMR27ejSqv2WV18Lf9h+N1d7aIKn6kOcPfuX6jWG7weq9XrsHWrgtlFTEpMEGX4THWAk5pKOJ1Oj/FDB3Px3KEDzIcfKpdDjDDRAS598im+/Pobj3GFQgGDXsf0Au7a9QRCgoMhVnwuwN8OByqr9V6PVWnViIiIYHoBBy5eQmn5SbhcLhJgM2i0Ojgc9zzG01KS8dqRw6JYxI8+voiyCjXcbjcJsBEuf/EVPvv8sse4XB6C+roaUS1kX/8AylUa0UngUwHW+tSvKnsH0UolM4sUHByMLVu28M7r6etHhVorKgl8KsA/Xj71P52UiMKCPKYW6bFt22BuNQqSwNbTB5WmUjQSMPdAiH1sHDt373nk8+x/duVdw8jIHbAP/bDp86WlJMPcakTJsRO8zyd023rBAThTexocx1EHkAppKckwm5oQFBTEO9dq64VGq2O+E5AAG5UgNUWwBJ1WG05VVpMAUiM9LRVtLY2CJOjo6mZaAhJgk2Skp6G1uUGQBJZOK7Q6PQkgNTIz0mEyNiAwMJB3brulE1Wn2bu34dOrgBs/jW/q75xOJ56KXf+xsI18N/BRyMp8IMHxE2/xfnGlzdwBDhx0lRrqAFIiOysDLU0XBHWCVrNlzRtgJICIycnORHPjeQQE8DdVU1s79LV1JIDUyM3JQnOTMAmaTW2oWePZRxJAxBzIyYax8UNBEhhbWmGoe5cEkBoHc3MES9BoNMFQ/57PauUA+olYf2P5T8ZSB/BzSAASgCABCBKAIAEIfxdg9TtmCOleAq4QgO/VYoT0eJi5jM8QQrq7f4UA1AX8b/cD9No4v9v56742zpsEJIJ0Wr6gF0euJQEhnbYvSAASQdrBEwQA4D8iUuD1D944jQAAAABJRU5ErkJggg==", "5k.png": "data:image/png;base64,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", "6k.png": "data:image/png;base64,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", + "720p.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAKAElEQVR42u1daVRURxb+uoEWEGgjLjmySIvsiDs6czQmJ6MgiggKCi4DyCISMEoOQRkzmZxkmDhEEIwaF9xZVUQRUEfFUYwaE1cQMAPIIoKCLI3N0sD8mMMcYrrq9UIjNO/72V+9V+/V/erWvbeqzwNYDGlwmBqMNbboZodp8KKmvIgjlwBYww8NIXCkMX5JcT47goMQE8xtGEXAoRmfNbzqCeFtEXAkGZ81vGoLobcIuOyaP/TQ29bct0l29qsuJNmWy87+oe0FuOzsH9pegMsOydAGKwBWACxYAbBgBcBiaEJ9oD+gWNyJgoIC3Ln7M4qKn6KkpBSVlVUQtrSgpUUIHo8HXV1djB41CpNsbTB1ymQsdHTAe++N6JP+GxoacT4rG9fzbqKwsAgvXtRA1NoKHo+HUfojYWpqij/MtofzIicYGxsNOgFweueEb6cI+QVP4OC0RCkdGxoY4FZerkSuWSjE5ctXkZmVg+s3bqCl5Y1M9+bxeHBe7ITIiHCMGTNarucTtrQgJjYeh48eR1tbG/NAcjhwdJiPbZFbYGxkKHU/ZWXPMOfDP8n8fMOGDYOeri74fD2Ym5vBbpItPpg7B3aTbBmv7V0SHpACiNi6DccTkxXuQ09PDzv+GQVHhwUyXVdUVAwfv0CUV1TK3Ofw4dqIid4Op4UOShUACbY21ggJDsIiJ0epBKDSMUBTUxPWB4ci5+IlmYzv5uEll/EBoKXlDdYHh+LM2cx38s6P8wsQuCEEfoHBUnlOlQ8CxeJObNocjpevXjG2FYlE8PFfj8bGRoX67OrqwqawcBQ//fWdvXfOhYvwXheA1tbWgSkAXV1dmdqbThAgIjwMWefSUZT/ACXF+bh25SK2fP4ZRozgU69tFgoRExvP2EfMzniUl1cQeTdXF1zKOYdfCx/hVl4uwjZthLq6msS2HR0d2BK5Dd3d726b5cdbtxG1PXpgCsDL00OqdsZGhvg+Pga5ly/gkw3rYTfJFsOHa4PH48F0ggDBQYHIzsyAwbhx1Pucz8pBV1cXdS3edyCByK9Z5Ym4mGhYWVpCU1MThgYG2LTxE0R/G0W85vadu8h4R0tBD44cPY6S0lL50kAbaytUlj2Vq+P1waHIPJ8tkePz+Vjhvpx6vZqaGjaGbEBIcBA0NDSobY0MDRAXG41lHl7ENnX19SgsKoa1laVEPiklDWJxp2RvpaODrVvCJXLLl7niyLETuHf/gUT+2IkkLHVxltuAs2fZ42TKid95l+oXNbh+/Qbidu1B1fPn1CXwTMY5bP40tP88QHlFJbJzLlJnk7a2FmXWG+FUaiI2fxrKaPwezLKfCUtLC2qbmpoa4pp9+kwG8bqPP/4Iujo6RH7pErKB7/x0l7qsyAMNDQ0YGxlilddKXMg6iwkCAbX9lavX+ncJ2H/wEDo7O4kP7+u9lnr9hqAAzJg+TeZ+7WxtqHxjY5PE3x88fITq6hdUcdFgbz+DyHV3d8uUhciKESP4+CxsI7VNadmz/hNAY2MjUlLTiLyri7PcxRnGmcHjUXkdwix++Ogx9TpLC3Mqb2FuBjU1NSLPdH9FMW3qFEabiMXi/hHA0eOJePNGROQD/HyVNhAVFXRXa242UXLu/Jh+EMbAgB5g8ng86OuPJPL5+QVKFQBTosHhcPrHA3R0dODQkWNEft7cOYzrtCKe59btn4i8QGBCrNUz5euj9PUZ+9cfSW7zn5JSYoDZF/j5l3tUns/Xg7q6uvIFcPrMWdTWviTP/oB1ShuEAwmH0d7eTg08SWhoaCBympqa4DEsLT2DTCsMCYVCpbx3Q0MjvovZSW0jMDHpHw9Ay6MtLS0wb+4cpQxCfsET7Nr9A5EfP96YKoCmZiE14pYGPB69XVNzc5+9r1gsRkVlFRKTUuDgtASlpWXU9h99OE++OoAsuJp7DUVFxUQ+0F85a3/V8+dY6+OHjo4OogHjYqKhpUVOO2mzkye1AOheollOAdy6fQeGJmZyj4+6ujpcKXWIPvMAe/cdJHJjxoym5sryoqzsGdxXrkZNTS2xTfS3f8f0aVPlD7AgXSn3XZZ8afBeuxoCgZKXgPyCJ8i7+SOR9/VeK7UrlRb3HzyEi5sHtcjy5ReRWOa2lPFeOpQiT0d7h9QBMA2y7n30BWbPskdEeBi1TZ8IYM8P+4mctrYWVnt59umLXb6SC/eVq1FXX09s85etn8PP11uq+9GqfO0d0gmgra1d7j6UAUeHBTiSsB+ampr0JULRjqqrXyDzfBaRX+G+nHG3ThYkpaQhYus2YqWRy+Ui6uu/YZXXSqnvSXu+trY2tLa2Mg5kA2ULmcvl9psHsLG2QkhwEBYvWihdjNAX6Rcpx+VyuVLPQmmwIzYeO2LjqIFYXEy01C/fu0D0y737RP5VXR0MDQyo96h7VUfkJghMiNvG8oLH4/3/SJiZmRkm29li3gdzpToS1mcCaBYKkZiUQnFD8zF+vLHCL9vZ2YmIyC+QlJxKycP5SNi/h7FuLwm2tjZA6klyplFVTRWASCRC/evX5PvbWCu0jr+9G9iXUCgGOJGYjGZKChXor3jhRyQSYV1AENX4BuPGIf1kslzGB8A4awqLiqh8UfFT6lmDSTLOyv6E3AIQizuRcOgokZ8+bapC6RcA1Ne/hofnGvzr8lViG2srS5xNTyPW+aXBlMl2eP/9sUT+NqXE3JOrUwOyBfNVTwBnz2XieXW10mZ/eXkFXJZ5EA9aAMDcOX/EqbQkjB07RrFB4HLh5upC5K9czaUWcminfmbZz+iTZXDACYBW9jU2NoKjg/yqf/joMVzcPKglTjdXFxw7fLDP0itPD3dioCZsacE3UdslcsmpJ/GIspu4ynMlBjLkCgJv5N3EY8oWp7+vN7hc+cOLXbv3Mp7iPZ2egdPpGTLd13vtanz91V8lcgKBCfx8fbB33wGJ/PHEZLwRibAh0B8CgQle1dUhJfUUdsZ/T+xv5ozpcF26RPUEQCv78vl8rPBwx2BE2KZQnM/KRkVllcKi09DQwD+++Yq6Fz8ol4Di4qfIvfZvIs903m8gQ0tLCwkH9ipctOFwOPhuexQsGE4SDUoBkFxkj+p9/rwGgxlWlpY4nZbIWPghQVtbC7vjY6lB5aAVQG3tS6RnnCPyS5c4KxyRDxQRXLqQCT9fb6kOg/RO9y5lZ8J5sdOgeVeZYoCEw0epu14B/j5QFejq6ODLLyKxMSQYmVnZuH4jD4WFxaiprYFI9L+/h+uPHImJE00xe9ZMOC9ygonJ+EH3ntR/B7NQTQyZfwezUEIQyIIVAAtWACxYAbBgBcCCFQALVRLA29+YYaG6NYDfCIDp02IsVA89NucyKYSF6s7+3wiA9QJDb/YD7GfjhtzMp342TpIIWCGojsuX6sORJBGwUB23L5UAWCGotuFZsAAA/BcAyqCwK+Ta3wAAAABJRU5ErkJggg==", "8k.png": "data:image/png;base64,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", }; window.GroupDetailsImages = MAP; From 666b2c553379becb948a637ac5d531d2727a55f9 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:10:14 -0400 Subject: [PATCH 26/41] Update Group Details version to 0.1.27 and refresh embedded p-resolution badges. Regenerate 240/360/480/720/1080 badge assets with numeric-only labels and rebuild images.js so the embedded data URIs match the updated graphics. Made-with: Cursor --- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/assets/1080p.png | Bin 2305 -> 2229 bytes plugins/GroupDetails/assets/240p.png | Bin 2456 -> 2283 bytes plugins/GroupDetails/assets/360p.png | Bin 3055 -> 2939 bytes plugins/GroupDetails/assets/480p.png | Bin 2947 -> 2600 bytes plugins/GroupDetails/assets/720p.png | Bin 2617 -> 2367 bytes plugins/GroupDetails/images.js | 10 +++++----- 7 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index f0114cb4..e296a2bb 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.26 +version: 0.1.27 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/assets/1080p.png b/plugins/GroupDetails/assets/1080p.png index 2b0d3f323253812a9610f083835ca6ee2f27015f..cd5f49b1f867ef866c9a36ac0cd88ee346547096 100644 GIT binary patch delta 2217 zcmV;a2v+xj615SKB!7HKL_t(|+U;F?P*YbP{t_Y)G&tpTKLA>6NqB{uobSJ!@BHpPzw`Uf`(!RaVb$RElwpkf1b+jqChp>q@;f)c|zza0v=QFY2Yne2%Sa1r(?eLp>wSHT}j&d zEf-9&<PuX=0?4W(8-g)TCSvnnl6zHHjYfk{GqRAKbAJRK9UVR94+##!?zHU)@b@!q ztt^)#ZPz{&7GE^U&ee4+Hl-vZcIo0F=Tm2NJ`?DZ0OD4!#pNqkO|t2&0P5;gh+VM? z6|zc`>}+gouxHl}taxLYQTeZZ_dV9dC!(pjxz`o^#R zJ3K7Ejl9!eVNysiV_vORi!JY^vc9XZsF=u!#eW_+lzH&kyNadfuyn~HV*ciq7X0hl z_h$ELKvx0w_IB{|^?{d{1i$l=z)K>5mzM+$4GoA}y|!Njkdc{9w9!FI4>yXQeGPt0Ee?bLs7vwWM!lyCHZYETo8ka0sgSFv+I}OE0xu_e&Z)b z&c|oMa~1Uzc6N41+K@ne=BeB>jOiU69eDEO2_qNa@Aq8rJ7eD5ImCBqwOX_K#Q7oM ze0~882Ii{@ud!78yr@@+Yvpt2FEFMLAAdd^j*c%7$6Ml93^Mnko10mE;=BNEm6j5@ zfB=6Y=iuN#Y_WB9Dm;2r$H>i`5y6;VcDEb~g_4mgkQNcg^6>C!X7`EH0w}#h-k0$7 z@L;tSv+#Gy?lPt)C9cP?VZ*wmx3#q)?ya@BP*4b!S`CdxgYtX#keu=kii%4ZpMSMx z^(r_yI-1?50i6U6By>7Gs;g^=yo-wqtG$bhGm(>3R$}(7$ZqN0-Y?<6{(bn=#kRVfgku+gZp&z=>DcQ>aD37+|uCuTNuY zSg6Tmc659J+y1r{$BrC=t*z~l@qdZ40w5Ne&xef-`=N`FApp;w-NQ~_;KTrA9!$rQ z#S4utulx9M$Vfkcb!*oUw}8#*6Xyg#I!pr4V?_agKroERwYIbpx%T#U?A)~%(<5HN znY^>cFIlT=u=33{Sg<%24=ZFt$|p_=fNd|K>-bDs*At&@&;0DxRt=WNy?=%5oFiy& zZ|_yPfBN|*qGJ}}hwC?ngio9mz{rs!$!l+e0Xm(Y)xM1-fDR(&u{3r2PF%n7BO^C? zQV32QKZ^3wpHWp&j;oi7@pe)oQC;&3akGV~#WuIJ^tzm+J$i$|fYvTE|H1T$^8)yN^gJRbEi58(1uR_5{MQ)M zM~xaqv?(hqXPvy2-@8W`#%wTh#0azb#CZXDc(@~MN+_{=&HMTr#--fB&$5WmT(*Sy z!sfUa-H0|Bnc2i;+JC9sJk-|yhmmu0b?w$W45m+<7XSbxu8${jDVw(-=g3j0R4QmR z8vJnmN5rmJMZ6{z@p3pO62{<2!b#xMwSDZ0H*w|awf|oW*P*IPfsa1^1n+Elk7zd| z;$^e?WYq8l^!`@xjf9Ur6) z37;%N001y%%ztP|^S?o2LOgL(rrRo&^oKR~^@9!<^7(Cc-uw|^f22ayO8i5PyqzKEO|f$-_m zdi*z#xqa$72k4UkD7XpEO#&$f4pabC02EXJ6jT5dQ~(rI02EXJ6jT5dRw{t5-00000NkvXXu0mjfO20$k delta 2293 zcmVP3=obaTB~R@h}^nc ziSYyx4Tx4^!X~bU60*kC1+VP7r6`K4F1Jvux<(Oj4Tp&*nus6+3|Ju?vVf>CAjiP| zu%Mjz`kMn`2AO`U`0>5{cF#li)7@{sJyRb*q0`_fbFiFb*MCR5>D5I;bs1++0-yu0 z8$#fyGWb>HCA0@$K};1oDir}o(csg8AALfQ7XgPf_;lb$w-87T4_Ura4z@@Waw^so!?GoJv6#x|g1r-1V6#xYl00k8Q1r-2=PC;LpLtTA6 zM4~c?$|_J+UVjdes0!%_NupXaxM zY`1`AW##bjS)_6&3|0UwEsqhsXCKniGtk@HtI*fPkk!V^b5hZQqIS z&u6O4#n{*wfBfPztX~(bQU?wfcXb3ng6%XL?26g}*I6?eWiQ?eYJCf6X!su%FI|Du zQ|U@Ouz$b9w?=Nm*2rz>>+4h4?uUz)sWtcj@bu|Z?2OutE#VPb<31Fq5LaT^%0MJ0 zr;gkhptG|RD^~?UTv?@d-NfWn?EP*(YkB0Kx1;*Enn80rm7akMnOR!lK2+%I>qEph z-{PmM*G8rQ{{D}Hs1R2&?ABIRh(B=*WhHm?2s=9=ez{wOt&!VairAw^Er|Q)2__+ZeIzBEfY5f@K!CIH(+%k9kz(K9WM@rJ zkAD<7>L~m~|BEI>S;a_yGMC06*A?)+d z@b%`e2A@B9vE%2Y9Kx0tkh+xOMFclH!jea%(u2E?Ep` zCr6AOJNBiOnQ{6Iy1Tm>cFzUwM54iKSAWC6z<^=TFSvq-4;vW!I0??qP6LDgBHZV@ z5&c_RTQ$yIT^R9raD3YVQ9HNG2tyu)g||o67La){n`oaqcMj3c=kxLIJ1z{nR4T>A z>>L@Jg@u51IaJ5a*3NKpe;IuA;U5&7h?+-^0HjhWO752u%N*?OSnJsdZHe}xqJLtU z=jrdgOFYXL7nh*1sfl6F&C4gYJO6`u8t1MPnZU}b2k7YNAeLELSg_W!w6rAJ<%20h zLqmKSwvpl2CXrxG@Os?1c?)e42^t$4k(6=@yLRs*F0El-Y}7dSm%*8{=UB@u1m=Uw z1P%up8ygiSOW0s)YC^O(5oYy<(0>p-e*6S6hmXiC@kK@Vuw;3FLVf~)0CBMgG3m{T zTH&q^+9VQGSO12T)HEa{rLg+Vm@$3i2!JiP0-!L!Bn46c@PsAk3*WK{e!ku~8h0Gu zU&vINtPuzVSiQ<0>w?#?rffCEoec+K4&y+~VYTWw*xM6>Q>|?Q?d=`x=YLXtc1@09 zDeLO$LQjvBVV6kSk(*b5!rOOL%G5PCH{$p{TN9){&3LFjx+qXpwE)OtV7(d>S zwXD0lo3$gm2uH8}*`=>9n`{wRRv~C@h+5ge-rinZzi|`SZ`{Q4r5|JO?r284n&3W^ zgCG6Zzu^5jvqx4CXk=u>T7O2mW$Z_1XD88aEEn;&wzeW5a4m80f4|5NndeRqWCD*J zIfN-wCNuofGfpFF*B*^?A1X|5u$GZvE*IgRj88;e zeLcg^+sgw-4jqt*^!H9CYq-0+F>VffdZft9D?ot%3XO4B2KiL*E13t-)6--9$3>zt)_SF-BBK2r z7iXDgwtIAIYiriFCx5;{E~}}n(Iru#6D-_);ex3?$YC=}dC9DVt zVg!KwGt|v(o<_NA8v5G&@IQSShD(<&Grm|+S6`2yPePT}|8zqroShsQ_JEbkaWw8Y z@#5#~x$`)C?ti>W`~p@khq;-VM!DURMYIvxX1PytX-0Z>o@P*4F- zPytX-0d7!G0Z>o@P*4F-Xj%aB@0g(&eUKkxE};C?Vicnf{bSBmrVxtJJNsn>Kvx0X zoBaTNZJf@{e1)%#BZ+_tVe~BdD!n+8O#~F9XW3Ut08|L0d*CT300937)ygcax=rx_ P00000NkvXXu0mjfpf6O$ diff --git a/plugins/GroupDetails/assets/240p.png b/plugins/GroupDetails/assets/240p.png index 485a1d3cb5b2d3fb521a7d41246a5722d7eca06f..23582435cf93f76a89e3a9003350223e3f830f53 100644 GIT binary patch delta 2272 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 us}DyiA_0Zwq58eTVu zAmC#B`^7h@2HPQQKJKTI1OhhWQ^RW?5t@@gpv?Hx@Y+p;#v~BZGhg@6*w(`4Lc033 z7s_laq^n=IcL5L8cPAvQFGk&zMX?R%lWqXWjexx%Jr&vvIAxm=F?f@{dg`W-nr zd5}mXkUXgZBNW2a%oN?s%`wE;39f$|i9Wr1w@U&D8YczV@&FQv1SzSfa3UoQ`32V? zlgZTjp)Uu0fzaS}=-0OoZ-cL|uZP<>PZSrI5bN05^nb+JGZ||4ott+B>o$a<=+ueDok7gjZSa^d38Tl1Lq_KB?ZXFm;pe|^*VsraSFORJ#3QYy(_6Q1W6n1V@ST4Eq*7ViCcryvjNFWe z56d)eUsF?qt$xB}KSVkcap^yWs3JSmoK>lA~ZvP%z5ND|l64ZEYhWg9Fkx)FD}fYm{e%jK;~f)gpJNILe<_e+4mUk*b2o?XcP zSAQ1PtqsHwXD4*Guz;SP9!yM(F>-_p5)Q=Uo4LNM{hZFs(rA*&CsUAoGKF{L?b-Vq z9zT{SmHoMUcN|YjfXlF(_4}{dA^AV>z960)IRx z`QP8ed$*B$=^UaW!eMUSm9_2nn`6}S(SJA-pqHI3;$nB;NWy-M9N_|ifPC3hAP`{P z+CbRakVC)n@(R3s`ARLtl$Tdv?YaC45-;Rr7zW)fEHGpGG^8dUgPEBbv2JDMW8@cH4J1!pC7cMp_6N|;zx+RKrH{wbFV$9srTIuS4hkpI~ zLQhXmsZ1u5;c9*X?|S`eh!d;4vVZb%+aLhjK*VA(OifKW^;2AO7m-n06hpSKV4@?Y z4sH~Z6JT~K5<4Q12-a4XM0sH$|Celxjg495&3DNUMu3bga)M%n%TP`$S1OfancoW3 z*Vi{G_i%TE=fv^6jI*eSobc&tW~Q<|+nM}6!ojCcpR&r0jEp`!0gfl1#DAST#YFiW z-`Sk{iH`XZg*S^7j+V%cVZ4o%?VRq?rL)TRojaQlWmQ$xyzBN{_61hCsz~9z6QH=b z1Z&ra5am-Qd*SoXKIL>aZ{M*?p*&`DBuq?WK1=9aZ}&Y;|gDYkAde zMMWik-M&+0sQ$qSP+VMssejXFp{Axrxzp6Q55hx(RrXW&;sw6*4^T*^d_BVl!(E2) zHr^L6U$Q1_NDf|Obm-85D68Rt05X{j<>eJPcqkF>6TBdK@`N=?81VULock8>Y5dDM zxtROyBBB#wY1sq&;$qRMlfKHnfB%e&d^sjx1#<#MvL{j1bPUq9<%q)ecY7E0*+Yiyi%$ug@q_5Aau(xmD zs_diw%^PyG!xBRBjd31hG1<#gtv0+6;2%3{3k#KfJ$v>X zs{(@*$`>!3uh!Pa6@LPO00ssIWaBoAKGdya*h&PLc}_sg=15MC6dP_9-G73$on|+Q?%glNU#xpI zDf{C=iNX$5TKYg~d(s0Uu66qM;peKDNF;)xp#j8VG3;z@(BIJkBZj+ZbR($61gNfl z3g3D2S<{?L7cWF$fIr#;934JEYFfJTsHWtu%I&}G5&3R|gTp6kkLPsS30|+x@k)TQ zvPYOPdk%5Mh<`*3BEmy4-DfJ=3;sHA08#ef;X^!o_8i8>%Cl?NZxj-5;xG)uDc|uS zp_UVP?cdii-qV|C{7#+p5f{6oT^au!0W2+h5dECAQ|ZLECsNXgvSCBNf*Hr>9c`Wf znOSGxJ#8j2ZE9v_hNQ%Uye4T{3j%=vQ@tk>B46N;NF;Fcn5fo||Fm@rygVl~J&zq76r40wIG=qHJ~Nd+Ti|*v+;{d& z?A^B?5{aTiS6*HLPj4S=2wIJS0|!9*R*JLd&m$x(f*1liIyzvC>uBvEfVM*{79%`l zJr*oprhnWSEH1&!*>gF1>>L| zS`&yRixy}ct4Bvgz-QW&b~9f}03}$xY6XrSKBQI>XNa>CGSgEqZOY_!HCO5b5HRSA zfk;nH#?|}+WMpO`C-=(#Uk+u2Fg0!ba_A`DGJk%p9svRLA4KXJGD%PDHLkV1i!~v%dfU diff --git a/plugins/GroupDetails/assets/360p.png b/plugins/GroupDetails/assets/360p.png index c475b20104671bfcd827340abff733c5c33ec0d7..98fcb7a30e9be928314cfa31af223bb65114ff4d 100644 GIT binary patch delta 2932 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 diff --git a/plugins/GroupDetails/assets/480p.png b/plugins/GroupDetails/assets/480p.png index e7a99dc28523860220c4398aa9293650c2830b5c..e752e90dee09fb0512118980985b11f1fb7e5ae5 100644 GIT binary patch delta 2592 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%0Afrsm4>qO9y0+<#ZDMompEu}$>1 zf5-G`Q{@k^AYCc5E;y zk_-2ht5H{9Pi*s-t$&}x&(~Y3`_Za=?H$qypslT4?mmo#Jgk;~;G>g&H@mDftC?@4>Uwzf93wze`3WCLXj znakz&n+LG5wn9j75Ed_5C|!)u7wH!%$K`UlQqMwZup>4eJAY#1sDW5qOtjQ5-@8Ec z%f0(V{#9Ka3=IsZ_o#bSN8~05Oo-dY@`A_X{r^aqnVA_T+u35?2Xm!564qw|Xch{Q zn3O_sL-R3yys^SB+u7NPh{!LHl$=V*!}&BF)%XVE#v%P=vRuXoz&L9P zi;AdxQSnpiS%XP3&dUCT+yW4bJCShcD3PB&ZK^`)7XZ}PzlMkB8vN_>Rbm@!D@&YB zPb1d(rNNZRc6k5&u|)nhrNrEmt5XBA1@l!;0B6r-;(vK{wbEvPd3gm~mU$2lS^&V@ zIe)~dv?PojJ4UfV;Bw*S>O$nNT+O8xa%iW1X4%i^lVxzg34m7iH8wVaql5gafB5Jz zT--dUB~CY27aTi$u+P#fPY-uupeAf-!8cLcC34BBC-I1~o4CqzB?dC&3IcEB-Na+c z7N@_jH-ETX`NNA{yZ17l;ys<7fz#<3GTqmE?P`4e)n6rY0)Ywqe0{KY-vNpI@x)}j z5s9!N&>sSU30~FJAtm(`cE*2C>~H3b>2O`TMD+wfEBo^Ke5~+r$6!R*rcj*E%0@+H zmBOOa(9pm?zWIu}7e6SMfa2n($i4P&BF}W*Z+{>|OG^t02lgslwBc|#_-=a?EErA_ z4N3u!Tx5^xeg3=#gBezqmN=c3$XNIxL0el3yW?Z2LFJ$oKyB?yq-UHX@=KRED;$vz z6cJpykO@CuZ>bK0^iKCKWoN>9vD2V=SD9jfgu_RvyIukQK2R0t>geFhFCwuqBp8`l z*?+ixBM*gz#i*&Rfk^bfzlZCO9Eph&O)-1cOgJxcf{DraLHC~2e+RQrO$?cT2eVK@ z5XgcR01H+CELZ`sUy1HGtm;fa%j>EL0CYHs>-agoWzP{@)0I z^#Vh0_5MFyLBoVMs9k(x)09YZYw&7W@008_K0Lq}S TE9BbW00000NkvXXu0mjf__X#j diff --git a/plugins/GroupDetails/images.js b/plugins/GroupDetails/images.js index d901f935..e0716eca 100644 --- a/plugins/GroupDetails/images.js +++ b/plugins/GroupDetails/images.js @@ -1,16 +1,16 @@ "use strict"; (function () { var MAP = { - "1080p.png": "data:image/png;base64,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", + "1080p.png": "data:image/png;base64,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", "144p.png": "data:image/png;base64,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", - "240p.png": "data:image/png;base64,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", + "240p.png": "data:image/png;base64,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", "2k.png": "data:image/png;base64,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", - "360p.png": "data:image/png;base64,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", - "480p.png": "data:image/png;base64,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", + "360p.png": "data:image/png;base64,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", + "480p.png": "data:image/png;base64,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", "4k.png": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAYAAADS1n9/AAAFEUlEQVR42u2da0xbZRjH/6cBFijQZY4MLJnLPrjEjbszMeF+26bR6Jx+UO7bzBK/KZeuXaGs0IG6mLkBhUIpUAqILDNq5u3DvGzcyk0zFzHZkmlcnLGLlUsIo/XDXAK0cA7sQ99z+vw+vufl5Mn7/70PPSenPQDh13B8E3bs3OOmZRIvf97+hduUABS8f4jACQn/5vR1WkERsvvJvbwScOuFT8FLT4TVEnDewqfgpS3Ccglk9D/f/1ietWz1Qdr90sVbtjLa/f7dBWS0+/27C8hoSfwbEoAEIEgAwm8JEFOx9+8v4fkXX8b1n2/wzh0d/B5RUZGCzvvCS0cwMTm15vFopRJDV68IrnNicgqv5xXh35mZdefF7NuL3u4OKBQK6gBCuNBoFBS+LxmfmBRN+KISYHr6V5w738B0jWPjE3gjv5g3/NiYfUyELxoBlpaW8HaZCouLi8zWaB8bFxx+j9XCRPiiEaDZZMbk1I/M1jdqH0NeQQlmZmfXDz82hpmdL5oPgTdv3cLZD86xHX5hCWZn5/jDt1oQHh5Ol4FCcblcKC1XY2Fhgcn6hkfsgsKPi4tlMnzmBWi3dGFk1O4x/nhUFBPhFxQfFXX4TAtw+7ffUf/+WY9xjuNgqKn2cfijyC/i3/nx/4cfFhbG7CZjUgC3242yCjXm5uY9jhUV5OGZ/Uk+q21oeAT5RUe91rY6/B7Gw2dWAKutF1evDXqMRyuVUJWX+qyuwaFh5Bcd4w0/IT5OFOEzKcAfd+6g1lDv9Vj9GT3k8hCf1HVtcAgFxccxP88fvk0k4TMpQLnqlNfr6VdfOYy01BSf1OS450BhyZu84ScmxD8IPzQUYoGp+wB9/QO48u13HuMR27ejSqv2WV18Lf9h+N1d7aIKn6kOcPfuX6jWG7weq9XrsHWrgtlFTEpMEGX4THWAk5pKOJ1Oj/FDB3Px3KEDzIcfKpdDjDDRAS598im+/Pobj3GFQgGDXsf0Au7a9QRCgoMhVnwuwN8OByqr9V6PVWnViIiIYHoBBy5eQmn5SbhcLhJgM2i0Ojgc9zzG01KS8dqRw6JYxI8+voiyCjXcbjcJsBEuf/EVPvv8sse4XB6C+roaUS1kX/8AylUa0UngUwHW+tSvKnsH0UolM4sUHByMLVu28M7r6etHhVorKgl8KsA/Xj71P52UiMKCPKYW6bFt22BuNQqSwNbTB5WmUjQSMPdAiH1sHDt373nk8+x/duVdw8jIHbAP/bDp86WlJMPcakTJsRO8zyd023rBAThTexocx1EHkAppKckwm5oQFBTEO9dq64VGq2O+E5AAG5UgNUWwBJ1WG05VVpMAUiM9LRVtLY2CJOjo6mZaAhJgk2Skp6G1uUGQBJZOK7Q6PQkgNTIz0mEyNiAwMJB3brulE1Wn2bu34dOrgBs/jW/q75xOJ56KXf+xsI18N/BRyMp8IMHxE2/xfnGlzdwBDhx0lRrqAFIiOysDLU0XBHWCVrNlzRtgJICIycnORHPjeQQE8DdVU1s79LV1JIDUyM3JQnOTMAmaTW2oWePZRxJAxBzIyYax8UNBEhhbWmGoe5cEkBoHc3MES9BoNMFQ/57PauUA+olYf2P5T8ZSB/BzSAASgCABCBKAIAEIfxdg9TtmCOleAq4QgO/VYoT0eJi5jM8QQrq7f4UA1AX8b/cD9No4v9v56742zpsEJIJ0Wr6gF0euJQEhnbYvSAASQdrBEwQA4D8iUuD1D944jQAAAABJRU5ErkJggg==", "5k.png": "data:image/png;base64,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", "6k.png": "data:image/png;base64,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", - "720p.png": "data:image/png;base64,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", + "720p.png": "data:image/png;base64,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", "8k.png": "data:image/png;base64,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", }; window.GroupDetailsImages = MAP; From d99c4bdd48820a2580d65a55d40eae891d24dd99 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:25:57 -0400 Subject: [PATCH 27/41] Update Group Details to version 0.2.0, adding new screenshot asset and improving scene tooltip formatting. Removed obsolete resolution badge assets to streamline the plugin's performance and visual representation. --- plugins/GroupDetails/GroupDetails.js | 6 +- plugins/GroupDetails/GroupDetails.yml | 15 +---- plugins/GroupDetails/README.md | 90 +++++++++++++++++--------- plugins/GroupDetails/details.png | Bin 0 -> 27376 bytes plugins/GroupDetails/screenshot.png | Bin 0 -> 39192 bytes 5 files changed, 65 insertions(+), 46 deletions(-) create mode 100644 plugins/GroupDetails/details.png create mode 100644 plugins/GroupDetails/screenshot.png diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 42ff3ab3..f24ef2ba 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -152,11 +152,11 @@ } function formatSceneTooltipLine(sceneIndex, title, durationSec) { - var idxLabel = - sceneIndex == null || sceneIndex === "" ? "null" : String(sceneIndex); var t = String(title || "").replace(/\s+/g, " ").trim(); if (!t) t = "(no title)"; - return "[" + idxLabel + "] " + t + " " + formatDuration(durationSec); + var hasIndex = !(sceneIndex == null || sceneIndex === ""); + if (hasIndex) return String(sceneIndex) + ". " + t + " " + formatDuration(durationSec); + return t + " " + formatDuration(durationSec); } /** For ordering only: missing index sorts like 90. */ diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index e296a2bb..9976594f 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.1.27 +version: 0.2.0 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: @@ -8,18 +8,7 @@ ui: - GroupDetails.js css: - GroupDetails.css - assets: - /144p.png: assets/144p.png - /240p.png: assets/240p.png - /360p.png: assets/360p.png - /480p.png: assets/480p.png - /720p.png: assets/720p.png - /1080p.png: assets/1080p.png - /2k.png: assets/2k.png - /4k.png: assets/4k.png - /5k.png: assets/5k.png - /6k.png: assets/6k.png - /8k.png: assets/8k.png + settings: includeAllScenes: displayName: Include all scenes diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 6ffadc1c..453470e9 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -1,59 +1,89 @@ # Group Details -`Group Details` is a UI plugin for Stash group pages. +`Group Details` is a UI plugin for Stash group card. -It adds two computed metrics to each group card's stats area: +## Screenshot -- **Top line:** total duration (`H:MM:SS`) on the left, native scene-count chip centered. -- **Second line:** resolution **bucket icon** (inline SVG from Font Awesome **Free** solid paths) right-aligned, below the first line so tag/group chips are not squeezed horizontally. Hover shows `Resolution average: Npx` (or `—` if none). +![Group Details screenshot](./screenshot.png) -Buckets use average **vertical pixel height** of contributing scenes: **`<480`**, **`<720`**, **`≤1081`**, **`>1081`**. Icons are **display**, **film**, **gauge-high**, **maximize** (FA 6.5.2 free-solid). Groups in the **same** height bucket reuse the **same** icon (for example, both ~1080p averages use the HD-bucket glyph). Stash’s `PluginApi` Font Awesome export is incomplete for plugins, and Pro-only glyphs (regular SD/HD/4K marks) are not in Free, so icons are **not** loaded from `PluginApi`. +## What It Adds -## Filtering rules +- **Date line:** appends total duration (`H:MM:SS`) to the right side of the date row. +- **Chip list:** appends a resolution chip (PNG badge) to the end of `.card-popovers`. +- **Tooltips:** duration and resolution both expose native `title` tooltips. -By default, both metrics only consider scenes whose `scene_index` for the current group is: +## Data Source + +Metrics are computed in-browser from GraphQL `findGroup` scene data (`id`, `title`, `files { duration height }`, `groups { group { id } scene_index }`). + +## Scene Filtering + +When **Include all scenes** is disabled (default), scenes are included only if `scene_index` is: - `null`, or -- an integer in the inclusive range `0..89` +- an integer in `0..89` + +Exception: if the group has exactly **one scene**, scene-index filtering is bypassed for that group. + +When **Include all scenes** is enabled, all returned scenes are included regardless of `scene_index`. + +![Group Details Settings screenshot](./details.png) + +## Sorting -**Exception:** if the group has **exactly one** scene in the GraphQL `scenes` list, that scene is **always** included (no `scene_index` filter), so single-scene groups are not blanked by an odd index. +Duration tooltip scene lines are sorted by: -Otherwise this excludes common trailer/bonus/out-of-band indices such as `-1`, `90`, `99`, etc. +1. `scene_index` ascending (`null` sorts as `90`) +2. duration descending +3. scene `id` ascending (stable tie-break) -### Plugin setting: Include all scenes +## Duration Metric -In **Settings → Plugins → Group Details**, enable **Include all scenes** to skip the `scene_index` filter and use every scene returned for the group. The **`duration > 600` seconds** rule for the average resolution metric still applies in both modes. +- Uses each included scene's **max file duration**. +- Card value is total duration displayed as `H:MM:SS`. +- Tooltip lists every included scene as: + - `N. Title H:MM:SS` when `scene_index` is present + - `Title H:MM:SS` when `scene_index` is null -After changing this setting, reload the group page (or navigate away and back) so metrics refresh. +## Resolution Metric -## Resolution rule +Average resolution uses vertical pixels (`height`) from each included scene's tallest file: -Average resolution is based on vertical pixels (`height`) with an additional duration filter: +- For groups with **exactly one total file**, the duration gate is bypassed. +- Otherwise, only scenes with `duration > 600` are eligible. +- Resolution average is `round(sum(height) / count)`. +- Tooltip format is: + - `Resolution Average: p` + - or `Resolution Average: —` when no eligible average exists. -- Include only eligible scenes where `duration > 600` seconds. -- Compute as `round(sum(height) / count)`. -- Display as `NNNp` (for example, `720p`). +Resolution chip empty/dash behavior: -## Duration rule +- If there are no files (or single-file case with unusable height): render nothing. +- If `totalFileCount > 1` and no eligible average: render `—`. -Total duration is the sum of eligible scene durations and is displayed as `H:MM:SS`. +## Resolution Badge Mapping -## Data source +The plugin picks a PNG badge using a 2% tolerance (`>= 98%` of target resolution): -The plugin fetches group scene data through GraphQL (`findGroup`) and computes metrics in-browser. It does not rely on card DOM text parsing. +- `< 234` -> `144p.png` +- then highest match from: + - `240`, `360`, `480`, `720`, `1080`, `1440 (2k)`, `2160 (4k)`, `2880 (5k)`, `3160 (6k)`, `4320 (8k)` -## Tooltips +## Assets And Build -**Duration chip:** every eligible scene included in the **total duration** sum, one line per scene: +Badges are authored as PNG files in `assets/` and embedded into `images.js` as base64 data URIs. -`[scene_index] Title H:MM:SS` +- Source files: `plugins/GroupDetails/assets/*.png` +- Generated file: `plugins/GroupDetails/images.js` -**Resolution icon:** hover shows `Resolution average: Npx`, or `Resolution average: —` when no scenes qualify for the average (same duration, height, and scene_index rules as in **Resolution rule**). +Regenerate `images.js` after changing PNGs: -Null `scene_index` is shown as `[null]`. Missing titles appear as `(no title)`. +```bash +bash build.sh +``` -The resolution **icon** sits inside a wrapper; inner SVG uses `pointer-events: none` so hover targets the wrapper and the native `title` tooltip appears reliably in Chrome. +`build.sh` reads `assets/*.png`, sorts filenames deterministically, and rewrites `images.js`. -## Updates not showing? +## Updates Not Showing? -Stash loads UI plugins from a fixed URL (`/plugin/GroupDetails/javascript`). After you change plugin files, do a **full page reload** (F5 or Ctrl+Shift+R) so the browser fetches the new script (the server ETag changes when file content changes). In-app navigation alone can keep an older script in memory, so you may still see old tooltip text until you reload. +After editing plugin files, perform a **full page reload** (F5 / Ctrl+Shift+R). In-app navigation can keep an older script in memory. diff --git a/plugins/GroupDetails/details.png b/plugins/GroupDetails/details.png new file mode 100644 index 0000000000000000000000000000000000000000..3f474d6c82816988fdb846d7154a5354e1eaac2c GIT binary patch literal 27376 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 L6h4%T83p_gyk2xW literal 0 HcmV?d00001 diff --git a/plugins/GroupDetails/screenshot.png b/plugins/GroupDetails/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..600941a769b5ae434b52a7766e47144651ee1ae8 GIT binary patch literal 39192 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 A+W-In literal 0 HcmV?d00001 From 5bda5f7403f52c7df6fbe05b4fa6fa8a7c6b48c2 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:36:35 -0400 Subject: [PATCH 28/41] Readme update for Pr into mainline. --- plugins/GroupDetails/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 453470e9..d4e53c91 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -87,3 +87,12 @@ bash build.sh ## Updates Not Showing? After editing plugin files, perform a **full page reload** (F5 / Ctrl+Shift+R). In-app navigation can keep an older script in memory. + +## Gen AI Assisted Plugin Authorship +This plugin was generated with the help of Generative AI (Cursor). + +Per the draft guidelines of [#678] +- ✅ LLM use is openly disclosed. +- ✅ Code is reviewed by a human. +- ✅ Human testing and validation was performed. +- ✅ You take full responsibility for the code (including license compliance). \ No newline at end of file From 384e10d0b64cfdce7ee22ab1872af497ca773ac4 Mon Sep 17 00:00:00 2001 From: KennyG Date: Mon, 13 Apr 2026 09:49:07 -0400 Subject: [PATCH 29/41] Reducing the duration filter threshold to 360 sec, for scene eligibility and updating related documentation. Update Group Details plugin to version 0.2.1 --- plugins/GroupDetails/GroupDetails.js | 2 +- plugins/GroupDetails/GroupDetails.yml | 2 +- plugins/GroupDetails/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index f24ef2ba..e563739a 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -213,7 +213,7 @@ formatSceneTooltipLine(idx, scene && scene.title, duration) ); - if (bypassDurationFilterForResolution || duration > 600) { + if (bypassDurationFilterForResolution || duration > 360) { var height = getSceneVerticalPixels(scene); if (height > 0) { verticalSum += height; diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 9976594f..81391ec1 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.2.0 +version: 0.2.1 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index d4e53c91..2ab5f1df 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -50,7 +50,7 @@ Duration tooltip scene lines are sorted by: Average resolution uses vertical pixels (`height`) from each included scene's tallest file: - For groups with **exactly one total file**, the duration gate is bypassed. -- Otherwise, only scenes with `duration > 600` are eligible. +- Otherwise, only scenes with `duration > 360` are eligible. - Resolution average is `round(sum(height) / count)`. - Tooltip format is: - `Resolution Average: p` From 2102c432f1d3809c5b4bc44cbfbea04d7bfe127f Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 12:52:47 -0400 Subject: [PATCH 30/41] Update Group Details plugin to version 0.2.2, adding performer support with a performer-count chip and popover display. Enhanced the configuration to include performer data in metrics and adjusted related styles in the CSS for improved visual representation. --- plugins/GroupDetails/GroupDetails.css | 50 +++++++++++ plugins/GroupDetails/GroupDetails.js | 117 +++++++++++++++++++++++++- plugins/GroupDetails/GroupDetails.yml | 8 +- 3 files changed, 172 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index e7b61990..0f58cb95 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -99,3 +99,53 @@ opacity: inherit; cursor: help; } + +.group-card .card-popovers .gd-performer-count { + position: relative; +} + +.group-card .card-popovers .gd-performer-count .btn { + pointer-events: none; +} + +.group-card .card-popovers .gd-performer-popover { + position: absolute; + right: 0; + top: calc(100% + 0.35rem); + z-index: 40; + display: none; + min-width: 220px; + max-width: 320px; + max-height: 300px; + overflow: auto; + padding: 0.4rem; + border-radius: 0.35rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: rgba(20, 23, 28, 0.98); + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); +} + +.group-card .card-popovers .gd-performer-count:hover .gd-performer-popover { + display: block; +} + +.group-card .card-popovers .gd-performer-item { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.25rem; +} + +.group-card .card-popovers .gd-performer-image { + width: 48px; + height: 64px; + border-radius: 0.25rem; + object-fit: cover; + background: #26313f; +} + +.group-card .card-popovers .gd-performer-name { + font-size: 0.82rem; + line-height: 1.1; + color: var(--text, #d5dbe3); +} diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index e563739a..b7ea58ce 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -12,6 +12,7 @@ " id " + " title " + " files { duration height } " + + " performers { id name image_path } " + " groups { group { id } scene_index } " + " } " + " }" + @@ -25,6 +26,7 @@ cacheByGroupId: new Map(), inFlightByGroupId: new Map(), includeAllScenes: false, + includePerformers: false, tooltipDelegateBound: false, }; @@ -106,21 +108,34 @@ } } var next = false; + var nextPerformers = false; if (cfg && typeof cfg === "object") { next = readBoolSetting(cfg.includeAllScenes, false); + nextPerformers = readBoolSetting(cfg.includePerformers, false); } - if (next !== state.includeAllScenes) { + if ( + next !== state.includeAllScenes || + nextPerformers !== state.includePerformers + ) { state.includeAllScenes = next; + state.includePerformers = nextPerformers; state.cacheByGroupId.clear(); state.inFlightByGroupId.clear(); } } catch (e) { state.includeAllScenes = false; + state.includePerformers = false; } } function metricsCacheKey(groupId) { - return String(groupId) + ":" + (state.includeAllScenes ? "1" : "0"); + return ( + String(groupId) + + ":" + + (state.includeAllScenes ? "1" : "0") + + ":" + + (state.includePerformers ? "1" : "0") + ); } function getSceneDurationSeconds(scene) { @@ -203,6 +218,7 @@ var bypassDurationFilterForResolution = totalFileCount === 1; var durationLines = []; + var performerById = new Map(); for (var j = 0; j < rows.length; j++) { var row = rows[j]; var scene = row.scene; @@ -220,6 +236,21 @@ verticalCount += 1; } } + + var perfs = (scene && scene.performers) || []; + for (var p = 0; p < perfs.length; p++) { + var perf = perfs[p]; + if (!perf) continue; + var pid = String(perf.id || perf.name || ""); + if (!pid) continue; + if (!performerById.has(pid)) { + performerById.set(pid, { + id: String(perf.id || ""), + name: String(perf.name || "").trim() || "(unknown performer)", + imagePath: String(perf.image_path || ""), + }); + } + } } var durationHeader = @@ -242,6 +273,9 @@ totalFileCount: totalFileCount, durationTooltip: durationTooltip, resolutionTooltip: resolutionTooltip, + performers: Array.from(performerById.values()).sort(function (a, b) { + return a.name.localeCompare(b.name); + }), }; } @@ -329,6 +363,76 @@ return wrap; } + function normalizePerformerImageUrl(path) { + var p = String(path || ""); + if (!p) return ""; + if (/^https?:\/\//i.test(p)) return p; + if (p.indexOf("/") === 0) return p; + return "/" + p; + } + + function buildPerformerChip(id, performers) { + var list = Array.isArray(performers) ? performers : []; + if (list.length === 0) return null; + + var wrap = document.createElement("span"); + wrap.id = id; + wrap.className = "gd-performer-count performer-count"; + wrap.setAttribute("role", "img"); + wrap.setAttribute("aria-label", "Performers: " + list.length); + + var btn = document.createElement("button"); + btn.type = "button"; + btn.className = "minimal btn btn-primary"; + btn.tabIndex = -1; + btn.setAttribute("aria-hidden", "true"); + + var icon = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + icon.setAttribute("aria-hidden", "true"); + icon.setAttribute("focusable", "false"); + icon.setAttribute("data-prefix", "fas"); + icon.setAttribute("data-icon", "user"); + icon.setAttribute("class", "svg-inline--fa fa-user fa-icon"); + icon.setAttribute("role", "img"); + icon.setAttribute("viewBox", "0 0 448 512"); + var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute( + "d", + "M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z" + ); + path.setAttribute("fill", "currentColor"); + icon.appendChild(path); + + var count = document.createElement("span"); + count.textContent = String(list.length); + + btn.appendChild(icon); + btn.appendChild(count); + wrap.appendChild(btn); + + var pop = document.createElement("div"); + pop.className = "gd-performer-popover"; + for (var i = 0; i < list.length; i++) { + var perf = list[i]; + var item = document.createElement("div"); + item.className = "gd-performer-item"; + var img = document.createElement("img"); + img.className = "gd-performer-image"; + img.alt = perf.name; + var src = normalizePerformerImageUrl(perf.imagePath); + if (src) img.src = src; + else img.style.display = "none"; + var name = document.createElement("div"); + name.className = "gd-performer-name"; + name.textContent = perf.name; + item.appendChild(img); + item.appendChild(name); + pop.appendChild(item); + } + wrap.appendChild(pop); + return wrap; + } + async function fetchMetricsForGroup(groupId) { var data = await gql(GROUP_METRICS_QUERY, { id: String(groupId) }); var group = data && data.findGroup; @@ -448,6 +552,8 @@ if (oldRow && oldRow.parentNode) oldRow.parentNode.removeChild(oldRow); var oldRight = popovers.querySelector(".gd-stat-right"); if (oldRight && oldRight.parentNode) oldRight.parentNode.removeChild(oldRight); + var oldPerf = popovers.querySelector(".gd-performer-count"); + if (oldPerf && oldPerf.parentNode) oldPerf.parentNode.removeChild(oldPerf); var durationNode = buildStatNode( "gd-stat-duration-" + Date.now(), @@ -464,6 +570,13 @@ ); resolutionNode.classList.add("gd-stat-right"); resolutionNode.classList.add("chip"); + if (state.includePerformers) { + var performerNode = buildPerformerChip( + "gd-performer-" + Date.now(), + metrics.performers + ); + if (performerNode) popovers.appendChild(performerNode); + } popovers.appendChild(resolutionNode); mountDurationOnDateLine(card, durationNode); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 81391ec1..0f64e150 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.2.1 +version: 0.2.2 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: @@ -17,3 +17,9 @@ settings: When disabled (default), scenes are limited to those with scene_index null or 0..89 for this group, except when the group has only one scene (that scene is always included). type: BOOLEAN + includePerformers: + displayName: Include performers + description: >- + When enabled, appends a performer-count chip to group cards and shows a performer image/name popover + built from the union of performers across included scenes in the group. + type: BOOLEAN From d68da754acdbccc4072e6502058f1db314a54567 Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:00:06 -0400 Subject: [PATCH 31/41] Enhance README for Group Details plugin with detailed instructions on regenerating images.js. Added clarification on the build script functionality and emphasized the importance of committing both PNG assets and the generated images.js file after changes. --- plugins/GroupDetails/README.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index 2ab5f1df..e072373b 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -71,18 +71,32 @@ The plugin picks a PNG badge using a 2% tolerance (`>= 98%` of target resolution ## Assets And Build -Badges are authored as PNG files in `assets/` and embedded into `images.js` as base64 data URIs. +Badges are authored as PNG files in `assets/` and embedded into `images.js` as base64 data URIs. The image.js provides base64 data back to the plugin and users can ultimately swap a logo on their plugin for further customiation if desired. +`images.js` is generated output and should not be hand-edited. - Source files: `plugins/GroupDetails/assets/*.png` - Generated file: `plugins/GroupDetails/images.js` +- Build script: `plugins/GroupDetails/build.sh` -Regenerate `images.js` after changing PNGs: +### Regenerating `images.js` + +From `plugins/GroupDetails/`: ```bash bash build.sh ``` -`build.sh` reads `assets/*.png`, sorts filenames deterministically, and rewrites `images.js`. +What `build.sh` does: + +- validates that `assets/` exists and contains at least one `*.png` +- reads `assets/*.png` +- sorts filenames deterministically (stable diffs) +- rewrites `images.js` with `window.GroupDetailsImages = { ... }` + +Commit both: + +- the changed PNG files in `assets/` +- the regenerated `images.js` ## Updates Not Showing? From 881e487105d07a538d7275f80bd5dfc3a271298f Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:05:20 -0400 Subject: [PATCH 32/41] Enhancing CSS styles for popover for look and feel consistency. Adjusted JavaScript to support dynamic performer links and updated image handling. This release focuses on refining the user interface and experience. --- plugins/GroupDetails/GroupDetails.css | 47 +++++++++++++++++---------- plugins/GroupDetails/GroupDetails.js | 13 ++++---- plugins/GroupDetails/GroupDetails.yml | 2 +- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index 0f58cb95..c0839b67 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -115,37 +115,48 @@ z-index: 40; display: none; min-width: 220px; - max-width: 320px; - max-height: 300px; + max-width: 340px; + max-height: 320px; overflow: auto; - padding: 0.4rem; - border-radius: 0.35rem; + padding: 0.45rem; + border-radius: 0.45rem; border: 1px solid rgba(255, 255, 255, 0.15); - background: rgba(20, 23, 28, 0.98); + background: rgba(27, 34, 43, 0.98); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); + display: none; + grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); + gap: 0.35rem; } .group-card .card-popovers .gd-performer-count:hover .gd-performer-popover { - display: block; -} - -.group-card .card-popovers .gd-performer-item { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.25rem; + display: grid; } .group-card .card-popovers .gd-performer-image { - width: 48px; - height: 64px; + width: 100%; + height: 96px; border-radius: 0.25rem; object-fit: cover; background: #26313f; } +.group-card .card-popovers .gd-performer-item { + position: relative; + display: block; + min-width: 0; + text-decoration: none; +} + .group-card .card-popovers .gd-performer-name { - font-size: 0.82rem; - line-height: 1.1; - color: var(--text, #d5dbe3); + position: absolute; + left: 0.25rem; + right: 0.25rem; + bottom: 0.25rem; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 0.72rem; + line-height: 1.05; + text-align: center; } diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index b7ea58ce..dfadb8b0 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -414,16 +414,17 @@ pop.className = "gd-performer-popover"; for (var i = 0; i < list.length; i++) { var perf = list[i]; - var item = document.createElement("div"); - item.className = "gd-performer-item"; + var item = document.createElement(perf.id ? "a" : "div"); + item.className = "gd-performer-item performer-card"; + if (perf.id) item.href = "/performers/" + encodeURIComponent(String(perf.id)); var img = document.createElement("img"); - img.className = "gd-performer-image"; + img.className = "gd-performer-image performer-card-image"; img.alt = perf.name; var src = normalizePerformerImageUrl(perf.imagePath); if (src) img.src = src; - else img.style.display = "none"; - var name = document.createElement("div"); - name.className = "gd-performer-name"; + else img.src = "/images/wall-item/performer"; + var name = document.createElement("span"); + name.className = "gd-performer-name badge badge-secondary"; name.textContent = perf.name; item.appendChild(img); item.appendChild(name); diff --git a/plugins/GroupDetails/GroupDetails.yml b/plugins/GroupDetails/GroupDetails.yml index 0f64e150..97fc19e8 100644 --- a/plugins/GroupDetails/GroupDetails.yml +++ b/plugins/GroupDetails/GroupDetails.yml @@ -1,6 +1,6 @@ name: Group Details description: Adds group-card metrics for filtered duration and average vertical resolution. -version: 0.2.2 +version: 0.2.3 url: https://github.com/stashapp/CommunityScripts/tree/main/plugins/GroupDetails ui: javascript: From 08583e51fc90689f0728c9c1307af1269d1c8054 Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:19:37 -0400 Subject: [PATCH 33/41] Refine GroupDetails styles and JavaScript for improved UI consistency. Updated CSS for popover dimensions, padding, and grid layout. Adjusted performer image and name handling in JavaScript for better display and accessibility. --- plugins/GroupDetails/GroupDetails.css | 34 ++++++++++++++------------- plugins/GroupDetails/GroupDetails.js | 6 ++--- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index c0839b67..b26c9f89 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -114,18 +114,17 @@ top: calc(100% + 0.35rem); z-index: 40; display: none; - min-width: 220px; - max-width: 340px; - max-height: 320px; + min-width: 360px; + max-width: 520px; + max-height: 360px; overflow: auto; - padding: 0.45rem; + padding: 0.55rem 0.55rem 0.35rem; border-radius: 0.45rem; border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(27, 34, 43, 0.98); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); - display: none; - grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); - gap: 0.35rem; + grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); + gap: 0.5rem 0.45rem; } .group-card .card-popovers .gd-performer-count:hover .gd-performer-popover { @@ -134,10 +133,10 @@ .group-card .card-popovers .gd-performer-image { width: 100%; - height: 96px; + height: 120px; border-radius: 0.25rem; object-fit: cover; - background: #26313f; + background: #324252; } .group-card .card-popovers .gd-performer-item { @@ -145,18 +144,21 @@ display: block; min-width: 0; text-decoration: none; + text-align: center; } .group-card .card-popovers .gd-performer-name { - position: absolute; - left: 0.25rem; - right: 0.25rem; - bottom: 0.25rem; - display: block; + display: inline-block; + max-width: 100%; + margin-top: 0.2rem; + padding: 0.06rem 0.42rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - font-size: 0.72rem; - line-height: 1.05; + font-size: 0.76rem; + line-height: 1.2; text-align: center; + border-radius: 0.25rem; + background: #d7e4f1; + color: #1a2330; } diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index dfadb8b0..26ddf078 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -415,16 +415,16 @@ for (var i = 0; i < list.length; i++) { var perf = list[i]; var item = document.createElement(perf.id ? "a" : "div"); - item.className = "gd-performer-item performer-card"; + item.className = "gd-performer-item"; if (perf.id) item.href = "/performers/" + encodeURIComponent(String(perf.id)); var img = document.createElement("img"); - img.className = "gd-performer-image performer-card-image"; + img.className = "gd-performer-image"; img.alt = perf.name; var src = normalizePerformerImageUrl(perf.imagePath); if (src) img.src = src; else img.src = "/images/wall-item/performer"; var name = document.createElement("span"); - name.className = "gd-performer-name badge badge-secondary"; + name.className = "gd-performer-name"; name.textContent = perf.name; item.appendChild(img); item.appendChild(name); From fab6729e614c0b4d711d4caac61d730068da0f32 Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:27:17 -0400 Subject: [PATCH 34/41] Aligned CSS with native. --- plugins/GroupDetails/GroupDetails.css | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index b26c9f89..030e9d23 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -114,8 +114,8 @@ top: calc(100% + 0.35rem); z-index: 40; display: none; - min-width: 360px; - max-width: 520px; + min-width: 320px; + max-width: 560px; max-height: 360px; overflow: auto; padding: 0.55rem 0.55rem 0.35rem; @@ -123,12 +123,12 @@ border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(27, 34, 43, 0.98); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); - grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); - gap: 0.5rem 0.45rem; + text-align: center; + white-space: normal; } .group-card .card-popovers .gd-performer-count:hover .gd-performer-popover { - display: grid; + display: block; } .group-card .card-popovers .gd-performer-image { @@ -140,11 +140,12 @@ } .group-card .card-popovers .gd-performer-item { - position: relative; - display: block; - min-width: 0; + display: inline-block; + width: 96px; + margin: 0.25rem; text-decoration: none; text-align: center; + vertical-align: top; } .group-card .card-popovers .gd-performer-name { From 557beb7cac2bbbd9385ca4a88b5c9165ba11abfb Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:30:24 -0400 Subject: [PATCH 35/41] Center align --- plugins/GroupDetails/GroupDetails.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index 030e9d23..d9a1acf8 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -110,8 +110,9 @@ .group-card .card-popovers .gd-performer-popover { position: absolute; - right: 0; + left: 50%; top: calc(100% + 0.35rem); + transform: translateX(-50%); z-index: 40; display: none; min-width: 320px; From 671ea2df31012cc8a6738cc2736be4a085179cd2 Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:33:12 -0400 Subject: [PATCH 36/41] Mini card alignment. --- plugins/GroupDetails/GroupDetails.css | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index d9a1acf8..9f6e64b8 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -124,12 +124,14 @@ border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(27, 34, 43, 0.98); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); - text-align: center; - white-space: normal; + flex-wrap: wrap; + justify-content: center; + align-content: flex-start; + gap: 0.5rem; } .group-card .card-popovers .gd-performer-count:hover .gd-performer-popover { - display: block; + display: flex; } .group-card .card-popovers .gd-performer-image { @@ -143,7 +145,6 @@ .group-card .card-popovers .gd-performer-item { display: inline-block; width: 96px; - margin: 0.25rem; text-decoration: none; text-align: center; vertical-align: top; From 663c9bf2e749e25421a7343411e219a35f63db3f Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 13:45:36 -0400 Subject: [PATCH 37/41] Refactor GroupDetails popover styles and JavaScript for improved hover functionality. Updated CSS for better visibility and layout of performer items, and added dynamic hover behavior to enhance user interaction. --- plugins/GroupDetails/GroupDetails.css | 67 ++++++++++++++--------- plugins/GroupDetails/GroupDetails.js | 78 +++++++++++++++++++++++---- 2 files changed, 110 insertions(+), 35 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index 9f6e64b8..f958c302 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -112,56 +112,71 @@ position: absolute; left: 50%; top: calc(100% + 0.35rem); - transform: translateX(-50%); + transform: translate(-50%, 0.2rem); z-index: 40; - display: none; - min-width: 320px; - max-width: 560px; + display: block; + width: max-content; + max-width: 32rem; max-height: 360px; - overflow: auto; - padding: 0.55rem 0.55rem 0.35rem; - border-radius: 0.45rem; - border: 1px solid rgba(255, 255, 255, 0.15); - background: rgba(27, 34, 43, 0.98); - box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35); + overflow: visible; + opacity: 0; + visibility: hidden; + pointer-events: none; + transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms; +} + +.group-card .card-popovers .gd-performer-count.gd-open .gd-performer-popover { + opacity: 1; + visibility: visible; + pointer-events: auto; + transform: translate(-50%, 0); + transition-delay: 0ms; +} + +.group-card .card-popovers .gd-performer-popover .popover-body { + display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start; gap: 0.5rem; -} - -.group-card .card-popovers .gd-performer-count:hover .gd-performer-popover { - display: flex; + overflow: auto; + max-height: 360px; + padding: 0.55rem 0.55rem 0.35rem; } .group-card .card-popovers .gd-performer-image { - width: 100%; - height: 120px; + width: 100px; + height: 100px; border-radius: 0.25rem; object-fit: cover; + object-position: top; background: #324252; } .group-card .card-popovers .gd-performer-item { display: inline-block; - width: 96px; - text-decoration: none; text-align: center; vertical-align: top; + margin: 5px; } -.group-card .card-popovers .gd-performer-name { +.group-card .card-popovers .gd-performer-item .performer-tag { display: inline-block; - max-width: 100%; - margin-top: 0.2rem; - padding: 0.06rem 0.42rem; + margin: 0 auto; + text-decoration: none; +} + +.group-card .card-popovers .gd-performer-name { + display: block; + max-width: 110px; + margin: 0.2rem auto 0; + padding: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - font-size: 0.76rem; + font-size: 0.78rem; line-height: 1.2; text-align: center; - border-radius: 0.25rem; - background: #d7e4f1; - color: #1a2330; + color: inherit; + text-decoration: none; } diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 26ddf078..43247f4a 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -371,6 +371,54 @@ return "/" + p; } + function wirePerformerPopoverHover(trigger, popover) { + if (!trigger || !popover) return; + var enterDelayMs = 200; + var leaveDelayMs = 200; + var enterTimer = null; + var leaveTimer = null; + + function openSoon() { + if (leaveTimer) { + clearTimeout(leaveTimer); + leaveTimer = null; + } + if (trigger.classList.contains("gd-open")) return; + if (enterTimer) clearTimeout(enterTimer); + enterTimer = setTimeout(function () { + trigger.classList.add("gd-open"); + enterTimer = null; + }, enterDelayMs); + } + + function closeSoon() { + if (enterTimer) { + clearTimeout(enterTimer); + enterTimer = null; + } + if (leaveTimer) clearTimeout(leaveTimer); + leaveTimer = setTimeout(function () { + trigger.classList.remove("gd-open"); + leaveTimer = null; + }, leaveDelayMs); + } + + function onEnter() { + openSoon(); + } + + function onLeave() { + closeSoon(); + } + + trigger.addEventListener("mouseenter", onEnter); + trigger.addEventListener("mouseleave", onLeave); + popover.addEventListener("mouseenter", onEnter); + popover.addEventListener("mouseleave", onLeave); + trigger.addEventListener("focusin", onEnter); + trigger.addEventListener("focusout", onLeave); + } + function buildPerformerChip(id, performers) { var list = Array.isArray(performers) ? performers : []; if (list.length === 0) return null; @@ -411,26 +459,38 @@ wrap.appendChild(btn); var pop = document.createElement("div"); - pop.className = "gd-performer-popover"; + pop.className = "gd-performer-popover popover bs-popover-bottom hover-popover-content"; + var arrow = document.createElement("div"); + arrow.className = "arrow"; + pop.appendChild(arrow); + var body = document.createElement("div"); + body.className = "popover-body"; for (var i = 0; i < list.length; i++) { var perf = list[i]; - var item = document.createElement(perf.id ? "a" : "div"); - item.className = "gd-performer-item"; - if (perf.id) item.href = "/performers/" + encodeURIComponent(String(perf.id)); + var item = document.createElement("div"); + item.className = "gd-performer-item performer-tag-container row"; + var thumbLink = document.createElement(perf.id ? "a" : "div"); + thumbLink.className = "performer-tag col m-auto zoom-2"; + if (perf.id) thumbLink.href = "/performers/" + encodeURIComponent(String(perf.id)); var img = document.createElement("img"); - img.className = "gd-performer-image"; + img.className = "gd-performer-image image-thumbnail"; img.alt = perf.name; var src = normalizePerformerImageUrl(perf.imagePath); if (src) img.src = src; else img.src = "/images/wall-item/performer"; - var name = document.createElement("span"); - name.className = "gd-performer-name"; + thumbLink.appendChild(img); + + var name = document.createElement(perf.id ? "a" : "span"); + name.className = "gd-performer-name d-block"; name.textContent = perf.name; - item.appendChild(img); + if (perf.id) name.href = "/performers/" + encodeURIComponent(String(perf.id)); + item.appendChild(thumbLink); item.appendChild(name); - pop.appendChild(item); + body.appendChild(item); } + pop.appendChild(body); wrap.appendChild(pop); + wirePerformerPopoverHover(wrap, pop); return wrap; } From a91e8c9737ab4c6326e9552e43d0d97ebbbdfe70 Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 14:30:44 -0400 Subject: [PATCH 38/41] Refactor performer item styles in GroupDetails. Simplified class names for better readability and maintainability, enhancing the overall structure of the performer display. --- plugins/GroupDetails/GroupDetails.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.js b/plugins/GroupDetails/GroupDetails.js index 43247f4a..0deab901 100644 --- a/plugins/GroupDetails/GroupDetails.js +++ b/plugins/GroupDetails/GroupDetails.js @@ -468,9 +468,9 @@ for (var i = 0; i < list.length; i++) { var perf = list[i]; var item = document.createElement("div"); - item.className = "gd-performer-item performer-tag-container row"; + item.className = "gd-performer-item"; var thumbLink = document.createElement(perf.id ? "a" : "div"); - thumbLink.className = "performer-tag col m-auto zoom-2"; + thumbLink.className = "gd-performer-thumb"; if (perf.id) thumbLink.href = "/performers/" + encodeURIComponent(String(perf.id)); var img = document.createElement("img"); img.className = "gd-performer-image image-thumbnail"; From e2fe9b0ab355723b4263cb88a700df54548ccedf Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 14:30:51 -0400 Subject: [PATCH 39/41] Update GroupDetails CSS for improved layout and styling. Adjusted dimensions, padding, and alignment of performer items for better visual consistency. Enhanced overflow handling and refined styles for better responsiveness. --- plugins/GroupDetails/GroupDetails.css | 41 ++++++++++++++++----------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/plugins/GroupDetails/GroupDetails.css b/plugins/GroupDetails/GroupDetails.css index f958c302..f1f338b6 100644 --- a/plugins/GroupDetails/GroupDetails.css +++ b/plugins/GroupDetails/GroupDetails.css @@ -104,6 +104,11 @@ position: relative; } +.group-card, +.group-card .card-popovers { + overflow: visible; +} + .group-card .card-popovers .gd-performer-count .btn { pointer-events: none; } @@ -116,7 +121,7 @@ z-index: 40; display: block; width: max-content; - max-width: 32rem; + max-width: min(32rem, calc(100vw - 1.5rem)); max-height: 360px; overflow: visible; opacity: 0; @@ -138,15 +143,15 @@ flex-wrap: wrap; justify-content: center; align-content: flex-start; - gap: 0.5rem; + gap: 0.45rem; overflow: auto; max-height: 360px; - padding: 0.55rem 0.55rem 0.35rem; + padding: 0.55rem 0.6rem 0.55rem; } .group-card .card-popovers .gd-performer-image { - width: 100px; - height: 100px; + width: 96px; + height: 120px; border-radius: 0.25rem; object-fit: cover; object-position: top; @@ -154,29 +159,33 @@ } .group-card .card-popovers .gd-performer-item { - display: inline-block; + display: inline-flex; + flex-direction: column; + align-items: center; text-align: center; - vertical-align: top; - margin: 5px; + width: 96px; + margin: 0; } -.group-card .card-popovers .gd-performer-item .performer-tag { - display: inline-block; - margin: 0 auto; +.group-card .card-popovers .gd-performer-item .gd-performer-thumb { + display: block; + width: 96px; text-decoration: none; } .group-card .card-popovers .gd-performer-name { - display: block; - max-width: 110px; + display: inline-block; + max-width: 100%; margin: 0.2rem auto 0; - padding: 0; + padding: 0.06rem 0.42rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - font-size: 0.78rem; + font-size: 0.76rem; line-height: 1.2; text-align: center; - color: inherit; + border-radius: 0.25rem; + background: #d7e4f1; + color: #1a2330; text-decoration: none; } From 87df51ce28aa7f464da9c45a93c0d56489f9f9a4 Mon Sep 17 00:00:00 2001 From: KennyG Date: Wed, 15 Apr 2026 15:12:07 -0400 Subject: [PATCH 40/41] Enhance README for GroupDetails plugin to include new performer metric features. Added details on the optional performer chip, hover popover behavior, and updated data source metrics to reflect performer information. --- plugins/GroupDetails/README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/GroupDetails/README.md b/plugins/GroupDetails/README.md index e072373b..bd772cdb 100644 --- a/plugins/GroupDetails/README.md +++ b/plugins/GroupDetails/README.md @@ -10,11 +10,12 @@ - **Date line:** appends total duration (`H:MM:SS`) to the right side of the date row. - **Chip list:** appends a resolution chip (PNG badge) to the end of `.card-popovers`. -- **Tooltips:** duration and resolution both expose native `title` tooltips. +- **Performer chip (optional):** when enabled, appends a performer-count chip with a hover popover. +- **Tooltips/popovers:** duration and resolution expose native `title` tooltips; performer chip opens a delayed hover popover. ## Data Source -Metrics are computed in-browser from GraphQL `findGroup` scene data (`id`, `title`, `files { duration height }`, `groups { group { id } scene_index }`). +Metrics are computed in-browser from GraphQL `findGroup` scene data (`id`, `title`, `files { duration height }`, `performers { id name image_path }`, `groups { group { id } scene_index }`). ## Scene Filtering @@ -29,6 +30,18 @@ When **Include all scenes** is enabled, all returned scenes are included regardl ![Group Details Settings screenshot](./details.png) +## Performer Metric (Optional) + +When **Include performers** is enabled: + +- The plugin builds a union of performers across all scenes included by the same filtering rules used for duration/resolution. +- A performer-count chip (`user` icon + count) is appended to `.card-popovers`. +- Hovering the chip opens a performer drawer styled to match Stash scene-card behavior: + - centered popover aligned to the chip + - fixed-size performer tiles with image + name badge + - centered wrapping rows (including centered final row) +- Hover behavior uses delayed open/close timing (`~200ms` enter and leave) and fade transitions to mimic native feel. + ## Sorting Duration tooltip scene lines are sorted by: From b4d7f53a8118e52c19bd3bede4b23700bf5ec102 Mon Sep 17 00:00:00 2001 From: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com> Date: Thu, 16 Apr 2026 00:27:59 +0300 Subject: [PATCH 41/41] Remove rogue image --- plugins/480p.png | Bin 4358 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 plugins/480p.png diff --git a/plugins/480p.png b/plugins/480p.png deleted file mode 100644 index 47a8642db3c421ce8ecb7725ebf69cfeb6ee8b02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4358 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