From aba51f9096e656c0f6efc5efceea150b6c960bda Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 10 Apr 2024 20:42:06 -0300 Subject: content: gAIPArtworksChunkedList: general refactor a la tracks --- .../generateArtistInfoPageArtworksChunkItem.js | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/content/dependencies/generateArtistInfoPageArtworksChunkItem.js (limited to 'src/content/dependencies/generateArtistInfoPageArtworksChunkItem.js') diff --git a/src/content/dependencies/generateArtistInfoPageArtworksChunkItem.js b/src/content/dependencies/generateArtistInfoPageArtworksChunkItem.js new file mode 100644 index 00000000..098b9e8f --- /dev/null +++ b/src/content/dependencies/generateArtistInfoPageArtworksChunkItem.js @@ -0,0 +1,61 @@ +export default { + contentDependencies: [ + 'generateArtistInfoPageChunkItem', + 'generateArtistInfoPageOtherArtistLinks', + 'linkTrack', + ], + + extraDependencies: ['html', 'language'], + + query: (contrib) => ({ + kind: + (contrib.isBannerArtistContribution + ? 'banner' + : contrib.isWallpaperArtistContribution + ? 'wallpaper' + : contrib.isForAlbum + ? 'album-cover' + : 'track-cover'), + }), + + relations: (relation, query, contrib) => ({ + template: + relation('generateArtistInfoPageChunkItem'), + + trackLink: + (query.kind === 'track-cover' + ? relation('linkTrack', contrib.thing) + : null), + + otherArtistLinks: + relation('generateArtistInfoPageOtherArtistLinks', [contrib]), + }), + + data: (query, contrib) => ({ + kind: + query.kind, + + annotation: + contrib.annotation, + }), + + generate: (data, relations, {html, language}) => + relations.template.slots({ + otherArtistLinks: relations.otherArtistLinks, + + annotation: data.annotation, + + content: + (data.kind === 'track-cover' + ? language.$('artistPage.creditList.entry.track', { + track: relations.trackLink, + }) + : html.tag('i', + language.$('artistPage.creditList.entry.album', + { + 'wallpaper': 'wallpaperArt', + 'banner': 'bannerArt', + 'album-cover': 'coverArt', + }[data.kind]))), + }), +}; -- cgit 1.3.0-6-gf8a5