« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/album.js18
-rw-r--r--src/data/things/art-tag.js2
-rw-r--r--src/data/things/track.js15
3 files changed, 13 insertions, 22 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js
index 5aba75f7..e7ab9def 100644
--- a/src/data/things/album.js
+++ b/src/data/things/album.js
@@ -104,16 +104,10 @@ export class Album extends Thing {
     dateAddedToWiki: simpleDate(),
 
     coverArtDate: [
-      // ~~TODO: Why does this fall back, but Track.coverArtDate doesn't?~~
-      // TODO: OK so it's because tracks don't *store* dates just like that.
-      // Really instead of fallback being a flag, it should be a date value,
-      // if this option is worth existing at all.
       withCoverArtDate({
         from: input.updateValue({
           validate: isDate,
         }),
-
-        fallback: input.value(true),
       }),
 
       exposeDependency({dependency: '#coverArtDate'}),
@@ -181,9 +175,7 @@ export class Album extends Thing {
     }),
 
     coverArtistContribs: [
-      withCoverArtDate({
-        fallback: input.value(true),
-      }),
+      withCoverArtDate(),
 
       contributionList({
         date: '#coverArtDate',
@@ -202,9 +194,7 @@ export class Album extends Thing {
     }),
 
     wallpaperArtistContribs: [
-      withCoverArtDate({
-        fallback: input.value(true),
-      }),
+      withCoverArtDate(),
 
       contributionList({
         date: '#coverArtDate',
@@ -213,9 +203,7 @@ export class Album extends Thing {
     ],
 
     bannerArtistContribs: [
-      withCoverArtDate({
-        fallback: input.value(true),
-      }),
+      withCoverArtDate(),
 
       contributionList({
         date: '#coverArtDate',
diff --git a/src/data/things/art-tag.js b/src/data/things/art-tag.js
index c88fcdc2..886a256c 100644
--- a/src/data/things/art-tag.js
+++ b/src/data/things/art-tag.js
@@ -105,7 +105,7 @@ export class ArtTag extends Thing {
               ...reverse.albumsWhoseArtworksFeature(artTag),
               ...reverse.tracksWhoseArtworksFeature(artTag),
             ],
-            {getDate: thing => thing.coverArtDate ?? thing.date}),
+            {getDate: thing => thing.coverArtDate}),
       },
     },
 
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 69953d33..afb2197d 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -283,9 +283,7 @@ export class Track extends Thing {
         value: input.value([]),
       }),
 
-      withTrackArtDate({
-        fallback: input.value(true),
-      }),
+      withTrackArtDate(),
 
       withResolvedContribs({
         from: input.updateValue({validate: isContributionList}),
@@ -340,6 +338,13 @@ export class Track extends Thing {
       }),
     ],
 
+    trackArtwork: [
+      constitutibleArtwork({
+        contribs: 'coverArtistContribs',
+        date: 'coverArtDate',
+      }),
+    ],
+
     artTags: [
       exitWithoutUniqueCoverArt({
         value: input.value([]),
@@ -356,9 +361,7 @@ export class Track extends Thing {
         value: input.value([]),
       }),
 
-      withTrackArtDate({
-        fallback: input.value(true),
-      }),
+      withTrackArtDate(),
 
       referencedArtworkList({
         date: '#trackArtDate',