« get me outta code hell

content, css: generate{Album,]SecondaryNav: alwaysVisible slot - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-12-19 12:12:59 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-12-19 13:25:16 -0400
commit27b5e9a6fd4dff1ab3a1dced2d01cc056940fc6e (patch)
tree08af4234fd0195dd357e3ecc8e3317b16a6cac3d /src/content
parentc60f682c9248d8537246e8f37a7fdced7a0bf06a (diff)
content, css: generate{Album,]SecondaryNav: alwaysVisible slot
Diffstat (limited to 'src/content')
-rw-r--r--src/content/dependencies/generateAlbumSecondaryNav.js7
-rw-r--r--src/content/dependencies/generateSecondaryNav.js9
2 files changed, 16 insertions, 0 deletions
diff --git a/src/content/dependencies/generateAlbumSecondaryNav.js b/src/content/dependencies/generateAlbumSecondaryNav.js
index 5a5ebbda..79a26b19 100644
--- a/src/content/dependencies/generateAlbumSecondaryNav.js
+++ b/src/content/dependencies/generateAlbumSecondaryNav.js
@@ -75,6 +75,11 @@ export default {
       validate: v => v.is('album', 'track'),
       default: 'album',
     },
+
+    alwaysVisible: {
+      type: 'boolean',
+      default: false,
+    },
   },
 
   generate(relations, slots, {html}) {
@@ -102,6 +107,8 @@ export default {
     ];
 
     return relations.secondaryNav.slots({
+      alwaysVisible: slots.alwaysVisible,
+
       class: [
         'album-secondary-nav',
 
diff --git a/src/content/dependencies/generateSecondaryNav.js b/src/content/dependencies/generateSecondaryNav.js
index e9aef66e..f4081e70 100644
--- a/src/content/dependencies/generateSecondaryNav.js
+++ b/src/content/dependencies/generateSecondaryNav.js
@@ -10,11 +10,20 @@ export default {
     class: {
       validate: v => v.anyOf(v.isString, v.sparseArrayOf(v.isString)),
     },
+
+    alwaysVisible: {
+      type: 'boolean',
+      default: false,
+    },
   },
 
   generate: (slots, {html}) =>
     html.tag('nav', {id: 'secondary-nav'},
       {[html.onlyIfContent]: true},
       {class: slots.class},
+
+      slots.alwaysVisible &&
+        {class: 'always-visible'},
+
       slots.content),
 };