« get me outta code hell

content: generateTrackInfoPage: main-separator for singles - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-07-04 17:51:01 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-07-04 17:51:51 -0300
commit6a97b43059b829014bc2b39cc97f1d39a3680362 (patch)
tree3ebaca2e07dca85cd45571459512cb740c60dbbd
parent1bcb36d1eb906d3a438859932fd0db4f33754937 (diff)
content: generateTrackInfoPage: main-separator for singles
-rw-r--r--src/content/dependencies/generateTrackInfoPage.js22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js
index 4a3e8b93..12d20108 100644
--- a/src/content/dependencies/generateTrackInfoPage.js
+++ b/src/content/dependencies/generateTrackInfoPage.js
@@ -33,6 +33,14 @@ export default {
       (track.isMainRelease
         ? track
         : track.mainReleaseTrack),
+
+    singleTrackSingle:
+      track.album.style === 'single' &&
+      track.album.tracks.length === 1,
+
+    firstTrackInSingle:
+      track.album.style === 'single' &&
+      track === track.album.tracks[0],
   }),
 
   relations: (relation, query, track) => ({
@@ -124,7 +132,7 @@ export default {
         .map(entry => relation('generateCommentaryEntry', entry)),
   }),
 
-  data: (_query, track) => ({
+  data: (query, track) => ({
     name:
       track.name,
 
@@ -132,8 +140,10 @@ export default {
       track.color,
 
     singleTrackSingle:
-      track.album.style === 'single' &&
-      track.album.tracks.length === 1,
+      query.singleTrackSingle,
+
+    firstTrackInSingle:
+      query.firstTrackInSingle,
   }),
 
   generate: (data, relations, {html, language}) =>
@@ -331,6 +341,12 @@ export default {
 
           relations.lyricsSection,
 
+          data.firstTrackInSingle &&
+          (!html.isBlank(relations.artistCommentaryEntries) ||
+           !html.isBlank(relations.creditingSourceEntries) ||
+           !html.isBlank(relations.referencingSourceEntries)) &&
+            html.tag('hr', {class: 'main-separator'}),
+
           html.tags([
             relations.contentHeading.clone()
               .slots({