diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-03-19 13:44:45 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-03-19 13:44:45 -0300 |
| commit | a07c7d46ff5fa1166e05b94342f5ec3e25b1324e (patch) | |
| tree | 92ed7a38302df8c5e9e040a9585cb2ab5345ca5a | |
| parent | c3f1418dd3c4d821560402c28e37f3cde21b86f0 (diff) | |
content: generateAlbumSidebar: don't conjoin series named like group preview
| -rw-r--r-- | src/content/dependencies/generateAlbumSidebar.js | 26 |
1 files changed, 22 insertions, 4 deletions
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. */ |