flex around devise, also reconfirmable

This commit is contained in:
2022-12-20 21:02:36 +02:00
parent 13682fb58b
commit 0ccfab790b
15 changed files with 298 additions and 133 deletions

View File

@ -0,0 +1,55 @@
# frozen_string_literal: true
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
# devise helper
module DeviseHelper
def devise_error_messages!
return if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:p, "- #{msg}.") }
.join
sentence = I18n.t(
"errors.messages.not_saved",
count: resource.errors.count,
resource: resource.class.model_name.human.downcase
)
html = <<-HTML
<div class="bg-red-100 border-l-4 border-red-500 mb-4 p-4 text-red-700" role="alert">
<p class="font-bold">Oops!</p>
<p>#{sentence}</p>#{messages}
</div>
HTML
html.html_safe
end
def devise_simple_error_messages!
return if resource.errors.empty?
sentence = "Ooops!"
if resource.errors.count == 1
message = resource.errors.full_messages[0]
html = <<-HTML
<div class="bg-red-lightest border-l-4 border-red text-orange-dark p-4" role="alert">
<p class="font-bold">#{sentence}</p>
<p> #{message}.</p>
</div>
HTML
else
messages = resource.errors.full_messages.map { |msg| content_tag(:li, "#{msg}.") }
.join
html = <<-HTML
<div class="bg-red-100 border-l-4 border-red-500 mb-4 p-4 text-red-700" role="alert">
<p class="font-bold">#{sentence}</p>
<ul class="list-disc">
#{messages}
</ul>
</div>
HTML
end
html.html_safe
end
end
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength