Skip to content

Commit

Permalink
Add submit button to the top of preferences pages (mastodon#13068)
Browse files Browse the repository at this point in the history
* Move submit button to the top of the edit page

* Duplicate save button on long form

* Fix click submit on profile spec
  • Loading branch information
guigeekz authored Mar 8, 2020
1 parent fd76955 commit e31ba61
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 9 deletions.
5 changes: 4 additions & 1 deletion app/views/admin/settings/edit.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@
- content_for :page_title do
= t('admin.settings.title')

= simple_form_for @admin_settings, url: admin_settings_path, html: { method: :patch } do |f|
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_admin'

= simple_form_for @admin_settings, url: admin_settings_path, html: { method: :patch, id: 'edit_admin' } do |f|
= render 'shared/error_messages', object: @admin_settings

.fields-group
Expand Down
5 changes: 4 additions & 1 deletion app/views/settings/preferences/appearance/show.html.haml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
- content_for :page_title do
= t('settings.appearance')

= simple_form_for current_user, url: settings_preferences_appearance_path, html: { method: :put } do |f|
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_user'

= simple_form_for current_user, url: settings_preferences_appearance_path, html: { method: :put, id: 'edit_user' } do |f|
.fields-row
.fields-group.fields-row__column.fields-row__column-6
= f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale, hint: false
Expand Down
8 changes: 4 additions & 4 deletions app/views/settings/preferences/notifications/show.html.haml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
- content_for :page_title do
= t('settings.notifications')

= simple_form_for current_user, url: settings_preferences_notifications_path, html: { method: :put } do |f|
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_notification'

= simple_form_for current_user, url: settings_preferences_notifications_path, html: { method: :put, id: 'edit_notification' } do |f|
= render 'shared/error_messages', object: current_user

%h4= t 'notifications.email_events'
Expand Down Expand Up @@ -32,6 +35,3 @@
= ff.input :must_be_follower, as: :boolean, wrapper: :with_label
= ff.input :must_be_following, as: :boolean, wrapper: :with_label
= ff.input :must_be_following_dm, as: :boolean, wrapper: :with_label

.actions
= f.button :button, t('generic.save_changes'), type: :submit
5 changes: 4 additions & 1 deletion app/views/settings/preferences/other/show.html.haml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
- content_for :page_title do
= t('settings.preferences')

= simple_form_for current_user, url: settings_preferences_other_path, html: { method: :put } do |f|
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_preferences'

= simple_form_for current_user, url: settings_preferences_other_path, html: { method: :put, id: 'edit_preferences' } do |f|
= render 'shared/error_messages', object: current_user

.fields-group
Expand Down
5 changes: 4 additions & 1 deletion app/views/settings/profiles/show.html.haml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
- content_for :page_title do
= t('settings.edit_profile')

= simple_form_for @account, url: settings_profile_path, html: { method: :put } do |f|
- content_for :heading_actions do
= button_tag t('generic.save_changes'), class: 'button', form: 'edit_profile'

= simple_form_for @account, url: settings_profile_path, html: { method: :put, id: 'edit_profile' } do |f|
= render 'shared/error_messages', object: @account

.fields-row
Expand Down
2 changes: 1 addition & 1 deletion spec/features/profile_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
visit settings_profile_path
fill_in 'Display name', with: 'Bob'
fill_in 'Bio', with: 'Bob is silent'
click_on 'Save changes'
first('.btn[type=submit]').click
is_expected.to have_content 'Changes successfully saved!'

# View my own public profile and see the changes
Expand Down

0 comments on commit e31ba61

Please sign in to comment.