« 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/generateListRandomPageLinksGroupSection.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/dependencies/generateListRandomPageLinksGroupSection.js')
-rw-r--r--src/content/dependencies/generateListRandomPageLinksGroupSection.js47
1 files changed, 10 insertions, 37 deletions
diff --git a/src/content/dependencies/generateListRandomPageLinksGroupSection.js b/src/content/dependencies/generateListRandomPageLinksGroupSection.js
index 74872724..d05be8f7 100644
--- a/src/content/dependencies/generateListRandomPageLinksGroupSection.js
+++ b/src/content/dependencies/generateListRandomPageLinksGroupSection.js
@@ -1,8 +1,7 @@
-import {stitchArrays} from '#sugar';
 import {sortChronologically} from '#wiki-data';
 
 export default {
-  contentDependencies: ['generateColorStyleVariables', 'linkGroup'],
+  contentDependencies: ['generateListRandomPageLinksAlbumLink', 'linkGroup'],
   extraDependencies: ['html', 'language', 'wikiData'],
 
   sprawl: ({albumData}) => ({albumData}),
@@ -18,61 +17,35 @@ export default {
     groupLink:
       relation('linkGroup', group),
 
-    albumColorVariables:
+    albumLinks:
       query.albums
-        .map(() => relation('generateColorStyleVariables')),
+        .map(album => relation('generateListRandomPageLinksAlbumLink', album)),
   }),
 
-  data: (query) => ({
-    albumColors:
-      query.albums
-        .map(album => album.color),
-
-    albumDirectories:
-      query.albums
-        .map(album => album.directory),
-
-    albumNames:
-      query.albums
-        .map(album => album.name),
-  }),
-
-  generate: (data, relations, {html, language}) =>
+  generate: (relations, {html, language}) =>
     html.tags([
       html.tag('dt',
-        language.$('listingPage.other.randomPages.group', {
+        language.$('listingPage.other.randomPages.fromGroup', {
           group: relations.groupLink,
 
           randomAlbum:
             html.tag('a',
               {href: '#', 'data-random': 'album-in-group-dl'},
-              language.$('listingPage.other.randomPages.group.randomAlbum')),
+              language.$('listingPage.other.randomPages.fromGroup.randomAlbum')),
 
           randomTrack:
             html.tag('a',
               {href: '#', 'data-random': 'track-in-group-dl'},
-              language.$('listingPage.other.randomPages.group.randomTrack')),
+              language.$('listingPage.other.randomPages.fromGroup.randomTrack')),
         })),
 
       html.tag('dd',
         html.tag('ul',
-          stitchArrays({
-            colorVariables: relations.albumColorVariables,
-            color: data.albumColors,
-            directory: data.albumDirectories,
-            name: data.albumNames,
-          }).map(({colorVariables, color, directory, name}) =>
+          relations.albumLinks
+            .map(albumLink =>
               html.tag('li',
                 language.$('listingPage.other.randomPages.album', {
-                  album:
-                    html.tag('a', {
-                      href: '#',
-                      'data-random': 'track-in-album',
-                      style:
-                        colorVariables.slot('color', color).content +
-                        '; ' +
-                        `--album-directory: ${directory}`,
-                    }, name),
+                  album: albumLink,
                 }))))),
     ]),
 };