diff options
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' |