redesign artist page (#416) (#447)

This commit is contained in:
jeffvli
2025-12-26 21:13:04 -08:00
parent 06e757d3b2
commit 796e511626
11 changed files with 565 additions and 216 deletions
@@ -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;
+19
View File
@@ -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;