Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `app/models/account.rb`: Not a real conflict, just upstream getting rid of unused constants too close to glitch-soc-specific contents. Removed unused constants like upstream did. - `app/models/trends.rb`: Conflict because glitch-soc disabled email notifications for trending links. Upstream has refactored this quite a bit and added trending posts. Took upstream code, but disabling the extra trending stuff will come in another commit. - `app/views/admin/trends/links/index.html.haml`: Conflict due to glitch-soc's theming system. Ported upstream changes accordingly.
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
= f.check_box :custom_emoji_ids, { multiple: true, include_hidden: false }, custom_emoji.id
|
||||
.batch-table__row__content.batch-table__row__content--with-image
|
||||
.batch-table__row__content__image
|
||||
= custom_emoji_tag(custom_emoji, animate = current_account&.user&.setting_auto_play_gif)
|
||||
= custom_emoji_tag(custom_emoji, current_account&.user&.setting_auto_play_gif)
|
||||
|
||||
.batch-table__row__content__text
|
||||
%samp= ":#{custom_emoji.shortcode}:"
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
%tr
|
||||
%td
|
||||
%samp= email_domain_block.domain
|
||||
%td
|
||||
= table_link_to 'trash', t('admin.email_domain_blocks.delete'), admin_email_domain_block_path(email_domain_block), method: :delete
|
||||
.batch-table__row
|
||||
%label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
|
||||
= f.check_box :email_domain_block_ids, { multiple: true, include_hidden: false }, email_domain_block.id
|
||||
.batch-table__row__content.pending-account
|
||||
.pending-account__header
|
||||
%samp= link_to email_domain_block.domain, admin_accounts_path(email: "%@#{email_domain_block.domain}")
|
||||
|
||||
- email_domain_block.children.each do |child_email_domain_block|
|
||||
%tr
|
||||
%td
|
||||
%samp= child_email_domain_block.domain
|
||||
%span.muted-hint
|
||||
= surround '(', ')' do
|
||||
= t('admin.email_domain_blocks.from_html', domain: content_tag(:samp, email_domain_block.domain))
|
||||
%td
|
||||
= table_link_to 'trash', t('admin.email_domain_blocks.delete'), admin_email_domain_block_path(child_email_domain_block), method: :delete
|
||||
%br/
|
||||
|
||||
- if email_domain_block.parent.present?
|
||||
= t('admin.email_domain_blocks.resolved_through_html', domain: content_tag(:samp, email_domain_block.parent.domain))
|
||||
•
|
||||
|
||||
= t('admin.email_domain_blocks.attempts_over_week', count: email_domain_block.history.reduce(0) { |sum, day| sum + day.accounts })
|
||||
|
||||
@@ -4,16 +4,22 @@
|
||||
- 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.empty?
|
||||
%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 partial: 'email_domain_block', collection: @email_domain_blocks
|
||||
- content_for :header_tags do
|
||||
= javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous'
|
||||
|
||||
= form_for(@form, url: batch_admin_email_domain_blocks_path) do |f|
|
||||
= hidden_field_tag :page, params[:page] || 1
|
||||
|
||||
.batch-table
|
||||
.batch-table__toolbar
|
||||
%label.batch-table__toolbar__select.batch-checkbox-all
|
||||
= check_box_tag :batch_checkbox_all, nil, false
|
||||
.batch-table__toolbar__actions
|
||||
= f.button safe_join([fa_icon('times'), t('admin.email_domain_blocks.delete')]), name: :delete, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
.batch-table__body
|
||||
- if @email_domain_blocks.empty?
|
||||
= nothing_here 'nothing-here--under-tabs'
|
||||
- else
|
||||
= render partial: 'email_domain_block', collection: @email_domain_blocks.flat_map { |x| [x, x.children.to_a].flatten }, locals: { f: f }
|
||||
|
||||
= paginate @email_domain_blocks
|
||||
|
||||
@@ -1,14 +1,38 @@
|
||||
- content_for :page_title do
|
||||
= t('.title')
|
||||
|
||||
- content_for :header_tags do
|
||||
= javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous'
|
||||
|
||||
= simple_form_for @email_domain_block, url: admin_email_domain_blocks_path do |f|
|
||||
= render 'shared/error_messages', object: @email_domain_block
|
||||
|
||||
.fields-group
|
||||
= f.input :domain, wrapper: :with_block_label, label: t('admin.email_domain_blocks.domain')
|
||||
= f.input :domain, wrapper: :with_block_label, label: t('admin.email_domain_blocks.domain'), input_html: { readonly: defined?(@resolved_records) }
|
||||
|
||||
.fields-group
|
||||
= f.input :with_dns_records, as: :boolean, wrapper: :with_label
|
||||
- if defined?(@resolved_records)
|
||||
%p.hint= t('admin.email_domain_blocks.resolved_dns_records_hint_html')
|
||||
|
||||
.batch-table
|
||||
.batch-table__toolbar
|
||||
%label.batch-table__toolbar__select.batch-checkbox-all
|
||||
= check_box_tag :batch_checkbox_all, nil, false
|
||||
.batch-table__toolbar__actions
|
||||
.batch-table__body
|
||||
- @resolved_records.each do |record|
|
||||
.batch-table__row
|
||||
%label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
|
||||
= f.input_field :other_domains, as: :boolean, checked_value: record.exchange.to_s, include_hidden: false, multiple: true
|
||||
.batch-table__row__content.pending-account
|
||||
.pending-account__header
|
||||
%samp= record.exchange.to_s
|
||||
%br
|
||||
= t('admin.email_domain_blocks.dns.types.mx')
|
||||
|
||||
%hr.spacer/
|
||||
|
||||
.actions
|
||||
= f.button :button, t('.create'), type: :submit
|
||||
- if defined?(@resolved_records)
|
||||
= f.button :button, t('.create'), type: :submit, name: :save
|
||||
- else
|
||||
= f.button :button, t('.resolve'), type: :submit, name: :resolve
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
%hr.spacer/
|
||||
|
||||
= form_tag admin_follow_recommendations_path, method: 'GET', class: 'simple_form' do
|
||||
- RelationshipFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
.filters
|
||||
.filter-subset.filter-subset--with-select
|
||||
%strong= t('admin.follow_recommendations.language')
|
||||
.input.select.optional
|
||||
= select_tag :language, options_for_select(I18n.available_locales.map { |key| key.to_s.split(/[_-]/).first.to_sym }.uniq.map { |key| [standard_locale_name(key), key]}, @language)
|
||||
|
||||
= select_tag :language, options_for_select(Trends.available_locales.map { |key| [standard_locale_name(key), key] }, @language)
|
||||
.filter-subset
|
||||
%strong= t('admin.follow_recommendations.status')
|
||||
%ul
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
- content_for :page_title do
|
||||
= t('admin.trends.links.title')
|
||||
|
||||
.filters
|
||||
.filter-subset
|
||||
%strong= t('admin.trends.trending')
|
||||
%ul
|
||||
%li= filter_link_to t('generic.all'), trending: nil
|
||||
%li= filter_link_to t('admin.trends.only_allowed'), trending: 'allowed'
|
||||
.back-link
|
||||
= link_to admin_trends_links_preview_card_providers_path do
|
||||
= t('admin.trends.preview_card_providers.title')
|
||||
= fa_icon 'chevron-right fw'
|
||||
= form_tag admin_trends_links_path, method: 'GET', class: 'simple_form' do
|
||||
- Trends::PreviewCardFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
%hr.spacer/
|
||||
.filters
|
||||
.filter-subset.filter-subset--with-select
|
||||
%strong= t('admin.follow_recommendations.language')
|
||||
.input.select.optional
|
||||
= select_tag :locale, options_for_select(Trends.available_locales.map { |key| [standard_locale_name(key), key] }, params[:locale]), include_blank: true
|
||||
.filter-subset
|
||||
%strong= t('admin.trends.trending')
|
||||
%ul
|
||||
%li= filter_link_to t('generic.all'), trending: nil
|
||||
%li= filter_link_to t('admin.trends.only_allowed'), trending: 'allowed'
|
||||
.back-link
|
||||
= link_to admin_trends_links_preview_card_providers_path do
|
||||
= t('admin.trends.preview_card_providers.title')
|
||||
= fa_icon 'chevron-right fw'
|
||||
|
||||
= form_for(@form, url: batch_admin_trends_links_path) do |f|
|
||||
= hidden_field_tag :page, params[:page] || 1
|
||||
|
||||
- PreviewCardFilter::KEYS.each do |key|
|
||||
- Trends::PreviewCardFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
.batch-table
|
||||
@@ -26,9 +32,9 @@
|
||||
= check_box_tag :batch_checkbox_all, nil, false
|
||||
.batch-table__toolbar__actions
|
||||
= f.button safe_join([fa_icon('check'), t('admin.trends.links.allow')]), name: :approve, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('check'), t('admin.trends.links.allow_provider')]), name: :approve_all, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('check'), t('admin.trends.links.allow_provider')]), name: :approve_providers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('times'), t('admin.trends.links.disallow')]), name: :reject, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('times'), t('admin.trends.links.disallow_provider')]), name: :reject_all, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('times'), t('admin.trends.links.disallow_provider')]), name: :reject_providers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
.batch-table__body
|
||||
- if @preview_cards.empty?
|
||||
= nothing_here 'nothing-here--under-tabs'
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
= form_for(@form, url: batch_admin_trends_links_preview_card_providers_path) do |f|
|
||||
= hidden_field_tag :page, params[:page] || 1
|
||||
|
||||
- PreviewCardProviderFilter::KEYS.each do |key|
|
||||
- Trends::PreviewCardProviderFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
.batch-table.optional
|
||||
|
||||
30
app/views/admin/trends/statuses/_status.html.haml
Normal file
30
app/views/admin/trends/statuses/_status.html.haml
Normal file
@@ -0,0 +1,30 @@
|
||||
.batch-table__row{ class: [status.account.requires_review? && 'batch-table__row--attention', !status.account.requires_review? && !status.trendable? && 'batch-table__row--muted'] }
|
||||
%label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
|
||||
= f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
|
||||
|
||||
.batch-table__row__content.pending-account__header
|
||||
.one-liner
|
||||
= admin_account_link_to status.account
|
||||
|
||||
= link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', class: 'emojify', rel: 'noopener noreferrer' do
|
||||
= one_line_preview(status)
|
||||
|
||||
- status.media_attachments.each do |media_attachment|
|
||||
%abbr{ title: media_attachment.description }
|
||||
= fa_icon 'link'
|
||||
= media_attachment.file_file_name
|
||||
|
||||
= t('admin.trends.statuses.shared_by', count: status.reblogs_count + status.favourites_count, friendly_count: friendly_number_to_human(status.reblogs_count + status.favourites_count))
|
||||
|
||||
- if status.account.domain.present?
|
||||
•
|
||||
= status.account.domain
|
||||
- if status.language.present?
|
||||
•
|
||||
= standard_locale_name(status.language)
|
||||
- if status.trendable? && (rank = Trends.statuses.rank(status.id))
|
||||
•
|
||||
%abbr{ title: t('admin.trends.tags.current_score', score: Trends.statuses.score(status.id)) }= t('admin.trends.tags.trending_rank', rank: rank + 1)
|
||||
- elsif status.account.requires_review?
|
||||
•
|
||||
= t('admin.trends.pending_review')
|
||||
43
app/views/admin/trends/statuses/index.html.haml
Normal file
43
app/views/admin/trends/statuses/index.html.haml
Normal file
@@ -0,0 +1,43 @@
|
||||
- content_for :page_title do
|
||||
= t('admin.trends.statuses.title')
|
||||
|
||||
- content_for :header_tags do
|
||||
= javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous'
|
||||
|
||||
= form_tag admin_trends_statuses_path, method: 'GET', class: 'simple_form' do
|
||||
- Trends::StatusFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
.filters
|
||||
.filter-subset.filter-subset--with-select
|
||||
%strong= t('admin.follow_recommendations.language')
|
||||
.input.select.optional
|
||||
= select_tag :locale, options_for_select(Trends.available_locales.map { |key| [standard_locale_name(key), key]}, params[:locale]), include_blank: true
|
||||
.filter-subset
|
||||
%strong= t('admin.trends.trending')
|
||||
%ul
|
||||
%li= filter_link_to t('generic.all'), trending: nil
|
||||
%li= filter_link_to t('admin.trends.only_allowed'), trending: 'allowed'
|
||||
|
||||
= form_for(@form, url: batch_admin_trends_statuses_path) do |f|
|
||||
= hidden_field_tag :page, params[:page] || 1
|
||||
|
||||
- Trends::StatusFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
.batch-table
|
||||
.batch-table__toolbar
|
||||
%label.batch-table__toolbar__select.batch-checkbox-all
|
||||
= check_box_tag :batch_checkbox_all, nil, false
|
||||
.batch-table__toolbar__actions
|
||||
= f.button safe_join([fa_icon('check'), t('admin.trends.statuses.allow')]), name: :approve, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('check'), t('admin.trends.statuses.allow_account')]), name: :approve_accounts, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('times'), t('admin.trends.statuses.disallow')]), name: :reject, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
= f.button safe_join([fa_icon('times'), t('admin.trends.statuses.disallow_account')]), name: :reject_accounts, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
|
||||
.batch-table__body
|
||||
- if @statuses.empty?
|
||||
= nothing_here 'nothing-here--under-tabs'
|
||||
- else
|
||||
= render partial: 'status', collection: @statuses, locals: { f: f }
|
||||
|
||||
= paginate @statuses
|
||||
@@ -10,12 +10,10 @@
|
||||
%li= filter_link_to t('admin.trends.rejected'), status: 'rejected'
|
||||
%li= filter_link_to safe_join([t('admin.accounts.moderation.pending'), "(#{Tag.pending_review.count})"], ' '), status: 'pending_review'
|
||||
|
||||
%hr.spacer/
|
||||
|
||||
= form_for(@form, url: batch_admin_trends_tags_path) do |f|
|
||||
= hidden_field_tag :page, params[:page] || 1
|
||||
|
||||
- TagFilter::KEYS.each do |key|
|
||||
- Trends::TagFilter::KEYS.each do |key|
|
||||
= hidden_field_tag key, params[key] if params[key].present?
|
||||
|
||||
.batch-table.optional
|
||||
|
||||
Reference in New Issue
Block a user