diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-02 15:10:58 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:38 -0300 |
commit | 58fba5a7a859c5398e0e58f31d7e8e5a649db63b (patch) | |
tree | 39f4ac7ed8292d2af453263f63ecdfaf93cba42d /src/content/dependencies/generateCoverArtwork.js | |
parent | 4030a62fc518627071dc792e2754d9d99fa46546 (diff) |
data, content: stub multiple artworks
Only for tracks as of this commit, most anything else is in a severely broken state aye
Diffstat (limited to 'src/content/dependencies/generateCoverArtwork.js')
-rw-r--r-- | src/content/dependencies/generateCoverArtwork.js | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/src/content/dependencies/generateCoverArtwork.js b/src/content/dependencies/generateCoverArtwork.js index 58c29830..719d14e9 100644 --- a/src/content/dependencies/generateCoverArtwork.js +++ b/src/content/dependencies/generateCoverArtwork.js @@ -1,7 +1,24 @@ export default { - contentDependencies: ['image'], + contentDependencies: [ + 'generateCoverArtworkArtTagDetails', + 'generateCoverArtworkArtistDetails', + 'generateCoverArtworkOriginDetails', + 'image', + ], + extraDependencies: ['html'], + relations: (relation, artwork) => ({ + originDetails: + relation('generateCoverArtworkOriginDetails', artwork), + + artTagDetails: + relation('generateCoverArtworkArtTagDetails', artwork), + + artistDetails: + relation('generateCoverArtworkArtistDetails', artwork), + }), + slots: { image: { type: 'html', @@ -21,13 +38,17 @@ export default { validate: v => v.looseArrayOf(v.isString), }, + showOriginDetails: {type: 'boolean', default: false}, + showArtTagDetails: {type: 'boolean', default: false}, + showArtistDetails: {type: 'boolean', default: false}, + details: { type: 'html', mutable: false, }, }, - generate(slots, {html}) { + generate(relations, slots, {html}) { const square = (slots.dimensions ? slots.dimensions[0] === slots.dimensions[1] @@ -54,7 +75,14 @@ export default { ...sizeSlots, }), - slots.details, + slots.showOriginDetails && + relations.originDetails, + + slots.showArtTagDetails && + relations.artTagDetails, + + slots.showArtistDetails && + relations.artistDetails, ] : slots.mode === 'thumbnail' ? slots.image.slots({ |