diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 15:05:56 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:44 -0300 |
commit | b9d1e8d935f7e3e833ccac1fa07bcdf196d7bdc8 (patch) | |
tree | 8ce9b830fa3c21865dd74e396ef9717a4297e821 /src/content/dependencies/generateCoverArtwork.js | |
parent | 8424a3d380284f2e26b6057a500a69e53dc0b757 (diff) |
content: general multiple artworks integration
Diffstat (limited to 'src/content/dependencies/generateCoverArtwork.js')
-rw-r--r-- | src/content/dependencies/generateCoverArtwork.js | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/src/content/dependencies/generateCoverArtwork.js b/src/content/dependencies/generateCoverArtwork.js index 8b5f9b8e..71c0747d 100644 --- a/src/content/dependencies/generateCoverArtwork.js +++ b/src/content/dependencies/generateCoverArtwork.js @@ -3,6 +3,7 @@ export default { 'generateCoverArtworkArtTagDetails', 'generateCoverArtworkArtistDetails', 'generateCoverArtworkOriginDetails', + 'generateCoverArtworkReferenceDetails', 'image', ], @@ -20,11 +21,25 @@ export default { artistDetails: relation('generateCoverArtworkArtistDetails', artwork), + + referenceDetails: + relation('generateCoverArtworkReferenceDetails', artwork), }), data: (artwork) => ({ + color: + artwork.thing.color, + path: artwork.path, + + dimensions: + artwork.dimensions, + + warnings: + artwork.artTags + .filter(tag => tag.isContentWarning) + .map(tag => tag.name), }), slots: { @@ -39,17 +54,10 @@ export default { default: 'primary', }, - dimensions: { - validate: v => v.isDimensions, - }, - - warnings: { - validate: v => v.looseArrayOf(v.isString), - }, - showOriginDetails: {type: 'boolean', default: false}, showArtTagDetails: {type: 'boolean', default: false}, showArtistDetails: {type: 'boolean', default: false}, + showReferenceDetails: {type: 'boolean', default: false}, details: { type: 'html', @@ -62,21 +70,21 @@ export default { image.setSlots({ path: data.path, + warnings: data.warnings, - color: slots.color, + color: slots.color ?? data.color, alt: slots.alt, - warnings: slots.warnings, }); const square = - (slots.dimensions - ? slots.dimensions[0] === slots.dimensions[1] + (data.dimensions + ? data.dimensions[0] === data.dimensions[1] : true); if (square) { image.setSlot('square', true); } else { - image.setSlot('dimensions', slots.dimensions); + image.setSlot('dimensions', data.dimensions); } return ( @@ -101,6 +109,9 @@ export default { slots.showArtistDetails && relations.artistDetails, + slots.showReferenceDetails && + relations.referenceDetails, + slots.details, ] : slots.mode === 'thumbnail' |