From 357015de21e7e427f25b31a2622fb9182ec292e1 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 15 Apr 2023 14:16:04 -0300 Subject: content: generateAlbumNavLinks, generatePageLayout nav bar --- src/content/dependencies/linkThing.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/content/dependencies/linkThing.js') diff --git a/src/content/dependencies/linkThing.js b/src/content/dependencies/linkThing.js index 70c86fc4..fea68ae5 100644 --- a/src/content/dependencies/linkThing.js +++ b/src/content/dependencies/linkThing.js @@ -35,6 +35,10 @@ export default { content: relations.linkTemplate.getSlotDescription('content'), preferShortName: {type: 'boolean', default: false}, + tooltip: { + validate: v => v.oneOf(v.isBoolean, v.isString), + }, + color: relations.linkTemplate.getSlotDescription('color'), attributes: relations.linkTemplate.getSlotDescription('attributes'), hash: relations.linkTemplate.getSlotDescription('hash'), @@ -43,20 +47,30 @@ export default { content(slots) { let content = slots.content; + const name = + (slots.preferShortName + ? data.nameShort ?? data.name + : data.name); + if (html.isBlank(content)) { - content = - (slots.preferShortName - ? data.nameShort ?? data.name - : data.name); + content = name; } const color = slots.color ?? data.color ?? null; + let tooltip = null; + if (slots.tooltip === true) { + tooltip = name; + } else if (typeof slots.tooltip === 'string') { + tooltip = slots.tooltip; + } + return relations.linkTemplate .slots({ path, content, color, + tooltip, attributes: slots.attributes, hash: slots.hash, -- cgit 1.3.0-6-gf8a5