Files
habitica/website/common/script/content/constants/events.js
Matteo Pagliazzi 83aca20ce5 Fall Festival Gem Promo (#138)
* content: add gems blocks

* gemsBlocks: include ios and android identifiers

* wip: promo code

* split common constants into multiple files

* add second promo part

* geCurrentEvent, refactor promo

* fix lint

* fix exports, use world state api

* start adding world state tests

* remove console.log

* use gems block for purchases

* remove comments

* fix most unit tests

* restore comment

* fix lint

* prevent apple/google gift tests from breaking other tests when stub is not reset

* fix unit tests, clarify tests names

* iap: use gift object when gifting gems

* allow gift object with less data

* fix iap tests, remove findById stubs

* iap: require less data from the mobile apps

* apply discounts

* add missing worldState file

* fix lint

* add test event

* start removing 20 gems option for web

* start adding support for all gems packages on web

* fix unit tests for apple, stripe and google

* amazon: support all gems blocks

* paypal: support all gems blocks

* fix payments unit tests, add tests for getGemsBlock

* web: add gems plans with discounts, update stripe

* fix amazon and paypal clients, payments success modals

* amazon pay: disabled state

* update icons, start abstracting payments buttons

* begin redesign

* redesign gems modal

* fix buttons

* fix hover color for gems modal close icon

* add key to world state current event

* extend test event length

* implement gems modals designs

* early test fall2020

* fix header banner position

* add missing files

* use iso 8601 for dates, minor ui fixes

* fix time zones

* events: fix ISO8601 format

* fix css indentation

* start abstracting banners

* refactor payments buttons

* test spooky, fix group plans box

* implement gems promo banners, refactor banners, fixes

* fix lint

* fix dates

* remove unused i18n strings

* fix stripe integration test

* fix world state integration tests

* the current active event

* add missing unit tests

* add storybook story for payments buttons component

* fix typo

* fix(stripe): correct label when gifting subscriptions
2020-09-21 16:22:13 +02:00

59 lines
2.4 KiB
JavaScript

/* eslint-disable key-spacing */
// IMPORTANT: The end date should be one to two days AFTER the actual end of
// the event, to allow people in different timezones to still buy the
// event gear up until at least the actual end of the event.
// Unless we want a precise ending, for example during a gems sale.
// gem block: number of gems
const gemsPromo = {
'4gems': 5,
'21gems': 30,
'42gems': 60,
'84gems': 125,
};
export const EVENTS = {
fall2020SecondPromo: {
start: '2020-10-29T08:00-04:00',
end: '2020-11-02T20:00-05:00',
gemsPromo,
},
fall2020: {
start: '2020-09-22T08:00-04:00',
end: '2020-09-30T20:00-04:00',
gemsPromo,
},
// Dates from this point on (^) are in the RFC 2822 format, see https://momentjs.com/docs/#/parsing/string/
summer2020: { start: '2020-06-18', end: '2020-08-02' },
spring2020: { start: '2020-03-17', end: '2020-05-02' },
winter2020: { start: '2019-12-19', end: '2020-02-02' },
fall2019: { start: '2019-09-24', end: '2019-11-02' },
summer2019: { start: '2019-06-18', end: '2019-08-02' },
spring2019: { start: '2019-03-19', end: '2019-05-02' },
winter2019: { start: '2018-12-19', end: '2019-02-02' },
fall2018: { start: '2018-09-20', end: '2018-11-02' },
summer2018: { start: '2018-06-19', end: '2018-08-02' },
spring2018: { start: '2018-03-20', end: '2018-05-02' },
winter2018: { start: '2017-12-19', end: '2018-02-02' },
fall2017: { start: '2017-09-21', end: '2017-11-02' },
summer2017: { start: '2017-06-20', end: '2017-08-02' },
spring2017: { start: '2017-03-21', end: '2017-05-02' },
winter2017: { start: '2016-12-16', end: '2017-02-02' },
fall2016: { start: '2016-09-20', end: '2016-11-02' },
summer2016: { start: '2016-06-21', end: '2016-08-02' },
spring2016: { start: '2016-03-18', end: '2016-05-02' },
winter2016: { start: '2015-12-18', end: '2016-02-02' },
gaymerx: { start: '2016-09-29', end: '2016-10-03' },
fall2015: { start: '2015-09-21', end: '2015-11-01' },
summer2015: { start: '2015-06-20', end: '2015-08-02' },
spring2015: { start: '2015-03-20', end: '2015-05-02' },
winter2015: { start: '2014-12-21', end: '2015-02-02' },
fall: { start: '2014-09-21', end: '2014-11-01' },
summer: { start: '2014-06-20', end: '2014-08-01' },
spring: { start: '2014-03-21', end: '2014-05-01' },
birthday: { start: '2017-01-31', end: '2017-02-02' },
winter: { start: '2013-12-31', end: '2014-02-01' },
};