Fix some antenna views
This commit is contained in:
parent
49d036e9c6
commit
59fcf47180
5 changed files with 19 additions and 11 deletions
|
@ -1067,6 +1067,13 @@ a.name-tag,
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.listname {
|
||||||
|
color: $dark-text-color;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.expiration {
|
.expiration {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ class Antenna < ApplicationRecord
|
||||||
scope :availables, -> { where(available: true).where(Arel.sql('any_keywords = FALSE OR any_domains = FALSE OR any_accounts = FALSE OR any_tags = FALSE')) }
|
scope :availables, -> { where(available: true).where(Arel.sql('any_keywords = FALSE OR any_domains = FALSE OR any_accounts = FALSE OR any_tags = FALSE')) }
|
||||||
|
|
||||||
def enabled?
|
def enabled?
|
||||||
available && !expires? && !(any_keywords && any_domains && any_accounts && any_tags)
|
available && !expired? && !(any_keywords && any_domains && any_accounts && any_tags)
|
||||||
end
|
end
|
||||||
|
|
||||||
def expires_in
|
def expires_in
|
||||||
|
@ -44,10 +44,6 @@ class Antenna < ApplicationRecord
|
||||||
[30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week].find { |expires_in| expires_in.from_now >= expires_at }
|
[30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week].find { |expires_in| expires_in.from_now >= expires_at }
|
||||||
end
|
end
|
||||||
|
|
||||||
def expires?
|
|
||||||
expires_at.present? && expires_at < Time.now.utc
|
|
||||||
end
|
|
||||||
|
|
||||||
def context
|
def context
|
||||||
context = []
|
context = []
|
||||||
context << 'domain' if !any_domains
|
context << 'domain' if !any_domains
|
||||||
|
@ -73,7 +69,7 @@ class Antenna < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def keywords_raw=(raw)
|
def keywords_raw=(raw)
|
||||||
keywords = raw.split(/\R/).filter { |r| r.present? }.uniq
|
keywords = raw.split(/\R/).filter { |r| r.present? && r.length >= 2 }.uniq
|
||||||
self[:keywords] = keywords
|
self[:keywords] = keywords
|
||||||
self[:any_keywords] = !keywords.any? && !exclude_keywords&.any?
|
self[:any_keywords] = !keywords.any? && !exclude_keywords&.any?
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,6 +8,7 @@ class DeleteAccountService < BaseService
|
||||||
account_pins
|
account_pins
|
||||||
active_relationships
|
active_relationships
|
||||||
aliases
|
aliases
|
||||||
|
antennas
|
||||||
block_relationships
|
block_relationships
|
||||||
blocked_by_relationships
|
blocked_by_relationships
|
||||||
conversation_mutes
|
conversation_mutes
|
||||||
|
|
|
@ -119,13 +119,14 @@ class FanOutOnWriteService < BaseService
|
||||||
def deliver_to_antennas!
|
def deliver_to_antennas!
|
||||||
lists = []
|
lists = []
|
||||||
antennas = Antenna.availables
|
antennas = Antenna.availables
|
||||||
antennas = antennas.left_joins(:antenna_accounts).where(any_accounts: true).or(Antenna.left_joins(:antenna_accounts) .where(antenna_accounts: { exclude: false, account: @status.account }))
|
antennas = antennas.left_joins(:antenna_accounts).where(any_accounts: true).or(Antenna.availables.left_joins(:antenna_accounts) .where(antenna_accounts: { exclude: false, account: @status.account }))
|
||||||
antennas = antennas.left_joins(:antenna_domains) .where(any_domains: true) .or(Antenna.left_joins(:antenna_accounts).left_joins(:antenna_domains) .where(antenna_domains: { exclude: false, name: @status.account.domain }))
|
antennas = antennas.left_joins(:antenna_domains) .where(any_domains: true) .or(Antenna.availables.left_joins(:antenna_accounts).left_joins(:antenna_domains) .where(antenna_domains: { exclude: false, name: @status.account.domain }))
|
||||||
antennas = antennas.left_joins(:antenna_tags) .where(any_tags: true) .or(Antenna.left_joins(:antenna_accounts).left_joins(:antenna_domains).left_joins(:antenna_tags).where(antenna_tags: { exclude: false, tag: @status.tags }))
|
antennas = antennas.left_joins(:antenna_tags) .where(any_tags: true) .or(Antenna.availables.left_joins(:antenna_accounts).left_joins(:antenna_domains).left_joins(:antenna_tags).where(antenna_tags: { exclude: false, tag: @status.tags }))
|
||||||
|
antennas = antennas.where(account: @status.account.followers) if @status.visibility.to_sym == :unlisted
|
||||||
antennas.in_batches do |ans|
|
antennas.in_batches do |ans|
|
||||||
ans.each do |antenna|
|
ans.each do |antenna|
|
||||||
next if !antenna.enabled?
|
next if !antenna.enabled?
|
||||||
next if antenna.keywords.any? && !antenna.keywords.any? { |keyword| @status.text.include?(keyword) }
|
next if antenna.keywords.any? && [nil, :public].include?(@status.searchability.to_sym) && !antenna.keywords.any? { |keyword| @status.text.include?(keyword) }
|
||||||
next if antenna.exclude_keywords.any? && antenna.exclude_keywords.any? { |keyword| @status.text.include?(keyword) }
|
next if antenna.exclude_keywords.any? && antenna.exclude_keywords.any? { |keyword| @status.text.include?(keyword) }
|
||||||
next if antenna.antenna_accounts.where(exclude: true, account: @status.account).any?
|
next if antenna.antenna_accounts.where(exclude: true, account: @status.account).any?
|
||||||
next if antenna.antenna_domains.where(exclude: true, name: @status.account.domain).any?
|
next if antenna.antenna_domains.where(exclude: true, name: @status.account.domain).any?
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
- else
|
- else
|
||||||
= t('antennas.index.expires_in', distance: distance_of_time_in_words_to_now(antenna.expires_at))
|
= t('antennas.index.expires_in', distance: distance_of_time_in_words_to_now(antenna.expires_at))
|
||||||
|
|
||||||
|
.listname
|
||||||
|
= antenna.list.title
|
||||||
|
|
||||||
.filters-list__item__permissions
|
.filters-list__item__permissions
|
||||||
%ul.permissions-list
|
%ul.permissions-list
|
||||||
- unless antenna.antenna_domains.empty?
|
- unless antenna.antenna_domains.empty?
|
||||||
|
@ -58,7 +61,7 @@
|
||||||
|
|
||||||
.announcements-list__item__action-bar
|
.announcements-list__item__action-bar
|
||||||
.announcements-list__item__meta
|
.announcements-list__item__meta
|
||||||
= t('antenna.index.contexts', contexts: antenna.context.map { |context| I18n.t("antenna.contexts.#{context}") }.join(', '))
|
= t('antennas.index.contexts', contexts: antenna.context.map { |context| I18n.t("antennas.contexts.#{context}") }.join(', '))
|
||||||
|
|
||||||
%div
|
%div
|
||||||
= table_link_to 'pencil', t('antennas.edit.title'), edit_antenna_path(antenna)
|
= table_link_to 'pencil', t('antennas.edit.title'), edit_antenna_path(antenna)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue