diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-07-12 17:26:10 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-07-12 17:26:10 -0300 |
commit | 13a923a8310dd20107d3a7794f97d86fde548ed9 (patch) | |
tree | d620865144b76261fda63e432ed64e6eda5d7047 | |
parent | 03713e4097e193ee5eac94547d8c24618861b84c (diff) |
content: handle albums w/ own commentary and no track commentary
-rw-r--r-- | src/content/dependencies/generateAlbumInfoPage.js | 10 | ||||
-rw-r--r-- | src/content/dependencies/generateAlbumNavAccent.js | 11 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/content/dependencies/generateAlbumInfoPage.js b/src/content/dependencies/generateAlbumInfoPage.js index 1ceb510c..1c5be6e6 100644 --- a/src/content/dependencies/generateAlbumInfoPage.js +++ b/src/content/dependencies/generateAlbumInfoPage.js @@ -18,6 +18,7 @@ export default { 'generateContentContentHeading', 'generateContentHeading', 'generatePageLayout', + 'generateReadCommentaryLine', 'linkAlbumCommentary', 'linkAlbumGallery', ], @@ -69,10 +70,13 @@ export default { : null), commentaryLink: - ([album, ...album.tracks].some(({commentary}) => !empty(commentary)) + (album.tracks.some(track => !empty(track.commentary)) ? relation('linkAlbumCommentary', album) : null), + readCommentaryLine: + relation('generateReadCommentaryLine', album), + trackList: relation('generateAlbumTrackList', album), @@ -164,6 +168,10 @@ export default { : html.blank()), + !relations.commentaryLink && + !html.isBlank(relations.artistCommentaryEntries) && + relations.readCommentaryLine, + !html.isBlank(relations.creditSourceEntries) && language.encapsulate(capsule, 'readCreditingSources', capsule => language.$(capsule, { diff --git a/src/content/dependencies/generateAlbumNavAccent.js b/src/content/dependencies/generateAlbumNavAccent.js index 432c5f3d..00aec94a 100644 --- a/src/content/dependencies/generateAlbumNavAccent.js +++ b/src/content/dependencies/generateAlbumNavAccent.js @@ -64,9 +64,8 @@ export default { hasMultipleTracks: album.tracks.length > 1, - commentaryPageIsStub: - [album, ...album.tracks] - .every(({commentary}) => empty(commentary)), + hasSubstantialCommentaryPage: + album.tracks.some(track => !empty(track.commentary)), galleryIsStub: album.tracks.every(t => !t.hasUniqueCoverArt), @@ -97,14 +96,16 @@ export default { relations.nextLink.slot('link', relations.nextTrackLink); const galleryLink = - (!data.galleryIsStub || slots.currentExtra === 'gallery') && + (!data.galleryIsStub || + slots.currentExtra === 'gallery') && relations.albumGalleryLink.slots({ attributes: {class: slots.currentExtra === 'gallery' && 'current'}, content: language.$(albumNavCapsule, 'gallery'), }); const commentaryLink = - (!data.commentaryPageIsStub || slots.currentExtra === 'commentary') && + (data.hasSubstantialCommentaryPage || + slots.currentExtra === 'commentary') && relations.albumCommentaryLink.slots({ attributes: {class: slots.currentExtra === 'commentary' && 'current'}, content: language.$(albumNavCapsule, 'commentary'), |