diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-03-31 16:18:03 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:36 -0300 |
commit | f8a5593abfddc433890e0c8916d07698bb8c7279 (patch) | |
tree | 75c80d152f00f8f81ba7d770dfba47b318ebba9c /src/content/dependencies/generateCoverArtworkOriginDetails.js | |
parent | ceb1d5ba8ed5ab5da7424d9a08ae765bd85b038c (diff) |
content, css: demo new cover artworks ui + data integration
This is not remotely comprehensive and mostly just touches album and track info pages.
Diffstat (limited to 'src/content/dependencies/generateCoverArtworkOriginDetails.js')
-rw-r--r-- | src/content/dependencies/generateCoverArtworkOriginDetails.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/content/dependencies/generateCoverArtworkOriginDetails.js b/src/content/dependencies/generateCoverArtworkOriginDetails.js new file mode 100644 index 00000000..8b5a28ac --- /dev/null +++ b/src/content/dependencies/generateCoverArtworkOriginDetails.js @@ -0,0 +1,44 @@ +export default { + contentDependencies: ['generateArtistCredit'], + extraDependencies: ['html', 'language'], + + relations: (relation, artwork) => ({ + credit: + relation('generateArtistCredit', artwork.artistContribs, []), + }), + + data: (artwork) => ({ + date: + (artwork.date !== artwork.thing.date + ? artwork.date + : null), + }), + + generate: (data, relations, {html, language}) => + language.encapsulate('misc.coverArtwork', capsule => + html.tag('p', {class: 'image-details'}, + {[html.onlyIfContent]: true}, + {[html.joinChildren]: html.tag('br')}, + + {class: 'origin-details'}, + + [ + relations.credit.slots({ + showAnnotation: true, + showExternalLinks: true, + showChronology: true, + showWikiEdits: true, + + trimAnnotation: false, + + chronologyKind: 'coverArt', + + normalStringKey: capsule + '.artworkBy', + }), + + language.$(capsule, 'released', { + [language.onlyIfOptions]: ['date'], + date: language.formatDate(data.date), + }) + ])), +}; |