diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-08-14 13:03:39 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-11-02 22:25:46 -0300 |
commit | e77262e34657164b5c194d2e639ff4ce627134a9 (patch) | |
tree | f64a67f47990bf50bbfa0b78b4b5e65eda7596a2 /src/content/dependencies | |
parent | 7c5939aefafc88201eb73ba67a35d4de77c94d7a (diff) |
content, css, client: inert previous/next links
Diffstat (limited to 'src/content/dependencies')
-rw-r--r-- | src/content/dependencies/generatePreviousNextLink.js | 51 |
1 files changed, 36 insertions, 15 deletions
diff --git a/src/content/dependencies/generatePreviousNextLink.js b/src/content/dependencies/generatePreviousNextLink.js index 9fe04aed..1c1bf27c 100644 --- a/src/content/dependencies/generatePreviousNextLink.js +++ b/src/content/dependencies/generatePreviousNextLink.js @@ -15,21 +15,42 @@ export default { type: 'boolean', default: true, }, + + showWithoutLink: { + type: 'boolean', + default: true, + }, }, - generate: (slots, {html, language}) => - (html.isBlank(slots.link) || !slots.direction - ? html.blank() - : slots.link.slots({ - tooltipStyle: 'browser', - color: false, - - attributes: - (slots.id - ? {id: `${slots.direction}-button`} - : null), - - content: - language.$('misc.nav', slots.direction), - })), + generate(slots, {html, language}) { + if (!slots.direction) { + return html.blank(); + } + + const attributes = html.attributes(); + + if (slots.id) { + attributes.set('id', `${slots.direction}-button`); + } + + if (html.isBlank(slots.link)) { + if (slots.showWithoutLink) { + return ( + html.tag('a', {class: 'inert-previous-next-link'}, + attributes, + language.$('misc.nav', slots.direction))); + } else { + return html.blank(); + } + } + + return slots.link.slots({ + tooltipStyle: 'browser', + color: false, + attributes, + + content: + language.$('misc.nav', slots.direction), + }); + }, }; |