From bd2557d2611f6b73d030abd17368d380c15e6030 Mon Sep 17 00:00:00 2001 From: cryptogopher Date: Thu, 13 Apr 2023 19:52:23 +0200 Subject: [PATCH] Add registration form --- .gitignore | 1 + app/assets/stylesheets/application.css | 13 ++++++--- app/helpers/application_helper.rb | 3 ++ app/views/users/registrations/new.html.erb | 33 ++++++---------------- app/views/users/sessions/new.html.erb | 8 ++---- app/views/users/shared/_links.html.erb | 4 --- config/locales/en.yml | 17 ++++++----- 7 files changed, 34 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index 7efe2a1..f86290c 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ /.irb_history /.lesshst /.local +/.vim /.viminfo /.webdrivers *.swp diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 30c210c..a49dbc9 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -37,7 +37,7 @@ input { } input:not([type=checkbox]) { font-size: 0.9rem; - padding: 0.1rem 0.4rem; + padding: 0.2rem 0.4rem; } input[type=checkbox] { accent-color: #009ade; @@ -164,9 +164,14 @@ form td.required { form td.error { color: #ff1f5b; } +form em { + color: #707070; + font-size: 0.75rem; + font-weight: normal; +} form input[type=submit] { float: none; - font-size: 0.9rem; - margin: 0 auto; - padding: 0.6rem; + font-size: 1rem; + margin: 1.5rem auto; + padding: 0.75rem; } diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f3f9825..d91d051 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -5,6 +5,9 @@ module ApplicationHelper def #{selector}(method, options = {}) @template.content_tag :tr do label_text = label(method, options.delete(:label)) + if options[:hint] + label_text += @template.tag(:br) + @template.content_tag(:em, options.delete(:hint)) + end label_class = @template.class_names(required: options[:required], error: @object&.errors[method].present?) diff --git a/app/views/users/registrations/new.html.erb b/app/views/users/registrations/new.html.erb index 61d1e4c..db3dd50 100644 --- a/app/views/users/registrations/new.html.erb +++ b/app/views/users/registrations/new.html.erb @@ -1,29 +1,12 @@ -

Sign up

- -<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> +<%= tabular_form_for resource, url: user_registration_path do |f| %> <%= render "users/shared/error_messages", resource: resource %> -
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %> -
+ <%= f.email_field :email, required: true, size: 30, autofocus: true, autocomplete: "email" %> + <%= f.password_field :password, required: true, size: 30, minlength: @minimum_password_length, + autocomplete: "new-password", + hint: ("(#{@minimum_password_length} characters minimum)" if @minimum_password_length) %> + <%= f.password_field :password_confirmation, label: t('.password_confirmation'), + required: true, size: 30, autocomplete: "new-password" %> -
- <%= f.label :password %> - <% if @minimum_password_length %> - (<%= @minimum_password_length %> characters minimum) - <% end %>
- <%= f.password_field :password, autocomplete: "new-password" %> -
- -
- <%= f.label :password_confirmation %>
- <%= f.password_field :password_confirmation, autocomplete: "new-password" %> -
- -
- <%= f.submit "Sign up" %> -
+ <%= f.submit t(:register) %> <% end %> - -<%= render "users/shared/links" %> diff --git a/app/views/users/sessions/new.html.erb b/app/views/users/sessions/new.html.erb index d86dc38..a45a74b 100644 --- a/app/views/users/sessions/new.html.erb +++ b/app/views/users/sessions/new.html.erb @@ -1,6 +1,6 @@ -<%= tabular_form_for resource, as: resource_name, url: session_path(resource_name) do |f| %> - <%= f.email_field :email, required: true, size: 32, autofocus: true, autocomplete: "email" %> - <%= f.password_field :password, required: true, size: 32, autocomplete: "current-password" %> +<%= tabular_form_for resource, url: user_session_path do |f| %> + <%= f.email_field :email, required: true, size: 30, autofocus: true, autocomplete: "email" %> + <%= f.password_field :password, required: true, size: 30, autocomplete: "current-password" %> <% if devise_mapping.rememberable? %> <%= f.check_box :remember_me, label: t('.remember_me') %> @@ -8,5 +8,3 @@ <%= f.submit t(:sign_in) %> <% end %> - -<%= render "users/shared/links" %> diff --git a/app/views/users/shared/_links.html.erb b/app/views/users/shared/_links.html.erb index 2caf1bd..6488710 100644 --- a/app/views/users/shared/_links.html.erb +++ b/app/views/users/shared/_links.html.erb @@ -1,7 +1,3 @@ -<%- if controller_name != 'sessions' %> - <%= link_to "Log in", new_session_path(resource_name) %>
-<% end %> - <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %> <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %>
<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index b285d8d..62ae990 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2,13 +2,16 @@ en: activerecord: attributes: user: - email: "E-mail" - password: "Password" + email: E-mail + password: Password users: + registrations: + new: + password_confirmation: Retype password sessions: new: - remember_me: "Remember me" - register: "Register" - sign_in: "Sign in" - sign_out: "Sign out" - recover_password: "Recover password" + remember_me: Remember me + register: Register + sign_in: Sign in + sign_out: Sign out + recover_password: Recover password