summaryrefslogtreecommitdiffstats
path: root/app/views/about
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-08-19 11:35:48 +0200
committerEugen Rochko <eugen@zeonfederated.com>2019-08-19 11:35:48 +0200
commit9b6a5ed109e1986149c1f15a41d4f442ae8ae39c (patch)
tree14d84b3e2986a9ffb5bd776c43f88230d9212467 /app/views/about
parent9e1d28f48e8197690ab4ec9ff02d981f408bf875 (diff)
Add public blocks to /about/blocks (#11298)
* Add automatic blocklist display in /about/blocks Inspired by https://github.com/Gargron/mastodon.social-misc * Add admin option to set who can see instance blocks * Normalize locales files * Rename “Sandbox” to “Silence” for consistency * Disable /about/blocks when in whitelist mode * Optionally display rationale for domain blocks * Only display domain blocks that have user-facing limitations, and order them * Redesign table of blocked domains to better handle long domain names and rationales * Change domain blocks ordering now that rationales aren't displayed right away * Only show explanation for block severities actually in use * Reword instance block explanations and add disclaimer for public fetch mode
Diffstat (limited to 'app/views/about')
-rw-r--r--app/views/about/blocks.html.haml48
1 files changed, 48 insertions, 0 deletions
diff --git a/app/views/about/blocks.html.haml b/app/views/about/blocks.html.haml
new file mode 100644
index 00000000000..a81a4d1ebad
--- /dev/null
+++ b/app/views/about/blocks.html.haml
@@ -0,0 +1,48 @@
+- content_for :page_title do
+ = t('domain_blocks.title', instance: site_hostname)
+
+.grid
+ .column-0
+ .box-widget.rich-formatting
+ %h2= t('domain_blocks.blocked_domains')
+ %p= t('domain_blocks.description', instance: site_hostname)
+ .table-wrapper
+ %table.blocks-table
+ %thead
+ %tr
+ %th= t('domain_blocks.domain')
+ %th.severity-column= t('domain_blocks.severity')
+ - if @show_rationale
+ %th.button-column
+ %tbody
+ - if @blocks.empty?
+ %tr
+ %td{ colspan: @show_rationale ? 3 : 2 }= t('domain_blocks.no_domain_blocks')
+ - else
+ - @blocks.each_with_index do |block, i|
+ %tr{ class: i % 2 == 0 ? 'even': nil }
+ %td{ title: block.domain }= block.domain
+ %td= block_severity_text(block)
+ - if @show_rationale
+ %td
+ - if block.public_comment.present?
+ %button.icon-button{ title: t('domain_blocks.show_rationale'), 'aria-label' => t('domain_blocks.show_rationale') }
+ = fa_icon 'chevron-down fw', 'aria-hidden' => true
+ - if @show_rationale
+ - if block.public_comment.present?
+ %tr.rationale.hidden
+ %td{ colspan: 3 }= block.public_comment.presence
+ %h2= t('domain_blocks.severity_legend.title')
+ - if @blocks.any? { |block| block.reject_media? }
+ %h3= t('domain_blocks.media_block')
+ %p= t('domain_blocks.severity_legend.media_block')
+ - if @blocks.any? { |block| block.severity == 'silence' }
+ %h3= t('domain_blocks.silence')
+ %p= t('domain_blocks.severity_legend.silence')
+ - if @blocks.any? { |block| block.severity == 'suspend' }
+ %h3= t('domain_blocks.suspension')
+ %p= t('domain_blocks.severity_legend.suspension')
+ - if public_fetch_mode?
+ %p= t('domain_blocks.severity_legend.suspension_disclaimer')
+ .column-1
+ = render 'application/sidebar'