diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-05-27 12:40:43 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-05-30 20:48:19 -0300 |
commit | 42dbfbcbc383c34b2fe4b4c1c193f391438435c8 (patch) | |
tree | 89ad3100560a8e95bfaf1a5b279738655de1745f | |
parent | 9b6bc1c9423dc0e355577b4922458c93114d5d89 (diff) |
content: generateTrackChronologyLinks: nth track art by
See #hsmusic-chat (Lan): https://discord.com/channels/749042497610842152/779895315750715422/1244675456083431576 > I think re: cover art and chronology links on the main album page - I'm > going to leave the album page as it is (always unscoped chronology links). > And change the artwork label when scoped to the album — really it only > means track art, not track+album art.
-rw-r--r-- | src/content/dependencies/generateTrackChronologyLinks.js | 16 | ||||
-rw-r--r-- | src/strings-default.yaml | 1 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/content/dependencies/generateTrackChronologyLinks.js b/src/content/dependencies/generateTrackChronologyLinks.js index 2849d020..5f6b0771 100644 --- a/src/content/dependencies/generateTrackChronologyLinks.js +++ b/src/content/dependencies/generateTrackChronologyLinks.js @@ -1,5 +1,5 @@ import {sortAlbumsTracksChronologically} from '#sort'; -import {accumulateSum} from '#sugar'; +import {accumulateSum, stitchArrays} from '#sugar'; import getChronologyRelations from '../util/getChronologyRelations.js'; @@ -107,7 +107,7 @@ export default { }, generate(relations) { - function slotScopedRelations(content) { + function slotScopedRelations({content, artworkHeadingString}) { return content.chronologyLinks.slots({ showOnly: true, allowCollapsing: false, @@ -118,7 +118,7 @@ export default { contributions: content.artistChronologyContributions, }, { - headingString: 'misc.chronology.heading.coverArt', + headingString: `misc.chronology.heading.${artworkHeadingString}`, contributions: content.coverArtistChronologyContributions, }, ], @@ -135,6 +135,11 @@ export default { relations.album, ]; + const artworkHeadingStrings = [ + 'coverArt', + 'trackArt', + ]; + const totalContributionCount = Math.max(... contents.map(content => @@ -150,7 +155,10 @@ export default { totalContributionCount <= 5, contents: - contents.map(content => slotScopedRelations(content)) + stitchArrays({ + content: contents, + artworkHeadingString: artworkHeadingStrings, + }).map(slotScopedRelations), }); return relations.scopeSwitcher; diff --git a/src/strings-default.yaml b/src/strings-default.yaml index 0e63201e..7dcbf9c1 100644 --- a/src/strings-default.yaml +++ b/src/strings-default.yaml @@ -490,6 +490,7 @@ misc: coverArt: "{INDEX} cover art by {ARTIST}" flash: "{INDEX} flash/game by {ARTIST}" track: "{INDEX} track by {ARTIST}" + trackArt: "{INDEX} track art by {ARTIST}" onlyIndex: "Only" # external: |