From c14683fe37fabe06082f43e8bf67debc4cca7297 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Tue, 21 Jul 2026 14:24:59 +0200 Subject: 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. --- app/views/nodes/edit.html.erb | 1 + 1 file changed, 1 insertion(+) (limited to 'app/views/nodes') diff --git a/app/views/nodes/edit.html.erb b/app/views/nodes/edit.html.erb index da682f09..07b42d48 100644 --- a/app/views/nodes/edit.html.erb +++ b/app/views/nodes/edit.html.erb @@ -86,6 +86,7 @@ data-large-url="<%= related.asset.upload.url(:large) %>" data-original-url="<%= related.asset.upload.url %>" data-name="<%= related.asset.name %>" + data-has-credit="<%= related.asset.has_credit? %>" data-headline="<%= related.headline? %>" class="<%= "is_headline" if related.headline? %>"> <%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %> -- cgit v1.3