diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-07 15:56:35 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-07 15:56:35 +0300 |
| commit | 7f3ca21cc42979b8f1898f5dfd81f51f04aed5e0 (patch) | |
| tree | 47987d9c73f2ce760cefed045ec85eee53747ff7 /web/js/views/media-grid.js | |
| parent | 3f70adb2c24d558be645aacb11a97d5f95f69b76 (diff) | |
Fix podcast browser workflows for k1
Diffstat (limited to 'web/js/views/media-grid.js')
| -rw-r--r-- | web/js/views/media-grid.js | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/web/js/views/media-grid.js b/web/js/views/media-grid.js index 5c16de0..08435b8 100644 --- a/web/js/views/media-grid.js +++ b/web/js/views/media-grid.js @@ -30,6 +30,10 @@ export function initMediaGrid(options = {}) { enterFolder(folder.dataset.name); } }); + + grid?.addEventListener('podcast:episode-downloaded', () => { + loadMedia(); + }); } export async function loadMedia() { @@ -52,7 +56,7 @@ export async function loadMedia() { updateBreadcrumb(data.current_path); setMedia(mediaWithBrowsePath(data.media || [], data.current_path || '')); renderBrowse(data); - const total = (data.media?.length || 0) + (data.folders?.length || 0); + const total = (data.media?.length || 0) + (data.folders?.length || 0) + (data.episodes?.length || 0); resultCount.textContent = `${total} items`; } else { breadcrumb?.classList.add('hidden'); @@ -129,7 +133,8 @@ function renderBrowse(data) { if (!grid) return; const folders = data.folders || []; const media = mediaWithBrowsePath(data.media || [], data.current_path || ''); - if (!folders.length && !media.length) { + const episodes = data.episodes || []; + if (!folders.length && !media.length && !episodes.length) { grid.innerHTML = '<p class="text-muted text-sm grid-full">Folder is empty.</p>'; clearSelection(); return; @@ -164,9 +169,9 @@ function renderBrowse(data) { bindMediaItems(grid); - if (data.episodes && data.episodes.length) { + if (episodes.length) { import('../podcasts.js').then(m => { - m.renderPodcastEpisodes(grid, data.episodes); + m.renderPodcastEpisodes(grid, episodes); }).catch(() => {}); } } |
