From 6af9aa5fa40234136d24bc163cc3bd2c25793a20 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 19 Jun 2026 09:54:54 -0300 Subject: content, data: Track.nameDetailWithinSection, meta-only in-album display --- .../dependencies/generateAlbumSidebarTrackSection.js | 5 ++++- .../dependencies/generateAlbumTrackListItem.js | 6 +++++- .../generateArtistInfoPageTracksChunkItem.js | 2 +- src/content/dependencies/generateNearbyTrackList.js | 8 ++++---- src/content/dependencies/generateTrackInfoPage.js | 4 +++- src/content/dependencies/generateTrackListItem.js | 19 +++++++++++++++---- src/content/dependencies/generateTrackNavLinks.js | 4 +++- 7 files changed, 35 insertions(+), 13 deletions(-) (limited to 'src/content') diff --git a/src/content/dependencies/generateAlbumSidebarTrackSection.js b/src/content/dependencies/generateAlbumSidebarTrackSection.js index 94785c2d..642ef78e 100644 --- a/src/content/dependencies/generateAlbumSidebarTrackSection.js +++ b/src/content/dependencies/generateAlbumSidebarTrackSection.js @@ -42,7 +42,10 @@ export default { data.trackNameDetails = trackSection.tracks - .map(track => track.nameDetailWithinAlbum); + .map(track => + (album.style === 'meta' + ? track.nameDetailWithinAlbum + : null)); data.tracksAreMissingCommentary = trackSection.tracks diff --git a/src/content/dependencies/generateAlbumTrackListItem.js b/src/content/dependencies/generateAlbumTrackListItem.js index e46e9904..1f1d8d2b 100644 --- a/src/content/dependencies/generateAlbumTrackListItem.js +++ b/src/content/dependencies/generateAlbumTrackListItem.js @@ -21,6 +21,7 @@ export default { }), data: (query, track, album) => ({ + albumStyle: album.style, albumShowsTrackArtists: album.showArtistsInTrackList, trackHasDuration: query.trackHasDuration, @@ -47,7 +48,10 @@ export default { ? 'auto' : false), - showDetail: 'from within album', + showNameDetail: + (data.albumStyle === 'meta' + ? 'from within section' + : false), showDuration: (slots.collapseDurationScope === 'track' diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js index fa384a3e..0b2aaf8c 100644 --- a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js +++ b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js @@ -116,7 +116,7 @@ export default { html.inside( relations.trackListItem.slots({ showArtists: 'auto', - showDetail: 'from across wiki', + showNameDetail: 'from within album', showDuration: slots.showDuration, showDate: data.date, })), diff --git a/src/content/dependencies/generateNearbyTrackList.js b/src/content/dependencies/generateNearbyTrackList.js index ff1c969b..be44bc0f 100644 --- a/src/content/dependencies/generateNearbyTrackList.js +++ b/src/content/dependencies/generateNearbyTrackList.js @@ -33,7 +33,7 @@ export default { default: false, }, - showDetail: { + showNameDetail: { type: 'boolean', default: true, }, @@ -56,10 +56,10 @@ export default { showArtists: slots.showArtists, showDuration: slots.showDuration, - showDetail: - (slots.showDetail && releasesMatch + showNameDetail: + (slots.showNameDetail && releasesMatch ? 'from within album' - : slots.showDetail + : slots.showNameDetail ? 'from across wiki' : false), diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js index 3d06b364..cc322f53 100644 --- a/src/content/dependencies/generateTrackInfoPage.js +++ b/src/content/dependencies/generateTrackInfoPage.js @@ -149,7 +149,9 @@ export default { track.nameStyle, nameDetail: - track.nameDetailAcrossWiki, + (track.album.style === 'meta' + ? track.nameDetailWithinAlbum + : null), color: track.color, diff --git a/src/content/dependencies/generateTrackListItem.js b/src/content/dependencies/generateTrackListItem.js index ce975326..8f324df7 100644 --- a/src/content/dependencies/generateTrackListItem.js +++ b/src/content/dependencies/generateTrackListItem.js @@ -28,6 +28,9 @@ export default { date: track.date, + nameDetailWithinSection: + track.nameDetailWithinSection, + nameDetailWithinAlbum: track.nameDetailWithinAlbum, @@ -49,8 +52,14 @@ export default { default: 'auto', }, - showDetail: { - validate: v => v.is('from across wiki', 'from within album', false), + showNameDetail: { + validate: v => v.is(...[ + 'from within section', + 'from within album', + 'from across wiki', + false, + ]), + default: false, }, @@ -128,9 +137,11 @@ export default { .slot('color', slots.colorMode === 'track'); const nameDetail = - (slots.showDetail === 'from within album' + (slots.showNameDetail === 'from within section' + ? data.nameDetailWithinSection + : slots.showNameDetail === 'from within album' ? data.nameDetailWithinAlbum - : slots.showDetail + : slots.showNameDetail ? data.nameDetailAcrossWiki : null); diff --git a/src/content/dependencies/generateTrackNavLinks.js b/src/content/dependencies/generateTrackNavLinks.js index 836ada5f..0bc03d17 100644 --- a/src/content/dependencies/generateTrackNavLinks.js +++ b/src/content/dependencies/generateTrackNavLinks.js @@ -26,7 +26,9 @@ export default { track.trackNumber, nameDetail: - track.nameDetailWithinAlbum, + (track.album.style === 'meta' + ? track.nameDetailWithinAlbum + : null), }), slots: { -- cgit 1.3.0-6-gf8a5