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%;