diff --git a/app/javascript/src/javascripts/common.js b/app/javascript/src/javascripts/common.js index c03552164..996b8fce2 100644 --- a/app/javascript/src/javascripts/common.js +++ b/app/javascript/src/javascripts/common.js @@ -8,6 +8,13 @@ $(function() { e.preventDefault(); }); + $("#hide-promotion-notice").on("click.danbooru", function(e) { + $("#promotion-notice").hide(); + Cookie.put('hide_promotion_notice', '1', 7); + Cookie.put('hide_upgrade_account_notice', '1', 7); + e.preventDefault(); + }); + $("#hide-dmail-notice").on("click.danbooru", function(e) { var $dmail_notice = $("#dmail-notice"); $dmail_notice.hide(); diff --git a/app/logical/user_upgrade.rb b/app/logical/user_upgrade.rb index b29909faf..eb4e18e0c 100644 --- a/app/logical/user_upgrade.rb +++ b/app/logical/user_upgrade.rb @@ -1,13 +1,25 @@ class UserUpgrade def self.gold_price - 2000 + if Danbooru.config.is_promotion? + 1500 + else + 2000 + end end def self.platinum_price - 4000 + if Danbooru.config.is_promotion? + 3000 + else + 4000 + end end def self.upgrade_price - 2000 + if Danbooru.config.is_promotion? + 1500 + else + 2000 + end end end diff --git a/app/models/user.rb b/app/models/user.rb index db59924e5..4e0fbabdc 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -505,6 +505,8 @@ class User < ApplicationRecord Danbooru.config.base_tag_query_limit * 2 elsif is_gold? Danbooru.config.base_tag_query_limit + elsif is_member? && Danbooru.config.is_promotion? + Danbooru.config.base_tag_query_limit else 2 end diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb index 409dc93ba..3887caaf1 100644 --- a/app/views/layouts/default.html.erb +++ b/app/views/layouts/default.html.erb @@ -97,7 +97,15 @@
- <% if !CurrentUser.is_anonymous? && !CurrentUser.is_gold? && cookies[:hide_upgrade_account_notice].blank? && params[:action] != "upgrade_information" %> + <% if Danbooru.config.is_promotion? && cookies[:hide_promotion_notice].blank? %> +
+ Danbooru Winter Sale! 25% off Gold and free 6-tag searches for Members! + + (<%= link_to "close", "#", id: "hide-promotion-notice" %>) +
+ <% end %> + + <% if !Danbooru.config.is_promotion? && !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 2102cffca..76bf124cc 100644 --- a/app/views/user_upgrades/new.html.erb +++ b/app/views/user_upgrades/new.html.erb @@ -3,7 +3,17 @@

Upgrade Account

<% unless params[:user_id] %> -

Want more searching power? Upgrade your account and become a power user of the best database of anime artwork on the internet.

+

+ Want more searching power? Upgrade your account and + become a power user of the best database of anime artwork on the + internet. +

+ + <% if Danbooru.config.is_promotion? %> +

+

Danbooru Winter Sale! Gold and Platinum upgrades are 25% off from now until December 28th.
+

+ <% end %>
@@ -24,10 +34,16 @@ diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index 90a67efe5..e4f99361c 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -638,6 +638,12 @@ module Danbooru def redis_url "redis://localhost:6379" end + + def is_promotion? + Time.use_zone("UTC") do + Time.zone.now.in?(Time.zone.parse("2019-12-25")..Time.zone.parse("2019-12-28")) + end + end end class EnvironmentConfiguration
Cost 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