mirror of
https://github.com/jeffvli/feishin.git
synced 2026-01-06 05:30:13 -06:00
remove artist song list fetch post-processing
- the post-processing sort breaks the correct order returned by the API
This commit is contained in:
@@ -306,7 +306,11 @@ export const sortSongsByFetchedOrder = (
|
||||
}
|
||||
|
||||
// Sort each group by discNumber and trackNumber
|
||||
// Skip sorting for ALBUM_ARTIST as songs are already sorted by the API
|
||||
for (const [fetchedId, groupSongs] of songsByFetchedId.entries()) {
|
||||
if (itemType === LibraryItem.ALBUM_ARTIST) {
|
||||
continue;
|
||||
}
|
||||
const sortedGroup = orderBy(groupSongs, ['discNumber', 'trackNumber'], ['asc', 'asc']);
|
||||
songsByFetchedId.set(fetchedId, sortedGroup);
|
||||
}
|
||||
@@ -324,12 +328,17 @@ export const sortSongsByFetchedOrder = (
|
||||
const matchedIds = new Set(result.map((s) => s.id));
|
||||
const unmatchedSongs = songs.filter((s) => !matchedIds.has(s.id));
|
||||
if (unmatchedSongs.length > 0) {
|
||||
const sortedUnmatched = orderBy(
|
||||
unmatchedSongs,
|
||||
['discNumber', 'trackNumber'],
|
||||
['asc', 'asc'],
|
||||
);
|
||||
result.push(...sortedUnmatched);
|
||||
// Skip sorting for ALBUM_ARTIST as songs are already sorted by the API
|
||||
if (itemType === LibraryItem.ALBUM_ARTIST) {
|
||||
result.push(...unmatchedSongs);
|
||||
} else {
|
||||
const sortedUnmatched = orderBy(
|
||||
unmatchedSongs,
|
||||
['discNumber', 'trackNumber'],
|
||||
['asc', 'asc'],
|
||||
);
|
||||
result.push(...sortedUnmatched);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user