« get me outta code hell

content, css, data: Track.nameDetail - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateTrackListItem.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-05-11 19:06:52 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-05-11 19:10:31 -0300
commit1af00437b5f4397b0338ca1a64cf36e8c26cfb68 (patch)
tree1693c6d71e1736c1788e7a2186ccad6d3d61d15a /src/content/dependencies/generateTrackListItem.js
parent657e1c1e447ad8939d2ad9286af00be52975f791 (diff)
content, css, data: Track.nameDetail
Diffstat (limited to 'src/content/dependencies/generateTrackListItem.js')
-rw-r--r--src/content/dependencies/generateTrackListItem.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/content/dependencies/generateTrackListItem.js b/src/content/dependencies/generateTrackListItem.js
index 383f0025..c1f6ff93 100644
--- a/src/content/dependencies/generateTrackListItem.js
+++ b/src/content/dependencies/generateTrackListItem.js
@@ -28,6 +28,9 @@ export default {
     date:
       track.date,
 
+    detail:
+      track.nameDetail,
+
     duration:
       track.duration ?? 0,
 
@@ -43,6 +46,11 @@ export default {
       default: 'auto',
     },
 
+    showDetail: {
+      type: 'boolean',
+      default: false,
+    },
+
     // If true and the track doesn't have a duration, a missing-duration cue
     // will be displayed instead.
     showDuration: {
@@ -116,6 +124,15 @@ export default {
             relations.trackLink
               .slot('color', slots.colorMode === 'track');
 
+          if (data.detail && slots.showDetail) {
+            workingCapsule += '.withDetail';
+            workingOptions.detailAccent =
+              html.tag('span', {class: 'name-detail'},
+                language.$(itemCapsule, 'withDetail', 'accent', {
+                  detail: language.sanitize(data.detail),
+                }));
+          }
+
           const artists =
             language.encapsulate(itemCapsule, 'artists', artistsCapsule => {
               const chosenCredit =