mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-14 20:40:21 +02:00
@@ -268,7 +268,7 @@ const normalizeAlbum = (
|
||||
originalDate: item.originalDate ? new Date(item.originalDate).toISOString() : null,
|
||||
playCount: item.playCount || 0,
|
||||
releaseDate: item.releaseDate ? new Date(item.releaseDate).toISOString() : null,
|
||||
releaseYear: item.minYear || null,
|
||||
releaseYear: item.maxYear || null,
|
||||
size: item.size,
|
||||
songCount: item.songCount,
|
||||
songs: item.songs ? item.songs.map((song) => normalizeSong(song, server)) : undefined,
|
||||
@@ -285,7 +285,7 @@ const normalizeAlbumArtist = (
|
||||
},
|
||||
server?: null | ServerListItem,
|
||||
): AlbumArtist => {
|
||||
const imageUrl = getImageUrl({ url: item?.largeImageUrl || null });
|
||||
const imageUrl = getImageUrl({ url: item?.largeImageUrl?.replace(/\?size=\d+/, '') || null });
|
||||
|
||||
let albumCount: number;
|
||||
let songCount: number;
|
||||
|
||||
@@ -414,6 +414,25 @@ export const sortAlbumList = (albums: Album[], sortBy: AlbumListSort, sortOrder:
|
||||
case AlbumListSort.RECENTLY_PLAYED:
|
||||
results = orderBy(results, ['lastPlayedAt'], [order]);
|
||||
break;
|
||||
case AlbumListSort.RELEASE_DATE:
|
||||
results = orderBy(
|
||||
results,
|
||||
[
|
||||
(v) => {
|
||||
if (v.releaseDate) {
|
||||
return new Date(v.releaseDate).getTime();
|
||||
}
|
||||
|
||||
// Fallback to the first day of the release year
|
||||
if (v.releaseYear) {
|
||||
return new Date(v.releaseYear, 0, 1).getTime();
|
||||
}
|
||||
return 0;
|
||||
},
|
||||
],
|
||||
[order],
|
||||
);
|
||||
break;
|
||||
case AlbumListSort.SONG_COUNT:
|
||||
results = orderBy(results, ['songCount'], [order]);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user