From 43df35213e80b9b7de69cc80f138882708a05b9b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 18 Oct 2016 16:37:15 +0200 Subject: Improving all forms --- app/views/auth/confirmations/new.html.haml | 10 +++++----- app/views/auth/passwords/edit.html.haml | 19 +++++++++---------- app/views/auth/passwords/new.html.haml | 10 +++++----- app/views/auth/registrations/edit.html.haml | 18 +++++++----------- app/views/auth/registrations/new.html.haml | 21 +++++++++------------ app/views/auth/sessions/new.html.haml | 11 +++++------ app/views/layouts/auth.html.haml | 7 ++++--- app/views/settings/preferences/show.html.haml | 24 +++++++++--------------- app/views/settings/profiles/show.html.haml | 20 ++++++++------------ app/views/shared/_error_messages.html.haml | 6 ++++++ 10 files changed, 67 insertions(+), 79 deletions(-) create mode 100644 app/views/shared/_error_messages.html.haml (limited to 'app/views') diff --git a/app/views/auth/confirmations/new.html.haml b/app/views/auth/confirmations/new.html.haml index e287f1528..fb1019def 100644 --- a/app/views/auth/confirmations/new.html.haml +++ b/app/views/auth/confirmations/new.html.haml @@ -1,12 +1,12 @@ - content_for :page_title do Confirmation instructions -= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| + = render 'shared/error_messages', object: resource + + = f.input :email, autofocus: true, required: true, placeholder: 'E-mail address' - .field - = f.email_field :email, autofocus: true, required: true, placeholder: 'E-mail address' .actions - = f.button "Resend confirmation instructions", type: 'submit' + = f.button :button, "Resend confirmation instructions", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/auth/passwords/edit.html.haml b/app/views/auth/passwords/edit.html.haml index 79a044acf..06c50445a 100644 --- a/app/views/auth/passwords/edit.html.haml +++ b/app/views/auth/passwords/edit.html.haml @@ -1,15 +1,14 @@ - content_for :page_title do Set new password -= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| - = devise_error_messages! - = f.hidden_field :reset_password_token - - .field - = f.password_field :password, autofocus: true, autocomplete: "off", placeholder: 'New password' - .field - = f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' += simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| + = render 'shared/error_messages', object: resource + = f.input :reset_password_token, as: :hidden + + = f.input :password, autofocus: true, autocomplete: "off", placeholder: 'New password' + = f.input :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' + .actions - = f.button "Change my password", type: :submit + = f.button :button, "Change my password", type: :submit -= render "devise/shared/links" +.form-footer= render "devise/shared/links" diff --git a/app/views/auth/passwords/new.html.haml b/app/views/auth/passwords/new.html.haml index 416870de8..4c7ec8292 100644 --- a/app/views/auth/passwords/new.html.haml +++ b/app/views/auth/passwords/new.html.haml @@ -1,12 +1,12 @@ - content_for :page_title do Reset password -= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| + = render 'shared/error_messages', object: resource + + = f.input :email, autofocus: true, required: true, placeholder: 'E-mail address' - .field - = f.email_field :email, autofocus: true, required: true, placeholder: 'E-mail address' .actions - = f.button "Reset password", type: 'submit' + = f.button :button, "Reset password", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/auth/registrations/edit.html.haml b/app/views/auth/registrations/edit.html.haml index 567f0ea44..25ed58647 100644 --- a/app/views/auth/registrations/edit.html.haml +++ b/app/views/auth/registrations/edit.html.haml @@ -1,19 +1,15 @@ - content_for :page_title do Change password -= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| + = render 'shared/error_messages', object: resource - .field - = f.email_field :email, placeholder: 'E-mail address' - .field - = f.password_field :password, autocomplete: "off", placeholder: 'New password' - .field - = f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' - .field - = f.password_field :current_password, autocomplete: "off", placeholder: 'Current password' + = f.input :email, placeholder: 'E-mail address' + = f.input :password, autocomplete: "off", placeholder: 'New password' + = f.input :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' + = f.input :current_password, autocomplete: "off", placeholder: 'Current password' .actions - = f.button "Save changes", type: 'submit' + = f.button :button, "Save changes", type: :submit .form-footer= render "settings/shared/links" diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index 97ab5498e..766cbf1a5 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -1,20 +1,17 @@ - content_for :page_title do Sign up -= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| + = render 'shared/error_messages', object: resource - = f.fields_for :account do |ff| - .field - = ff.text_field :username, autofocus: true, placeholder: 'Username', required: true + = f.simple_fields_for :account do |ff| + = ff.input :username, autofocus: true, placeholder: 'Username', required: true + + = f.input :email, placeholder: 'E-mail address', required: true + = f.input :password, autocomplete: "off", placeholder: 'Password', required: true + = f.input :password_confirmation, autocomplete: "off", placeholder: 'Confirm password', required: true - .field - = f.email_field :email, placeholder: 'E-mail address', required: true - .field - = f.password_field :password, autocomplete: "off", placeholder: 'Password', required: true - .field - = f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Confirm password', required: true .actions - = f.button "Sign up", type: 'submit' + = f.button :button, "Sign up", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/auth/sessions/new.html.haml b/app/views/auth/sessions/new.html.haml index 7cfd1cb68..2ca7bf690 100644 --- a/app/views/auth/sessions/new.html.haml +++ b/app/views/auth/sessions/new.html.haml @@ -1,12 +1,11 @@ - content_for :page_title do Log in -= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| - .field - = f.email_field :email, autofocus: true, placeholder: 'E-mail address', required: true - .field - = f.password_field :password, autocomplete: "off", placeholder: 'Password', required: true += simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| + = f.input :email, autofocus: true, placeholder: 'E-mail address', required: true + = f.input :password, placeholder: 'Password', required: true + .actions - = f.button "Log in", type: 'submit' + = f.button :button, "Log in", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/layouts/auth.html.haml b/app/views/layouts/auth.html.haml index 52d567280..1fa0b5ae0 100644 --- a/app/views/layouts/auth.html.haml +++ b/app/views/layouts/auth.html.haml @@ -4,14 +4,15 @@ %h1 = link_to root_path do = image_tag 'logo.png' - %small= Rails.configuration.x.local_domain .form-container - if flash[:notice] - .flash-message.notice= flash[:notice] + .flash-message.notice + %strong= flash[:notice] - if flash[:alert] - .flash-message.alert= flash[:alert] + .flash-message.alert + %strong= flash[:alert] = yield diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml index 9c73d07c5..9fc4e91ca 100644 --- a/app/views/settings/preferences/show.html.haml +++ b/app/views/settings/preferences/show.html.haml @@ -1,22 +1,16 @@ - content_for :page_title do Preferences -= form_for current_user, url: settings_preferences_path, html: { method: :put } do |f| - = f.fields_for :notification_emails, current_user.settings(:notification_emails) do |ff| - .boolean-field - = ff.check_box :follow - = ff.label :follow, 'Send e-mail when someone follows you' - .boolean-field - = ff.check_box :reblog - = ff.label :reblog, 'Send e-mail when someone reblogs your status' - .boolean-field - = ff.check_box :favourite - = ff.label :favourite, 'Send e-mail when someone favourites your status' - .boolean-field - = ff.check_box :mention - = ff.label :mention, 'Send e-mail when someone mentions you' += simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f| + = render 'shared/error_messages', object: current_user + + = f.simple_fields_for :notification_emails, current_user.settings(:notification_emails) do |ff| + = ff.input :follow, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone follows you' + = ff.input :reblog, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone reblogs your status' + = ff.input :favourite, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone favourites your status' + = ff.input :mention, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone mentions you' .actions - = f.button 'Save changes', type: :submit + = f.button :button, 'Save changes', type: :submit .form-footer= render "settings/shared/links" diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml index 2ff91beff..df0cc3227 100644 --- a/app/views/settings/profiles/show.html.haml +++ b/app/views/settings/profiles/show.html.haml @@ -1,19 +1,15 @@ - content_for :page_title do Edit profile -= form_for @account, url: settings_profile_path, html: { method: :put } do |f| - .field - = f.text_field :display_name, placeholder: 'Display name' - .field - = f.text_area :note, placeholder: 'Bio' - .file-field - = f.label :avatar - = f.file_field :avatar - .file-field - = f.label :header - = f.file_field :header += simple_form_for @account, url: settings_profile_path, html: { method: :put } do |f| + = render 'shared/error_messages', object: @account + + = f.input :display_name, placeholder: 'Display name' + = f.input :note, placeholder: 'Bio' + = f.input :avatar, wrapper: :with_label + = f.input :header, wrapper: :with_label .actions - = f.button 'Save changes', type: :submit + = f.button :button, 'Save changes', type: :submit .form-footer= render "settings/shared/links" diff --git a/app/views/shared/_error_messages.html.haml b/app/views/shared/_error_messages.html.haml new file mode 100644 index 000000000..269365359 --- /dev/null +++ b/app/views/shared/_error_messages.html.haml @@ -0,0 +1,6 @@ +- if object.errors.any? + .flash-message#error_explanation + %strong + Something isn't quite right yet! Please review + = pluralize(object.errors.count, 'error') + below: -- cgit