diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-10-30 16:03:15 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-10-30 16:03:52 -0300 |
commit | e5b2698286232986a31325cefd72467bf19f89a8 (patch) | |
tree | efbbcf26dbc57b58302af16df87ddab5c2ab29b5 | |
parent | bffbe2c30a60808c68e34ce3844f8db16e205960 (diff) |
content: generateTrackList{,Item}: colorMode slot
-rw-r--r-- | src/content/dependencies/generateAlbumTrackListItem.js | 5 | ||||
-rw-r--r-- | src/content/dependencies/generateTrackList.js | 11 | ||||
-rw-r--r-- | src/content/dependencies/generateTrackListItem.js | 10 |
3 files changed, 18 insertions, 8 deletions
diff --git a/src/content/dependencies/generateAlbumTrackListItem.js b/src/content/dependencies/generateAlbumTrackListItem.js index a42dcb66..44297c15 100644 --- a/src/content/dependencies/generateAlbumTrackListItem.js +++ b/src/content/dependencies/generateAlbumTrackListItem.js @@ -54,6 +54,9 @@ export default { ? data.albumHasDuration : true), - color: data.colorize, + colorMode: + (data.colorize + ? 'line' + : 'none'), }), }; diff --git a/src/content/dependencies/generateTrackList.js b/src/content/dependencies/generateTrackList.js index 19e2efeb..53a32536 100644 --- a/src/content/dependencies/generateTrackList.js +++ b/src/content/dependencies/generateTrackList.js @@ -8,7 +8,14 @@ export default { .map(track => relation('generateTrackListItem', track, [])), }), - generate: (relations, {html}) => + slots: { + colorMode: { + validate: v => v.is('none', 'track', 'line'), + default: 'track', + }, + }, + + generate: (relations, slots, {html}) => html.tag('ul', {[html.onlyIfContent]: true}, @@ -16,6 +23,6 @@ export default { item.slots({ showArtists: true, showDuration: false, - color: true, + colorMode: slots.colorMode, }))), }; diff --git a/src/content/dependencies/generateTrackListItem.js b/src/content/dependencies/generateTrackListItem.js index 36e56717..887b6f03 100644 --- a/src/content/dependencies/generateTrackListItem.js +++ b/src/content/dependencies/generateTrackListItem.js @@ -50,16 +50,16 @@ export default { default: false, }, - color: { - type: 'boolean', - default: true, + colorMode: { + validate: v => v.is('none', 'track', 'line'), + default: 'track', }, }, generate: (data, relations, slots, {html, language}) => language.encapsulate('trackList.item', itemCapsule => html.tag('li', - slots.color && + slots.colorMode === 'line' && relations.colorStyle.slot('context', 'primary-only'), language.encapsulate(itemCapsule, workingCapsule => { @@ -67,7 +67,7 @@ export default { workingOptions.track = relations.trackLink - .slot('color', false); + .slot('color', slots.colorMode === 'track'); if (slots.showDuration) { workingCapsule += '.withDuration'; |