summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-21 14:24:59 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-21 14:24:59 +0200
commitc14683fe37fabe06082f43e8bf67debc4cca7297 (patch)
tree10054588f053cf071a55df067180091d3388e05a /app/models
parent1912b8fbf0e1e1ea84a89c033e20e34235d19cce (diff)
Render asset credit inside the gallery lightbox correctly
GLightbox's own selector-based description feature never actually resolved a selector in three different attempts -- literal text, then a resolved-but-empty div, then apparently not firing at all against the installed (unversioned) build. Replaced with a small afterSlideLoad handler that reads a plain data-credit-selector attribute and copies the real element's HTML into the slide's description area directly, depending only on GLightbox handing back a real DOM node per slide -- a much smaller contract than trusting its own caption-resolution feature. Renamed the credit div's class from glightbox-desc, since that name is reserved by the library's own bundled CSS (display: none !important) and can't be reliably overridden from here. Also: distinguishes the credit line and the "N Bilder" caption from ordinary body text (italic, muted, matching .author_and_date's existing convention), and makes the lightbox's caption card follow the site's light/dark toggle via Canvas/CanvasText, since the library's bundled theme never adapts to it on its own.
Diffstat (limited to 'app/models')
-rw-r--r--app/models/asset.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/app/models/asset.rb b/app/models/asset.rb
index 8bea1b3..4a295d8 100644
--- a/app/models/asset.rb
+++ b/app/models/asset.rb
@@ -15,4 +15,8 @@ class Asset < ApplicationRecord
15 def image? 15 def image?
16 IMAGE_CONTENT_TYPES.include?(upload_content_type) 16 IMAGE_CONTENT_TYPES.include?(upload_content_type)
17 end 17 end
18
19 def has_credit?
20 creator.present? || source_url.present? || license_key.present?
21 end
18end 22end