From 13f49590347dd350c534663c2876ab4db5613aba Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Tue, 10 Dec 2019 03:04:05 -0600 Subject: add accessibility option to make everything lowercase --- app/controllers/settings/preferences_controller.rb | 1 + app/lib/user_settings_decorator.rb | 5 +++++ app/models/account.rb | 1 + app/models/user.rb | 5 +++++ app/views/layouts/application.html.haml | 4 ++++ app/views/settings/preferences/show.html.haml | 1 + config/locales/simple_form.en.yml | 2 +- 7 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index 09380efd9..4aceaafda 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -37,6 +37,7 @@ class Settings::PreferencesController < Settings::BaseController :setting_always_local, :setting_rawr_federated, :setting_hide_stats, + :setting_force_lowercase, :setting_hide_captions, :setting_larger_menus, :setting_larger_buttons, diff --git a/app/lib/user_settings_decorator.rb b/app/lib/user_settings_decorator.rb index c2fe58b2d..17c55e3e8 100644 --- a/app/lib/user_settings_decorator.rb +++ b/app/lib/user_settings_decorator.rb @@ -30,6 +30,7 @@ class UserSettingsDecorator user.settings['hide_mntions_blocked']= hide_mntions_blocked_preference if change?('setting_hide_mntions_blocked') user.settings['hide_mntions_blocker']= hide_mntions_blocker_preference if change?('setting_hide_mntions_blocker') user.settings['hide_mntions_packm8'] = hide_mntions_packm8_preference if change?('setting_hide_mntions_packm8') + user.settings['force_lowercase'] = force_lowercase_preference if change?('setting_force_lowercase') user.settings['hide_captions'] = hide_captions_preference if change?('setting_hide_captions') user.settings['hide_mascot'] = hide_mascot_preference if change?('setting_hide_mascot') user.settings['hide_interactions'] = hide_interactions_preference if change?('setting_hide_interactions') @@ -204,6 +205,10 @@ class UserSettingsDecorator boolean_cast_setting 'setting_hide_stats' end + def force_lowercase_preference + boolean_cast_setting 'setting_force_lowercase' + end + def hide_captions_preference boolean_cast_setting 'setting_hide_captions' end diff --git a/app/models/account.rb b/app/models/account.rb index c52f28d33..66fe554d5 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -160,6 +160,7 @@ class Account < ApplicationRecord :hides_mascot?, :hides_captions?, :shows_cursor?, + :forces_lowercase?, to: :user, prefix: true, diff --git a/app/models/user.rb b/app/models/user.rb index 06af06911..e6a37b0bd 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -117,6 +117,7 @@ class User < ApplicationRecord :always_local, :rawr_federated, :hide_stats, + :force_lowercase, :hide_captions, :larger_menus, :larger_buttons, @@ -368,6 +369,10 @@ class User < ApplicationRecord @hides_stats ||= (settings.hide_stats || false) end + def forces_lowercase? + @force_lowercase ||= (settings.force_lowercase || false) + end + def hides_captions? @hides_captions ||= (settings.hide_captions || false) end diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 985e54683..a471d7b6f 100755 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -87,6 +87,10 @@ :css span.cursor:hover { animation: t_blink 1s linear infinite } + - if current_account&.user_forces_lowercase? + :css + * { text-transform: lowercase; font-variant: inherit !important; } + %body{ class: body_classes } = content_for?(:content) ? yield(:content) : yield diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml index bde3dcf23..74a643c14 100644 --- a/app/views/settings/preferences/show.html.haml +++ b/app/views/settings/preferences/show.html.haml @@ -81,6 +81,7 @@ = f.input :setting_larger_drawer, as: :boolean, wrapper: :with_label = f.input :setting_larger_emoji, as: :boolean, wrapper: :with_label = f.input :setting_show_cursor, as: :boolean, wrapper: :with_label + = f.input :setting_force_lowercase, as: :boolean, wrapper: :with_label .fields-group = f.input :setting_hide_mascot, as: :boolean, wrapper: :with_label diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 14c90c0ec..6e9118535 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -140,7 +140,7 @@ en: setting_always_local: Don't send your roars outside Monsterpit setting_rawr_federated: Show raw world timeline (may contain offensive content!) setting_hide_stats: Hide statistics on public pages - setting_disable_color: Ignore text color formatting + setting_force_lowercase: make everything lowercase setting_hide_captions: Hide media captions setting_larger_menus: Increase size and spacing of menu items setting_larger_buttons: Increase size and spacing of action buttons -- cgit