From 5f16db8fc0f2b28f2014c439fb299ab34e7d4b1d Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sun, 2 Jun 2024 10:55:38 -0300 Subject: content, page, util: general contributions usage cleanup --- src/content/dependencies/listArtistsByGroup.js | 27 ++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'src/content/dependencies/listArtistsByGroup.js') diff --git a/src/content/dependencies/listArtistsByGroup.js b/src/content/dependencies/listArtistsByGroup.js index f221fe8c..0bf9dd2d 100644 --- a/src/content/dependencies/listArtistsByGroup.js +++ b/src/content/dependencies/listArtistsByGroup.js @@ -1,10 +1,12 @@ import {sortAlphabetically} from '#sort'; + import { empty, filterByCount, filterMultipleArrays, stitchArrays, transposeArrays, + unique, } from '#sugar'; export default { @@ -32,10 +34,27 @@ export default { // (interesting) groups that each of each artists' things belongs to. const artistThingGroups = artists.map(artist => - ([...artist.albumsAsAny.map(album => album.groups), - ...artist.tracksAsAny.map(track => track.album.groups)]) - .map(groups => groups - .filter(group => interestingGroups.includes(group)))); + ([ + (unique( + ([ + artist.albumArtistContributions, + artist.albumCoverArtistContributions, + artist.albumWallpaperArtistContributions, + artist.albumBannerArtistContributions, + ]).flat() + .map(({thing}) => thing) + )).map(album => album.groups), + (unique( + ([ + artist.trackArtistContributions, + artist.trackContributorContributions, + artist.trackCoverArtistContributions, + ]).flat() + .map(({thing}) => thing) + )).map(track => track.album.groups), + ]).flat() + .map(groups => groups + .filter(group => interestingGroups.includes(group)))); const [artistsByGroup, countsByGroup] = transposeArrays(interestingGroups.map(group => { -- cgit 1.3.0-6-gf8a5