From b9d1e8d935f7e3e833ccac1fa07bcdf196d7bdc8 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 10 Apr 2025 15:05:56 -0300 Subject: content: general multiple artworks integration --- .../dependencies/generateAlbumArtworkColumn.js | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/content/dependencies/generateAlbumArtworkColumn.js (limited to 'src/content/dependencies/generateAlbumArtworkColumn.js') diff --git a/src/content/dependencies/generateAlbumArtworkColumn.js b/src/content/dependencies/generateAlbumArtworkColumn.js new file mode 100644 index 00000000..e6762463 --- /dev/null +++ b/src/content/dependencies/generateAlbumArtworkColumn.js @@ -0,0 +1,38 @@ +export default { + contentDependencies: ['generateAlbumArtInfoBox', 'generateCoverArtwork'], + extraDependencies: ['html'], + + relations: (relation, album) => ({ + firstCover: + (album.hasCoverArt + ? relation('generateCoverArtwork', album.coverArtworks[0]) + : null), + + restCovers: + (album.hasCoverArt + ? album.coverArtworks.slice(1).map(artwork => + relation('generateCoverArtwork', artwork)) + : []), + + albumArtInfoBox: + relation('generateAlbumArtInfoBox', album), + }), + + generate: (relations, {html}) => + html.tags([ + relations.firstCover?.slots({ + showOriginDetails: true, + showArtTagDetails: true, + showReferenceDetails: true, + }), + + relations.albumArtInfoBox, + + relations.restCovers.map(cover => + cover.slots({ + showOriginDetails: true, + showArtTagDetails: true, + showReferenceDetails: true, + })), + ]), +}; -- cgit 1.3.0-6-gf8a5