From 8cf17aae87ba968d35c9871be9f90997cd5a80ad Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 28 May 2026 14:25:50 -0300 Subject: content: generateAlbumLinkNavAccent & friends --- .../dependencies/generateAlbumLinkNavAccent.js | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/content/dependencies/generateAlbumLinkNavAccent.js (limited to 'src/content/dependencies/generateAlbumLinkNavAccent.js') diff --git a/src/content/dependencies/generateAlbumLinkNavAccent.js b/src/content/dependencies/generateAlbumLinkNavAccent.js new file mode 100644 index 00000000..50a53472 --- /dev/null +++ b/src/content/dependencies/generateAlbumLinkNavAccent.js @@ -0,0 +1,46 @@ +export default { + data: (album) => ({ + style: + album.style, + + nameDetail: + album.nameDetail, + }), + + slots: { + navString: {type: 'string', default: 'albumPage.nav'}, + }, + + generate: (data, slots, {html, language}) => + language.encapsulate(slots.navString, 'albumAccent', capsule => { + let workingCapsule = capsule; + let workingOptions = {}; + + let any = false; + + if (data.nameDetail) { + workingCapsule += '.withNameDetail'; + workingOptions.nameDetail = data.nameDetail; + any = true; + } + + const type = + (data.style === 'single' + ? language.$(capsule, 'type.single') + : data.style === 'in-game vgm' + ? language.$(capsule, 'type.vgm') + : html.blank()); + + if (!html.isBlank(type)) { + workingCapsule += '.withType'; + workingOptions.type = type; + any = true; + } + + if (any) { + return language.$(workingCapsule, workingOptions); + } else { + return html.blank(); + } + }), +}; -- cgit 1.3.0-6-gf8a5