diff --git a/app/lib/constants/settings/user_experience.rb b/app/lib/constants/settings/user_experience.rb index a093406c2..160e89176 100644 --- a/app/lib/constants/settings/user_experience.rb +++ b/app/lib/constants/settings/user_experience.rb @@ -25,6 +25,10 @@ module Constants description: I18n.t("lib.constants.settings.user_experience.index_minimum_score.description"), placeholder: "0" }, + index_minimum_date: { + description: I18n.t("lib.constants.settings.user_experience.index_minimum_date.description"), + placeholder: "1500000000" + }, primary_brand_color_hex: { description: I18n.t("lib.constants.settings.user_experience.primary_hex.description"), placeholder: "#0a0a0a" diff --git a/app/models/article.rb b/app/models/article.rb index af55f08a8..5007eb4d1 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -594,7 +594,7 @@ class Article < ApplicationRecord (score < Settings::UserExperience.index_minimum_score && user.comments_count < 1 && !featured) || - published_at.to_i < 1_500_000_000 || + published_at.to_i < Settings::UserExperience.index_minimum_date.to_i || score < -1 end diff --git a/app/models/settings/user_experience.rb b/app/models/settings/user_experience.rb index 334d5817d..35ec8c9cf 100644 --- a/app/models/settings/user_experience.rb +++ b/app/models/settings/user_experience.rb @@ -18,6 +18,7 @@ module Settings } setting :home_feed_minimum_score, type: :integer, default: 0 setting :index_minimum_score, type: :integer, default: 0 + setting :index_minimum_date, type: :integer, default: 1_500_000_000 setting :primary_brand_color_hex, type: :string, default: "#3b49df", validates: { format: { with: HEX_COLOR_REGEX, diff --git a/app/views/admin/settings/forms/_user_experience.html.erb b/app/views/admin/settings/forms/_user_experience.html.erb index 68e19920b..8708a0617 100644 --- a/app/views/admin/settings/forms/_user_experience.html.erb +++ b/app/views/admin/settings/forms/_user_experience.html.erb @@ -45,6 +45,14 @@ value: Settings::UserExperience.index_minimum_score, placeholder: Constants::Settings::UserExperience.details[:index_minimum_score][:placeholder] %> +
+ <%= admin_config_label :index_minimum_date, model: Settings::UserExperience %> + <%= admin_config_description Constants::Settings::UserExperience.details[:index_minimum_date][:description] %> + <%= f.number_field :index_minimum_date, + class: "crayons-textfield", + value: Settings::UserExperience.index_minimum_date, + placeholder: Constants::Settings::UserExperience.details[:index_minimum_date][:placeholder] %> +
<%= admin_config_label :default_font, model: Settings::UserExperience %> <%= admin_config_description Constants::Settings::UserExperience.details[:default_font][:description] %> diff --git a/config/locales/lib/en.yml b/config/locales/lib/en.yml index 4909bbb29..b9feecfa3 100644 --- a/config/locales/lib/en.yml +++ b/config/locales/lib/en.yml @@ -201,6 +201,8 @@ en: placeholder: basic, rich, or compact home_feed: description: Minimum score needed for a post to show up on the unauthenticated home page. + index_minimum_date: + description: Minimum date needed for a post to be indexed by search engines (Unix Timestamp). index_minimum_score: description: Minimum score needed for a post to be indexed by search engines. primary_hex: diff --git a/config/locales/lib/fr.yml b/config/locales/lib/fr.yml index 3b5bf13c6..d65b8876f 100644 --- a/config/locales/lib/fr.yml +++ b/config/locales/lib/fr.yml @@ -201,6 +201,8 @@ fr: placeholder: basic, rich, or compact home_feed: description: Minimum score needed for a post to show up on the unauthenticated home page. + index_minimum_date: + description: Minimum date needed for a post to be indexed by search engines (Unix Timestamp). index_minimum_score: description: Minimum score needed for a post to be indexed by search engines. primary_hex: