diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/content/dependencies/generateTrackInfoPage.js | 3 | ||||
| -rw-r--r-- | src/data/things/album/Album.js | 32 |
2 files changed, 34 insertions, 1 deletions
diff --git a/src/content/dependencies/generateTrackInfoPage.js b/src/content/dependencies/generateTrackInfoPage.js index 72c3c897..08217561 100644 --- a/src/content/dependencies/generateTrackInfoPage.js +++ b/src/content/dependencies/generateTrackInfoPage.js @@ -393,7 +393,8 @@ export default { {auto: 'home'}, { html: relations.albumNavLink, - accent: language.$(pageCapsule, 'nav.singleAccent'), + accent: + language.$(pageCapsule, 'nav.albumAccent.type.single'), }, ] : html.resolve(relations.navLinks)), diff --git a/src/data/things/album/Album.js b/src/data/things/album/Album.js index 2a21d52e..47abb73a 100644 --- a/src/data/things/album/Album.js +++ b/src/data/things/album/Album.js @@ -4,6 +4,7 @@ import Thing from '#thing'; import {getKebabCase} from '#wiki-data'; import { + anyOf, is, isBoolean, isContributionList, @@ -138,11 +139,40 @@ export class Album extends Thing { return true; }, }), + + suffix: 'suffixDirectory', }), exposeDependency('#directory'), ], + suffixDirectory: [ + exposeUpdateValueOrContinue({ + validate: input.value( + anyOf(is(false), isDirectory)), + }), + + { + transform: (value, continuation) => + (value === false + ? null + : continuation()), + }, + + { + dependencies: ['nameDetail'], + compute(continuation, {nameDetail}) { + if (nameDetail) { + return getKebabCase(nameDetail); + } + + return continuation(); + }, + }, + + exposeConstant(V(null)), + ], + directorySuffixForTracks: [ exposeUpdateValueOrContinue({ validate: input.value(isDirectory), @@ -660,6 +690,8 @@ export class Album extends Thing { 'Name Detail For Tracks': {property: 'nameDetailForTracks'}, 'Directory': {property: 'directory'}, + 'Suffix Own Directory': {property: 'suffixDirectory'}, + 'Directory Suffix': {property: 'directorySuffixForTracks'}, 'Suffix Track Directories': {property: 'suffixTrackDirectoriesByDefault'}, |