« get me outta code hell

content, data: generateWikiHomepageAlbum{Carousel,Grid}Row - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateWikiHomepageAlbumsRow.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-02-11 11:12:07 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-02-12 07:43:59 -0400
commitc45d45759395725128c030ac387bb20b80aada1e (patch)
treedd71e8354268ca5c48101b0b225144db982cc5cb /src/content/dependencies/generateWikiHomepageAlbumsRow.js
parent19d9c3a3d16ed08b2d0c9e09259ffb79a27cd3e9 (diff)
content, data: generateWikiHomepageAlbum{Carousel,Grid}Row
Diffstat (limited to 'src/content/dependencies/generateWikiHomepageAlbumsRow.js')
-rw-r--r--src/content/dependencies/generateWikiHomepageAlbumsRow.js115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/content/dependencies/generateWikiHomepageAlbumsRow.js b/src/content/dependencies/generateWikiHomepageAlbumsRow.js
deleted file mode 100644
index 258e5fe1..00000000
--- a/src/content/dependencies/generateWikiHomepageAlbumsRow.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import {empty, stitchArrays} from '#sugar';
-import {getNewAdditions, getNewReleases} from '#wiki-data';
-
-export default {
-  contentDependencies: [
-    'generateCoverCarousel',
-    'generateCoverGrid',
-    'image',
-    'linkAlbum',
-  ],
-
-  extraDependencies: ['language', 'wikiData'],
-
-  sprawl({albumData}, row) {
-    const sprawl = {};
-
-    switch (row.sourceGroup) {
-      case 'new-releases':
-        sprawl.albums = getNewReleases(row.countAlbumsFromGroup, {albumData});
-        break;
-
-      case 'new-additions':
-        sprawl.albums = getNewAdditions(row.countAlbumsFromGroup, {albumData});
-        break;
-
-      default:
-        sprawl.albums =
-          (row.sourceGroup
-            ? row.sourceGroup.albums
-                .slice()
-                .reverse()
-                .filter(album => album.isListedOnHomepage)
-                .slice(0, row.countAlbumsFromGroup)
-            : []);
-    }
-
-    if (!empty(row.sourceAlbums)) {
-      sprawl.albums.push(...row.sourceAlbums);
-    }
-
-    return sprawl;
-  },
-
-  relations: (relation, sprawl, row) => ({
-    coverGrid:
-      (row.displayStyle === 'grid'
-        ? relation('generateCoverGrid')
-        : null),
-
-    coverCarousel:
-      (row.displayStyle === 'carousel'
-        ? relation('generateCoverCarousel')
-        : null),
-
-    links:
-      sprawl.albums
-        .map(album => relation('linkAlbum', album)),
-
-    images:
-      sprawl.albums
-        .map(album => relation('image', album.artTags)),
-  }),
-
-  data: (sprawl, row) => ({
-    displayStyle:
-      row.displayStyle,
-
-    names:
-      (row.displayStyle === 'grid'
-        ? sprawl.albums
-            .map(album => album.name)
-        : null),
-
-    paths:
-      sprawl.albums
-        .map(album =>
-          (album.hasCoverArt
-            ? ['media.albumCover', album.directory, album.coverArtFileExtension]
-            : null)),
-  }),
-
-  generate(data, relations, {language}) {
-    // Grids and carousels share some slots! Very convenient.
-    const commonSlots = {};
-
-    commonSlots.links =
-      relations.links;
-
-    commonSlots.images =
-      stitchArrays({
-        image: relations.images,
-        path: data.paths,
-        name: data.names ?? data.paths.slice().fill(null),
-      }).map(({image, path, name}) =>
-          image.slots({
-            path,
-            missingSourceContent:
-              language.$('misc.coverGrid.noCoverArt', {
-                [language.onlyIfOptions]: ['album'],
-                album: name,
-              }),
-            }));
-
-    switch (data.displayStyle) {
-      case 'grid':
-        return relations.coverGrid.slots({
-          ...commonSlots,
-          names: data.names,
-        });
-
-      case 'carousel':
-        return relations.coverCarousel.slots(commonSlots);
-    }
-  },
-};