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.
This commit is contained in:
		
					parent
					
						
							
								630b5136ec
							
						
					
				
			
			
				commit
				
					
						36426ed4ad
					
				
			
		
					 7 changed files with 43 additions and 28 deletions
				
			
		|  | @ -878,3 +878,7 @@ a.name-tag, | ||||||
|     color: $primary-text-color; |     color: $primary-text-color; | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .center-text { | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -4,6 +4,9 @@ | ||||||
| - content_for :header_tags do | - content_for :header_tags do | ||||||
|   = javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous' |   = 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 | .filters | ||||||
|   .filter-subset |   .filter-subset | ||||||
|     %strong= t('admin.accounts.location.title') |     %strong= t('admin.accounts.location.title') | ||||||
|  | @ -81,6 +84,3 @@ | ||||||
| 
 | 
 | ||||||
| = paginate @custom_emojis | = paginate @custom_emojis | ||||||
| 
 | 
 | ||||||
| %hr.spacer/ |  | ||||||
| 
 |  | ||||||
| = link_to t('admin.custom_emojis.upload'), new_admin_custom_emoji_path, class: 'button' |  | ||||||
|  |  | ||||||
|  | @ -1,14 +1,19 @@ | ||||||
| - content_for :page_title do | - content_for :page_title do | ||||||
|   = t('admin.email_domain_blocks.title') |   = t('admin.email_domain_blocks.title') | ||||||
| 
 | 
 | ||||||
| .table-wrapper | - content_for :heading_actions do | ||||||
|   %table.table |   = link_to t('admin.email_domain_blocks.add_new'), new_admin_email_domain_block_path, class: 'button' | ||||||
|     %thead | 
 | ||||||
|       %tr | - if @email_domain_blocks.count == 0 | ||||||
|         %th= t('admin.email_domain_blocks.domain') |   %div.muted-hint.center-text=t 'admin.email_domain_blocks.empty' | ||||||
|         %th | - else | ||||||
|     %tbody |   .table-wrapper | ||||||
|       = render @email_domain_blocks |     %table.table | ||||||
|  |       %thead | ||||||
|  |         %tr | ||||||
|  |           %th= t('admin.email_domain_blocks.domain') | ||||||
|  |           %th | ||||||
|  |       %tbody | ||||||
|  |         = render @email_domain_blocks | ||||||
| 
 | 
 | ||||||
| = paginate @email_domain_blocks | = paginate @email_domain_blocks | ||||||
| = link_to t('admin.email_domain_blocks.add_new'), new_admin_email_domain_block_path, class: 'button' |  | ||||||
|  |  | ||||||
|  | @ -5,8 +5,7 @@ | ||||||
|   = link_to t('filters.new.title'), new_filter_path, class: 'button' |   = link_to t('filters.new.title'), new_filter_path, class: 'button' | ||||||
| 
 | 
 | ||||||
| - if @filters.count == 0 | - if @filters.count == 0 | ||||||
|   %div{ style: 'display: flex; justify-content: center' } |   %div.muted-hint.center-text= t 'filters.index.empty' | ||||||
|     %div.muted-hint= t 'filters.index.empty' |  | ||||||
| - else | - else | ||||||
|   .table-wrapper |   .table-wrapper | ||||||
|     %table.table |     %table.table | ||||||
|  |  | ||||||
|  | @ -1,20 +1,25 @@ | ||||||
| - content_for :page_title do | - content_for :page_title do | ||||||
|   = t('doorkeeper.applications.index.title') |   = t('doorkeeper.applications.index.title') | ||||||
| 
 | 
 | ||||||
| .table-wrapper | - content_for :heading_actions do | ||||||
|   %table.table |   = link_to t('doorkeeper.applications.index.new'), new_settings_application_path, class: 'button' | ||||||
|     %thead | 
 | ||||||
|       %tr | - if @applications.count == 0 | ||||||
|         %th= t('doorkeeper.applications.index.application') |   %div.muted-hint.center-text=t 'doorkeeper.applications.index.empty' | ||||||
|         %th= t('doorkeeper.applications.index.scopes') | - else | ||||||
|         %th |   .table-wrapper | ||||||
|     %tbody |     %table.table | ||||||
|       - @applications.each do |application| |       %thead | ||||||
|         %tr |         %tr | ||||||
|           %td= link_to application.name, settings_application_path(application) |           %th= t('doorkeeper.applications.index.application') | ||||||
|           %th= application.scopes |           %th= t('doorkeeper.applications.index.scopes') | ||||||
|           %td |           %th | ||||||
|             = table_link_to 'times', t('doorkeeper.applications.index.delete'), settings_application_path(application), method: :delete, data: { confirm: t('doorkeeper.applications.confirmations.destroy') } |       %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 | = paginate @applications | ||||||
| = link_to t('doorkeeper.applications.index.new'), new_settings_application_path, class: 'button' |  | ||||||
|  |  | ||||||
|  | @ -38,6 +38,7 @@ en: | ||||||
|         application: Application |         application: Application | ||||||
|         callback_url: Callback URL |         callback_url: Callback URL | ||||||
|         delete: Delete |         delete: Delete | ||||||
|  |         empty: You have no applications. | ||||||
|         name: Name |         name: Name | ||||||
|         new: New application |         new: New application | ||||||
|         scopes: Scopes |         scopes: Scopes | ||||||
|  |  | ||||||
|  | @ -339,6 +339,7 @@ en: | ||||||
|       delete: Delete |       delete: Delete | ||||||
|       destroyed_msg: Successfully deleted e-mail domain from blacklist |       destroyed_msg: Successfully deleted e-mail domain from blacklist | ||||||
|       domain: Domain |       domain: Domain | ||||||
|  |       empty: No e-mail domains currenly blacklisted. | ||||||
|       new: |       new: | ||||||
|         create: Add domain |         create: Add domain | ||||||
|         title: New e-mail blacklist entry |         title: New e-mail blacklist entry | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue