From 85170cc353765b4cbdc579c64c7dd14218f0032e Mon Sep 17 00:00:00 2001
From: Teal Bauer <teal@starsong.eu>
Date: Sun, 9 Mar 2025 23:49:53 +0100
Subject: [PATCH 1/2] Fix admin dashboard user list display

---
 app/views/admin/dashboard/index.html.erb | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/app/views/admin/dashboard/index.html.erb b/app/views/admin/dashboard/index.html.erb
index c888a5e..7027d9e 100644
--- a/app/views/admin/dashboard/index.html.erb
+++ b/app/views/admin/dashboard/index.html.erb
@@ -109,9 +109,8 @@
               <% if @admin_users.any? %>
                 <div class="flex flex-wrap gap-2">
                   <% @admin_users.each do |user| %>
-                    <%= link_to admin_user_path(user), class: "inline-flex items-center px-3 py-1 rounded-full text-sm bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200" do %>
-                      <div class="w-5 h-5 rounded-full mr-2" style="background-color: <%= user.avatar_color %>"></div>
-                      <%= user.name %>
+                    <%= link_to admin_user_path(user) do %>
+                      <%= render "application/user_avatar", user: user %>
                     <% end %>
                   <% end %>
                 </div>
@@ -127,9 +126,8 @@
               <% if @events_admins.any? %>
                 <div class="flex flex-wrap gap-2">
                   <% @events_admins.each do |user| %>
-                    <%= link_to admin_user_path(user), class: "inline-flex items-center px-3 py-1 rounded-full text-sm bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200" do %>
-                      <div class="w-5 h-5 rounded-full mr-2" style="background-color: <%= user.avatar_color %>"></div>
-                      <%= user.name %>
+                    <%= link_to admin_user_path(user) do %>
+                      <%= render "application/user_avatar", user: user %>
                     <% end %>
                   <% end %>
                 </div>
@@ -145,9 +143,8 @@
               <% if @shift_coordinators.any? %>
                 <div class="flex flex-wrap gap-2">
                   <% @shift_coordinators.each do |user| %>
-                    <%= link_to admin_user_path(user), class: "inline-flex items-center px-3 py-1 rounded-full text-sm bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200" do %>
-                      <div class="w-5 h-5 rounded-full mr-2" style="background-color: <%= user.avatar_color %>"></div>
-                      <%= user.name %>
+                    <%= link_to admin_user_path(user) do %>
+                      <%= render "application/user_avatar", user: user %>
                     <% end %>
                   <% end %>
                 </div>
-- 
GitLab


From 3a06a54ecc3b8ee2ea6d6e5c4217ddbbfee132ee Mon Sep 17 00:00:00 2001
From: Teal Bauer <teal@starsong.eu>
Date: Sun, 9 Mar 2025 23:54:34 +0100
Subject: [PATCH 2/2] Sort stages alphabetically in manage, highlight blank
 stage names

- Sort stages alphabetically in conference stage selection view
- Add visual indicator for stages with blank names
---
 app/controllers/admin/conferences_controller.rb             | 4 ++--
 app/views/admin/conferences/select_relevant_stages.html.erb | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/app/controllers/admin/conferences_controller.rb b/app/controllers/admin/conferences_controller.rb
index 437bcf1..0fa76a1 100644
--- a/app/controllers/admin/conferences_controller.rb
+++ b/app/controllers/admin/conferences_controller.rb
@@ -65,7 +65,7 @@ module Admin
     end
 
     def select_relevant_stages
-      @stages = @conference.stages
+      @stages = @conference.stages.order(:name)
     end
 
     def update_relevant_stages
@@ -74,7 +74,7 @@ module Admin
       if @conference.save
         redirect_to admin_conferences_path, notice: "Relevant stages updated successfully."
       else
-        @stages = @conference.stages
+        @stages = @conference.stages.order(:name)
         render :select_relevant_stages
       end
     end
diff --git a/app/views/admin/conferences/select_relevant_stages.html.erb b/app/views/admin/conferences/select_relevant_stages.html.erb
index b4bacf4..02d4343 100644
--- a/app/views/admin/conferences/select_relevant_stages.html.erb
+++ b/app/views/admin/conferences/select_relevant_stages.html.erb
@@ -77,6 +77,11 @@
                 <%= check_box_tag "conference[relevant_stage_ids][]", stage.id, @conference.relevant_stages.include?(stage), id: "stage_#{stage.id}", class: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" %>
                 <label for="stage_<%= stage.id %>" class="ml-3 block text-sm font-medium text-gray-700 dark:text-gray-300">
                   <%= stage.name %>
+                  <% if stage.name.blank? %>
+                    <span class="inline-flex items-center px-2 py-0.5 ml-2 rounded text-xs font-medium bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300">
+                      blank
+                    </span>
+                  <% end %>
                 </label>
               </div>
             </li>
-- 
GitLab