Use heading actions and placeholders in settings (#12801)

This commit:

- Refactors centered text blocks currently used for placeholders
  for empty tables and puts styles for it in separate class -
  .centered-text, simply aliasing text-align: center. Which is
  furtherly used in this commit.

- Improves applications settings page to use heading actions, moving
  "New application" button there, and displaying placeholder "You
  have no applications" in place of empty table.

- Improves custom emoji settings page to use heading action
  for "Upload" button, making it more easily accessible without
  need to scroll through all of the emojis.

- Improves email domain blocks settings page, moving "Add new" to the
  heading actions and using placeholder "No e-mail domains currently
  blacklisted" instead of showing empty table.
pull/12817/head
Sasha Sorokin 2020-01-11 08:14:45 +07:00 committed by Eugen Rochko
parent 630b5136ec
commit 36426ed4ad
7 changed files with 43 additions and 28 deletions

View File

@ -878,3 +878,7 @@ a.name-tag,
color: $primary-text-color;
}
}
.center-text {
text-align: center;
}

View File

@ -4,6 +4,9 @@
- content_for :header_tags do
= javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous'
- content_for :heading_actions do
= link_to t('admin.custom_emojis.upload'), new_admin_custom_emoji_path, class: 'button'
.filters
.filter-subset
%strong= t('admin.accounts.location.title')
@ -81,6 +84,3 @@
= paginate @custom_emojis
%hr.spacer/
= link_to t('admin.custom_emojis.upload'), new_admin_custom_emoji_path, class: 'button'

View File

@ -1,14 +1,19 @@
- content_for :page_title do
= t('admin.email_domain_blocks.title')
.table-wrapper
%table.table
%thead
%tr
%th= t('admin.email_domain_blocks.domain')
%th
%tbody
= render @email_domain_blocks
- content_for :heading_actions do
= link_to t('admin.email_domain_blocks.add_new'), new_admin_email_domain_block_path, class: 'button'
- if @email_domain_blocks.count == 0
%div.muted-hint.center-text=t 'admin.email_domain_blocks.empty'
- else
.table-wrapper
%table.table
%thead
%tr
%th= t('admin.email_domain_blocks.domain')
%th
%tbody
= render @email_domain_blocks
= paginate @email_domain_blocks
= link_to t('admin.email_domain_blocks.add_new'), new_admin_email_domain_block_path, class: 'button'

View File

@ -5,8 +5,7 @@
= link_to t('filters.new.title'), new_filter_path, class: 'button'
- if @filters.count == 0
%div{ style: 'display: flex; justify-content: center' }
%div.muted-hint= t 'filters.index.empty'
%div.muted-hint.center-text= t 'filters.index.empty'
- else
.table-wrapper
%table.table

View File

@ -1,20 +1,25 @@
- content_for :page_title do
= t('doorkeeper.applications.index.title')
.table-wrapper
%table.table
%thead
%tr
%th= t('doorkeeper.applications.index.application')
%th= t('doorkeeper.applications.index.scopes')
%th
%tbody
- @applications.each do |application|
- content_for :heading_actions do
= link_to t('doorkeeper.applications.index.new'), new_settings_application_path, class: 'button'
- if @applications.count == 0
%div.muted-hint.center-text=t 'doorkeeper.applications.index.empty'
- else
.table-wrapper
%table.table
%thead
%tr
%td= link_to application.name, settings_application_path(application)
%th= application.scopes
%td
= table_link_to 'times', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') }
%th= t('doorkeeper.applications.index.application')
%th= t('doorkeeper.applications.index.scopes')
%th
%tbody
- @applications.each do |application|
%tr
%td= link_to application.name, settings_application_path(application)
%th= application.scopes
%td
= table_link_to 'times', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') }
= paginate @applications
= link_to t('doorkeeper.applications.index.new'), new_settings_application_path, class: 'button'

View File

@ -38,6 +38,7 @@ en:
application: Application
callback_url: Callback URL
delete: Delete
empty: You have no applications.
name: Name
new: New application
scopes: Scopes

View File

@ -339,6 +339,7 @@ en:
delete: Delete
destroyed_msg: Successfully deleted e-mail domain from blacklist
domain: Domain
empty: No e-mail domains currenly blacklisted.
new:
create: Add domain
title: New e-mail blacklist entry