diff --git a/app/assets/javascripts/posts.js.erb b/app/assets/javascripts/posts.js.erb index 368e41da5..36283ed77 100644 --- a/app/assets/javascripts/posts.js.erb +++ b/app/assets/javascripts/posts.js.erb @@ -438,7 +438,7 @@ $("#comments").show(); $("#edit").hide(); $("#share").hide(); - $("#similar").hide(); + $("#recommended").hide(); } else if (e.target.hash === "#edit") { $("#edit").show(); $("#comments").hide(); @@ -446,18 +446,18 @@ $("#post_tag_string").focus().selectEnd().height($("#post_tag_string")[0].scrollHeight); $("#related-tags-button").trigger("click"); $("#find-artist-button").trigger("click"); - $("#similar").hide(); - } else if (e.target.hash === "#similar") { + $("#recommended").hide(); + } else if (e.target.hash === "#recommended") { $("#comments").hide(); $("#edit").hide(); $("#share").hide(); - $("#similar").show(); + $("#recommended").show(); } else { $("#edit").hide(); $("#comments").hide(); $("#share").show(); addthis.init(); - $("#similar").hide(); + $("#recommended").hide(); } $("#post-sections li").removeClass("active"); @@ -465,11 +465,14 @@ e.preventDefault(); }); - $("#post-sections li:first-child").addClass("active"); $("#notes").hide(); $("#edit").hide(); - if ($("#similar").length) { + if ($("#recommended").data("available")) { + $("#post-sections li:first-child").addClass("active"); $("#comments").hide(); + } else { + $("#post-sections li:nth-child(2)").addClass("active"); + $("#recommended").hide(); } } diff --git a/app/assets/stylesheets/specific/posts.scss b/app/assets/stylesheets/specific/posts.scss index 97e3ff1ad..fd22a57f2 100644 --- a/app/assets/stylesheets/specific/posts.scss +++ b/app/assets/stylesheets/specific/posts.scss @@ -324,7 +324,7 @@ div#c-posts { font-weight: bold; } - .similar-posts { + .recommended-posts { margin-top: 1em; } diff --git a/app/assets/stylesheets/specific/z_responsive.scss b/app/assets/stylesheets/specific/z_responsive.scss index 7c5043d03..72c8b73eb 100644 --- a/app/assets/stylesheets/specific/z_responsive.scss +++ b/app/assets/stylesheets/specific/z_responsive.scss @@ -178,6 +178,7 @@ article.post-preview { width: 33.3%; height: 33.3vw; + overflow: hidden; } img { diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index aa10f6490..f796cec7d 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -96,6 +96,7 @@ class UsersController < ApplicationController disable_categorized_saved_searches disable_tagged_filenames enable_recent_searches disable_cropped_thumbnails disable_mobile_gestures enable_safe_mode disable_responsive_mode disable_post_tooltips + enable_recommended_posts ] permitted_params += [dmail_filter_attributes: %i[id words]] diff --git a/app/logical/anonymous_user.rb b/app/logical/anonymous_user.rb index 24adbeb4c..6db9b7149 100644 --- a/app/logical/anonymous_user.rb +++ b/app/logical/anonymous_user.rb @@ -281,6 +281,10 @@ class AnonymousUser false end + def enable_recommended_posts? + false + end + User::Roles.reject {|r| r == :anonymous}.each do |name| define_method("is_#{name}?") do false diff --git a/app/logical/post_sets/similar.rb b/app/logical/post_sets/recommended.rb similarity index 91% rename from app/logical/post_sets/similar.rb rename to app/logical/post_sets/recommended.rb index 395432f33..01ffe92c1 100644 --- a/app/logical/post_sets/similar.rb +++ b/app/logical/post_sets/recommended.rb @@ -1,5 +1,5 @@ module PostSets - class Similar < PostSets::Post + class Recommended < PostSets::Post def initialize(post) super("") @post = post diff --git a/app/models/recommender_service.rb b/app/models/recommender_service.rb index 47723ebdf..19fb776c2 100644 --- a/app/models/recommender_service.rb +++ b/app/models/recommender_service.rb @@ -1,12 +1,14 @@ module RecommenderService extend self + SCORE_THRESHOLD = 10 + def enabled? Danbooru.config.recommender_server.present? end def available?(post) - enabled? && post.created_at > 6.months.ago && post.score >= 10 + enabled? && CurrentUser.enable_recommended_posts? && post.created_at > Date.civil(2018, 1, 1) #&& post.score >= SCORE_THRESHOLD end def similar(post) diff --git a/app/models/user.rb b/app/models/user.rb index 510265637..6eb6937d5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -59,6 +59,7 @@ class User < ApplicationRecord enable_safe_mode disable_responsive_mode disable_post_tooltips + enable_recommended_posts ) include Danbooru::HasBitFlags diff --git a/app/views/posts/partials/index/_recommended.html.erb b/app/views/posts/partials/index/_recommended.html.erb new file mode 100644 index 000000000..87d1b83f3 --- /dev/null +++ b/app/views/posts/partials/index/_recommended.html.erb @@ -0,0 +1,7 @@ +
You might also like:
+ +You might also like:
- -Not enough data available
+ <% end %> +