From e1db565e4059a2e26e2c0e56a6f3f3ae738ea2b7 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 2 Mar 2023 20:46:16 -0400 Subject: per-track color support --- src/data/things/track.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/data/things/track.js') diff --git a/src/data/things/track.js b/src/data/things/track.js index 0751b2d0..1c2013a2 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -16,6 +16,7 @@ export class Track extends Thing { validators: { isBoolean, + isColor, isDate, isDuration, isFileExtension, @@ -145,15 +146,18 @@ export class Track extends Thing { }, color: { - flags: {expose: true}, + flags: {update: true, expose: true}, + + update: {validate: isColor}, expose: { dependencies: ['albumData'], - compute: ({albumData, [Track.instance]: track}) => - Track.findAlbum(track, albumData) - ?.trackSections.find(({tracks}) => tracks.includes(track)) - ?.color ?? null, + transform: (color, {albumData, [Track.instance]: track}) => + color ?? + Track.findAlbum(track, albumData) + ?.trackSections.find(({tracks}) => tracks.includes(track)) + ?.color ?? null, }, }, -- cgit 1.3.0-6-gf8a5