From aca309e39d639be57f13d2223275d7dc4c638c96 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Mon, 29 Jun 2026 10:01:15 -0400 Subject: [PATCH] [sorting] Fix album sorting --- src/js/util/arrays.js | 9 +++++---- src/js/views/Library/BrowseDirectory.js | 6 +++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/js/util/arrays.js b/src/js/util/arrays.js index c955f163..3ffba4c0 100755 --- a/src/js/util/arrays.js +++ b/src/js/util/arrays.js @@ -160,18 +160,19 @@ const sortItems = (array, property, reverse = false) => { case 'user': return item.user ? item.user.id : undefined; case 'date': - return item.album?.date || item.date || ''; + return item.release_date || ''; default: return item[property]; } }; - // Special handling for date sort: sort by date first, then track number + // Special handling for date sort: sort by release date first, then track number if (property === 'date') { return orderBy(array, [ - item => item.album?.date || item.date || '', + item => item.release_date || '', + item => item.album?.name || '', item => item.track_number || 0, - ], [reverse ? 'desc' : 'asc', 'asc']); + ], [reverse ? 'desc' : 'asc', 'asc', 'asc']); } return orderBy(array, sorter, (reverse ? 'desc' : 'asc')); diff --git a/src/js/views/Library/BrowseDirectory.js b/src/js/views/Library/BrowseDirectory.js index 1d3b6983..1abfc8b4 100755 --- a/src/js/views/Library/BrowseDirectory.js +++ b/src/js/views/Library/BrowseDirectory.js @@ -152,8 +152,12 @@ const BrowseDirectory = () => { subdirectories = sortItems(subdirectories, sortField, sortReverse); tracks = sortItems(tracks, sortField, sortReverse); if (filter && filter !== '') { + const q = filter.toLowerCase(); subdirectories = applyFilter('name', filter, subdirectories); - tracks = applyFilter('name', filter, tracks); + tracks = tracks.filter((track) => { + const match = (val) => String(val).toLowerCase().includes(q); + return match(track.album?.name || '') || match(track.name || '') || match(track.artists?.[0]?.name || ''); + }); } const sort_options = [