diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 13:53:22 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:43 -0300 |
commit | adfdef1310578fb990a302b8004590c3fcec1d53 (patch) | |
tree | 5bdaf93c39487fbccd4e5591c0a4e8e828df91fd /src/data/things | |
parent | 37d8572baa3e77e28a0f4df320fcbfa44b751cb8 (diff) |
data: Artwork.dimensions
Diffstat (limited to 'src/data/things')
-rw-r--r-- | src/data/things/album.js | 3 | ||||
-rw-r--r-- | src/data/things/artwork.js | 24 | ||||
-rw-r--r-- | src/data/things/track.js | 1 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js index e0d9884f..7c85366a 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -500,6 +500,7 @@ export class Album extends Thing { property: 'coverArtworks', transform: parseArtwork({ + dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', @@ -512,6 +513,7 @@ export class Album extends Thing { transform: parseArtwork({ single: true, + dimensionsFromThingProperty: 'bannerDimensions', fileExtensionFromThingProperty: 'bannerFileExtension', dateFromThingProperty: 'date', artistContribsFromThingProperty: 'bannerArtistContribs', @@ -524,6 +526,7 @@ export class Album extends Thing { transform: parseArtwork({ single: true, + dimensionsFromThingProperty: null, fileExtensionFromThingProperty: 'wallpaperFileExtension', dateFromThingProperty: 'date', artistContribsFromThingProperty: 'wallpaperArtistContribs', diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index fabbf625..93f238f2 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -9,6 +9,7 @@ import { isContentString, isContributionList, isDate, + isDimensions, isFileExtension, optional, validateArrayItems, @@ -112,6 +113,29 @@ export class Artwork extends Thing { }), ], + dimensionsFromThingProperty: simpleString(), + + dimensions: [ + exposeUpdateValueOrContinue({ + validate: input.value(isDimensions), + }), + + withPropertyFromObject({ + object: 'thing', + property: 'dimensionsFromThingProperty', + }).outputs({ + ['#value']: '#dimensionsFromThing', + }), + + exposeDependencyOrContinue({ + dependency: '#dimensionsFromThing', + }), + + exposeConstant({ + value: input.value(null), + }), + ], + artistContribsFromThingProperty: simpleString(), artistContribsArtistProperty: simpleString(), diff --git a/src/data/things/track.js b/src/data/things/track.js index c2ba503b..4f5d7a59 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -528,6 +528,7 @@ export class Track extends Thing { property: 'trackArtworks', transform: parseArtwork({ + dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', |