diff --git a/src/pages/Favorites.tsx b/src/pages/Favorites.tsx index 20fdead2..fdc840ad 100644 --- a/src/pages/Favorites.tsx +++ b/src/pages/Favorites.tsx @@ -228,9 +228,9 @@ export default function Favorites() { if (!hasMatchingGenre) return false; } - // Year range filter - if (s.year !== undefined) { - if (s.year < yearRange[0] || s.year > yearRange[1]) return false; + // Year range filter — only applied when range is non-default; songs without year are excluded + if (yearRange[0] !== MIN_YEAR || yearRange[1] !== CURRENT_YEAR) { + if (s.year === undefined || s.year < yearRange[0] || s.year > yearRange[1]) return false; } return true; @@ -316,11 +316,13 @@ export default function Favorites() { {/* Title Row with showing X of Y indicator */}

{t('favorites.songs')}

- - {selectedArtist - ? t('favorites.showingFiltered', { filtered: visibleSongs.length, total: songs.filter(s => starredOverrides[s.id] !== false).length, artist: selectedArtist }) - : t('favorites.showingCount', { filtered: visibleSongs.length, total: songs.filter(s => starredOverrides[s.id] !== false).length })} - + {(selectedArtist || selectedGenres.length > 0 || yearRange[0] !== MIN_YEAR || yearRange[1] !== CURRENT_YEAR) && ( + + {selectedArtist + ? t('favorites.showingFiltered', { filtered: visibleSongs.length, total: songs.filter(s => starredOverrides[s.id] !== false).length, artist: selectedArtist }) + : t('favorites.showingCount', { filtered: visibleSongs.length, total: songs.filter(s => starredOverrides[s.id] !== false).length })} + + )}
{/* Action Buttons */} diff --git a/src/styles/theme.css b/src/styles/theme.css index b37acdab..ffc0f023 100644 --- a/src/styles/theme.css +++ b/src/styles/theme.css @@ -3711,6 +3711,12 @@ body.psy-dragging * { transform: translateY(0); } +.btn-sm { + padding: 3px 8px; + font-size: 12px; + gap: var(--space-1); +} + /* ─── Input ─── */ .input { width: 100%;