UX: Hide login/signup header buttons during authentication flows

UX: Hide login/signup header buttons during authentication flows

diff --git a/app/controllers/session_controller.rb b/app/controllers/session_controller.rb
index 4acc0b2..08a3d9f 100644
--- a/app/controllers/session_controller.rb
+++ b/app/controllers/session_controller.rb
@@ -387,7 +387,7 @@ class SessionController < ApplicationController
       @error = I18n.t('user_api_key.invalid_token')
     end
 
-    render layout: 'no_ember'
+    render layout: 'no_ember', locals: { hide_auth_buttons: true }
   end
 
   def forgot_password
diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb
index c35ae5a..82393bf 100644
--- a/app/controllers/users/omniauth_callbacks_controller.rb
+++ b/app/controllers/users/omniauth_callbacks_controller.rb
@@ -20,6 +20,7 @@ class Users::OmniauthCallbacksController < ApplicationController
 
   def confirm_request
     self.class.find_authenticator(params[:provider])
+    render locals: { hide_auth_buttons: true }
   end
 
   def complete
diff --git a/app/views/application/_header.html.erb b/app/views/application/_header.html.erb
index b2d328e..7287acf 100644
--- a/app/views/application/_header.html.erb
+++ b/app/views/application/_header.html.erb
@@ -12,7 +12,7 @@
               <%- end %>
             </a>
           </div>
-          <%- unless current_user %>
+          <%- unless current_user || local_assigns[:hide_auth_buttons] %>
             <div class='auth-buttons'>
               <%- if can_sign_up? %>
                 <a href="<%= path "/signup"%>" class='btn btn-primary btn-small signup-button'><%= I18n.t('sign_up') %></a>
diff --git a/app/views/layouts/no_ember.html.erb b/app/views/layouts/no_ember.html.erb
index 4a0264b..196d658 100644
--- a/app/views/layouts/no_ember.html.erb
+++ b/app/views/layouts/no_ember.html.erb
@@ -16,7 +16,7 @@
   <%= theme_lookup("header") %>
   <%= build_plugin_html 'server:header' %>
   <section id='main'>
-    <%= render partial: 'header' %>
+    <%= render partial: 'header', locals: { hide_auth_buttons: local_assigns[:hide_auth_buttons] } %>
     <div id="main-outlet" class="<%= @container_class ? @container_class : 'wrap' %>">
       <%= yield %>
     </div>

GitHub sha: 6d3d08da

1 Like