diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/content/dependencies/generateArtistInfoPageTracksChunk.js | 25 | ||||
| -rw-r--r-- | src/content/dependencies/generateArtistInfoPageTracksChunkItem.js | 22 | ||||
| -rw-r--r-- | src/static/css/site.css | 4 | ||||
| -rw-r--r-- | src/strings-default.yaml | 16 |
4 files changed, 44 insertions, 23 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunk.js b/src/content/dependencies/generateArtistInfoPageTracksChunk.js index d964c5de..ce8b284b 100644 --- a/src/content/dependencies/generateArtistInfoPageTracksChunk.js +++ b/src/content/dependencies/generateArtistInfoPageTracksChunk.js @@ -26,6 +26,9 @@ export default { albumLink: relation('linkAlbum', album), + albumArtistCredit: + relation('generateArtistCredit', album.artistContribs, []), + itemsCountingTowardTotals: query.contribListsCountingTowardTotals.map(trackContribs => relation('generateArtistInfoPageTracksChunkItem', @@ -91,10 +94,28 @@ export default { return data; }, - generate: (data, relations, {html}) => + generate: (data, relations, {html, language}) => relations.template.slots({ mode: 'album', - link: relations.albumLink, + + link: + language.encapsulate('artistPage.creditList.album', workingCapsule => { + const creditCapsule = workingCapsule + '.credit'; + const workingOptions = {album: relations.albumLink}; + + relations.albumArtistCredit.setSlots({ + normalStringKey: creditCapsule + '.by', + }); + + if (!html.isBlank(relations.albumArtistCredit)) { + workingCapsule += '.withCredit'; + workingOptions.credit = + html.tag('span', {class: 'by'}, + relations.albumArtistCredit); + } + + return language.$(workingCapsule, workingOptions); + }), dates: data.dates, duration: data.duration, diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js index 9006dda9..bf334d75 100644 --- a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js +++ b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js @@ -91,6 +91,11 @@ export default { trackLink: relation('linkTrack', query.track), + trackListItem: + relation('generateTrackListItem', + query.track, + query.track.album.artistContribs), + rereleaseTooltip: (query.isLaterRelease ? relation('generateArtistInfoPageRereleaseTooltip', query.track, artist) @@ -131,16 +136,13 @@ export default { : html.blank()), content: - language.encapsulate('artistPage.creditList.entry.track', workingCapsule => { - const workingOptions = {track: relations.trackLink}; - - if (slots.showDuration && data.duration) { - workingCapsule += '.withDuration'; - workingOptions.duration = - language.formatDuration(data.duration); - } - - return language.$(workingCapsule, workingOptions); + language.$('artistPage.creditList.entry.track', { + track: + html.inside( + relations.trackListItem.slots({ + showArtists: 'auto', + showDuration: slots.showDuration, + })), }), }), }; diff --git a/src/static/css/site.css b/src/static/css/site.css index 1253c49f..1e3a781a 100644 --- a/src/static/css/site.css +++ b/src/static/css/site.css @@ -2284,11 +2284,11 @@ ul.quick-info li:not(:last-child)::after { margin: 0 6px; } -li .by { +dt .by, li .by { font-style: oblique; } -li .by a { +dt .by a, li .by a { display: inline-block; } diff --git a/src/strings-default.yaml b/src/strings-default.yaml index 4b0972e1..791bcd22 100644 --- a/src/strings-default.yaml +++ b/src/strings-default.yaml @@ -1285,6 +1285,11 @@ artistPage: album: _: "{ALBUM}" + + withCredit: "{ALBUM} {CREDIT}" + credit: + by: "by {ARTISTS}" + withDate: "{ALBUM} ({DATE})" withDuration: "{ALBUM} ({DURATION})" withDate.withDuration: "{ALBUM} ({DATE}; {DURATION})" @@ -1347,13 +1352,7 @@ artistPage: rerelease: >- Also released on {ALBUM} - # track: - # The string without duration is used in both the artist's - # track credits list as well as their commentary list. - - track: - _: "{TRACK}" - withDuration: "({DURATION}) {TRACK}" + track: "{TRACK}" # album: # The artist info page doesn't display if the artist is @@ -1368,8 +1367,7 @@ artistPage: bannerArt: "(banner art)" commentary: "(album commentary)" - flash: - _: "{FLASH}" + flash: "{FLASH}" artwork.accent: withLabel: >- |