diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-01-01 14:55:24 -0400 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-01-01 14:55:58 -0400 |
| commit | 6864d3dc5f9004e8464dc43be0f1c3df04795b09 (patch) | |
| tree | 4bd79bf8fd053008457726406cf8ee3daead3791 /src/content/dependencies/generateGroupGalleryPageAlbumGrid.js | |
| parent | c07f829ad3571f2563d052f33fac6b6be523f602 (diff) | |
content: gGGPAlbumGrid: show track count with zero duration
Diffstat (limited to 'src/content/dependencies/generateGroupGalleryPageAlbumGrid.js')
| -rw-r--r-- | src/content/dependencies/generateGroupGalleryPageAlbumGrid.js | 53 |
1 files changed, 31 insertions, 22 deletions
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, })), |