From 1af00437b5f4397b0338ca1a64cf36e8c26cfb68 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 11 May 2026 19:06:52 -0300 Subject: content, css, data: Track.nameDetail --- .../generateAlbumSidebarTrackSection.js | 37 +++++++++++++++------- 1 file changed, 25 insertions(+), 12 deletions(-) (limited to 'src/content/dependencies/generateAlbumSidebarTrackSection.js') diff --git a/src/content/dependencies/generateAlbumSidebarTrackSection.js b/src/content/dependencies/generateAlbumSidebarTrackSection.js index 3ceab866..97941698 100644 --- a/src/content/dependencies/generateAlbumSidebarTrackSection.js +++ b/src/content/dependencies/generateAlbumSidebarTrackSection.js @@ -40,6 +40,10 @@ export default { trackSection.tracks .map(track => track.directory); + data.trackNameDetails = + trackSection.tracks + .map(track => track.nameDetail); + data.tracksAreMissingCommentary = trackSection.tracks .map(track => empty(track.commentary)); @@ -83,11 +87,13 @@ export default { stitchArrays({ trackLink: relations.trackLinks, directory: data.trackDirectories, + nameDetail: data.trackNameDetails, isCurrentTrack: data.tracksAreCurrentTrack, missingCommentary: data.tracksAreMissingCommentary, }).map(({ trackLink, directory, + nameDetail, isCurrentTrack, missingCommentary, }) => @@ -100,18 +106,25 @@ export default { missingCommentary && {class: 'no-commentary'}, - language.$(capsule, 'item', { - track: - (slots.mode === 'commentary' && missingCommentary - ? trackLink.slots({ - linkless: true, - }) - : slots.anchor - ? trackLink.slots({ - anchor: true, - hash: directory, - }) - : trackLink), + language.encapsulate(capsule, 'item', workingCapsule => { + const workingOptions = {track: trackLink}; + + if (slots.mode === 'commentary' && missingCommentary) { + trackLink.setSlots({linkless: true}); + } else if (slots.anchor) { + trackLink.setSlots({anchor: true, hash: directory}); + } + + if (nameDetail) { + workingCapsule += '.withDetail'; + workingOptions.detailAccent = + html.tag('span', {class: 'name-detail'}, + language.$(capsule, 'item.withDetail.accent', { + detail: language.sanitize(nameDetail), + })); + } + + return language.$(workingCapsule, workingOptions); }))); const list = -- cgit 1.3.0-6-gf8a5