Files
habitica/website/common/script/content/mystery-sets.js
Sabe Jones 6395070eb6 Award mystery items at cron (#11519)
* feat(subscriber): award mystery items at cron

* fix(mystery): backfill skipped months

* fix(mystery): adjust subscriber text

* fix(mystery): correct moment logic
and remove irrelevant tests

* fix(mystery): build set one month in advance

* fix(mystery): don't add empty set to Time Travelers

* refactor(mystery): readability
2019-11-27 12:10:56 -06:00

49 lines
1.1 KiB
JavaScript

import each from 'lodash/each';
import moment from 'moment';
import t from './translation';
const mysterySets = {
301404: {
start: '3014-03-24',
end: '3014-04-02',
},
301405: {
start: '3014-04-24',
end: '3014-05-02',
},
301703: {
start: '3017-03-14',
end: '3017-04-02',
},
301704: {
start: '3017-04-14',
end: '3017-05-02',
},
// @TODO: Remove wondercon from mystery-sets
wondercon: {
start: '2014-03-24',
end: '2014-04-01',
},
};
const FIRST_MYSTERY_SET = moment('2014-02-01');
for (
let mysteryMonth = FIRST_MYSTERY_SET;
moment(mysteryMonth).startOf('month').isSameOrBefore(moment().add(1, 'months'));
mysteryMonth = moment(mysteryMonth).add(1, 'months')
) {
const setKey = moment(mysteryMonth).format('YYYYMM');
mysterySets[setKey] = {
start: moment(mysteryMonth).startOf('month').format('YYYY-MM-DD'),
end: moment(mysteryMonth).endOf('month').format('YYYY-MM-DD'),
};
}
each(mysterySets, (value, key) => {
value.key = key;
value.text = t(`mysterySet${key}`);
value.class = `shop_set_mystery_${key}`;
});
export default mysterySets;