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