From f4bc9620a9701db17cb8f651643f65c984e65c27 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 28 Jan 2017 03:56:10 +0100 Subject: Update settings to re-use admin layout, one big navigation tree, improve settings forms --- config/application.rb | 1 + config/i18n-tasks.yml | 1 + config/initializers/simple_form.rb | 2 +- config/locales/en.yml | 4 +++- config/locales/simple_form.en.yml | 4 ++++ config/navigation.rb | 26 ++++++++++++++++++++------ 6 files changed, 30 insertions(+), 8 deletions(-) (limited to 'config') diff --git a/config/application.rb b/config/application.rb index e561d0473..d44835957 100644 --- a/config/application.rb +++ b/config/application.rb @@ -46,6 +46,7 @@ module Mastodon config.to_prepare do Doorkeeper::AuthorizationsController.layout 'public' + Doorkeeper::AuthorizedApplicationsController.layout 'admin' Doorkeeper::Application.send :include, ApplicationExtension end diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index e72063844..4304bbd18 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -18,6 +18,7 @@ data: search: paths: - app/ + - config/navigation.rb relative_roots: - app/controllers diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb index 065999d0b..60bbcb778 100644 --- a/config/initializers/simple_form.rb +++ b/config/initializers/simple_form.rb @@ -52,7 +52,7 @@ SimpleForm.setup do |config| config.wrappers :with_label, class: :input, hint_class: :field_with_hint, error_class: :field_with_errors do |b| b.use :html5 - b.use :label_input + b.use :label_input, wrap_with: { tag: :div, class: :label_input } b.use :hint, wrap_with: { tag: :span, class: :hint } b.use :error, wrap_with: { tag: :span, class: :error } end diff --git a/config/locales/en.yml b/config/locales/en.yml index 4f02a87e2..941fe5b3f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -31,10 +31,11 @@ en: applications: invalid_url: The provided URL is invalid auth: - change_password: Change password + change_password: Credentials didnt_get_confirmation: Didn't receive confirmation instructions? forgot_password: Forgot your password? login: Log in + logout: Logout register: Sign up resend_confirmation: Resend confirmation instructions reset_password: Reset password @@ -93,6 +94,7 @@ en: back: Back to Mastodon edit_profile: Edit profile preferences: Preferences + settings: Settings two_factor_auth: Two-factor Authentication statuses: over_character_limit: character limit of %{max} exceeded diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index e45a9a7a6..5ef4a18fa 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -3,7 +3,11 @@ en: simple_form: hints: defaults: + avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 120x120px + display_name: At most 30 characters + header: PNG, GIF or JPG. At most 2MB. Will be downscaled to 700x335px locked: Requires you to manually approve followers and defaults post privacy to followers-only + note: At most 160 characters labels: defaults: avatar: Avatar diff --git a/config/navigation.rb b/config/navigation.rb index 9aaa12b0b..b2930f62f 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -2,11 +2,25 @@ SimpleNavigation::Configuration.run do |navigation| navigation.items do |primary| - primary.item :accounts, safe_join([fa_icon('users fw'), 'Accounts']), admin_accounts_url - primary.item :pubsubhubbubs, safe_join([fa_icon('paper-plane-o fw'), 'PubSubHubbub']), admin_pubsubhubbub_index_url - primary.item :domain_blocks, safe_join([fa_icon('lock fw'), 'Domain Blocks']), admin_domain_blocks_url - primary.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url - primary.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url - primary.item :settings, safe_join([fa_icon('cogs fw'), 'Site Settings']), admin_settings_url + primary.item :web, safe_join([fa_icon('chevron-left fw'), t('settings.back')]), root_url + + primary.item :settings, safe_join([fa_icon('cog fw'), t('settings.settings')]), settings_profile_url do |settings| + settings.item :profile, safe_join([fa_icon('user fw'), t('settings.edit_profile')]), settings_profile_url + settings.item :preferences, safe_join([fa_icon('sliders fw'), t('settings.preferences')]), settings_preferences_url + settings.item :password, safe_join([fa_icon('cog fw'), t('auth.change_password')]), edit_user_registration_url + settings.item :two_factor_auth, safe_join([fa_icon('mobile fw'), t('settings.two_factor_auth')]), settings_two_factor_auth_url + # settings.item :authorized_apps, safe_join([fa_icon('list fw'), 'Authorized Apps']), oauth_authorized_applications_url + end + + primary.item :admin, safe_join([fa_icon('cogs fw'), 'Administration']), admin_accounts_url, if: proc { current_user.admin? } do |admin| + admin.item :accounts, safe_join([fa_icon('users fw'), 'Accounts']), admin_accounts_url, highlights_on: %r{/admin/accounts} + admin.item :pubsubhubbubs, safe_join([fa_icon('paper-plane-o fw'), 'PubSubHubbub']), admin_pubsubhubbub_index_url + admin.item :domain_blocks, safe_join([fa_icon('lock fw'), 'Domain Blocks']), admin_domain_blocks_url + admin.item :sidekiq, safe_join([fa_icon('diamond fw'), 'Sidekiq']), sidekiq_url + admin.item :pghero, safe_join([fa_icon('database fw'), 'PgHero']), pghero_url + admin.item :settings, safe_join([fa_icon('cogs fw'), 'Site Settings']), admin_settings_url + end + + primary.item :logout, safe_join([fa_icon('sign-out fw'), t('auth.logout')]), destroy_user_session_url, link_html: { 'data-method' => 'delete' } end end -- cgit