From fe8f774aeb51eb9167421a1c5f6356163e04af04 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 23 Apr 2024 14:44:51 -0300 Subject: content: generateChronologyLinks: "Only track by..." --- .../dependencies/generateChronologyLinks.js | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'src/content/dependencies/generateChronologyLinks.js') diff --git a/src/content/dependencies/generateChronologyLinks.js b/src/content/dependencies/generateChronologyLinks.js index 8ec6ee0a..0158ffd5 100644 --- a/src/content/dependencies/generateChronologyLinks.js +++ b/src/content/dependencies/generateChronologyLinks.js @@ -4,6 +4,11 @@ export default { extraDependencies: ['html', 'language'], slots: { + showOnly: { + type: 'boolean', + default: false, + }, + chronologyInfoSets: { validate: v => v.strictArrayOf( @@ -24,9 +29,17 @@ export default { return html.blank(); } + let infoSets = slots.chronologyInfoSets; + + if (!slots.showOnly) { + infoSets = infoSets + .filter(({nextLink, previousLink}) => + nextLink || previousLink); + } + const totalContributionCount = accumulateSum( - slots.chronologyInfoSets, + infoSets, ({contributions}) => contributions.length); if (totalContributionCount === 0) { @@ -39,7 +52,7 @@ export default { } return html.tags( - slots.chronologyInfoSets.map(({ + infoSets.map(({ headingString, contributions, }) => @@ -52,7 +65,11 @@ export default { const heading = html.tag('span', {class: 'heading'}, language.$(headingString, { - index: language.formatIndex(index), + index: + (previousLink || nextLink + ? language.formatIndex(index) + : language.formatString('misc.chronology.heading.onlyIndex')), + artist: artistLink, })); -- cgit 1.3.0-6-gf8a5