import { useDownloadContext } from '../context/DownloadContext/DownloadContext' import { usePageTitle } from '../context/PageTitleContext/PageTitleContext'; import { useEffect } from 'react'; import { formatFileSize } from '../utils/formatFileSize'; import './Downloads.css'; export const Downloads = () => { const { setPageTitle } = usePageTitle(); const { downloads, queueCount, storageStats, clearQueue, refreshStorageStats } = useDownloadContext(); useEffect(() => { setPageTitle('Downloads'); refreshStorageStats(); }, [setPageTitle, refreshStorageStats]); // Get active downloads const activeDownloads = Object.entries(downloads || {}).filter(([_, status]) => status.progress < 100 || status.status === 'downloading' ); return (

Download Manager

Manage your offline music downloads

{/* Storage Stats */}

Storage Usage

Downloaded Tracks {storageStats.trackCount}
Storage Used {formatFileSize(storageStats.indexedDB)}
Total Browser Storage {formatFileSize(storageStats.usage)}
{/* Queue Status */}

Download Queue

{queueCount > 0 && ( )}
{queueCount > 0 ? (

{queueCount} track{queueCount === 1 ? '' : 's'} in download queue

) : (

No tracks in download queue

)}
{/* Active Downloads */} {activeDownloads.length > 0 && (

Active Downloads

{activeDownloads.map(([downloadId, status]) => (
{downloadId} {status.status || 'Downloading...'}
{Math.round(status.progress)}%
))}
)} {/* Instructions */}

How to Download Music

  1. Browse to any track, album, or playlist
  2. Look for the download icon (⬇️) next to items
  3. Click to add items to your download queue
  4. Downloads will process automatically in the background
  5. Downloaded music is available offline!
) }