diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-01 16:45:55 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-01 16:45:55 +0300 |
| commit | 048d16b8aa253c93d4ae0cd1c313bf8d8b12f368 (patch) | |
| tree | ab7b288399e5e0b9ed9ebdfcc157b061cf5bbc7a /web/js/app.js | |
| parent | 65ee2e4d7f2be8036457e3cdca0e26e09eb56e0b (diff) | |
Add player stage collapse, multi-set selection, grid nav, m4b support, content-type fixes, thumbnail refresh, and verbose logging
Diffstat (limited to 'web/js/app.js')
| -rw-r--r-- | web/js/app.js | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/web/js/app.js b/web/js/app.js index 8f8ca84..cd5ded4 100644 --- a/web/js/app.js +++ b/web/js/app.js @@ -462,6 +462,17 @@ async function regenThumb(mediaId) { try { await API.regenThumbnail(mediaId); toast('Thumbnail regenerated'); + // Force refresh any thumbnail images for this media in the grid + document.querySelectorAll(`#media-grid [data-id="${mediaId}"] img`).forEach((img) => { + const base = img.src.split('?')[0]; + img.src = `${base}?t=${Date.now()}`; + }); + // If the same media is currently loaded in the player, refresh cover art too + const e = document.getElementById('cover-art'); + if (e && !e.classList.contains('hidden')) { + const base = e.src.split('?')[0]; + e.src = `${base}?t=${Date.now()}`; + } } catch (err) { toast(err.message || 'Thumbnail failed', 'error'); } } |
