« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js13
-rw-r--r--src/strings-default.yaml9
2 files changed, 19 insertions, 3 deletions
diff --git a/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js b/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js
index e2dffea6..a3c65872 100644
--- a/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js
+++ b/src/content/dependencies/generateTrackInfoPageOtherReleasesLine.js
@@ -50,6 +50,11 @@ export default {
     albumColors:
       query.regularReleases
         .map(track => track.album.color),
+
+    singlePlacement:
+      (query.singleSingle
+        ? query.singleSingle.trackNumber === 1 ? 'as' : 'on'
+        : null),
   }),
 
   generate: (data, relations, {html, language}) =>
@@ -94,7 +99,11 @@ export default {
 
         if (relations.singleLink) {
           any = true;
-          workingCapsule += '.asSingle';
+
+          const singleStringPart = `${data.singlePlacement}Single`;
+          const singleCapsule = language.encapsulate(capsule, singleStringPart);
+
+          workingCapsule += '.' + singleStringPart;
           workingOptions.single =
             relations.textWithTooltip.clone().slots({
               customInteractionCue: true,
@@ -102,7 +111,7 @@ export default {
               text:
                 relations.singleLink.slots({
                   attributes: {class: 'text-with-tooltip-interaction-cue'},
-                  content: language.$(capsule, 'single'),
+                  content: language.$(singleCapsule, 'link'),
                 }),
 
               tooltip:
diff --git a/src/strings-default.yaml b/src/strings-default.yaml
index 47123c52..fa45afd4 100644
--- a/src/strings-default.yaml
+++ b/src/strings-default.yaml
@@ -296,10 +296,17 @@ releaseInfo:
     asSingle: >-
       Also released {SINGLE}.
 
+    onSingle: >-
+      Also released {SINGLE}.
+
     onAlbums.asSingle: >-
       Also released on {ALBUMS}, and {SINGLE}.
 
-    single: "as a single"
+    onAlbums.onSingle: >-
+      Also released on {ALBUMS}, and {SINGLE}.
+
+    asSingle.link: "as a single"
+    onSingle.link: "on a single"
 
     tooltip:
       differentName: "as {NAME}"