]> git.openstreetmap.org Git - rails.git/blobdiff - app/helpers/browse_helper.rb
Merge remote-tracking branch 'upstream/pull/5408'
[rails.git] / app / helpers / browse_helper.rb
index 5cc12bb007d6dd2c5a7ceace2b9b04490c1392b6..482503e8ae66b3c48e5be261e5974c5d66aba821 100644 (file)
@@ -1,6 +1,6 @@
 module BrowseHelper
   def element_icon(type, object)
-    selected_icon_data = { :filename => "#{type}.svg" }
+    selected_icon_data = { :filename => "#{type}.svg", :priority => 1 }
 
     unless object.redacted?
       target_tags = object.tags.find_all { |k, _v| BROWSE_ICONS.key? k }.sort
@@ -8,13 +8,13 @@ module BrowseHelper
 
       target_tags.each do |k, v|
         icon_data = BROWSE_ICONS[k][v] || BROWSE_ICONS[k][:*]
-        selected_icon_data = icon_data if icon_data
+        selected_icon_data = icon_data if icon_data && icon_data[:priority] > selected_icon_data[:priority]
       end
     end
 
     image_tag "browse/#{selected_icon_data[:filename]}",
               :size => 20,
-              :class => ["align-bottom object-fit-none", { "browse-icon-invertible" => selected_icon_data[:invert] }],
+              :class => ["align-bottom object-fit-none browse-icon", { "browse-icon-invertible" => selected_icon_data[:invert] }],
               :title => title
   end
 
@@ -27,7 +27,7 @@ module BrowseHelper
   end
 
   def element_list_item(type, object, &)
-    tag.li(tag.div(element_icon(type, object) + tag.div(&), :class => "d-flex gap-1"))
+    tag.li(tag.div(element_icon(type, object) + tag.div(:class => "align-self-center", &), :class => "d-flex gap-1"))
   end
 
   def element_list_item_with_strikethrough(type, object, &)