From 39f5fae5d79b6edda5544bce812d51b13553fefa Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Tue, 26 Aug 2025 06:54:08 +0300 Subject: [PATCH] Replace auth_button helper with template --- app/helpers/user_helper.rb | 18 ------------------ app/views/application/_auth_button.html.erb | 12 ++++++++++++ app/views/application/_auth_providers.html.erb | 4 ++-- test/helpers/user_helper_test.rb | 5 ----- 4 files changed, 14 insertions(+), 25 deletions(-) create mode 100644 app/views/application/_auth_button.html.erb diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index 8693970ce..24626238c 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -1,6 +1,4 @@ module UserHelper - include InlineSvg::ActionView::Helpers - # User images def user_image(user, options = {}) @@ -52,22 +50,6 @@ module UserHelper end end - # External authentication support - - def auth_button(provider, preferred: false) - body = inline_svg_tag("auth_providers/#{provider}.svg", - :class => "rounded-1 text-body-emphasis", - :size => "36") - body += t("application.auth_providers.#{provider}.title") if preferred - link_to( - body, - auth_path(:provider => provider), - :method => :post, - :class => ["auth_button btn btn-outline-secondary border p-2", { "px-4 d-flex gap-3 justify-content-center align-items-center" => preferred }], - :title => t("application.auth_providers.#{provider}.title") - ) - end - private # Local avatar support diff --git a/app/views/application/_auth_button.html.erb b/app/views/application/_auth_button.html.erb new file mode 100644 index 000000000..edbc28eda --- /dev/null +++ b/app/views/application/_auth_button.html.erb @@ -0,0 +1,12 @@ +<%# locals: (provider:, preferred: false) %> +<%= link_to auth_path(:provider => provider), + :method => :post, + :class => ["auth_button btn btn-outline-secondary border p-2", { "px-4 d-flex gap-3 justify-content-center align-items-center" => preferred }], + :title => t("application.auth_providers.#{provider}.title") do %> + <%= inline_svg_tag "auth_providers/#{provider}.svg", + :class => "rounded-1 text-body-emphasis", + :size => "36" %> + <% if preferred %> + <%= t "application.auth_providers.#{provider}.title" %> + <% end %> +<% end %> diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb index 4e04107fb..7a8f5835c 100644 --- a/app/views/application/_auth_providers.html.erb +++ b/app/views/application/_auth_providers.html.erb @@ -6,14 +6,14 @@ <% if prefered_auth_button_available %>
- <%= auth_button @preferred_auth_provider, :preferred => true %> + <%= render "auth_button", :provider => @preferred_auth_provider, :preferred => true %>
<% end %>
<% Auth.providers.each do |provider| %> <% if provider != @preferred_auth_provider %> - <%= auth_button provider %> + <%= render "auth_button", :provider => provider %> <% end %> <% end -%>
diff --git a/test/helpers/user_helper_test.rb b/test/helpers/user_helper_test.rb index 30f2d0868..24372e7de 100644 --- a/test/helpers/user_helper_test.rb +++ b/test/helpers/user_helper_test.rb @@ -109,11 +109,6 @@ class UserHelperTest < ActionView::TestCase assert_match %r{^$}, thumbnail end - def test_auth_button - button = auth_button("google") - assert_match %r{^.*$}, button - end - private def request -- 2.39.5