From 6864d3dc5f9004e8464dc43be0f1c3df04795b09 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 1 Jan 2026 14:55:24 -0400 Subject: content: gGGPAlbumGrid: show track count with zero duration --- .../generateGroupGalleryPageAlbumGrid.js | 53 +++++++++++++--------- 1 file changed, 31 insertions(+), 22 deletions(-) (limited to 'src/content/dependencies/generateGroupGalleryPageAlbumGrid.js') diff --git a/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js b/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js index 9e25049e..7a8edb5d 100644 --- a/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js +++ b/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js @@ -35,17 +35,18 @@ export default { styles: albums.map(album => album.style), - tracks: - albums.map(album => album.tracks.length), - allWarnings: query.artworks.flatMap(artwork => artwork?.contentWarnings), + hideDuration: + albums.map(album => album.hideDuration), + + tracks: + albums.map(album => album.tracks.length), + durations: albums.map(album => - (album.hideDuration - ? null - : album.style === 'single' + (album.style === 'single' ? album.tracks[0]?.duration ?? null : getTotalDuration(album.tracks))), @@ -80,24 +81,32 @@ export default { info: stitchArrays({ style: data.styles, + hideDuration: data.hideDuration, tracks: data.tracks, duration: data.durations, - }).map(({style, tracks, duration}) => - (!duration - ? null - : style === 'single' && tracks > 1 - ? language.$(capsule, 'details.albumLength.single.withMultipleTracks', { - time: language.formatDuration(duration), - tracks: language.countTracks(tracks, {unit: true}), - }) - : style === 'single' - ? language.$(capsule, 'details.albumLength.single', { - time: language.formatDuration(duration), - }) - : language.$(capsule, 'details.albumLength', { - tracks: language.countTracks(tracks, {unit: true}), - time: language.formatDuration(duration), - }))), + }).map(({style, hideDuration, tracks, duration}) => + language.encapsulate(capsule, 'details.albumLength', capsule => + (hideDuration + ? null + : !duration && !tracks + ? null + : style === 'single' && tracks > 1 && duration + ? language.$(capsule, 'single.withMultipleTracks', { + time: language.formatDuration(duration), + tracks: language.countTracks(tracks, {unit: true}), + }) + : style === 'single' && duration + ? language.$(capsule, 'single', { + time: language.formatDuration(duration), + }) + : duration && tracks + ? language.$(capsule, { + time: language.formatDuration(duration), + tracks: language.countTracks(tracks, {unit: true}), + }) + : language.$(capsule, 'tracksOnly', { + tracks: language.countTracks(tracks, {unit: true}), + })))), revealAllWarnings: data.allWarnings, })), -- cgit 1.3.0-6-gf8a5