From cfb814470864785565f33e4bebd2aca7e67c16ae Mon Sep 17 00:00:00 2001 From: Ken D'Ambrosio Date: Fri, 12 Jun 2026 14:01:48 +0000 Subject: Move bulk selection to admin cluster detail page (correct page) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bulk selection panel now lives on /admin/people/:uuid — the face crop grid page — which is what was actually requested. A sticky left panel shows the cluster name, the name form, a selection counter, and bulk action controls. Clicking a face crop toggles selection; clicking the photo link still opens the album. Bulk actions: move selected faces to a named person, move to pool, or blacklist. The per-face individual dropdowns are replaced by the panel. Merge-entire-cluster and Blacklist-cluster moved to collapsible/button in the panel too. Co-Authored-By: Claude Sonnet 4.6 --- views/admin/person_detail.erb | 327 +++++++++++++++++++++++------------------- 1 file changed, 183 insertions(+), 144 deletions(-) (limited to 'views') diff --git a/views/admin/person_detail.erb b/views/admin/person_detail.erb index 7a1ea0a..fbce8af 100644 --- a/views/admin/person_detail.erb +++ b/views/admin/person_detail.erb @@ -1,158 +1,208 @@ -
-
- ← All Clusters - <% if @name && !@is_pool %> - Public Page ↗ - <% end %> -
+
-

<%= ERB::Util.html_escape(@title) %>

-

<%= @count %> photo<%= @count == 1 ? '' : 's' %> in this cluster

+ <%# ── Left action panel ──────────────────────────────────────────────────── %> + + + <%# ── Face grid ──────────────────────────────────────────────────────────── %> +
+
+ <% @members.each do |m| %> + <% rel = m['rel']; box = m['box'] %> + <% parts = rel.split('/'); fname = parts.last; dir_rel = parts[0..-2].join('/') %> + <% album_url = dir_rel.empty? ? '/browse/' : "/browse/#{ERB::Util.html_escape(dir_rel)}" %> + <% entry_json = ERB::Util.html_escape({rel: rel, box: box}.to_json) %> +
+
+ + + + +
- <% if @is_pool || !@named_others.empty? %> -
- - - -
- <% end %> -
- <% end %> + <% end %> +
-
+ +<%# .person-detail-wrap %>
-- cgit v1.2.3