X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/4a62dac9c06bcdb7c2acac75e9168bf654c4c64d..dbc3ab53e76f74306b2fe9722e5e77b52a45cf06:/app/views/application/_auth_providers.html.erb
diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb
index 4577da668..f6665cefe 100644
--- a/app/views/application/_auth_providers.html.erb
+++ b/app/views/application/_auth_providers.html.erb
@@ -1,52 +1,38 @@
-<% prefered_auth_button_available = false %>
-<% %w[google facebook microsoft github wikipedia].each do |provider| %>
- <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
- <% if @preferred_auth_provider == provider %>
- <% prefered_auth_button_available = true %>
- <% end %>
- <% end -%>
-<% end -%>
+<% prefered_auth_button_available = @preferred_auth_provider != "openid" && Auth.providers.value?(@preferred_auth_provider) %>
<%= tag.div :id => "login_auth_buttons",
- :class => ["row row-cols-1", { "row-cols-sm-2" => prefered_auth_button_available }, "g-2 mb-3"] do %>
+ :class => ["collapse show row row-cols-1", { "row-cols-sm-2" => prefered_auth_button_available }, "g-2 mb-3"] do %>
<% if prefered_auth_button_available %>
- <% %w[google facebook microsoft github wikipedia].each do |provider| %>
- <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
- <% if @preferred_auth_provider == provider %>
- <%= auth_button_preferred provider, provider %>
- <% end %>
- <% end -%>
- <% end -%>
+ <%= auth_button_preferred @preferred_auth_provider %>
<% end %>
- <%= button_tag image_tag("openid.svg",
- :alt => t(".openid.alt"),
- :size => "36"),
- :type => "button",
- :id => "openid_open_url",
- :title => t(".openid.title"),
- :class => "btn btn-light p-2" %>
-
- <% %w[google facebook microsoft github wikipedia].each do |provider| %>
- <% unless @preferred_auth_provider == provider %>
- <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
- <%= auth_button provider, provider %>
- <% end -%>
- <% end %>
+ <% Auth.providers.each_value do |provider| %>
+ <% if provider == "openid" %>
+ <%= button_tag image_tag("auth_providers/openid.svg",
+ :alt => t(".openid.alt"),
+ :size => "36"),
+ :type => "button",
+ :data => { "bs-toggle" => "collapse",
+ "bs-target" => "#login_auth_buttons, #openid_login_form" },
+ :title => t(".openid.title"),
+ :class => "btn btn-light p-2" %>
+ <% elsif provider != @preferred_auth_provider %>
+ <%= auth_button provider %>
+ <% end -%>
<% end -%>
<% end %>
<%# :tabindex starts high to allow rendering at the bottom of the template %>
- <%= form_tag(auth_path(:provider => "openid"), :id => "openid_login_form") do %>
+ <%= form_tag auth_path(:provider => "openid"), :id => "openid_login_form", :class => "collapse" do %>
- <%= image_tag "openid.svg", :size => "36", :alt => "", :class => "align-text-bottom" %>
+ <%= image_tag "auth_providers/openid.svg", :size => "36", :alt => "", :class => "align-text-bottom" %>
<%= t ".openid_url" %>
<%= hidden_field_tag("referer", params[:referer], :autocomplete => "off") %>