« get me outta code hell

content, data: Album.style "in-game vgm" - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-05-25 07:10:06 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-05-25 07:10:06 -0300
commitdf897e96614f2b2e0106d189d9cb9a2cb9a7a2c1 (patch)
tree41c0d3ce8de4297af6668cf34fcf756f90e1ceba
parentd783d3bf1eb1cd501d28dff58b258708a70d7e3c (diff)
content, data: Album.style "in-game vgm" preview
-rw-r--r--src/content/dependencies/generateAlbumInfoPage.js5
-rw-r--r--src/data/things/album/Album.js17
2 files changed, 21 insertions, 1 deletions
diff --git a/src/content/dependencies/generateAlbumInfoPage.js b/src/content/dependencies/generateAlbumInfoPage.js
index 4d68fbd5..a9ded1f0 100644
--- a/src/content/dependencies/generateAlbumInfoPage.js
+++ b/src/content/dependencies/generateAlbumInfoPage.js
@@ -73,6 +73,9 @@ export default {
     name:
       album.name,
 
+    style:
+      album.style,
+
     color:
       album.color,
 
@@ -166,6 +169,8 @@ export default {
               date: language.formatDate(data.dateAddedToWiki),
             })),
 
+          data.style !== 'in-game vgm' &&
+          data.style !== 'meta' &&
           !html.isBlank(relations.artistCommentaryEntries) &&
             html.tag('hr', {class: 'main-separator'}),
 
diff --git a/src/data/things/album/Album.js b/src/data/things/album/Album.js
index 7cddbcee..372cddb1 100644
--- a/src/data/things/album/Album.js
+++ b/src/data/things/album/Album.js
@@ -4,6 +4,7 @@ import Thing from '#thing';
 
 import {
   is,
+  isBoolean,
   isContributionList,
   isDate,
   isExcludingURLsReason,
@@ -133,6 +134,7 @@ export class Album extends Thing {
           'album',
           'single',
           'meta',
+          'in-game vgm',
         ])),
       }),
 
@@ -188,7 +190,20 @@ export class Album extends Thing {
     isListedOnHomepage: flag(V(true)),
     isListedInGalleries: flag(V(true)),
 
-    hasTrackNumbers: flag(V(true)),
+    hasTrackNumbers: [
+      exposeUpdateValueOrContinue({
+        validate: input.value(isBoolean),
+      }),
+
+      {
+        dependencies: ['style'],
+        compute: ({style}) =>
+          (style === 'in-game vgm'
+            ? false
+            : true),
+      },
+    ],
+
     showAlbumInTracksWithoutArtists: flag(V(false)),
     showTrackSectionInNavBar: flag(V(false)),
     showArtistsInTrackList: flag(V(true)),