From a07c7d46ff5fa1166e05b94342f5ec3e25b1324e Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 19 Mar 2026 13:44:45 -0300 Subject: content: generateAlbumSidebar: don't conjoin series named like group --- src/content/dependencies/generateAlbumSidebar.js | 26 ++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/content/dependencies/generateAlbumSidebar.js') diff --git a/src/content/dependencies/generateAlbumSidebar.js b/src/content/dependencies/generateAlbumSidebar.js index 83a637b0..7659f361 100644 --- a/src/content/dependencies/generateAlbumSidebar.js +++ b/src/content/dependencies/generateAlbumSidebar.js @@ -1,5 +1,6 @@ import {sortAlbumsTracksChronologically} from '#sort'; import {stitchArrays, transposeArrays} from '#sugar'; +import {compareKebabCase} from '#wiki-data'; export default { sprawl: ({groupData}) => ({ @@ -98,11 +99,19 @@ export default { : null), }), - data: (_query, _sprawl, album, track) => ({ + data: (query, _sprawl, album, track) => ({ isAlbumPage: !track, isTrackPage: !!track, albumStyle: album.style, + + seriesBoxesResembleGroup: + stitchArrays({ + group: query.groups, + serieses: query.groupSerieses, + }).map(({group, serieses}) => + serieses.map(series => + compareKebabCase(series.name, group.name))), }), generate(data, relations, {html}) { @@ -122,7 +131,6 @@ export default { (presentGroupsLikeAlbum ? [ relations.disconnectedSeriesBoxes, - stitchArrays({ groupBox: relations.groupBoxes, seriesBoxes: relations.seriesBoxes, @@ -144,9 +152,19 @@ export default { stitchArrays({ groupBox: relations.groupBoxes, seriesBoxes: relations.seriesBoxes, - }).flatMap(({groupBox, seriesBoxes}) => [ + seriesBoxesResembleGroup: data.seriesBoxesResembleGroup, + }).flatMap(({ + groupBox, + seriesBoxes, + seriesBoxesResembleGroup, + }) => [ groupBox, - ...seriesBoxes, + ... + stitchArrays({ + seriesBox: seriesBoxes, + resemblesGroup: seriesBoxesResembleGroup, + }).filter(({resemblesGroup}) => !resemblesGroup) + .map(({seriesBox}) => seriesBox), ]), ]).flat() .map(box => box.content), /* TODO: Kludge. */ -- cgit 1.3.0-6-gf8a5