« get me outta code hell

data: import Thing.common utilities directly - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/homepage-layout.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-09-07 12:38:34 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-09-07 12:38:34 -0300
commiteb00f2993a1aaaba171ad6c918656552f80bb748 (patch)
tree5e61200ed707e02b76c337cb9107aa5f1eaa8898 /src/data/things/homepage-layout.js
parent6889c764caef5542ba9ad8362acf6e8b7b879ea9 (diff)
data: import Thing.common utilities directly
Also rename 'color' (from #cli) to 'colors'.
Diffstat (limited to 'src/data/things/homepage-layout.js')
-rw-r--r--src/data/things/homepage-layout.js29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/data/things/homepage-layout.js b/src/data/things/homepage-layout.js
index 59656b41..ab6f4cff 100644
--- a/src/data/things/homepage-layout.js
+++ b/src/data/things/homepage-layout.js
@@ -9,13 +9,22 @@ import {
   validateInstanceOf,
 } from '#validators';
 
-import Thing from './thing.js';
+import Thing, {
+  color,
+  name,
+  referenceList,
+  resolvedReference,
+  resolvedReferenceList,
+  simpleString,
+  singleReference,
+  wikiData,
+} from './thing.js';
 
 export class HomepageLayout extends Thing {
   static [Thing.getPropertyDescriptors] = ({HomepageLayoutRow}) => ({
     // Update & expose
 
-    sidebarContent: Thing.common.simpleString(),
+    sidebarContent: simpleString(),
 
     navbarLinks: {
       flags: {update: true, expose: true},
@@ -36,7 +45,7 @@ export class HomepageLayoutRow extends Thing {
   static [Thing.getPropertyDescriptors] = ({Album, Group}) => ({
     // Update & expose
 
-    name: Thing.common.name('Unnamed Homepage Row'),
+    name: name('Unnamed Homepage Row'),
 
     type: {
       flags: {update: true, expose: true},
@@ -48,15 +57,15 @@ export class HomepageLayoutRow extends Thing {
       },
     },
 
-    color: Thing.common.color(),
+    color: color(),
 
     // Update only
 
     // These aren't necessarily used by every HomepageLayoutRow subclass, but
     // for convenience of providing this data, every row accepts all wiki data
     // arrays depended upon by any subclass's behavior.
-    albumData: Thing.common.wikiData(Album),
-    groupData: Thing.common.wikiData(Group),
+    albumData: wikiData(Album),
+    groupData: wikiData(Group),
   });
 }
 
@@ -92,8 +101,8 @@ export class HomepageLayoutAlbumsRow extends HomepageLayoutRow {
       },
     },
 
-    sourceGroupByRef: Thing.common.singleReference(Group),
-    sourceAlbumsByRef: Thing.common.referenceList(Album),
+    sourceGroupByRef: singleReference(Group),
+    sourceAlbumsByRef: referenceList(Album),
 
     countAlbumsFromGroup: {
       flags: {update: true, expose: true},
@@ -107,13 +116,13 @@ export class HomepageLayoutAlbumsRow extends HomepageLayoutRow {
 
     // Expose only
 
-    sourceGroup: Thing.common.resolvedReference({
+    sourceGroup: resolvedReference({
       ref: 'sourceGroupByRef',
       data: 'groupData',
       find: find.group,
     }),
 
-    sourceAlbums: Thing.common.resolvedReferenceList({
+    sourceAlbums: resolvedReferenceList({
       list: 'sourceAlbumsByRef',
       data: 'albumData',
       find: find.album,