From 2336e252d25536d3678119ff070189e666b98927 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 14 Apr 2026 20:26:02 -0300 Subject: content, data: generateArtistInfoPageMusicVideosChunkedList --- src/data/things/MusicVideo.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/data/things/MusicVideo.js') diff --git a/src/data/things/MusicVideo.js b/src/data/things/MusicVideo.js index 8e4e2d6d..77c8c619 100644 --- a/src/data/things/MusicVideo.js +++ b/src/data/things/MusicVideo.js @@ -167,6 +167,32 @@ export class MusicVideo extends Thing { musicVideoContributorContributionsBy: soupyReverse.contributionsBy('musicVideoData', 'contributorContribs'), + + musicVideoArtistContributionsToAlbumsBy: { + bindTo: 'musicVideoData', + + referencing: musicVideo => musicVideo.artistContribs, + + *referenced(musicVideoContrib) { + const musicVideo = musicVideoContrib.thing; + const trackOrAlbum = musicVideo.thing; + if (trackOrAlbum.isTrack) { + const albumArtists = + trackOrAlbum.album.artistContribs + .map(albumContrib => albumContrib.artist); + + for (const trackContrib of trackOrAlbum.artistContribs) { + if (albumArtists.includes(trackContrib.artist)) { + yield trackContrib.artist; + } + } + } else { + for (const albumContrib of trackOrAlbum.artistContribs) { + yield albumContrib.artist; + } + } + }, + }, }; get path() { -- cgit 1.3.0-6-gf8a5