feat(ui): show active download count in navigation

This commit is contained in:
2025-10-01 21:18:51 -04:00
parent 8391897f54
commit ea1a017aa7

View File

@@ -5,11 +5,20 @@
import ToolBar from "$lib/ToolBar.svelte"; import ToolBar from "$lib/ToolBar.svelte";
import { settings, loadSettings } from '$lib/stores/settings'; import { settings, loadSettings } from '$lib/stores/settings';
import { scanPlaylists, type Playlist } from '$lib/library/scanner'; import { scanPlaylists, type Playlist } from '$lib/library/scanner';
import { downloadQueue } from '$lib/stores/downloadQueue';
let { children } = $props(); let { children } = $props();
let playlists = $state<Playlist[]>([]); let playlists = $state<Playlist[]>([]);
// Count active downloads (queued or downloading)
let activeDownloads = $derived(
$downloadQueue.queueOrder.filter(id => {
const item = $downloadQueue.queue[id];
return item && (item.status === 'queued' || item.status === 'downloading');
}).length
);
onMount(async () => { onMount(async () => {
await loadSettings(); await loadSettings();
await loadPlaylists(); await loadPlaylists();
@@ -46,7 +55,7 @@
</a> </a>
<a href="/downloads" class="nav-item"> <a href="/downloads" class="nav-item">
<img src="/icons/cd-audio.png" alt="" class="nav-icon" /> <img src="/icons/cd-audio.png" alt="" class="nav-icon" />
Downloads Downloads{#if activeDownloads > 0} ({activeDownloads}){/if}
</a> </a>
<details class="nav-collapsible"> <details class="nav-collapsible">
<summary class="nav-item"> <summary class="nav-item">