diff --git a/app/helpers/forum_topics_helper.rb b/app/helpers/forum_topics_helper.rb index 8e537f088..e006e4107 100644 --- a/app/helpers/forum_topics_helper.rb +++ b/app/helpers/forum_topics_helper.rb @@ -11,11 +11,13 @@ module ForumTopicsHelper !read_forum_topics.map(&:id).include?(topic.id) end - def bulk_update_request_counts(topic) - requests = [] - requests << %(Pending: #{topic.pending_bur_count}) if topic.pending_bur_count.positive? - requests << %(Approved: #{topic.approved_bur_count}) if topic.approved_bur_count.positive? - requests << %(Rejected: #{topic.rejected_bur_count}) if topic.rejected_bur_count.positive? - requests.join(" | ").html_safe + def forum_topic_status(topic) + if topic.bulk_update_requests.any?(&:is_pending?) + :pending + elsif topic.category_name == "Tags" && topic.bulk_update_requests.all?(&:is_approved?) + :approved + elsif topic.category_name == "Tags" && topic.bulk_update_requests.all?(&:is_rejected?) + :rejected + end end end diff --git a/app/javascript/src/styles/base/040_colors.css b/app/javascript/src/styles/base/040_colors.css index c9e788996..d1ec007da 100644 --- a/app/javascript/src/styles/base/040_colors.css +++ b/app/javascript/src/styles/base/040_colors.css @@ -62,6 +62,9 @@ --forum-vote-meh-color: goldenrod; --forum-vote-down-color: red; --forum-topic-status-new-color: red; + --forum-topic-status-pending-color: red; + --forum-topic-status-approved-color: green; + --forum-topic-status-rejected-color: green; --moderation-report-text-color: red; --moderation-report-border: 2px solid red; @@ -325,6 +328,9 @@ body[data-current-user-theme="dark"] { --forum-vote-meh-color: var(--yellow-1); --forum-vote-down-color: var(--red-1); --forum-topic-status-new-color: var(--red-1); + --forum-topic-status-pending-color: var(--red-1); + --forum-topic-status-approved-color: var(--green-1); + --forum-topic-status-rejected-color: var(--green-1); --moderation-report-text-color: var(--red-1); --moderation-report-border: 2px solid var(--red-1); diff --git a/app/javascript/src/styles/specific/forum.scss b/app/javascript/src/styles/specific/forum.scss index 093e8ca24..9a5eafad9 100644 --- a/app/javascript/src/styles/specific/forum.scss +++ b/app/javascript/src/styles/specific/forum.scss @@ -57,6 +57,18 @@ div#c-forum-topics { &.new { color: var(--forum-topic-status-new-color); } + + &.pending { + color: var(--forum-topic-status-pending-color); + } + + &.approved { + color: var(--forum-topic-status-approved-color); + } + + &.rejected { + color: var(--forum-topic-status-rejected-color); + } } #a-index { diff --git a/app/models/forum_topic.rb b/app/models/forum_topic.rb index 8dc394d2e..4e14ba1ed 100644 --- a/app/models/forum_topic.rb +++ b/app/models/forum_topic.rb @@ -163,16 +163,8 @@ class ForumTopic < ApplicationRecord original_post&.update_columns(:updater_id => updater.id, :updated_at => Time.now) end - def pending_bur_count - bulk_update_requests.select {|request| request.status == "pending"}.size - end - - def approved_bur_count - bulk_update_requests.select {|request| request.status == "approved"}.size - end - - def rejected_bur_count - bulk_update_requests.select {|request| request.status == "rejected"}.size + def pretty_title + title.gsub(/\A\[APPROVED\]|\[REJECTED\]/, "") end def self.available_includes diff --git a/app/views/forum_topics/_listing.html.erb b/app/views/forum_topics/_listing.html.erb index 9693faa0f..d098794bd 100644 --- a/app/views/forum_topics/_listing.html.erb +++ b/app/views/forum_topics/_listing.html.erb @@ -28,15 +28,18 @@ New <% end %> - <%= link_to topic.title, forum_topic_path(topic), class: "forum-post-link" %> + <% status = forum_topic_status(topic) %> + <% if status.present? %> + <%= status %> + <%= link_to topic.pretty_title, forum_topic_path(topic), class: "forum-post-link" %> + <% else %> + <%= link_to topic.title, forum_topic_path(topic), class: "forum-post-link" %> + <% end %> <% if topic.response_count > Danbooru.config.posts_per_page %> <%= link_to "page #{topic.last_page}", forum_topic_path(topic, :page => topic.last_page), :class => "last-page" %> <% end %> <% end %> - <% t.column "BURs", width: "20%" do |topic| %> - <%= bulk_update_request_counts(topic) %> - <% end %> <% t.column "Creator", width: "8%" do |topic| %> <%= link_to_user topic.creator %> <% end %>