diff options
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(); + } + }), +}; |