« 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/generateArtistInfoPage.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateArtistInfoPage.js')
-rw-r--r--src/content/dependencies/generateArtistInfoPage.js43
1 files changed, 8 insertions, 35 deletions
diff --git a/src/content/dependencies/generateArtistInfoPage.js b/src/content/dependencies/generateArtistInfoPage.js
index 0c4e4189..3a3cf8b7 100644
--- a/src/content/dependencies/generateArtistInfoPage.js
+++ b/src/content/dependencies/generateArtistInfoPage.js
@@ -2,6 +2,7 @@ import {empty, stitchArrays, unique} from '#sugar';
 
 export default {
   contentDependencies: [
+    'generateArtistArtworkColumn',
     'generateArtistGroupContributionsInfo',
     'generateArtistInfoPageArtworksChunkedList',
     'generateArtistInfoPageCommentaryChunkedList',
@@ -9,9 +10,7 @@ export default {
     'generateArtistInfoPageTracksChunkedList',
     'generateArtistNavLinks',
     'generateContentHeading',
-    'generateCoverArtwork',
     'generatePageLayout',
-    'image',
     'linkArtistGallery',
     'linkExternal',
     'linkGroup',
@@ -35,7 +34,7 @@ export default {
     // Artworks are different, though. We intentionally duplicate album data
     // objects when the artist has contributed some combination of cover art,
     // wallpaper, and banner - these each count as a unique contribution.
-    allArtworks:
+    allArtworkThings:
       ([
         artist.albumCoverArtistContributions,
         artist.albumWallpaperArtistContributions,
@@ -43,7 +42,7 @@ export default {
         artist.trackCoverArtistContributions,
       ]).flat()
         .filter(({annotation}) => !annotation?.startsWith('edits for wiki'))
-        .map(({thing}) => thing),
+        .map(({thing}) => thing.thing),
 
     // Banners and wallpapers don't show up in the artist gallery page, only
     // cover art.
@@ -69,15 +68,8 @@ export default {
     artistNavLinks:
       relation('generateArtistNavLinks', artist),
 
-    cover:
-      (artist.hasAvatar
-        ? relation('generateCoverArtwork', [], [])
-        : null),
-
-    image:
-      (artist.hasAvatar
-        ? relation('image')
-        : null),
+    artworkColumn:
+      relation('generateArtistArtworkColumn', artist),
 
     contentHeading:
       relation('generateContentHeading'),
@@ -110,7 +102,7 @@ export default {
       relation('generateArtistInfoPageArtworksChunkedList', artist, true),
 
     artworksGroupInfo:
-      relation('generateArtistGroupContributionsInfo', query.allArtworks),
+      relation('generateArtistGroupContributionsInfo', query.allArtworkThings),
 
     artistGalleryLink:
       (query.hasGallery
@@ -131,14 +123,6 @@ export default {
     name:
       artist.name,
 
-    directory:
-      artist.directory,
-
-    avatarFileExtension:
-      (artist.hasAvatar
-        ? artist.avatarFileExtension
-        : null),
-
     closeGroupAnnotations:
       query.generalLinkedGroups
         .map(({annotation}) => annotation),
@@ -156,19 +140,8 @@ export default {
         title: data.name,
         headingMode: 'sticky',
 
-        cover:
-          (relations.cover
-            ? relations.cover.slots({
-                image:
-                  relations.image.slots({
-                    path: [
-                      'media.artistAvatar',
-                      data.directory,
-                      data.avatarFileExtension,
-                    ],
-                  }),
-              })
-            : null),
+        artworkColumnContent:
+          relations.artworkColumn,
 
         mainContent: [
           html.tags([