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 14:22:13 +00:00
|
|
|
/* eslint-disable key-spacing */
|
2024-02-21 14:31:45 +00:00
|
|
|
import moment from 'moment';
|
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 14:22:13 +00:00
|
|
|
|
|
|
|
|
// gem block: number of gems
|
|
|
|
|
const gemsPromo = {
|
|
|
|
|
'4gems': 5,
|
|
|
|
|
'21gems': 30,
|
|
|
|
|
'42gems': 60,
|
|
|
|
|
'84gems': 125,
|
|
|
|
|
};
|
|
|
|
|
|
2024-02-15 15:14:42 +00:00
|
|
|
export const REPEATING_EVENTS = {
|
|
|
|
|
nye: {
|
2024-08-29 15:04:15 +00:00
|
|
|
start: new Date('1970-12-28T04:00-05:00'),
|
2024-08-30 15:50:51 +00:00
|
|
|
end: new Date('1970-01-04T03:59-05:00'),
|
2024-02-15 15:14:42 +00:00
|
|
|
season: 'nye',
|
|
|
|
|
npcImageSuffix: '_nye',
|
2024-02-21 14:31:45 +00:00
|
|
|
content: [
|
|
|
|
|
{
|
|
|
|
|
type: 'cards',
|
|
|
|
|
items: [
|
|
|
|
|
'nye',
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
],
|
2024-02-15 15:14:42 +00:00
|
|
|
},
|
2024-02-21 16:05:21 +00:00
|
|
|
birthday: {
|
2024-08-29 15:04:15 +00:00
|
|
|
start: new Date('1970-01-30T04:00-05:00'),
|
2024-08-30 15:50:51 +00:00
|
|
|
end: new Date('1970-02-01T03:59-05:00'),
|
2024-02-21 16:05:21 +00:00
|
|
|
season: 'birthday',
|
|
|
|
|
npcImageSuffix: '_birthday',
|
|
|
|
|
foodSeason: 'Cake',
|
|
|
|
|
},
|
2024-02-15 15:14:42 +00:00
|
|
|
valentines: {
|
2024-08-30 15:50:51 +00:00
|
|
|
start: new Date('1970-02-10T04:00-05:00'),
|
2024-08-29 15:04:15 +00:00
|
|
|
end: new Date('1970-02-17T03:59-05:00'),
|
2024-02-15 15:14:42 +00:00
|
|
|
season: 'valentines',
|
|
|
|
|
npcImageSuffix: '_valentines',
|
2024-02-21 14:31:45 +00:00
|
|
|
content: [
|
|
|
|
|
{
|
|
|
|
|
type: 'cards',
|
|
|
|
|
items: [
|
|
|
|
|
'valentine',
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
],
|
2024-02-15 15:14:42 +00:00
|
|
|
},
|
2024-02-21 16:05:21 +00:00
|
|
|
piDay: {
|
2024-09-04 20:18:24 +00:00
|
|
|
start: new Date('1970-03-14T04:00-04:00'),
|
|
|
|
|
end: new Date('1970-03-16T03:59-04:00'),
|
2024-02-21 16:05:21 +00:00
|
|
|
foodSeason: 'Pie',
|
|
|
|
|
},
|
2024-05-08 15:42:40 +00:00
|
|
|
aprilFoolsResale: {
|
2024-08-30 15:50:51 +00:00
|
|
|
start: new Date('1970-04-07T04:00-04:00'),
|
|
|
|
|
end: new Date('1970-05-01T03:59-04:00'),
|
2024-05-08 15:42:40 +00:00
|
|
|
content: [
|
|
|
|
|
{
|
|
|
|
|
type: 'hatchingPotionQuests',
|
|
|
|
|
items: [
|
|
|
|
|
'virtualpet',
|
|
|
|
|
'waffle',
|
2024-05-17 09:35:14 +00:00
|
|
|
'fungi',
|
2024-05-08 15:42:40 +00:00
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'premiumHatchingPotions',
|
|
|
|
|
items: [
|
2024-07-23 16:33:59 +00:00
|
|
|
'Veggie',
|
2024-05-08 15:42:40 +00:00
|
|
|
'TeaShop',
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
2024-02-21 16:05:21 +00:00
|
|
|
namingDay: {
|
2024-08-30 15:50:51 +00:00
|
|
|
start: new Date('1970-07-31T04:00-04:00'),
|
|
|
|
|
end: new Date('1970-08-02T03:59-04:00'),
|
2024-02-21 16:05:21 +00:00
|
|
|
foodSeason: 'Cake',
|
|
|
|
|
},
|
2024-09-23 13:37:18 +00:00
|
|
|
fallGemSale: {
|
2025-01-23 23:25:22 +00:00
|
|
|
start: new Date('1970-09-17T04:00-04:00'),
|
|
|
|
|
end: new Date('1970-09-24T23:59-04:00'),
|
2024-09-23 13:37:18 +00:00
|
|
|
event: 'fall_extra_gems',
|
2024-08-29 15:04:15 +00:00
|
|
|
gemsPromo,
|
|
|
|
|
},
|
2024-09-23 13:37:18 +00:00
|
|
|
spookyGemSale: {
|
2025-01-23 23:25:22 +00:00
|
|
|
start: new Date('1970-10-27T04:00-04:00'),
|
|
|
|
|
end: new Date('1970-10-31T23:59-04:00'),
|
2024-09-23 13:37:18 +00:00
|
|
|
event: 'spooky_extra_gems',
|
2024-08-29 15:04:15 +00:00
|
|
|
gemsPromo,
|
|
|
|
|
},
|
2024-02-21 16:05:21 +00:00
|
|
|
habitoween: {
|
2024-08-30 15:50:51 +00:00
|
|
|
start: new Date('1970-10-30T04:00-04:00'),
|
|
|
|
|
end: new Date('1970-11-01T23:59-04:00'),
|
2024-02-21 16:05:21 +00:00
|
|
|
foodSeason: 'Candy',
|
2024-07-29 15:30:23 +00:00
|
|
|
season: 'habitoween',
|
|
|
|
|
npcImageSuffix: '_halloween',
|
2024-02-15 15:14:42 +00:00
|
|
|
},
|
|
|
|
|
harvestFeast: {
|
2024-08-30 15:50:51 +00:00
|
|
|
start: new Date('1970-11-20T04:00-05:00'),
|
|
|
|
|
end: new Date('1970-12-01T03:59-05:00'),
|
2024-02-15 15:14:42 +00:00
|
|
|
season: 'thanksgiving',
|
|
|
|
|
npcImageSuffix: '_thanksgiving',
|
2024-02-21 16:05:21 +00:00
|
|
|
foodSeason: 'Pie',
|
2024-02-15 15:14:42 +00:00
|
|
|
},
|
2024-08-30 15:50:51 +00:00
|
|
|
giftOneGetOne: {
|
2025-01-23 23:25:22 +00:00
|
|
|
start: new Date('1970-12-17T04:00-05:00'),
|
|
|
|
|
end: new Date('1970-01-09T23:59-05:00'),
|
2024-08-29 15:04:15 +00:00
|
|
|
promo: 'g1g1',
|
|
|
|
|
},
|
2024-02-15 15:14:42 +00:00
|
|
|
};
|
|
|
|
|
|
2024-02-21 14:31:45 +00:00
|
|
|
export function getRepeatingEvents (date) {
|
|
|
|
|
const momentDate = date instanceof moment ? date : moment(date);
|
2024-05-08 15:42:24 +00:00
|
|
|
return Object.keys(REPEATING_EVENTS).map(eventKey => {
|
|
|
|
|
const event = REPEATING_EVENTS[eventKey];
|
2024-05-10 11:09:30 +00:00
|
|
|
if (!event.key) {
|
|
|
|
|
event.key = eventKey;
|
|
|
|
|
}
|
2024-05-08 15:42:24 +00:00
|
|
|
event.start.setYear(momentDate.year());
|
|
|
|
|
event.end.setYear(momentDate.year());
|
|
|
|
|
if (event.end < event.start && momentDate < event.start) {
|
|
|
|
|
event.start.setYear(momentDate.year() - 1);
|
|
|
|
|
} else if (event.end < event.start && momentDate > event.end) {
|
|
|
|
|
event.end.setYear(momentDate.year() + 1);
|
|
|
|
|
}
|
|
|
|
|
return event;
|
|
|
|
|
}).filter(event => momentDate.isBetween(event.start, event.end));
|
2024-02-21 14:31:45 +00:00
|
|
|
}
|
|
|
|
|
|
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 14:22:13 +00:00
|
|
|
export const EVENTS = {
|
2022-11-14 20:13:08 +00:00
|
|
|
noEvent: {
|
2024-03-28 22:17:17 +00:00
|
|
|
start: '2024-05-01T00:00-04:00',
|
2024-05-13 10:29:40 +00:00
|
|
|
end: '2024-05-13T23:59-04:00',
|
2022-11-14 20:13:08 +00:00
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2024-05-13 10:29:40 +00:00
|
|
|
bundle202405: {
|
|
|
|
|
start: '2024-05-21T08:00-04:00',
|
|
|
|
|
end: '2024-05-31T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
potions202405: {
|
|
|
|
|
start: '2024-05-14T08:00-04:00',
|
|
|
|
|
end: '2024-05-31T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
aprilFoolsQuest2024: {
|
|
|
|
|
start: '2024-04-09T08:00-04:00',
|
|
|
|
|
end: '2024-04-30T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
|
2024-03-28 22:17:17 +00:00
|
|
|
aprilFools2024: {
|
|
|
|
|
start: '2024-04-01T00:00-04:00',
|
2024-04-02 16:28:07 +00:00
|
|
|
end: '2024-04-02T08:00-04:00',
|
2024-03-28 22:17:17 +00:00
|
|
|
aprilFools: 'Fungi',
|
|
|
|
|
},
|
2024-03-13 21:34:41 +00:00
|
|
|
spring2024: {
|
|
|
|
|
start: '2024-03-21T00:00-04:00',
|
|
|
|
|
end: '2024-04-30T23:59-04:00',
|
|
|
|
|
npcImageSuffix: '_spring',
|
|
|
|
|
season: 'spring',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2024-02-27 23:25:57 +00:00
|
|
|
bundle202403: {
|
|
|
|
|
start: '2024-03-19T00:00-05:00',
|
|
|
|
|
end: '2024-03-31T08:00-05:00',
|
|
|
|
|
},
|
2024-01-26 22:35:02 +00:00
|
|
|
bundle202402: {
|
|
|
|
|
start: '2024-02-20T00:00-05:00',
|
|
|
|
|
end: '2024-02-29T08:00-05:00',
|
|
|
|
|
},
|
|
|
|
|
potions202402: {
|
|
|
|
|
start: '2024-02-12T00:00-05:00',
|
|
|
|
|
end: '2024-02-29T08:00-05:00',
|
|
|
|
|
},
|
|
|
|
|
valentine2024: {
|
|
|
|
|
start: '2024-02-12T00:00-05:00',
|
|
|
|
|
end: '2024-02-16T08:00-05:00',
|
|
|
|
|
season: 'valentines',
|
|
|
|
|
npcImageSuffix: '_valentines',
|
|
|
|
|
},
|
2023-12-18 01:36:15 +00:00
|
|
|
nye2023: {
|
|
|
|
|
start: '2023-12-28T08:00-05:00',
|
|
|
|
|
end: '2024-01-04T23:59-05:00',
|
|
|
|
|
season: 'nye',
|
|
|
|
|
npcImageSuffix: '_nye',
|
|
|
|
|
},
|
|
|
|
|
winter2024: {
|
|
|
|
|
start: '2023-12-19T08:00-05:00',
|
|
|
|
|
end: '2024-01-31T23:59-05:00',
|
|
|
|
|
npcImageSuffix: '_winter',
|
|
|
|
|
season: 'winter',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
|
|
|
|
g1g12023: {
|
|
|
|
|
start: '2023-12-18T08:00-05:00',
|
|
|
|
|
end: '2024-01-09T23:59-05:00',
|
|
|
|
|
promo: 'g1g1',
|
|
|
|
|
},
|
2023-11-07 14:55:50 +00:00
|
|
|
potions202311: {
|
|
|
|
|
start: '2023-11-14T08:00-04:00',
|
|
|
|
|
end: '2023-11-30T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
bundle202311: {
|
|
|
|
|
start: '2023-11-09T08:00-04:00',
|
|
|
|
|
end: '2023-11-30T23:59-04:00',
|
|
|
|
|
},
|
2023-09-21 00:46:34 +00:00
|
|
|
bundle202310: {
|
|
|
|
|
start: '2023-10-17T08:00-04:00',
|
|
|
|
|
end: '2023-10-31T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
potions202310: {
|
|
|
|
|
start: '2023-09-21T08:00-04:00',
|
|
|
|
|
end: '2023-10-31T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
fall2023: {
|
|
|
|
|
start: '2023-09-21T08:00-04:00',
|
|
|
|
|
end: '2023-10-31T23:59-04:00',
|
|
|
|
|
npcImageSuffix: '_fall',
|
|
|
|
|
season: 'fall',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2023-08-29 20:59:05 +00:00
|
|
|
bundle202309: {
|
|
|
|
|
start: '2023-09-12T08:00-04:00',
|
|
|
|
|
end: '2023-09-30T23:59-04:00',
|
|
|
|
|
},
|
2023-08-14 19:37:42 +00:00
|
|
|
bundle202308: {
|
|
|
|
|
start: '2023-08-15T08:00-04:00',
|
|
|
|
|
end: '2023-08-31T23:59-04:00',
|
|
|
|
|
},
|
|
|
|
|
potions202308: {
|
|
|
|
|
start: '2023-08-15T08:00-04:00',
|
|
|
|
|
end: '2023-08-31T23:59-04:00',
|
|
|
|
|
},
|
2023-06-19 21:36:05 +00:00
|
|
|
summer2023: {
|
|
|
|
|
start: '2023-06-20T08:00-04:00',
|
|
|
|
|
end: '2023-07-31T23:59-04:00',
|
|
|
|
|
npcImageSuffix: '_summer',
|
|
|
|
|
season: 'summer',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2023-06-12 20:01:34 +00:00
|
|
|
bundle202306: {
|
2024-05-13 10:29:40 +00:00
|
|
|
start: '2023-06-13T08:00-04:00',
|
|
|
|
|
end: '2023-06-30T23:59-04:00',
|
2023-06-12 20:01:34 +00:00
|
|
|
},
|
2023-05-17 14:49:37 +00:00
|
|
|
bundle202305: {
|
2024-05-13 10:29:40 +00:00
|
|
|
start: '2023-05-23T08:00-04:00',
|
|
|
|
|
end: '2023-05-31T23:59-04:00',
|
2023-05-17 14:49:37 +00:00
|
|
|
},
|
2023-05-15 20:59:49 +00:00
|
|
|
potions202305: {
|
2024-05-13 10:29:40 +00:00
|
|
|
start: '2023-05-16T08:00-04:00',
|
|
|
|
|
end: '2023-05-31T23:59-04:00',
|
2023-05-15 20:59:49 +00:00
|
|
|
},
|
2023-03-29 20:35:26 +00:00
|
|
|
aprilFools2023: {
|
2023-04-01 12:08:38 +00:00
|
|
|
start: '2023-04-01T08:00-04:00',
|
|
|
|
|
end: '2023-04-02T08:00-04:00',
|
2023-03-29 20:35:26 +00:00
|
|
|
aprilFools: 'teaShop',
|
|
|
|
|
},
|
2023-03-17 20:05:04 +00:00
|
|
|
spring2023: {
|
|
|
|
|
start: '2023-03-21T08:00-04:00',
|
|
|
|
|
end: '2023-04-30T23:59-04:00',
|
|
|
|
|
npcImageSuffix: '_spring',
|
|
|
|
|
season: 'spring',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2023-03-16 21:22:47 +00:00
|
|
|
bundle202303: {
|
|
|
|
|
start: '2023-03-16T08:00-04:00',
|
|
|
|
|
end: '2023-03-31T23:59-04:00',
|
|
|
|
|
},
|
2023-02-13 05:17:09 +00:00
|
|
|
bundle202302: {
|
2023-02-13 17:25:02 +00:00
|
|
|
start: '2023-02-21T08:00-05:00',
|
2023-02-13 05:17:09 +00:00
|
|
|
end: '2023-02-28T23:59-05:00',
|
|
|
|
|
},
|
2024-05-13 10:29:40 +00:00
|
|
|
potions202302: {
|
2023-02-13 17:25:02 +00:00
|
|
|
start: '2023-02-13T08:00-05:00',
|
2023-02-13 05:17:09 +00:00
|
|
|
end: '2023-02-28T23:59-05:00',
|
|
|
|
|
},
|
|
|
|
|
valentines2023: {
|
|
|
|
|
start: '2023-02-13T08:00-05:00',
|
|
|
|
|
end: '2023-02-17T23:59-05:00',
|
|
|
|
|
season: 'valentines',
|
2023-02-13 17:25:02 +00:00
|
|
|
npcImageSuffix: '_valentines',
|
2023-02-13 05:17:09 +00:00
|
|
|
},
|
2023-01-20 22:14:33 +00:00
|
|
|
birthday10: {
|
2023-01-24 22:11:16 +00:00
|
|
|
start: '2023-01-30T08:00-05:00',
|
|
|
|
|
end: '2023-02-08T23:59-05:00',
|
|
|
|
|
season: 'birthday',
|
|
|
|
|
npcImageSuffix: '_birthday',
|
2023-01-20 22:14:33 +00:00
|
|
|
},
|
2022-12-19 21:53:52 +00:00
|
|
|
winter2023: {
|
|
|
|
|
start: '2022-12-20T08:00-05:00',
|
|
|
|
|
end: '2023-01-31T23:59-05:00',
|
|
|
|
|
npcImageSuffix: '_winter',
|
|
|
|
|
season: 'winter',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2022-12-14 20:13:36 +00:00
|
|
|
g1g12022: {
|
|
|
|
|
start: '2022-12-15T08:00-05:00',
|
|
|
|
|
end: '2023-01-08T23:59-05:00',
|
|
|
|
|
promo: 'g1g1',
|
|
|
|
|
},
|
2022-11-22 00:54:57 +00:00
|
|
|
harvestFeast2022: {
|
|
|
|
|
start: '2022-11-22T08:00-05:00',
|
|
|
|
|
end: '2022-11-27T20:00-05:00',
|
|
|
|
|
season: 'thanksgiving',
|
|
|
|
|
npcImageSuffix: '_thanksgiving',
|
|
|
|
|
},
|
2022-09-19 21:55:53 +00:00
|
|
|
afterGala: {
|
|
|
|
|
start: '2022-10-31T20:00-04:00',
|
2022-11-22 00:54:57 +00:00
|
|
|
end: '2022-11-22T08:00-05:00',
|
2022-06-21 14:29:53 +00:00
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2022-11-22 02:08:15 +00:00
|
|
|
bundle202211: {
|
|
|
|
|
start: '2022-11-15T08:00-05:00',
|
|
|
|
|
end: '2022-11-30T20:00-05:00',
|
|
|
|
|
},
|
2022-09-19 21:55:53 +00:00
|
|
|
fall2022: {
|
|
|
|
|
start: '2022-09-20T08:00-04:00',
|
|
|
|
|
end: '2022-10-31T20:00-04:00',
|
|
|
|
|
npcImageSuffix: '_fall',
|
|
|
|
|
season: 'fall',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2022-10-11 16:53:46 +00:00
|
|
|
bundle202210: {
|
|
|
|
|
start: '2022-10-13T08:00-04:00',
|
|
|
|
|
end: '2022-10-31T20:00-04:00',
|
|
|
|
|
},
|
2022-09-19 21:55:53 +00:00
|
|
|
beforeGala: {
|
|
|
|
|
start: '2022-07-31T20:00-04:00',
|
|
|
|
|
end: '2022-09-20T08:00-04:00',
|
|
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2022-09-13 14:12:24 +00:00
|
|
|
bundle202209: {
|
|
|
|
|
start: '2022-09-13T08:00-04:00',
|
|
|
|
|
end: '2022-09-30T20:00-04:00',
|
|
|
|
|
},
|
2022-08-15 20:14:23 +00:00
|
|
|
potions202208: {
|
|
|
|
|
start: '2022-08-16T08:00-04:00',
|
|
|
|
|
end: '2022-08-31T20:00-04:00',
|
|
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2022-08-04 20:14:27 +00:00
|
|
|
bundle202208: {
|
|
|
|
|
start: '2022-08-09T08:00-04:00',
|
|
|
|
|
end: '2022-09-30T20:00-04:00',
|
2022-08-09 16:50:05 +00:00
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
2022-08-04 20:14:27 +00:00
|
|
|
},
|
2022-06-21 14:29:53 +00:00
|
|
|
summer2022: {
|
|
|
|
|
start: '2022-06-21T08:00-04:00',
|
|
|
|
|
end: '2022-07-31T20:00-04:00',
|
|
|
|
|
season: 'summer',
|
|
|
|
|
npcImageSuffix: '_summer',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2022-06-13 20:37:02 +00:00
|
|
|
bundle202206: {
|
2024-05-13 10:29:40 +00:00
|
|
|
start: '2022-06-14T08:00-04:00',
|
|
|
|
|
end: '2022-06-30T20:00-04:00',
|
2022-06-13 20:37:02 +00:00
|
|
|
},
|
2022-05-17 14:32:50 +00:00
|
|
|
potions202205: {
|
|
|
|
|
start: '2022-05-17T08:00-04:00',
|
|
|
|
|
end: '2022-05-31T20:00-04:00',
|
|
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2022-03-18 21:24:05 +00:00
|
|
|
spring2022: {
|
|
|
|
|
start: '2022-03-22T08:00-05:00',
|
|
|
|
|
end: '2022-04-30T20:00-05:00',
|
2022-03-29 19:04:37 +00:00
|
|
|
npcImageSuffix: '_spring',
|
2022-03-18 21:24:05 +00:00
|
|
|
season: 'spring',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2022-03-31 19:41:59 +00:00
|
|
|
aprilFools2022: {
|
|
|
|
|
start: '2022-04-01T08:00-05:00',
|
|
|
|
|
end: '2022-04-02T08:00-05:00',
|
|
|
|
|
aprilFools: 'virtual',
|
|
|
|
|
},
|
2022-02-14 21:20:37 +00:00
|
|
|
valentines2022: {
|
|
|
|
|
start: '2022-02-14T08:00-05:00',
|
|
|
|
|
end: '2022-02-18T20:00-05:00',
|
|
|
|
|
season: 'valentines',
|
|
|
|
|
npcImageSuffix: 'valentines',
|
|
|
|
|
},
|
2021-12-21 21:32:11 +00:00
|
|
|
winter2022: {
|
|
|
|
|
start: '2021-12-21T08:00-05:00',
|
|
|
|
|
end: '2022-01-31T20:00-05:00',
|
|
|
|
|
season: 'winter',
|
|
|
|
|
npcImageSuffix: '_winter',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2021-12-15 22:20:43 +00:00
|
|
|
winter2022Promo: {
|
|
|
|
|
start: '2021-12-16T08:00-05:00',
|
|
|
|
|
end: '2022-01-06T20:00-05:00',
|
|
|
|
|
promo: 'g1g1',
|
|
|
|
|
},
|
|
|
|
|
prePromoNoEvent: {
|
|
|
|
|
start: '2021-11-28T20:00-05:00',
|
|
|
|
|
end: '2021-12-16T08:00-05:00',
|
2021-09-21 21:16:52 +00:00
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2021-11-24 17:23:09 +00:00
|
|
|
thanksgiving2021: {
|
|
|
|
|
start: '2021-11-24T08:00-05:00',
|
|
|
|
|
end: '2021-11-28T20:00-05:00',
|
|
|
|
|
season: 'thanksgiving',
|
|
|
|
|
npcImageSuffix: '_thanksgiving',
|
|
|
|
|
},
|
2021-11-09 20:06:11 +00:00
|
|
|
potions202111: {
|
|
|
|
|
start: '2021-11-09T08:00-05:00',
|
|
|
|
|
end: '2021-11-30T20:00-05:00',
|
|
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
2021-09-23 17:09:38 +00:00
|
|
|
},
|
2021-09-21 21:16:52 +00:00
|
|
|
fall2021: {
|
|
|
|
|
start: '2021-09-21T08:00-04:00',
|
|
|
|
|
end: '2021-10-31T20:00-04:00',
|
2021-09-22 15:10:13 +00:00
|
|
|
npcImageSuffix: '_fall',
|
2021-09-21 21:16:52 +00:00
|
|
|
season: 'fall',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2021-09-14 02:29:28 +00:00
|
|
|
bundle202109: {
|
|
|
|
|
start: '2021-09-13T08:00-04:00',
|
|
|
|
|
end: '2021-09-30T20:00-04:00',
|
2021-05-11 21:07:44 +00:00
|
|
|
},
|
2021-08-17 21:16:28 +00:00
|
|
|
potions202108: {
|
|
|
|
|
start: '2021-08-17T08:00-04:00',
|
|
|
|
|
end: '2021-08-31T20:00-04:00',
|
|
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2021-06-22 23:49:32 +00:00
|
|
|
summer2021: {
|
|
|
|
|
start: '2021-06-23T08:00-04:00',
|
|
|
|
|
end: '2021-07-31T20:00-04:00',
|
|
|
|
|
season: 'summer',
|
|
|
|
|
npcImageSuffix: 'summer',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
2021-06-09 13:24:50 +00:00
|
|
|
bundle202106: {
|
2021-06-22 23:49:32 +00:00
|
|
|
start: '2021-06-08T08:00-04:00',
|
|
|
|
|
end: '2021-07-31T20:00-04:00',
|
2021-06-09 13:24:50 +00:00
|
|
|
season: 'normal',
|
|
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
2021-05-11 21:07:44 +00:00
|
|
|
potions202105: {
|
|
|
|
|
start: '2021-05-11T08:00-05:00',
|
|
|
|
|
end: '2021-05-31T20:00-05:00',
|
2020-12-10 22:53:37 +00:00
|
|
|
season: 'normal',
|
2021-03-23 16:58:21 +00:00
|
|
|
npcImageSuffix: '',
|
|
|
|
|
},
|
|
|
|
|
spring2021: {
|
|
|
|
|
start: '2021-03-23T08:00-05:00',
|
|
|
|
|
end: '2021-04-30T20:00-05:00',
|
|
|
|
|
npcImageSuffix: 'spring',
|
|
|
|
|
season: 'spring',
|
|
|
|
|
gear: true,
|
|
|
|
|
},
|
|
|
|
|
aprilFools2021: {
|
|
|
|
|
start: '2021-04-01T08:00-05:00',
|
|
|
|
|
end: '2021-04-02T08:00-05:00',
|
|
|
|
|
aprilFools: 'invert',
|
2020-12-03 21:29:11 +00:00
|
|
|
},
|
2020-12-10 22:53:37 +00:00
|
|
|
winter2021: {
|
2020-12-17 04:57:08 +00:00
|
|
|
start: '2020-12-17T08:00-05:00',
|
2021-01-08 19:10:45 +00:00
|
|
|
end: '2021-01-31T20:00-05:00',
|
2020-12-10 22:53:37 +00:00
|
|
|
season: 'winter',
|
2021-03-23 16:58:21 +00:00
|
|
|
npcImageSuffix: 'winter',
|
|
|
|
|
gear: true,
|
2021-01-08 19:34:04 +00:00
|
|
|
},
|
2022-02-14 19:55:19 +00:00
|
|
|
winter2021Promo: {
|
|
|
|
|
// used in tests, not an actual past event
|
2021-01-08 19:34:04 +00:00
|
|
|
start: '2020-12-01T08:00-05:00',
|
|
|
|
|
end: '2020-12-17T20:00-05:00',
|
|
|
|
|
season: 'winter',
|
2021-01-08 19:43:27 +00:00
|
|
|
promo: 'g1g1',
|
2020-12-03 21:29:11 +00:00
|
|
|
},
|
2022-02-14 19:55:19 +00:00
|
|
|
fall2020: {
|
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 14:22:13 +00:00
|
|
|
start: '2020-09-22T08:00-04:00',
|
2020-11-03 21:14:17 +00:00
|
|
|
end: '2020-10-31T20:00-04:00',
|
2021-03-23 16:58:21 +00:00
|
|
|
gear: true,
|
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 14:22:13 +00:00
|
|
|
gemsPromo,
|
|
|
|
|
},
|
|
|
|
|
// Dates from this point on (^) are in the RFC 2822 format, see https://momentjs.com/docs/#/parsing/string/
|
|
|
|
|
|
2021-03-23 16:58:21 +00:00
|
|
|
summer2020: { start: '2020-06-18', end: '2020-08-02', gear: true },
|
|
|
|
|
spring2020: { start: '2020-03-17', end: '2020-05-02', gear: true },
|
|
|
|
|
winter2020: { start: '2019-12-19', end: '2020-02-02', gear: true },
|
2022-02-14 19:55:19 +00:00
|
|
|
fall2019: { start: '2019-09-24', end: '2019-11-02', gear: true },
|
2021-03-23 16:58:21 +00:00
|
|
|
summer2019: { start: '2019-06-18', end: '2019-08-02', gear: true },
|
|
|
|
|
spring2019: { start: '2019-03-19', end: '2019-05-02', gear: true },
|
|
|
|
|
winter2019: { start: '2018-12-19', end: '2019-02-02', gear: true },
|
2022-02-14 19:55:19 +00:00
|
|
|
fall2018: { start: '2018-09-20', end: '2018-11-02', gear: true },
|
2021-03-23 16:58:21 +00:00
|
|
|
summer2018: { start: '2018-06-19', end: '2018-08-02', gear: true },
|
|
|
|
|
spring2018: { start: '2018-03-20', end: '2018-05-02', gear: true },
|
|
|
|
|
winter2018: { start: '2017-12-19', end: '2018-02-02', gear: true },
|
2022-02-14 19:55:19 +00:00
|
|
|
fall2017: { start: '2017-09-21', end: '2017-11-02', gear: true },
|
2021-03-23 16:58:21 +00:00
|
|
|
summer2017: { start: '2017-06-20', end: '2017-08-02', gear: true },
|
|
|
|
|
spring2017: { start: '2017-03-21', end: '2017-05-02', gear: true },
|
|
|
|
|
winter2017: { start: '2016-12-16', end: '2017-02-02', gear: true },
|
2022-02-14 19:55:19 +00:00
|
|
|
fall2016: { start: '2016-09-20', end: '2016-11-02', gear: true },
|
2021-03-23 16:58:21 +00:00
|
|
|
summer2016: { start: '2016-06-21', end: '2016-08-02', gear: true },
|
|
|
|
|
spring2016: { start: '2016-03-18', end: '2016-05-02', gear: true },
|
|
|
|
|
winter2016: { start: '2015-12-18', end: '2016-02-02', gear: true },
|
2022-02-14 19:55:19 +00:00
|
|
|
gaymerx: { start: '2016-09-29', end: '2016-10-03' },
|
|
|
|
|
fall2015: { start: '2015-09-21', end: '2015-11-01', gear: true },
|
2021-03-23 16:58:21 +00:00
|
|
|
summer2015: { start: '2015-06-20', end: '2015-08-02', gear: true },
|
|
|
|
|
spring2015: { start: '2015-03-20', end: '2015-05-02', gear: true },
|
|
|
|
|
winter2015: { start: '2014-12-21', end: '2015-02-02', gear: true },
|
2022-02-14 19:55:19 +00:00
|
|
|
fall: { start: '2014-09-21', end: '2014-11-01', gear: true },
|
|
|
|
|
summer: { start: '2014-06-20', end: '2014-08-01', gear: true },
|
|
|
|
|
spring: { start: '2014-03-21', end: '2014-05-01', gear: true },
|
|
|
|
|
birthday: { start: '2017-01-31', end: '2017-02-02' },
|
|
|
|
|
winter: { start: '2013-12-31', end: '2014-02-01' },
|
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 14:22:13 +00:00
|
|
|
};
|