From 22b1823dd82bf4fd2063d121c743d02e452fe7f3 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 23 Oct 2023 13:49:20 -0300 Subject: content: generateAlbimSidebarTrackSection: handle commentary-less tracks --- .../dependencies/generateAlbumCommentaryPage.js | 1 + .../generateAlbumSidebarTrackSection.js | 24 +++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'src/content') diff --git a/src/content/dependencies/generateAlbumCommentaryPage.js b/src/content/dependencies/generateAlbumCommentaryPage.js index 2982b037..3ad1549e 100644 --- a/src/content/dependencies/generateAlbumCommentaryPage.js +++ b/src/content/dependencies/generateAlbumCommentaryPage.js @@ -207,6 +207,7 @@ export default { section.slots({ anchor: true, open: true, + mode: 'commentary', })), ], }); diff --git a/src/content/dependencies/generateAlbumSidebarTrackSection.js b/src/content/dependencies/generateAlbumSidebarTrackSection.js index 00e9b621..d3cd37f0 100644 --- a/src/content/dependencies/generateAlbumSidebarTrackSection.js +++ b/src/content/dependencies/generateAlbumSidebarTrackSection.js @@ -37,12 +37,21 @@ export default { trackSection.tracks .map(track => track.directory); + data.tracksAreMissingCommentary = + trackSection.tracks + .map(track => !track.commentary); + return data; }, slots: { anchor: {type: 'boolean'}, open: {type: 'boolean'}, + + mode: { + validate: v => v.is('info', 'commentary'), + default: 'info', + }, }, generate(data, relations, slots, {getColors, html, language}) { @@ -62,14 +71,23 @@ export default { relations.trackLinks.map((trackLink, index) => html.tag('li', { - class: + class: [ data.includesCurrentTrack && index === data.currentTrackIndex && - 'current', + 'current', + + slots.mode === 'commentary' && + data.tracksAreMissingCommentary[index] && + 'no-commentary', + ], }, language.$('albumSidebar.trackList.item', { track: - (slots.anchor + (slots.mode === 'commentary' && data.tracksAreMissingCommentary[index] + ? trackLink.slots({ + linkless: true, + }) + : slots.anchor ? trackLink.slots({ anchor: true, hash: data.trackDirectories[index], -- cgit 1.3.0-6-gf8a5