M .haml-lint_todo.yml => .haml-lint_todo.yml +2 -2
@@ 1,6 1,6 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
-# on 2023-09-28 10:42:25 -0400 using Haml-Lint version 0.50.0.
+# on 2023-10-03 08:32:28 -0400 using Haml-Lint version 0.51.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
@@ 15,7 15,7 @@ linters:
UnnecessaryStringOutput:
enabled: false
- # Offense count: 59
+ # Offense count: 44
RuboCop:
enabled: false
A app/helpers/admin/announcements_helper.rb => app/helpers/admin/announcements_helper.rb +11 -0
@@ 0,0 1,11 @@
+# frozen_string_literal: true
+
+module Admin::AnnouncementsHelper
+ def datetime_pattern
+ '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}'
+ end
+
+ def datetime_placeholder
+ Time.zone.now.strftime('%FT%R')
+ end
+end
M app/views/admin/accounts/show.html.haml => app/views/admin/accounts/show.html.haml +1 -1
@@ 72,7 72,7 @@
.dashboard__counters__label= t 'admin.accounts.login_status'
- if @account.local? && @account.user.nil?
- = link_to t('admin.accounts.unblock_email'), unblock_email_admin_account_path(@account.id), method: :post, class: 'button' if can?(:unblock_email, @account) && CanonicalEmailBlock.where(reference_account_id: @account.id).exists?
+ = link_to t('admin.accounts.unblock_email'), unblock_email_admin_account_path(@account.id), method: :post, class: 'button' if can?(:unblock_email, @account) && CanonicalEmailBlock.exists?(reference_account_id: @account.id)
- else
.table-wrapper
%table.table.inline-table
M app/views/admin/announcements/edit.html.haml => app/views/admin/announcements/edit.html.haml +3 -3
@@ 5,8 5,8 @@
= render 'shared/error_messages', object: @announcement
.fields-group
- = f.input :starts_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') }
- = f.input :ends_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') }
+ = f.input :starts_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: datetime_pattern, placeholder: datetime_placeholder }
+ = f.input :ends_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: datetime_pattern, placeholder: datetime_placeholder }
.fields-group
= f.input :all_day, as: :boolean, wrapper: :with_label
@@ 16,7 16,7 @@
- unless @announcement.published?
.fields-group
- = f.input :scheduled_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') }
+ = f.input :scheduled_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: datetime_pattern, placeholder: datetime_placeholder }
.actions
= f.button :button, t('generic.save_changes'), type: :submit
M app/views/admin/announcements/new.html.haml => app/views/admin/announcements/new.html.haml +3 -3
@@ 5,8 5,8 @@
= render 'shared/error_messages', object: @announcement
.fields-group
- = f.input :starts_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') }
- = f.input :ends_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') }
+ = f.input :starts_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: datetime_pattern, placeholder: datetime_placeholder }
+ = f.input :ends_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: datetime_pattern, placeholder: datetime_placeholder }
.fields-group
= f.input :all_day, as: :boolean, wrapper: :with_label
@@ 15,7 15,7 @@
= f.input :text, wrapper: :with_block_label
.fields-group
- = f.input :scheduled_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}(:[0-9]{2}){1,2}', placeholder: Time.now.strftime('%FT%R') }
+ = f.input :scheduled_at, include_blank: true, wrapper: :with_block_label, html5: true, input_html: { pattern: datetime_pattern, placeholder: datetime_placeholder }
.actions
= f.button :button, t('.create'), type: :submit
M app/views/admin/reports/actions/preview.html.haml => app/views/admin/reports/actions/preview.html.haml +1 -1
@@ 61,7 61,7 @@
= fa_icon 'link'
= media_attachment.file_file_name
.strike-card__statuses-list__item__meta
- = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank' do
+ = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', rel: 'noopener noreferrer' do
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
- unless status.application.nil?
·
M app/views/admin/statuses/show.html.haml => app/views/admin/statuses/show.html.haml +1 -1
@@ 2,7 2,7 @@
= t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false))
- content_for :heading_actions do
- = link_to t('admin.statuses.open'), ActivityPub::TagManager.instance.url_for(@status), class: 'button', target: '_blank'
+ = link_to t('admin.statuses.open'), ActivityPub::TagManager.instance.url_for(@status), class: 'button', target: '_blank', rel: 'noopener noreferrer'
%h3= t('admin.statuses.metadata')
M app/views/admin/tags/show.html.haml => app/views/admin/tags/show.html.haml +1 -1
@@ 9,7 9,7 @@
.dashboard
.dashboard__item
- = react_admin_component :counter, measure: 'tag_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_accounts_measure'), href: tag_url(@tag), target: '_blank'
+ = react_admin_component :counter, measure: 'tag_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_accounts_measure'), href: tag_url(@tag), target: '_blank', rel: 'noopener noreferrer'
.dashboard__item
= react_admin_component :counter, measure: 'tag_uses', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_uses_measure')
.dashboard__item
M app/views/auth/registrations/new.html.haml => app/views/auth/registrations/new.html.haml +1 -1
@@ 26,7 26,7 @@
= f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label': t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), autocomplete: 'off' }, hint: false
= f.input :website, as: :url, wrapper: :with_label, label: t('simple_form.labels.defaults.honeypot', label: 'Website'), required: false, input_html: { 'aria-label': t('simple_form.labels.defaults.honeypot', label: 'Website'), autocomplete: 'off' }
- - if approved_registrations? && !@invite.present?
+ - if approved_registrations? && @invite.blank?
%p.lead= t('auth.sign_up.manual_review', domain: site_hostname)
.fields-group
M app/views/disputes/strikes/show.html.haml => app/views/disputes/strikes/show.html.haml +2 -2
@@ 25,7 25,7 @@
- unless @strike.none_action?
%p= t "user_mailer.warning.explanation.#{@strike.action}", instance: Rails.configuration.x.local_domain
- - unless @strike.text.blank?
+ - if @strike.text.present?
= linkify(@strike.text)
- if @strike.report && !@strike.report.other?
@@ 57,7 57,7 @@
= fa_icon 'link'
= media_attachment.file_file_name
.strike-card__statuses-list__item__meta
- = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank' do
+ = link_to ActivityPub::TagManager.instance.url_for(status), target: '_blank', rel: 'noopener noreferrer' do
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
- unless status.application.nil?
·
M app/views/statuses/_detailed_status.html.haml => app/views/statuses/_detailed_status.html.haml +1 -1
@@ 77,4 77,4 @@
- if user_signed_in?
·
- = link_to t('statuses.open_in_web'), web_url("@#{status.account.pretty_acct}/#{status.id}"), class: 'detailed-status__application', target: '_blank'
+ = link_to t('statuses.open_in_web'), web_url("@#{status.account.pretty_acct}/#{status.id}"), class: 'detailed-status__application', target: '_blank', rel: 'noopener noreferrer'
M app/views/user_mailer/warning.html.haml => app/views/user_mailer/warning.html.haml +2 -2
@@ 39,7 39,7 @@
- unless @warning.none_action?
%p= t "user_mailer.warning.explanation.#{@warning.action}", instance: @instance
- - unless @warning.text.blank?
+ - if @warning.text.present?
= linkify(@warning.text)
- if @warning.report && !@warning.report.other?
@@ 68,7 68,7 @@
%table.content-section{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
- %td.content-cell{ class: @statuses.nil? || @statuses.empty? ? '' : 'content-start' }
+ %td.content-cell{ class: @statuses.blank? ? '' : 'content-start' }
%table.column{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr