« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content
diff options
context:
space:
mode:
Diffstat (limited to 'src/content')
-rw-r--r--src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js23
-rw-r--r--src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js12
-rw-r--r--src/content/dependencies/generateArtistInfoPageTracksChunkItem.js14
3 files changed, 28 insertions, 21 deletions
diff --git a/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js b/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js
index 1d498b9f..d588edc0 100644
--- a/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js
+++ b/src/content/dependencies/generateArtistInfoPageFirstReleaseTooltip.js
@@ -5,14 +5,16 @@ export default {
 query: (track, artist) => ({
   rereleases:
     sortAlbumsTracksChronologically(
-      track.otherReleases.filter(track => {
-        const contribs = [
-          ...track.artistContribs,
-          ...track.contributorContribs,
-        ];
+      track.otherReleases
+        .filter(track => track.album.style !== 'meta')
+        .filter(track => {
+          const contribs = [
+            ...track.artistContribs,
+            ...track.contributorContribs,
+          ];
 
-        return contribs.some(contrib => contrib.artist === artist);
-      })),
+          return contribs.some(contrib => contrib.artist === artist);
+        })),
 }),
 
   relations: (relation, query, track, artist) => ({
@@ -30,14 +32,11 @@ query: (track, artist) => ({
 
   data: (query, track) => ({
     firstReleaseDate:
-      track.dateFirstReleased ??
-      track.album.date,
+      track.date,
 
     rereleaseDates:
       query.rereleases
-        .map(rerelease =>
-          rerelease.dateFirstReleased ??
-          rerelease.album.date),
+        .map(rerelease => rerelease.date),
   }),
 
   generate: (data, relations, {html, language}) =>
diff --git a/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js b/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js
index bf5fe616..d9f7eb34 100644
--- a/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js
+++ b/src/content/dependencies/generateArtistInfoPageRereleaseTooltip.js
@@ -4,8 +4,12 @@ export default {
   query(track, artist) {
     const query = {};
 
+    const regularReleases =
+      track.allReleases
+        .filter(track => track.album.style !== 'meta');
+
     query.firstRelease =
-      sortAlbumsTracksChronologically(track.allReleases)[0];
+      sortAlbumsTracksChronologically(regularReleases)[0];
 
     const contribs = [
       ...query.firstRelease.artistContribs,
@@ -36,12 +40,10 @@ export default {
       artist.name,
 
     rereleaseDate:
-      track.dateFirstReleased ??
-      track.album.date,
+      track.date,
 
     firstReleaseDate:
-      query.firstRelease.dateFirstReleased ??
-      query.firstRelease.album.date,
+      query.firstRelease.date,
 
     creditedOnFirstRelease:
       query.creditedOnFirstRelease,
diff --git a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
index aa07e736..fa384a3e 100644
--- a/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
+++ b/src/content/dependencies/generateArtistInfoPageTracksChunkItem.js
@@ -19,6 +19,10 @@ export default {
     query.displayedContributions =
       selectRepresentativeArtistContributorContribs(contribs);
 
+    const regularReleases =
+      query.track.allReleases
+        .filter(track => track.album.style !== 'meta');
+
     // It's kinda awkward to perform this chronological sort here,
     // per track, rather than just reusing the one that's done to
     // sort all the items on the page altogether... but then, the
@@ -27,14 +31,16 @@ export default {
     // this is according to the dates of the tracks. Those can be
     // different - and it's the latter that determines whether the
     // track is a rerelease!
-    const allReleasesChronologically =
-      sortAlbumsTracksChronologically(query.track.allReleases);
+    const regularReleasesChronologically =
+      sortAlbumsTracksChronologically(regularReleases);
 
     query.isFirstRelease =
-      allReleasesChronologically[0] === query.track;
+      regularReleases.includes(query.track) &&
+      regularReleasesChronologically[0] === query.track;
 
     query.isLaterRelease =
-      allReleasesChronologically[0] !== query.track;
+      regularReleases.includes(query.track) &&
+      regularReleasesChronologically[0] !== query.track;
 
     query.hasOtherCreditedReleases =
       query.track.otherReleases.some(track => {