Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - app/controllers/home_controller.rb - app/controllers/shares_controller.rb - app/javascript/packs/public.js - app/models/status.rb - app/serializers/initial_state_serializer.rb - app/views/home/index.html.haml - app/views/layouts/public.html.haml - app/views/public_timelines/show.html.haml - app/views/shares/show.html.haml - app/views/tags/show.html.haml - config/initializers/content_security_policy.rb - config/locales/en.yml - config/webpack/shared.js - package.json
This commit is contained in:
48
app/views/about/blocks.html.haml
Normal file
48
app/views/about/blocks.html.haml
Normal file
@@ -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'
|
@@ -7,7 +7,7 @@
|
||||
- if @account.user&.setting_noindex
|
||||
%meta{ name: 'robots', content: 'noindex, noarchive' }/
|
||||
|
||||
%link{ rel: 'alternate', type: 'application/rss+xml', href: account_url(@account, format: 'rss') }/
|
||||
%link{ rel: 'alternate', type: 'application/rss+xml', href: @rss_url }/
|
||||
%link{ rel: 'alternate', type: 'application/activity+json', href: ActivityPub::TagManager.instance.uri_for(@account) }/
|
||||
|
||||
- if @older_url
|
||||
@@ -56,24 +56,33 @@
|
||||
|
||||
= render 'bio', account: @account
|
||||
|
||||
- unless @endorsed_accounts.empty?
|
||||
- if @endorsed_accounts.empty? && @account.id == current_account&.id
|
||||
.placeholder-widget= t('accounts.endorsements_hint')
|
||||
- elsif !@endorsed_accounts.empty?
|
||||
.endorsements-widget
|
||||
%h4= t 'accounts.choices_html', name: content_tag(:bdi, display_name(@account, custom_emojify: true))
|
||||
|
||||
- @endorsed_accounts.each do |account|
|
||||
= account_link_to account
|
||||
|
||||
- @account.featured_tags.order(statuses_count: :desc).each do |featured_tag|
|
||||
.directory__tag{ class: params[:tag] == featured_tag.name ? 'active' : nil }
|
||||
= link_to short_account_tag_path(@account, featured_tag.tag) do
|
||||
%h4
|
||||
= fa_icon 'hashtag'
|
||||
= featured_tag.name
|
||||
%small
|
||||
- if featured_tag.last_status_at.nil?
|
||||
= t('accounts.nothing_here')
|
||||
- else
|
||||
%time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
|
||||
.trends__item__current= number_to_human featured_tag.statuses_count, strip_insignificant_zeros: true
|
||||
- if @featured_hashtags.empty? && @account.id == current_account&.id
|
||||
.placeholder-widget
|
||||
= t('accounts.featured_tags_hint')
|
||||
= link_to settings_featured_tags_path do
|
||||
= t('featured_tags.add_new')
|
||||
= fa_icon 'chevron-right fw'
|
||||
- else
|
||||
- @featured_hashtags.each do |featured_tag|
|
||||
.directory__tag{ class: params[:tag] == featured_tag.name ? 'active' : nil }
|
||||
= link_to short_account_tag_path(@account, featured_tag.tag) do
|
||||
%h4
|
||||
= fa_icon 'hashtag'
|
||||
= featured_tag.name
|
||||
%small
|
||||
- if featured_tag.last_status_at.nil?
|
||||
= t('accounts.nothing_here')
|
||||
- else
|
||||
%time.formatted{ datetime: featured_tag.last_status_at.iso8601, title: l(featured_tag.last_status_at) }= l featured_tag.last_status_at
|
||||
.trends__item__current= number_to_human featured_tag.statuses_count, strip_insignificant_zeros: true
|
||||
|
||||
= render 'application/sidebar'
|
||||
|
@@ -91,6 +91,12 @@
|
||||
.fields-group
|
||||
= f.input :min_invite_role, wrapper: :with_label, collection: %i(disabled user moderator admin), label: t('admin.settings.registrations.min_invite_role.title'), label_method: lambda { |role| role == :disabled ? t('admin.settings.registrations.min_invite_role.disabled') : t("admin.accounts.roles.#{role}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
|
||||
.fields-row
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
= f.input :show_domain_blocks, wrapper: :with_label, collection: %i(disabled users all), label: t('admin.settings.domain_blocks.title'), label_method: lambda { |value| t("admin.settings.domain_blocks.#{value}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
= f.input :show_domain_blocks_rationale, wrapper: :with_label, collection: %i(disabled users all), label: t('admin.settings.domain_blocks_rationale.title'), label_method: lambda { |value| t("admin.settings.domain_blocks.#{value}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
|
||||
.fields-group
|
||||
= f.input :closed_registrations_message, as: :text, wrapper: :with_block_label, label: t('admin.settings.registrations.closed_message.title'), hint: t('admin.settings.registrations.closed_message.desc_html'), input_html: { rows: 8 }
|
||||
= f.input :site_extended_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description_extended.title'), hint: t('admin.settings.site_description_extended.desc_html'), input_html: { rows: 8 } unless whitelist_mode?
|
||||
|
@@ -4,3 +4,13 @@
|
||||
|
||||
.hero-widget__text
|
||||
%p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
|
||||
|
||||
- if Setting.trends
|
||||
- trends = TrendingTags.get(3)
|
||||
|
||||
- unless trends.empty?
|
||||
.endorsements-widget.trends-widget
|
||||
%h4.emojify= t('footer.trending_now')
|
||||
|
||||
- trends.each do |tag|
|
||||
= react_component :hashtag, hashtag: ActiveModelSerializers::SerializableResource.new(tag, serializer: REST::TagSerializer).as_json
|
||||
|
@@ -5,7 +5,7 @@
|
||||
= preload_link_tag asset_pack_path('features/notifications.js'), crossorigin: 'anonymous'
|
||||
|
||||
%meta{name: 'applicationServerKey', content: Rails.configuration.x.vapid_public_key}
|
||||
%script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json)
|
||||
= render_initial_state
|
||||
|
||||
.app-holder#mastodon{ data: { props: Oj.dump(default_props) } }
|
||||
%noscript
|
||||
|
@@ -10,5 +10,8 @@
|
||||
.fields-group
|
||||
= f.input :autofollow, wrapper: :with_label
|
||||
|
||||
.fields-group
|
||||
= f.input :comment, wrapper: :with_label, input_html: { maxlength: 420 }
|
||||
|
||||
.actions
|
||||
= f.button :button, t('invites.generate'), type: :submit
|
||||
|
@@ -20,6 +20,9 @@
|
||||
%td{ colspan: 2 }
|
||||
= t('invites.expired')
|
||||
|
||||
%td
|
||||
= invite.comment
|
||||
|
||||
%td
|
||||
- if invite.valid_for_use? && policy(invite).destroy?
|
||||
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
|
||||
|
@@ -15,6 +15,7 @@
|
||||
%th
|
||||
%th= t('invites.table.uses')
|
||||
%th= t('invites.table.expires_at')
|
||||
%th= t('invites.table.comment')
|
||||
%th
|
||||
%tbody
|
||||
= render @invites
|
||||
|
@@ -1,3 +1,6 @@
|
||||
- content_for :header_tags do
|
||||
= render_initial_state
|
||||
|
||||
- content_for :content do
|
||||
.public-layout
|
||||
- unless @hide_navbar
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
- content_for :header_tags do
|
||||
%meta{ name: 'robots', content: 'noindex' }/
|
||||
%script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json)
|
||||
|
||||
.page-header
|
||||
%h1= t('about.see_whats_happening')
|
||||
|
@@ -1,6 +1,10 @@
|
||||
- content_for :page_title do
|
||||
= t('settings.featured_tags')
|
||||
|
||||
%p= t('featured_tags.hint_html')
|
||||
|
||||
%hr.spacer/
|
||||
|
||||
= simple_form_for @featured_tag, url: settings_featured_tags_path do |f|
|
||||
= render 'shared/error_messages', object: @featured_tag
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
- content_for :header_tags do
|
||||
%script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json)
|
||||
= render_initial_state
|
||||
|
||||
#mastodon-compose{ data: { props: Oj.dump(default_props) } }
|
||||
|
@@ -5,7 +5,6 @@
|
||||
%meta{ name: 'robots', content: 'noindex' }/
|
||||
%link{ rel: 'alternate', type: 'application/rss+xml', href: tag_url(@tag, format: 'rss') }/
|
||||
|
||||
%script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json)
|
||||
= render 'og'
|
||||
|
||||
.page-header
|
||||
|
Reference in New Issue
Block a user