« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/content/dependencies/generateAlbumInfoPage.js11
-rw-r--r--src/content/dependencies/generateReleaseInfoListenLine.js17
-rw-r--r--src/content/dependencies/generateTrackInfoPage.js12
3 files changed, 29 insertions, 11 deletions
diff --git a/src/content/dependencies/generateAlbumInfoPage.js b/src/content/dependencies/generateAlbumInfoPage.js
index 1664c788..b9cf20dc 100644
--- a/src/content/dependencies/generateAlbumInfoPage.js
+++ b/src/content/dependencies/generateAlbumInfoPage.js
@@ -174,14 +174,11 @@ export default {
 
           html.tag('p',
             {[html.onlyIfContent]: true},
-            {[html.joinChildren]: html.tag('br')},
 
-            language.encapsulate('releaseInfo', capsule => [
-              language.$(capsule, 'addedToWiki', {
-                [language.onlyIfOptions]: ['date'],
-                date: language.formatDate(data.dateAddedToWiki),
-              }),
-            ])),
+            language.$('releaseInfo.addedToWiki', {
+              [language.onlyIfOptions]: ['date'],
+              date: language.formatDate(data.dateAddedToWiki),
+            })),
 
           (!html.isBlank(relations.artistCommentaryEntries) ||
            !html.isBlank(relations.creditSourceEntries))
diff --git a/src/content/dependencies/generateReleaseInfoListenLine.js b/src/content/dependencies/generateReleaseInfoListenLine.js
index f2a6dd29..b02ff6f9 100644
--- a/src/content/dependencies/generateReleaseInfoListenLine.js
+++ b/src/content/dependencies/generateReleaseInfoListenLine.js
@@ -35,6 +35,15 @@ export default {
         ? thing.album
         : thing);
 
+    query.urls =
+      (!empty(thing.urls)
+        ? thing.urls
+     : thing.album &&
+       thing.album.style === 'single' &&
+       thing.album.tracks[0] === thing
+        ? thing.album.urls
+        : []);
+
     query.artists =
       thing.artistContribs
         .map(contrib => contrib.artist);
@@ -56,9 +65,9 @@ export default {
     return query;
   },
 
-  relations: (relation, _query, thing) => ({
+  relations: (relation, query, _thing) => ({
     links:
-      thing.urls.map(url => relation('linkExternal', url)),
+      query.urls.map(url => relation('linkExternal', url)),
   }),
 
   data(query, thing) {
@@ -85,7 +94,7 @@ export default {
       });
 
     let releaseContexts =
-      thing.urls.map(boundGetReleaseContext);
+      query.urls.map(boundGetReleaseContext);
 
     const albumReleaseContexts =
       query.album.urls.map(boundGetReleaseContext);
@@ -101,7 +110,7 @@ export default {
       presentAlbumReleaseContexts.length <= 1
     ) {
       releaseContexts =
-        thing.urls.map(() => null);
+        query.urls.map(() => null);
     }
 
     data.releaseContexts = releaseContexts;
diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js
index 22e8b348..8556f6cf 100644
--- a/src/content/dependencies/generateTrackInfoPage.js
+++ b/src/content/dependencies/generateTrackInfoPage.js
@@ -142,6 +142,9 @@ export default {
     color:
       track.color,
 
+    dateAlbumAddedToWiki:
+      track.album.dateAddedToWiki,
+
     singleTrackSingle:
       query.singleTrackSingle,
 
@@ -343,6 +346,15 @@ export default {
           ]),
 
           data.firstTrackInSingle &&
+            html.tag('p',
+              {[html.onlyIfContent]: true},
+
+              language.$('releaseInfo.addedToWiki', {
+                [language.onlyIfOptions]: ['date'],
+                date: language.formatDate(data.dateAlbumAddedToWiki),
+              })),
+
+          data.firstTrackInSingle &&
           (!html.isBlank(relations.lyricsSection) ||
            !html.isBlank(relations.artistCommentaryEntries) ||
            !html.isBlank(relations.creditingSourceEntries) ||