« get me outta code hell

hide CW'd art from sticky heading til main cover revealed - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/misc-templates.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-03-02 19:16:57 -0400
committer(quasar) nebula <qznebula@protonmail.com>2023-03-02 19:17:41 -0400
commit3ff4dbee48dbbf323666ec86e3ad9363a83f910e (patch)
treecf5696625507db7ed7aa2535248f74a0938e8413 /src/misc-templates.js
parent7492f62461a79e9d45df5086de0f306f8e340adc (diff)
hide CW'd art from sticky heading til main cover revealed
Diffstat (limited to 'src/misc-templates.js')
-rw-r--r--src/misc-templates.js19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/misc-templates.js b/src/misc-templates.js
index aa21a39..47324ac 100644
--- a/src/misc-templates.js
+++ b/src/misc-templates.js
@@ -727,7 +727,8 @@ function unbound_img({
     if (reveal) {
       wrapped = html.tag('div', {class: 'reveal'}, [
         wrapped,
-        html.tag('span', {class: 'reveal-text'}, reveal),
+        html.tag('span', {class: 'reveal-text-container'},
+          html.tag('span', {class: 'reveal-text'}, reveal)),
       ]);
     }
 
@@ -952,7 +953,6 @@ function unbound_generateContentHeading({
 }
 
 function unbound_generateStickyHeadingContainer({
-  getRevealStringFromArtTags,
   html,
   img,
 
@@ -971,16 +971,27 @@ function unbound_generateStickyHeadingContainer({
       html.tag('div', {class: 'content-sticky-heading-row'}, [
         html.tag('h1', title),
 
+        // Cover art in the sticky heading never uses the 'reveal' setting
+        // because it's too small to effectively display content warnings.
+        // Instead, if art has content warnings, it's hidden from the sticky
+        // heading by default, and will be enabled once the main cover art
+        // is revealed.
         coverSrc &&
           html.tag('div', {class: 'content-sticky-heading-cover-container'},
-            html.tag('div', {class: 'content-sticky-heading-cover'},
+            html.tag('div',
+              {
+                class: [
+                  'content-sticky-heading-cover',
+                  coverArtTags .some(tag => !tag.isContentWarning) &&
+                    'content-sticky-heading-cover-needs-reveal',
+                ],
+              },
               img({
                 src: coverSrc,
                 alt: coverAlt,
                 thumb: 'small',
                 link: false,
                 square: true,
-                reveal: getRevealStringFromArtTags(coverArtTags),
               }))),
       ]),