« get me outta code hell

data, content, css: Aside Traack Section, Close Aside Track Section - 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:
author(quasar) nebula <qznebula@protonmail.com>2026-07-07 21:18:03 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-07-07 21:18:03 -0300
commit2ccb0588a304b3ce8855651e8a30f895a57880c0 (patch)
treef878792b2c8dbb632f9acbd7ac1ed85aed25923d /src/data/things
parentb15da97e76176344d8b977558940a7f4324c0876 (diff)
data, content, css: Aside Traack Section, Close Aside Track Section preview
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/album/TrackSection.js14
-rw-r--r--src/data/things/album/index.js3
2 files changed, 17 insertions, 0 deletions
diff --git a/src/data/things/album/TrackSection.js b/src/data/things/album/TrackSection.js
index e579a0f6..86c754ac 100644
--- a/src/data/things/album/TrackSection.js
+++ b/src/data/things/album/TrackSection.js
@@ -50,6 +50,12 @@ export class TrackSection extends Thing {
 
     name: name(V('Unnamed Track Section')),
 
+    style: {
+      flags: {update: true, expose: true},
+      update: {validate: is('section', 'aside')},
+      expose: {transform: value => value ?? 'section'},
+    },
+
     // Track sections don't have a Name Detail themselves, but they do provide
     // a value which tracks can reference via 'Name Detail: section'.
     nameDetailForTracks: {
@@ -147,6 +153,14 @@ export class TrackSection extends Thing {
         validate: input.value(isBoolean),
       }),
 
+      {
+        dependencies: ['style'],
+        compute: (continuation, {style}) =>
+          (style === 'aside'
+            ? true
+            : continuation()),
+      },
+
       withPropertyFromObject('album', V('hideTrackSectionDurations')),
       exposeDependency('#album.hideTrackSectionDurations'),
     ],
diff --git a/src/data/things/album/index.js b/src/data/things/album/index.js
index 67bf47ab..a19144d9 100644
--- a/src/data/things/album/index.js
+++ b/src/data/things/album/index.js
@@ -1,2 +1,5 @@
 export * from './Album.js';
 export * from './TrackSection.js';
+
+export * from './AsideTrackSection.js';
+export * from './CloseAsideTrackSection.js';