summaryrefslogtreecommitdiffstats
path: root/views/admin
diff options
context:
space:
mode:
Diffstat (limited to 'views/admin')
-rw-r--r--views/admin/album.erb29
1 files changed, 19 insertions, 10 deletions
diff --git a/views/admin/album.erb b/views/admin/album.erb
index b25dea9..9d98c5e 100644
--- a/views/admin/album.erb
+++ b/views/admin/album.erb
@@ -25,14 +25,9 @@
</label>
</div>
<div class="form-row form-row-inline">
- <label>Cover image
- <select name="album_cover">
- <option value="">— auto (first image) —</option>
- <option value="__random__"<%= ' selected' if @data['cover'] == '__random__' %>>— random image —</option>
- <% @files.each do |name| %>
- <option value="<%= name %>"<%= ' selected' if @data['cover'] == name %>><%= name %></option>
- <% end %>
- </select>
+ <label class="checkbox-label">
+ <input type="checkbox" name="album_cover_random" value="1" id="cover-random"<%= ' checked' if @data['cover'] == '__random__' %>>
+ Random cover
</label>
<label class="checkbox-label">
<input type="checkbox" name="album_sort_reverse" value="1"<%= ' checked' if @data['sort_reverse'] %>>
@@ -58,9 +53,9 @@
<tr>
<th>Thumb</th>
<th>Filename</th>
- <th>Title</th>
<th>Caption</th>
<th>Visible</th>
+ <th>Cover</th>
</tr>
</thead>
<tbody>
@@ -70,12 +65,14 @@
<tr>
<td><img src="/thumb/<%= file_rel %>" width="60" height="60" loading="lazy" style="object-fit:cover"></td>
<td class="filename"><code><%= name %></code></td>
- <td><input type="text" name="file_title[<%= name %>]" value="<%= ERB::Util.html_escape(meta['title'].to_s) %>" placeholder="<%= ERB::Util.html_escape(name) %>"></td>
<td><input type="text" name="file_caption[<%= name %>]" value="<%= ERB::Util.html_escape(meta['caption'].to_s) %>" placeholder="caption…"></td>
<td class="visible-cell">
<input type="hidden" name="file_visible[<%= name %>]" value="0">
<input type="checkbox" name="file_visible[<%= name %>]" value="1"<%= ' checked' if meta['visible'] != false %>>
</td>
+ <td class="cover-cell">
+ <input type="radio" name="album_cover_file" value="<%= name %>" class="cover-radio"<%= ' checked' if @data['cover'] == name %>>
+ </td>
</tr>
<% end %>
</tbody>
@@ -88,6 +85,18 @@
</div>
</form>
+ <script>
+ (function () {
+ const randomCb = document.getElementById('cover-random');
+ const radios = () => document.querySelectorAll('.cover-radio');
+ if (!randomCb) return;
+ radios().forEach(r => r.addEventListener('change', () => { randomCb.checked = false; }));
+ randomCb.addEventListener('change', function () {
+ if (this.checked) radios().forEach(r => { r.checked = false; });
+ });
+ })();
+ </script>
+
<% unless @sub_dirs.empty? %>
<section class="sub-albums-section">
<h2>Sub-albums</h2>