diff options
Diffstat (limited to 'views/admin')
| -rw-r--r-- | views/admin/album.erb | 29 |
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> |
