[sorting] Fix album sorting
This commit is contained in:
@ -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'));
|
||||
|
||||
@ -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 = [
|
||||
|
||||
Reference in New Issue
Block a user