diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-05-28 14:25:50 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-05-28 14:25:50 -0300 |
| commit | 8cf17aae87ba968d35c9871be9f90997cd5a80ad (patch) | |
| tree | 25725594d8a4c62f294ed08c0f7c33d71a99bc75 /src/content/dependencies/generateAlbumLinkNavAccent.js | |
| parent | 045b3eee42ce2ce20793f65ca7f4752457bbe77d (diff) | |
content: generateAlbumLinkNavAccent & friends
Diffstat (limited to 'src/content/dependencies/generateAlbumLinkNavAccent.js')
| -rw-r--r-- | src/content/dependencies/generateAlbumLinkNavAccent.js | 46 |
1 files changed, 46 insertions, 0 deletions
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(); + } + }), +}; |