« 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/dependencies
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies')
-rw-r--r--src/content/dependencies/generateAdditionalFilesListChunk.js53
-rw-r--r--src/content/dependencies/generateContributionTooltipChronologySection.js10
-rw-r--r--src/content/dependencies/linkAnythingMan.js2
3 files changed, 21 insertions, 44 deletions
diff --git a/src/content/dependencies/generateAdditionalFilesListChunk.js b/src/content/dependencies/generateAdditionalFilesListChunk.js
index 18d5b894..75bac56a 100644
--- a/src/content/dependencies/generateAdditionalFilesListChunk.js
+++ b/src/content/dependencies/generateAdditionalFilesListChunk.js
@@ -1,47 +1,6 @@
-import {compareArrays, stitchArrays} from '#sugar';
+import {stitchArrays} from '#sugar';
 
 export default {
-  query(file) {
-    const query = {};
-
-    const album =
-      (file.thing.isTrack
-        ? file.thing.album
-     : file.thing.isAlbum
-        ? file.thing
-        : []);
-
-    // Consider all presented additional file lists, not just ones
-    // of the same type as this chunk/list.
-    const nearbyAdditionalFiles =
-      (album
-        ? [...album.additionalFiles,
-           ...album.tracks.flatMap(track => [
-              ...track.additionalFiles,
-              ...track.sheetMusicFiles,
-              ...track.midiProjectFiles,
-            ])]
-        : []);
-
-    const contribsMatch = (a, b) =>
-      compareArrays(
-        a.artistContribs.map(contrib => contrib.artist),
-        b.artistContribs.map(contrib => contrib.artist),
-        {checkOrder: false});
-
-    if (
-      nearbyAdditionalFiles.every(x => contribsMatch(x, file)) &&
-      nearbyAdditionalFiles.every(x => contribsMatch(x, x.thing)) &&
-      nearbyAdditionalFiles.every(x => contribsMatch(x, album))
-    ) {
-      query.contextContribs = file.thing.artistContribs;
-    } else {
-      query.contextContribs = [];
-    }
-
-    return query;
-  },
-
   relations: (relation, query, file) => ({
     description:
       relation('transformContent', file.description),
@@ -51,7 +10,7 @@ export default {
         .map(filename => relation('linkAdditionalFile', file, filename)),
 
     artistCredit:
-      relation('generateArtistCredit', file.artistContribs, query.contextContribs),
+      relation('generateArtistCredit', file.artistContribs, []),
   }),
 
   data: (_query, file) => ({
@@ -98,6 +57,14 @@ export default {
                   relations.artistCredit.setSlots({
                     normalStringKey:
                       entryCapsule + '.credit',
+
+                    showAnnotation: true,
+                    showExternalLinks: true,
+                    showChronology: true,
+
+                    chronologyKind:
+                      // Sorry, lol
+                      slots.string.replace(/s$/, ''),
                   });
 
                   if (!html.isBlank(relations.artistCredit)) {
diff --git a/src/content/dependencies/generateContributionTooltipChronologySection.js b/src/content/dependencies/generateContributionTooltipChronologySection.js
index 0cabc877..58bbddd0 100644
--- a/src/content/dependencies/generateContributionTooltipChronologySection.js
+++ b/src/content/dependencies/generateContributionTooltipChronologySection.js
@@ -3,7 +3,15 @@ function getName(thing) {
     return null;
   }
 
-  if (thing.isArtwork || thing.isMusicVideo) {
+  if (thing.isAdditionalFile) {
+    return thing.thing.name;
+  }
+
+  if (thing.isArtwork) {
+    return thing.thing.name;
+  }
+
+  if (thing.isMusicVideo) {
     return thing.thing.name;
   }
 
diff --git a/src/content/dependencies/linkAnythingMan.js b/src/content/dependencies/linkAnythingMan.js
index 6efa5fe1..d37c47e0 100644
--- a/src/content/dependencies/linkAnythingMan.js
+++ b/src/content/dependencies/linkAnythingMan.js
@@ -11,6 +11,8 @@ export default {
         ? relation('linkTrack', thing)
      : thing.isMusicVideo
         ? relation('linkAnythingMan', thing.thing)
+     : thing.isAdditionalFile
+        ? relation('linkAnythingMan', thing.thing)
         : null),
   }),