diff --git a/app/javascript/src/javascripts/common.js b/app/javascript/src/javascripts/common.js
index 04e2af233..94b6bb8d0 100644
--- a/app/javascript/src/javascripts/common.js
+++ b/app/javascript/src/javascripts/common.js
@@ -7,6 +7,13 @@ $(function() {
e.preventDefault();
});
+ $("#hide-promotion-notice").on("click.danbooru", function(e) {
+ $("#promotion-notice").hide();
+ Cookie.put("hide_promotion_notice", "1", 1);
+ Cookie.put("hide_upgrade_account_notice", "1", 1);
+ e.preventDefault();
+ });
+
$("#hide-dmail-notice").on("click.danbooru", function(e) {
var $dmail_notice = $("#dmail-notice");
$dmail_notice.hide();
diff --git a/app/models/user.rb b/app/models/user.rb
index 01730294c..732bf3079 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -404,7 +404,9 @@ class User < ApplicationRecord
end
def tag_query_limit
- if is_platinum?
+ if is_member? && Danbooru.config.is_promotion?
+ 1_000_000
+ elsif is_platinum?
Danbooru.config.base_tag_query_limit * 2
elsif is_gold?
Danbooru.config.base_tag_query_limit
diff --git a/app/models/user_upgrade.rb b/app/models/user_upgrade.rb
index 55c388a46..7ccd87987 100644
--- a/app/models/user_upgrade.rb
+++ b/app/models/user_upgrade.rb
@@ -34,7 +34,11 @@ class UserUpgrade < ApplicationRecord
end
def self.gold_price
- 2000
+ if Danbooru.config.is_promotion?
+ 1500
+ else
+ 2000
+ end
end
def self.platinum_price
diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index c79fa8acb..778a3c143 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -70,6 +70,25 @@
<%= render "users/verification_notice" %>
+ <% if Danbooru.config.is_promotion? && cookies[:hide_promotion_notice].blank? %>
+
+ <% if rand <= 0.0025 %>
+ <%= tag.img src: "/images/provgift.png", width: 24, height: 24 %>
+ <% elsif rand <= 0.0025 %>
+ <%= tag.img src: "/images/kemogift.png", width: 24, height: 24 %>
+ <% elsif rand <= 0.0025 %>
+ <%= tag.img src: "/images/padoru.gif", width: 24, height: 24 %>
+ <% elsif rand <= 0.0025 %>
+ <%= tag.img src: "/images/ablobgift.gif", width: 24, height: 24 %>
+ <% else %>
+ <%= tag.img src: "/images/blobgift.png", width: 24, height: 24 %>
+ <% end %>
+
+ <%= link_to "Danbooru Winter Sale!", forum_topic_path(17832) %> 25% off Gold and unlimited searches for Members!
+ (<%= link_to "hide", "#", id: "hide-promotion-notice" %>)
+
+ <% end %>
+
<% if !CurrentUser.is_anonymous? && !CurrentUser.is_gold? && cookies[:hide_upgrade_account_notice].blank? && params[:action] != "upgrade_information" %>
<%= render "users/upgrade_notice" %>
<% end %>
diff --git a/app/views/user_upgrades/new.html.erb b/app/views/user_upgrades/new.html.erb
index b5d278fd9..6f125ebed 100644
--- a/app/views/user_upgrades/new.html.erb
+++ b/app/views/user_upgrades/new.html.erb
@@ -18,6 +18,10 @@
<% else %>
Upgrade Account
+ <% if Danbooru.config.is_promotion? %>
+
Danbooru Winter Sale! Gold and Platinum upgrades are 25% off from now until January 1st.
+ <% end %>
+
Upgrading your account gives you exclusive benefits and helps support
<%= Danbooru.config.canonical_app_name %>. Your support helps keep the
site ad-free for everyone!
@@ -44,10 +48,16 @@
|
Free |
+ <% if Danbooru.config.is_promotion? %>
+ $20
+ <% end %>
<%= cents_to_usd(UserUpgrade.gold_price) %>
One time fee
|
+ <% if Danbooru.config.is_promotion? %>
+ $40
+ <% end %>
<%= cents_to_usd(UserUpgrade.platinum_price) %>
One time fee
|
diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb
index 75622de73..08f6c29ee 100644
--- a/config/danbooru_default_config.rb
+++ b/config/danbooru_default_config.rb
@@ -494,6 +494,12 @@ module Danbooru
def redis_url
"redis://localhost:6379"
end
+
+ def is_promotion?
+ Time.use_zone("UTC") do
+ Time.zone.now < Time.zone.parse("2021-01-01")
+ end
+ end
end
EnvironmentConfiguration = Struct.new(:config) do
diff --git a/public/images/ablobgift.gif b/public/images/ablobgift.gif
new file mode 100644
index 000000000..bca83dc11
Binary files /dev/null and b/public/images/ablobgift.gif differ
diff --git a/public/images/blobgift.png b/public/images/blobgift.png
new file mode 100644
index 000000000..bfcb3aa64
Binary files /dev/null and b/public/images/blobgift.png differ
diff --git a/public/images/kemogift.png b/public/images/kemogift.png
new file mode 100644
index 000000000..300da66fb
Binary files /dev/null and b/public/images/kemogift.png differ
diff --git a/public/images/padoru.gif b/public/images/padoru.gif
new file mode 100644
index 000000000..454968b16
Binary files /dev/null and b/public/images/padoru.gif differ
diff --git a/public/images/provgift.png b/public/images/provgift.png
new file mode 100644
index 000000000..2dac5a97f
Binary files /dev/null and b/public/images/provgift.png differ