« get me outta code hell

content: generateGroupGalleryPageAlbumGrid: multi-track single durations - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-12-17 05:59:32 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-12-17 05:59:32 -0400
commit930450338e309bafb9739f4705a4632359d42ae2 (patch)
tree0f0d717e17bd5284af88950fe9e475136640201b /src/content/dependencies/generateGroupGalleryPageAlbumGrid.js
parent9bffc4291c73c598bbad23b379ba268a23ca2660 (diff)
content: generateGroupGalleryPageAlbumGrid: multi-track single durations preview
Diffstat (limited to 'src/content/dependencies/generateGroupGalleryPageAlbumGrid.js')
-rw-r--r--src/content/dependencies/generateGroupGalleryPageAlbumGrid.js17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js b/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js
index 37c1951d..9e25049e 100644
--- a/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js
+++ b/src/content/dependencies/generateGroupGalleryPageAlbumGrid.js
@@ -45,6 +45,8 @@ export default {
       albums.map(album =>
         (album.hideDuration
           ? null
+       : album.style === 'single'
+          ? album.tracks[0]?.duration ?? null
           : getTotalDuration(album.tracks))),
 
     notFromThisGroup:
@@ -81,16 +83,21 @@ export default {
             tracks: data.tracks,
             duration: data.durations,
           }).map(({style, tracks, duration}) =>
-              (style === 'single' && 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),
                   })
-             : duration
-                ? language.$(capsule, 'details.albumLength', {
+                : language.$(capsule, 'details.albumLength', {
                     tracks: language.countTracks(tracks, {unit: true}),
                     time: language.formatDuration(duration),
-                  })
-                : null)),
+                  }))),
 
         revealAllWarnings: data.allWarnings,
       })),