[sorting] Add sorting to artist track pages
All checks were successful
CI / test (push) Successful in 1m26s
CI / deploy (push) Successful in 1m54s

This commit is contained in:
2026-06-29 09:42:37 -04:00
parent ea54f06960
commit 57df86bc6a
3 changed files with 15 additions and 0 deletions

View File

@ -280,6 +280,7 @@ artist:
disc_track: Track number
name: Name
album: Album
date: Date
related_artists:
title: Related artists
about:

View File

@ -159,11 +159,21 @@ const sortItems = (array, property, reverse = false) => {
return item.album ? item.album.name : undefined;
case 'user':
return item.user ? item.user.id : undefined;
case 'date':
return item.album?.date || item.date || '';
default:
return item[property];
}
};
// Special handling for date sort: sort by date first, then track number
if (property === 'date') {
return orderBy(array, [
item => item.album?.date || item.date || '',
item => item.track_number || 0,
], [reverse ? 'desc' : 'asc', 'asc']);
}
return orderBy(array, sorter, (reverse ? 'desc' : 'asc'));
};

View File

@ -55,6 +55,10 @@ export default ({ artist }) => {
value: 'album',
label: i18n('artist.tracks.sort.album'),
},
{
value: 'date',
label: i18n('artist.tracks.sort.date'),
},
];
return (