mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 13:47:33 +01:00
* 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
49 lines
1.1 KiB
JavaScript
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;
|