diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-02-06 09:56:50 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-02-06 09:56:50 -0400 |
commit | c876fa2573d877f60198b24259d6908a1e775239 (patch) | |
tree | e14961ec0a6b73cfcccb4074bed2a39a085737f5 /src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js | |
parent | 10f57c4bbc5fc84d57c32c85a1dae55873088973 (diff) |
content: gAIP{*}ChunkedList: stub processEntries refactor
Diffstat (limited to 'src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js')
-rw-r--r-- | src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js b/src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js index a3bcf68..9efd2b1 100644 --- a/src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js +++ b/src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js @@ -24,47 +24,58 @@ export default { // shape (#70) and get their own sorting function. Read for more info: // https://github.com/hsmusic/hsmusic-wiki/issues/90#issuecomment-1607422961 - const entries = [ - ...artist.albumsAsCoverArtist.map(album => ({ - thing: album, - entry: { + const processEntries = (things, details) => + things.map(thing => ({ + thing, + entry: details(thing), + })); + + const albumCoverEntries = + processEntries( + artist.albumsAsCoverArtist, + album => ({ type: 'albumCover', album: album, date: album.coverArtDate ?? album.date, contribs: album.coverArtistContribs, - }, - })), + })); - ...artist.albumsAsWallpaperArtist.map(album => ({ - thing: album, - entry: { + const albumWallpaperEntries = + processEntries( + artist.albumsAsWallpaperArtist, + album => ({ type: 'albumWallpaper', album: album, date: album.coverArtDate ?? album.date, contribs: album.wallpaperArtistContribs, - }, - })), + })); - ...artist.albumsAsBannerArtist.map(album => ({ - thing: album, - entry: { + const albumBannerEntries = + processEntries( + artist.albumsAsBannerArtist, + album => ({ type: 'albumBanner', album: album, date: album.coverArtDate ?? album.date, contribs: album.bannerArtistContribs, - }, - })), + })); - ...artist.tracksAsCoverArtist.map(track => ({ - thing: track, - entry: { + const trackCoverEntries = + processEntries( + artist.tracksAsCoverArtist, + track => ({ type: 'trackCover', album: track.album, date: track.coverArtDate ?? track.date, track: track, contribs: track.coverArtistContribs, - }, - })), + })); + + const entries = [ + ...albumCoverEntries, + ...albumWallpaperEntries, + ...albumBannerEntries, + ...trackCoverEntries, ]; sortEntryThingPairs(entries, |