<% content_for :heading do %>
<% if @client_app_name %>
- <p class="text-center text-muted fs-6 py-2 mb-0 bg-body"><%= t(".login_to_authorize_html", :client_app_name => @client_app_name) %></p>
+ <p class="text-center text-body-secondary fs-6 py-2 mb-0 bg-body"><%= t(".login_to_authorize_html", :client_app_name => @client_app_name) %></p>
<% end %>
<div class="header-illustration new-user-main auth-container mx-auto">
- <ul class="nav nav-tabs position-absolute bottom-0 px-3 fs-6 w-100">
+ <ul class="nav nav-tabs position-absolute bottom-0 fs-6 w-100">
<li class="nav-item">
<%= link_to t("sessions.new.tab_title"), "#", :class => "nav-link active" %>
</li>
<li class="nav-item">
- <%= link_to t("users.new.tab_title"), url_for(:action => :new, :controller => :users), :class => "nav-link" %>
+ <%= link_to t("users.new.tab_title"), url_for(:action => :new, :controller => :users, :referer => params[:referer]), :class => "nav-link" %>
</li>
</ul>
</div>
<div id="login_login" class="auth-container mx-auto my-0">
<% if @preferred_auth_provider %>
<%= render :partial => "auth_providers" %>
- <div class="d-flex justify-content-center align-items-center">
- <div class="border-bottom border-1 flex-grow-1"></div>
- <div class="text-secondary mx-3"><%= t ".or" %></div>
- <div class="border-bottom border-1 flex-grow-1"></div>
- </div>
- <% end %>
+ <%= render :partial => "shared/section_divider", :locals => { :text => t(".or") } %>
+<% end %>
<%= bootstrap_form_tag(:action => "login", :html => { :id => "login_form" }) do |f| %>
<%= hidden_field_tag("referer", h(params[:referer]), :autocomplete => "off") %>
- <%= f.text_field :username, :label => t(".email or username"), :tabindex => 1, :value => params[:username] %>
+ <%= f.text_field :username, :label => t(".email or username"), :autofocus => true, :tabindex => 1, :value => params[:username] %>
- <div class="row">
- <div class="col">
- <%= f.label :password, :class => "form-label" %>
- </div>
- <div class="col text-end">
- <small><%= link_to(t(".lost password link"), user_forgot_password_path) %></small>
- </div>
+ <div class="d-flex flex-wrap column-gap-3 justify-content-between align-items-baseline mb-2">
+ <%= f.label :password, t(".password") %>
+ <small><%= link_to(t(".lost password link"), user_forgot_password_path) %></small>
</div>
- <input class="form-control mb-3" type="password" name="password" id="password" tabindex="2" value="" autocomplete="off" />
+
+ <%= f.password_field :password, :autocomplete => "on", :tabindex => 2, :value => "", :skip_label => true %>
<%= f.form_group do %>
<%= f.check_box :remember_me, { :label => t(".remember"), :tabindex => 3, :checked => (params[:remember_me] == "yes") }, "yes" %>
<% end %>
<% unless @preferred_auth_provider %>
- <div class="d-flex justify-content-center align-items-center">
- <div class="border-bottom border-1 flex-grow-1"></div>
- <div class="text-secondary mx-3"><%= t ".with external" %></div>
- <div class="border-bottom border-1 flex-grow-1"></div>
- </div>
+ <%= render :partial => "shared/section_divider", :locals => { :text => t(".with external") } %>
<%= render :partial => "auth_providers" %>
<% end %>
</div>