From da43a2365d18216a6fc54f073b7ec85cc4e7dafc Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 17 Jan 2026 04:46:11 -0400 Subject: content, data: MusicVideo.date --- src/content/dependencies/generateMusicVideo.js | 22 +++++++++++++++++----- .../dependencies/generateSingleArtworkColumn.js | 2 +- .../dependencies/generateTrackArtworkColumn.js | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) (limited to 'src/content') diff --git a/src/content/dependencies/generateMusicVideo.js b/src/content/dependencies/generateMusicVideo.js index a61cd5b7..7f0108af 100644 --- a/src/content/dependencies/generateMusicVideo.js +++ b/src/content/dependencies/generateMusicVideo.js @@ -1,5 +1,5 @@ export default { - relations: (relation, musicVideo) => ({ + relations: (relation, musicVideo, thing) => ({ image: relation('image', { path: musicVideo.path, @@ -7,6 +7,9 @@ export default { dimensions: musicVideo.coverArtDimensions, }), + datetimestamp: + relation('generateAbsoluteDatetimestamp', musicVideo.date, thing.date), + artistCredit: relation('generateArtistCredit', musicVideo.artistContribs, []), @@ -14,7 +17,7 @@ export default { relation('generateArtistCredit', musicVideo.contributorContribs, []), }), - data: (musicVideo) => ({ + data: (musicVideo, _track) => ({ label: musicVideo.label, @@ -46,16 +49,25 @@ export default { [ language.encapsulate(capsule, 'by', workingCapsule => { - const additionalStringOptions = {}; + const workingOptions = {}; if (data.label) { workingCapsule += '.customLabel'; - additionalStringOptions.label = data.label; + workingOptions.label = data.label; + } + + const {datetimestamp} = relations; + + datetimestamp.setSlot('style', 'year-difference'); + + if (!html.isBlank(datetimestamp)) { + workingCapsule += '.withDate'; + workingOptions.date = datetimestamp; } return relations.artistCredit.slots({ normalStringKey: workingCapsule, - additionalStringOptions, + additionalStringOptions: workingOptions, showAnnotation: true, showChronology: true, diff --git a/src/content/dependencies/generateSingleArtworkColumn.js b/src/content/dependencies/generateSingleArtworkColumn.js index 52537186..32c448ad 100644 --- a/src/content/dependencies/generateSingleArtworkColumn.js +++ b/src/content/dependencies/generateSingleArtworkColumn.js @@ -5,7 +5,7 @@ export default { trackMusicVideos: track.musicVideos.map(musicVideo => - relation('generateMusicVideo', musicVideo)), + relation('generateMusicVideo', musicVideo, track)), }), generate: (relations, {html}) => diff --git a/src/content/dependencies/generateTrackArtworkColumn.js b/src/content/dependencies/generateTrackArtworkColumn.js index dde37376..feaed604 100644 --- a/src/content/dependencies/generateTrackArtworkColumn.js +++ b/src/content/dependencies/generateTrackArtworkColumn.js @@ -13,7 +13,7 @@ export default { trackMusicVideos: track.musicVideos.map(musicVideo => - relation('generateMusicVideo', musicVideo)), + relation('generateMusicVideo', musicVideo, track)), }), generate: (relations, {html}) => -- cgit 1.3.0-6-gf8a5