diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-07-21 14:24:59 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-07-21 14:24:59 +0200 |
| commit | c14683fe37fabe06082f43e8bf67debc4cca7297 (patch) | |
| tree | 10054588f053cf071a55df067180091d3388e05a /app/helpers/content_helper.rb | |
| parent | 1912b8fbf0e1e1ea84a89c033e20e34235d19cce (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/helpers/content_helper.rb')
| -rw-r--r-- | app/helpers/content_helper.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/helpers/content_helper.rb b/app/helpers/content_helper.rb index 5b672598..b3c6bad1 100644 --- a/app/helpers/content_helper.rb +++ b/app/helpers/content_helper.rb | |||
| @@ -153,7 +153,7 @@ module ContentHelper | |||
| 153 | 153 | ||
| 154 | def asset_credit(asset) | 154 | def asset_credit(asset) |
| 155 | return nil unless asset | 155 | return nil unless asset |
| 156 | return nil if asset.creator.blank? && asset.source_url.blank? && asset.license_key.blank? | 156 | return nil unless asset.has_credit? |
| 157 | 157 | ||
| 158 | license = AssetLicense.find(asset.license_key) | 158 | license = AssetLicense.find(asset.license_key) |
| 159 | 159 | ||
| @@ -173,4 +173,8 @@ module ContentHelper | |||
| 173 | full = license_text ? safe_join([attribution, license_text], ", ") : attribution | 173 | full = license_text ? safe_join([attribution, license_text], ", ") : attribution |
| 174 | safe_join([full, "."]) | 174 | safe_join([full, "."]) |
| 175 | end | 175 | end |
| 176 | |||
| 177 | def glightbox_data(image, title) | ||
| 178 | "title: #{title.to_s.tr(';', ',')};" | ||
| 179 | end | ||
| 176 | end | 180 | end |
