summaryrefslogtreecommitdiff
path: root/app/views/nodes/edit.html.erb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-20 19:45:43 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-20 19:45:43 +0200
commit836308471f8d31ccdcdd3a5bd88bc76cc1c0831b (patch)
tree821a526d4d10870654a38d07a4eb53a2180ba313 /app/views/nodes/edit.html.erb
parentd89e2de48a5e16ff01ec627e79c76b833e4618cf (diff)
Make headline images explicit, add asset credits
- related_assets gains a `headline` boolean (DB-enforced: at most one per page), replacing "first image by position" as the headline rule. A rake task backfills the current first image on every live head/draft, so nothing changes visually until an editor changes it. - The image picker sidebar gets a star toggle reflecting the flag; the TinyMCE inline-image picker's badge now reads it too, instead of assuming position 0. - No headline chosen (or none attached) now falls back to the gallery-count caption itself becoming the lightbox trigger, instead of the gallery being unreachable. - Assets gain creator, source_url, and license_key (against a new config/asset_licenses.yml dictionary). asset_credit renders a degrading attribution line, reused as a hidden per-image glightbox caption so credit is one click away for every image, not only the headline's always-visible one. - Fixed: asset thumbnails rendered unconditionally regardless of whether a real variant exists on disk. Asset#has_variant? checks file existence, not content type -- some legacy PDFs have real pre-rewrite thumbnails a content-type check would have hidden. - assets#new/edit rebuilt onto the same node_description/node_content layout as assets#show, picking up the three new fields in the process.
Diffstat (limited to 'app/views/nodes/edit.html.erb')
-rw-r--r--app/views/nodes/edit.html.erb12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/views/nodes/edit.html.erb b/app/views/nodes/edit.html.erb
index 25f15c24..2c1e9755 100644
--- a/app/views/nodes/edit.html.erb
+++ b/app/views/nodes/edit.html.erb
@@ -82,11 +82,18 @@
82 <ul id="related_asset_list" class="thumbnail_list"> 82 <ul id="related_asset_list" class="thumbnail_list">
83 <% @page.related_assets.includes(:asset).each do |related| %> 83 <% @page.related_assets.includes(:asset).each do |related| %>
84 <li data-url="<%= node_related_asset_path(@node, related) %>" 84 <li data-url="<%= node_related_asset_path(@node, related) %>"
85 data-asset-id="<%= related.asset.id %>"
85 data-large-url="<%= related.asset.upload.url(:large) %>" 86 data-large-url="<%= related.asset.upload.url(:large) %>"
86 data-original-url="<%= related.asset.upload.url %>" 87 data-original-url="<%= related.asset.upload.url %>"
87 data-name="<%= related.asset.name %>"> 88 data-name="<%= related.asset.name %>"
89 data-headline="<%= related.headline? %>"
90 class="<%= "is_headline" if related.headline? %>">
88 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span> 91 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span>
89 <%= image_tag related.asset.upload.url(:thumb) %> 92 <%= image_tag related.asset.upload.url(:thumb) %>
93 <button type="button" class="related_asset_set_headline"
94 aria-pressed="<%= related.headline? %>" aria-label="Set as headline image">
95 <%= icon("star", library: "tabler", "aria-hidden": true) %>
96 </button>
90 <button type="button" class="related_asset_remove" aria-label="Remove image"> 97 <button type="button" class="related_asset_remove" aria-label="Remove image">
91 <%= icon("x", library: "tabler", "aria-hidden": true) %> 98 <%= icon("x", library: "tabler", "aria-hidden": true) %>
92 </button> 99 </button>
@@ -102,6 +109,9 @@
102 <li> 109 <li>
103 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span> 110 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span>
104 <img src=""> 111 <img src="">
112 <button type="button" class="related_asset_set_headline" aria-pressed="false" aria-label="Set as headline image">
113 <%= icon("star", library: "tabler", "aria-hidden": true) %>
114 </button>
105 <button type="button" class="related_asset_remove" aria-label="Remove image"> 115 <button type="button" class="related_asset_remove" aria-label="Remove image">
106 <%= icon("x", library: "tabler", "aria-hidden": true) %> 116 <%= icon("x", library: "tabler", "aria-hidden": true) %>
107 </button> 117 </button>