summaryrefslogtreecommitdiffstats
path: root/app/views/about
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-09-19 11:09:05 +0200
committerGitHub <noreply@github.com>2019-09-19 11:09:05 +0200
commitd930eb88b671fa6e5573fe7342bcdda87501bdb7 (patch)
treea67ab76528da0060e7def3d13f5802904d215939 /app/views/about
parente1066cd4319a220d5be16e51ffaf5236a2f6e866 (diff)
Add table of contents to about page (#11885)
Move public domain blocks information to about page
Diffstat (limited to 'app/views/about')
-rw-r--r--app/views/about/blocks.html.haml48
-rw-r--r--app/views/about/more.html.haml59
2 files changed, 47 insertions, 60 deletions
diff --git a/app/views/about/blocks.html.haml b/app/views/about/blocks.html.haml
deleted file mode 100644
index a81a4d1ebad..00000000000
--- a/app/views/about/blocks.html.haml
+++ /dev/null
@@ -1,48 +0,0 @@
-- 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'
diff --git a/app/views/about/more.html.haml b/app/views/about/more.html.haml
index 21431ef8e5d..4b3035ee823 100644
--- a/app/views/about/more.html.haml
+++ b/app/views/about/more.html.haml
@@ -5,7 +5,7 @@
= javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
= render partial: 'shared/og'
-.grid-3
+.grid-4
.column-0
.public-account-header.public-account-header--no-bar
.public-account-header__image
@@ -28,22 +28,57 @@
= image_tag @instance_presenter.mascot&.file&.url || asset_pack_path('media/images/elephant_ui_plane.svg'), alt: ''
.column-2
- .landing-page__information.contact-widget
- %p
- %strong= t 'about.administered_by'
+ .contact-widget
+ %h4= t 'about.administered_by'
= account_link_to(@instance_presenter.contact_account)
- if @instance_presenter.site_contact_email.present?
- %p.contact-widget__mail
- %strong
- = succeed ':' do
- = t 'about.contact'
- %br/
- = mail_to @instance_presenter.site_contact_email, nil, title: @instance_presenter.site_contact_email
+ %h4
+ = succeed ':' do
+ = t 'about.contact'
+
+ = mail_to @instance_presenter.site_contact_email, nil, title: @instance_presenter.site_contact_email
.column-3
= render 'application/flashes'
- .box-widget
- .rich-formatting= @instance_presenter.site_extended_description.html_safe.presence || t('about.extended_description_html')
+ - if @contents.blank? && (!display_blocks? || @blocks&.empty?)
+ = nothing_here
+ - else
+ .box-widget
+ .rich-formatting
+ = @contents.html_safe
+
+ - if display_blocks? && !@blocks.empty?
+ %h2#unavailable-content= t('about.unavailable_content')
+
+ %p= t('about.unavailable_content_html')
+
+ - @blocks.each do |domain_block|
+ %p
+ %strong= "#{domain_block.domain}:"
+
+ - if domain_block.suspend?
+ = t('about.unavailable_content_description.suspended')
+ - else
+ = t('about.unavailable_content_description.silenced') if domain_block.silence?
+ = t('about.unavailable_content_description.rejecting_media') if domain_block.reject_media?
+
+ - if display_blocks_rationale?
+ %strong= t('about.unavailable_content_description.reason')
+ = domain_block.public_comment
+
+ .column-4
+ %ul.table-of-contents
+ - @table_of_contents.each do |item|
+ %li
+ = link_to item.title, "##{item.anchor}"
+
+ - unless item.children.empty?
+ %ul
+ - item.children.each do |sub_item|
+ %li= link_to sub_item.title, "##{sub_item.anchor}"
+
+ - if display_blocks? && !@blocks.empty?
+ %li= link_to t('about.unavailable_content'), '#unavailable-content'