diff options
Diffstat (limited to 'src/content/dependencies/generateCoverArtworkOriginDetails.js')
-rw-r--r-- | src/content/dependencies/generateCoverArtworkOriginDetails.js | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/src/content/dependencies/generateCoverArtworkOriginDetails.js b/src/content/dependencies/generateCoverArtworkOriginDetails.js index 3908414f..ddd44286 100644 --- a/src/content/dependencies/generateCoverArtworkOriginDetails.js +++ b/src/content/dependencies/generateCoverArtworkOriginDetails.js @@ -1,5 +1,3 @@ -import Thing from '#thing'; - export default { contentDependencies: [ 'generateArtistCredit', @@ -11,9 +9,6 @@ export default { extraDependencies: ['html', 'language', 'pagePath'], query: (artwork) => ({ - artworkThingType: - artwork.thing.constructor[Thing.referenceType], - attachedArtistContribs: (artwork.attachedArtwork ? artwork.attachedArtwork.artistContribs @@ -29,8 +24,11 @@ export default { source: relation('transformContent', artwork.source), + originDetails: + relation('transformContent', artwork.originDetails), + albumLink: - (query.artworkThingType === 'album' + (artwork.thing.isAlbum ? relation('linkAlbum', artwork.thing) : null), @@ -45,8 +43,12 @@ export default { label: artwork.label, - artworkThingType: - query.artworkThingType, + forAlbum: + artwork.thing.isAlbum, + + forSingleStyleAlbum: + artwork.thing.isAlbum && + artwork.thing.style === 'single', }), generate: (data, relations, {html, language, pagePath}) => @@ -94,7 +96,8 @@ export default { const trackArtFromAlbum = pagePath[0] === 'track' && - data.artworkThingType === 'album' && + data.forAlbum && + !data.forSingleStyleAlbum && language.$(capsule, 'trackArtFromAlbum', { album: relations.albumLink.slot('color', false), @@ -146,12 +149,22 @@ export default { year: relations.datetimestamp, }); + const originDetails = + html.tag('span', {class: 'origin-details'}, + {[html.onlyIfContent]: true}, + + relations.originDetails.slots({ + mode: 'inline', + absorbPunctuationFollowingExternalLinks: false, + })); + return [ artworkBy, trackArtFromAlbum, source, label, year, + originDetails, ]; })())), }; |