diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-08-20 22:07:05 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-08-20 22:08:13 -0300 |
commit | e035dab576875bca12485f60a1aeb257c394c723 (patch) | |
tree | ef995dc8d1bea1a27636c624fe9ee82066a8a3fb /src/content/dependencies/listArtistsByName.js | |
parent | 60b6715b38d137f8d6d0ce3c537a546a507ecf1f (diff) |
content: generateListingPage: "skip to a section"
Diffstat (limited to 'src/content/dependencies/listArtistsByName.js')
-rw-r--r-- | src/content/dependencies/listArtistsByName.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/content/dependencies/listArtistsByName.js b/src/content/dependencies/listArtistsByName.js index d83150e..3778b9e 100644 --- a/src/content/dependencies/listArtistsByName.js +++ b/src/content/dependencies/listArtistsByName.js @@ -1,5 +1,10 @@ import {empty, stitchArrays, unique} from '#sugar'; -import {getArtistNumContributions, sortAlphabetically} from '#wiki-data'; + +import { + filterMultipleArrays, + getArtistNumContributions, + sortAlphabetically, +} from '#wiki-data'; export default { contentDependencies: ['generateListingPage', 'linkArtist', 'linkGroup'], @@ -29,6 +34,9 @@ export default { groups.map(group => artists.filter((artist, index) => artistGroups[index].includes(group))); + filterMultipleArrays(groups, artistsByGroup, + (group, artists) => !empty(artists)); + return {spec, groups, artistsByGroup}; }, @@ -68,6 +76,10 @@ export default { } if (query.artistsByGroup) { + data.groupDirectories = + query.groups + .map(group => group.directory); + data.countsByGroup = query.artistsByGroup .map(artists => artists @@ -83,6 +95,11 @@ export default { ? relations.page.slots({ type: 'chunks', + showSkipToSection: true, + chunkIDs: + data.groupDirectories + .map(directory => `contributed-to-${directory}`), + chunkTitles: relations.groupLinks.map(groupLink => ({ group: groupLink, |