diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-01-17 19:18:26 -0400 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-01-17 19:18:26 -0400 |
| commit | 9816f00277292f499e47b9df7bbc89a385bcb133 (patch) | |
| tree | 7d876eb3ef9d9e5aef6f77ed5d91431f7ce28ec1 /src/content/dependencies/generateMusicVideo.js | |
| parent | 85fa29d1cef35f7b3ba977b35dc913d39d3268be (diff) | |
content, css: generateMusicVideoDateLine
Diffstat (limited to 'src/content/dependencies/generateMusicVideo.js')
| -rw-r--r-- | src/content/dependencies/generateMusicVideo.js | 75 |
1 files changed, 24 insertions, 51 deletions
diff --git a/src/content/dependencies/generateMusicVideo.js b/src/content/dependencies/generateMusicVideo.js index 628c1a17..035cd353 100644 --- a/src/content/dependencies/generateMusicVideo.js +++ b/src/content/dependencies/generateMusicVideo.js @@ -7,41 +7,22 @@ export default { dimensions: musicVideo.coverArtDimensions, }), - releaseLine: - relation('generateMusicVideoReleaseLine', musicVideo, thing), + artistsLine: + relation('generateMusicVideoArtistsLine', musicVideo), + + dateLine: + relation('generateMusicVideoDateLine', musicVideo, thing), contributorCredit: relation('generateArtistCredit', musicVideo.contributorContribs, []), }), - data: (musicVideo, track) => ({ + data: (musicVideo, _thing) => ({ label: musicVideo.label, url: musicVideo.url, - - sameDay: - (() => { - if (!musicVideo.dateIsSpecified) return null; - - const compare = (a, b) => - a.toDateString() === b.toDateString(); - - if (compare(musicVideo.date, track.album.date)) { - if (track.album.style === 'single') { - return 'single'; - } else { - return 'album'; - } - } - - if (compare(musicVideo.date, track.date)) { - return 'track'; - } - - return null; - })(), }), generate: (data, relations, {language, html}) => @@ -63,41 +44,33 @@ export default { link: data.url, }), - html.tag('p', {class: 'music-video-info'}, + html.tag('p', {[html.joinChildren]: html.tag('br')}, [ - html.tag('span', {class: 'release-line'}, + html.tag('span', {class: 'artists-line'}, {[html.onlyIfContent]: true}, - relations.releaseLine), - - language.encapsulate(capsule, 'date', capsule => [ - data.sameDay == 'album' && - language.$(capsule, 'sameDayAsAlbum'), - - data.sameDay == 'single' && - language.$(capsule, 'sameDayAsTrack'), + relations.artistsLine), - data.sameDay === 'track' && - language.$(capsule, 'sameDayAsTrack'), - ]), + relations.dateLine, + ]), - language.encapsulate(capsule, 'contributorsLine', capsule => - language.$(capsule, { - [language.onlyIfOptions]: ['credit'], + html.tag('p', + language.encapsulate(capsule, 'contributorsLine', capsule => + language.$(capsule, { + [language.onlyIfOptions]: ['credit'], - credit: - relations.contributorCredit.slots({ - normalStringKey: language.encapsulate(capsule, 'credit'), + credit: + relations.contributorCredit.slots({ + normalStringKey: language.encapsulate(capsule, 'credit'), - showAnnotation: true, - showChronology: true, - chunkwrap: false, + showAnnotation: true, + showChronology: true, + chunkwrap: false, - chronologyKind: 'musicVideoContribution', - }), - })), - ]), + chronologyKind: 'musicVideoContribution', + }), + }))), ])), }; |