docbrown/app/views/shared/authentication/_providers_registration_form.html.erb
Fernando Valverde 16ddcb74dc
Avoid showing social login options in ForemWebView (#14260)
* Minimal diff commit

* Add helper specs for display_social_login?

* Fixing some specs

* Fixing specs

* Add system specs for flow A vs flow B

* Add aria-live polite

* revert unnecessary change to spec

* Update spec/system/authentication/conditional_registration_spec.rb

Co-authored-by: rhymes <github@rhymes.dev>

* Tweaks to fix specs

* Apply review feedback

* Apply suggestions from code review

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Extract helper function + refactor Regexp from display_social_login?

* Small tweak to condition

Co-authored-by: rhymes <github@rhymes.dev>
Co-authored-by: Michael Kohl <citizen428@dev.to>
2021-07-21 09:59:12 -06:00

18 lines
1.3 KiB
Text

<div class="registration__actions-providers">
<% authentication_enabled_providers.each do |provider| %>
<% next unless display_social_login? %>
<% next if provider.provider_name == :apple && !FeatureFlag.enabled?(:apple_auth) %>
<%= form_with url: provider.sign_in_path(state: "navbar_basic"), class: "flex w-100", local: true do |f| %>
<%= f.button type: :submit, class: "crayons-btn crayons-btn--l crayons-btn--brand-#{provider.provider_name} crayons-btn--icon-left grow-1 whitespace-nowrap" do %>
<%= inline_svg_tag("#{provider.provider_name}.svg", aria_hidden: true, class: "crayons-icon", title: provider.provider_name) %>
<%= params[:state] == "new-user" ? "Sign up" : "Continue" %> with <%= provider.official_name %>
<% end %>
<% end %>
<% end %>
<% if params[:state] == "new-user" && Settings::Authentication.allow_email_password_registration && !ForemInstance.invitation_only? %>
<%= link_to "#{inline_svg_tag('email.svg', aria_hidden: true, class: 'crayons-icon', title: 'email')}Sign up with Email".html_safe,
request.params.merge(state: "email_signup").except("i"),
class: "crayons-btn crayons-btn--l crayons-btn--brand-email crayons-btn--icon-left whitespace-nowrap",
data: { no_instant: "" } %>
<% end %>
</div>