about summary refs log tree commit diff
path: root/app/views
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-10-18 16:37:15 +0200
committerEugen Rochko <eugen@zeonfederated.com>2016-10-18 16:37:15 +0200
commit43df35213e80b9b7de69cc80f138882708a05b9b (patch)
treed3b70597b5172f0daf2b95e6cd4a48a7bc6d7b56 /app/views
parent6f7c9774c776afeea0d98cbbd30483f4f0c6b938 (diff)
Improving all forms
Diffstat (limited to 'app/views')
-rw-r--r--app/views/auth/confirmations/new.html.haml10
-rw-r--r--app/views/auth/passwords/edit.html.haml19
-rw-r--r--app/views/auth/passwords/new.html.haml10
-rw-r--r--app/views/auth/registrations/edit.html.haml18
-rw-r--r--app/views/auth/registrations/new.html.haml21
-rw-r--r--app/views/auth/sessions/new.html.haml11
-rw-r--r--app/views/layouts/auth.html.haml7
-rw-r--r--app/views/settings/preferences/show.html.haml24
-rw-r--r--app/views/settings/profiles/show.html.haml20
-rw-r--r--app/views/shared/_error_messages.html.haml6
10 files changed, 67 insertions, 79 deletions
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: