« 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/generateAlbumGalleryTrackGrid.js4
-rw-r--r--src/content/dependencies/generateArtTagGalleryPage.js32
2 files changed, 26 insertions, 10 deletions
diff --git a/src/content/dependencies/generateAlbumGalleryTrackGrid.js b/src/content/dependencies/generateAlbumGalleryTrackGrid.js
index 85e7576c..fb5ed7ea 100644
--- a/src/content/dependencies/generateAlbumGalleryTrackGrid.js
+++ b/src/content/dependencies/generateAlbumGalleryTrackGrid.js
@@ -69,7 +69,7 @@ export default {
       album.tracks
         .map(track => track.name),
 
-    trackArtworkArtists:
+    artworkArtists:
       query.artworks.map(artwork =>
         (query.artistsForAllTrackArtworks
           ? null
@@ -110,7 +110,7 @@ export default {
                 })),
 
           info:
-            data.trackArtworkArtists.map(artists =>
+            data.artworkArtists.map(artists =>
               language.$('misc.coverGrid.details.coverArtists', {
                 [language.onlyIfOptions]: ['artists'],
 
diff --git a/src/content/dependencies/generateArtTagGalleryPage.js b/src/content/dependencies/generateArtTagGalleryPage.js
index 344e7bda..cfd6d03e 100644
--- a/src/content/dependencies/generateArtTagGalleryPage.js
+++ b/src/content/dependencies/generateArtTagGalleryPage.js
@@ -1,5 +1,5 @@
 import {sortArtworksChronologically} from '#sort';
-import {empty, unique} from '#sugar';
+import {empty, stitchArrays, unique} from '#sugar';
 
 export default {
   contentDependencies: [
@@ -103,11 +103,15 @@ export default {
       query.allArtworks
         .map(artwork => artwork.thing.name);
 
-    data.coverArtists =
+    data.artworkArtists =
       query.allArtworks
         .map(artwork => artwork.artistContribs
           .map(contrib => contrib.artist.name));
 
+    data.artworkLabels =
+      query.allArtworks
+        .map(artwork => artwork.label)
+
     data.onlyFeaturedIndirectly =
       query.allArtworks.map(artwork =>
         !query.directArtworks.includes(artwork));
@@ -204,12 +208,24 @@ export default {
                   (onlyFeaturedIndirectly ? 'featured-indirectly' : '')),
 
               info:
-                data.coverArtists.map(names =>
-                  (names === null
-                    ? null
-                    : language.$('misc.coverGrid.details.coverArtists', {
-                        artists: language.formatUnitList(names),
-                      }))),
+                stitchArrays({
+                  artists: data.artworkArtists,
+                  label: data.artworkLabels,
+                }).map(({artists, label}) =>
+                    language.encapsulate('misc.coverGrid.details.coverArtists', workingCapsule => {
+                      const workingOptions = {};
+
+                      workingOptions[language.onlyIfOptions] = ['artists'];
+                      workingOptions.artists =
+                        language.formatUnitList(artists);
+
+                      if (label) {
+                        workingCapsule += '.customLabel';
+                        workingOptions.label = label;
+                      }
+
+                      return language.$(workingCapsule, workingOptions);
+                    })),
             }),
         ],