* Set the default comment threshold to -8. This means that comments are hidden at -8 or lower and greyed out at -4 or lower. * Reset the comment threshold to -8 for anyone with a threshold greater than -8. For reference, only about ~3100 users had a non-default threshold. About 1600 of those had their threshold reset to -8. * Change the comment threshold to a less-than-or-equal comparison instead of a less-than comparsion. This means that a threshold of 0 before is the same as a threshold of -1 now. Since everyone's thresholds were reset, this only affects people whose thresholds were already less than -8, which is so low that the difference shouldn't matter much. * Set the maximum comment threshold to 5. For reference, less than 1% of comments have a score greater than 5. * Set the minimum comment threshold to -100. For reference, the most downvoted comment has a score of -60.
30 lines
861 B
Ruby
30 lines
861 B
Ruby
# frozen_string_literal: true
|
|
|
|
class CommentComponent < ApplicationComponent
|
|
attr_reader :comment, :context, :dtext_data, :current_user
|
|
delegate :link_to_user, :time_ago_in_words_tagged, :format_text, to: :helpers
|
|
|
|
def initialize(comment:, current_user:, context: nil, dtext_data: nil)
|
|
@comment = comment
|
|
@context = context
|
|
@dtext_data = dtext_data
|
|
@current_user = current_user
|
|
end
|
|
|
|
def dimmed?
|
|
comment.is_deleted? || (!comment.is_sticky? && comment.score <= current_user.comment_threshold/2.0)
|
|
end
|
|
|
|
def thresholded?
|
|
!comment.is_deleted? && !comment.is_sticky? && comment.score <= current_user.comment_threshold
|
|
end
|
|
|
|
def redact_deleted?
|
|
comment.is_deleted? && !policy(comment).can_see_deleted?
|
|
end
|
|
|
|
def has_moderation_reports?
|
|
policy(ModerationReport).show? && comment.moderation_reports.present?
|
|
end
|
|
end
|