Files
habitica/website/common/script/content/shop-featuredItems.js
Natalie 11a22d0f5d April 2025 content build (#15411)
* chore: April 2025 CSS

* chore: April 2025 subscriber and armoire items, backgrounds

* chore: Update April 2025 subscriber items

* chore: April 2025 CSS fix

* chore: April 2025 pet quest and magic hatching potion

* fix: April 2025 fixes

* fix: typo

* fix: typo

* fix(typo): whitespace

---------

Co-authored-by: Kalista Payne <sabrecat@gmail.com>
2025-03-20 14:30:51 -05:00

99 lines
1.9 KiB
JavaScript

import { getScheduleMatchingGroup } from './constants';
// Magic Hatching Potions are configured like this:
// type: 'premiumHatchingPotion', // note no "s" at the end
// path: 'premiumHatchingPotions.Rainbow',
const potentialFeaturedPetQuests = [
'nudibranch',
'yarn',
'slime',
'cat',
'frog',
'otter',
'monkey',
'alpaca',
'sloth',
'hippo',
'giraffe',
'guineapig',
'chameleon',
'cheetah',
'crab',
'beetle',
'raccoon',
'snail',
'dog',
'kangaroo',
'owl',
'ghost_stag',
'sabretooth',
];
const featuredItems = {
market () {
const featured = [{
type: 'armoire',
path: 'armoire',
}];
const itemKeys = getScheduleMatchingGroup('premiumHatchingPotions').items;
itemKeys.forEach(itemKey => {
if (featured.length < 4) {
featured.push({
type: 'premiumHatchingPotion',
path: `premiumHatchingPotions.${itemKey}`,
});
}
});
return featured;
},
quests () {
const featured = [];
const petQuestKeys = getScheduleMatchingGroup('petQuests').items;
petQuestKeys.forEach(itemKey => {
if (potentialFeaturedPetQuests.includes(itemKey)) {
featured.push({
type: 'quests',
path: `quests.${itemKey}`,
});
}
});
const hatchingPotionQuests = getScheduleMatchingGroup('hatchingPotionQuests').items;
hatchingPotionQuests.forEach(itemKey => {
featured.push({
type: 'quests',
path: `quests.${itemKey}`,
});
});
return featured;
},
seasonal () {
const featured = [];
const itemKeys = getScheduleMatchingGroup('premiumHatchingPotions').items;
itemKeys.forEach(itemKey => {
if (featured.length < 4) {
featured.push({
type: 'premiumHatchingPotion',
path: `premiumHatchingPotions.${itemKey}`,
});
}
});
return featured;
},
timeTravelers: [
// TODO
],
};
export default featuredItems;