From c876fa2573d877f60198b24259d6908a1e775239 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 6 Feb 2024 09:56:50 -0400 Subject: content: gAIP{*}ChunkedList: stub processEntries refactor --- .../generateArtistInfoPageArtworksChunkedList.js | 53 +++++++++++++--------- 1 file changed, 32 insertions(+), 21 deletions(-) (limited to 'src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js') diff --git a/src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js b/src/content/dependencies/generateArtistInfoPageArtworksChunkedList.js index a3bcf687..9efd2b14 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, -- cgit 1.3.0-6-gf8a5