From 215aa2577d9d2e0812a8c42c90bd1d7ba83d2028 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 22 Dec 2022 22:33:24 -0400 Subject: many homepage carousel shenanigans --- src/page/homepage.js | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) (limited to 'src/page/homepage.js') diff --git a/src/page/homepage.js b/src/page/homepage.js index 105c402f..c592efa6 100644 --- a/src/page/homepage.js +++ b/src/page/homepage.js @@ -16,15 +16,17 @@ export function writeTargetless({wikiData}) { switch (type) { case 'albums': { + entry.displayStyle = row.displayStyle; + switch (row.sourceGroupByRef) { case 'new-releases': - entry.gridEntries = getNewReleases(row.countAlbumsFromGroup, {wikiData}); + entry.entries = getNewReleases(row.countAlbumsFromGroup, {wikiData}); break; case 'new-additions': - entry.gridEntries = getNewAdditions(row.countAlbumsFromGroup, {wikiData}); + entry.entries = getNewAdditions(row.countAlbumsFromGroup, {wikiData}); break; default: - entry.gridEntries = row.sourceGroup + entry.entries = row.sourceGroup ? row.sourceGroup.albums .slice() .reverse() @@ -35,7 +37,7 @@ export function writeTargetless({wikiData}) { } if (!empty(row.sourceAlbums)) { - entry.gridEntries.push(...row.sourceAlbums.map(album => ({item: album}))); + entry.entries.push(...row.sourceAlbums.map(album => ({item: album}))); } entry.actionLinks = row.actionLinks ?? []; @@ -46,12 +48,20 @@ export function writeTargetless({wikiData}) { return entry; }); + const transformActionLinks = (actionLinks, { + transformInline, + }) => + actionLinks?.map(transformInline) + .map(a => a.replace(' 0, })), @@ -96,9 +107,27 @@ export function writeTargetless({wikiData}) { [html.onlyIfContent]: true, class: 'grid-actions', }, - entry.actionLinks?.map(action => - transformInline(action) - .replace(' e.item), + lazy: i > 0, + srcFn: getAlbumCover, + linkFn: link.album, + }), + + entry.actionLinks.length && + html.tag('div', {class: 'grid-listing'}, + html.tag('div', {class: 'grid-actions'}, + transformActionLinks(entry.actionLinks, { + transformInline, + }))), ]), ]))), ]), -- cgit 1.3.0-6-gf8a5