82 lines
3.2 KiB
Plaintext
82 lines
3.2 KiB
Plaintext
<%
|
|
# TODO remove when https://github.com/hotwired/turbo/issues/203 is fixed
|
|
enable_turbo = session[:user_return_to].blank? ||
|
|
['/discourse/connect', '/rs/oauth'].none? { |s| session[:user_return_to].match(s) }
|
|
%>
|
|
|
|
<%= render HeaderCompactComponent.new(title: "Log in") %>
|
|
|
|
<%= render MainCompactComponent.new do %>
|
|
<%= form_for(resource, as: resource_name, url: session_path(resource_name),
|
|
data: { turbo: enable_turbo.to_s }) do |f| %>
|
|
<%= render "devise/shared/error_messages", resource: resource %>
|
|
<div class="mb-6">
|
|
<%= f.label :cn, 'User', class: 'block mb-2 font-bold' %>
|
|
<p class="flex gap-2 items-center">
|
|
<%= f.text_field :cn, value: h(params[:cn]),
|
|
autofocus: params[:cn].blank?, autocomplete: "username",
|
|
required: true, class: "relative grow", tabindex: "1" %>
|
|
<span class="relative shrink-0 text-gray-500">@ <%= Setting.primary_domain %></span>
|
|
</p>
|
|
</div>
|
|
<p class="mb-8">
|
|
<%= f.label :password, class: 'block mb-2 font-bold' %>
|
|
<%= f.password_field :password, autocomplete: "current-password",
|
|
autofocus: params[:cn].present?, required: true,
|
|
class: "w-full", tabindex: "2" %>
|
|
</p>
|
|
|
|
<%= tag.div class: "flex items-center mb-8 gap-x-3", data: {
|
|
controller: "settings--toggle",
|
|
:'settings--toggle-switch-enabled-value' => "false"
|
|
} do %>
|
|
<div class="relative inline-flex flex-shrink-0">
|
|
<%= render FormElements::ToggleComponent.new(
|
|
enabled: false, input_enabled: true, class_names: "hidden",
|
|
tabindex: "3", data: {
|
|
:'settings--toggle-target' => "button",
|
|
action: "settings--toggle#toggleSwitch"
|
|
}) %>
|
|
<%= f.check_box :remember_me, {
|
|
checked: false,
|
|
data: { :'settings--toggle-target' => "checkbox" }
|
|
}, "true", "false" %>
|
|
</div>
|
|
<%= f.label :remember_me,
|
|
class: "text-gray-500 flex flex-col",
|
|
data: { action: "click->settings--toggle#toggleSwitch" } %>
|
|
<p class="grow text-sm text-right">
|
|
<%= link_to "Forgot your password?", new_password_path(resource_name),
|
|
class: "text-gray-500 visited:text-gray-500 underline" %><br />
|
|
</p>
|
|
<% end %>
|
|
|
|
<p>
|
|
<%= f.submit "Log in", class: 'btn-md btn-blue w-full', tabindex: "4" %>
|
|
</p>
|
|
<% end %>
|
|
|
|
<div data-controller="nostr-login"
|
|
data-nostr-login-target="loginForm"
|
|
data-nostr-login-site-value="<%= Setting.accounts_domain %>"
|
|
data-nostr-login-shared-secret-value="<%= session[:shared_secret] %>"
|
|
class="hidden">
|
|
<div class="relative my-6">
|
|
<div class="absolute inset-0 flex items-center" aria-hidden="true">
|
|
<div class="w-full border-t border-gray-200"></div>
|
|
</div>
|
|
<div class="relative flex justify-center">
|
|
<span class="bg-white px-2 text-sm text-gray-500 italic">or</span>
|
|
</div>
|
|
</div>
|
|
<p>
|
|
<button disabled tabindex="5"
|
|
class="w-full btn-md btn-gray text-purple-600"
|
|
data-nostr-login-target="loginButton"
|
|
data-action="nostr-login#login">
|
|
Log in with Nostr
|
|
</button>
|
|
</p>
|
|
</div>
|
|
<% end %>
|