From dac792dd270a5e3e7e252938ead28f4528e87e85 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 3 May 2024 11:12:00 +0200 Subject: [PATCH] add end date to more items/categories --- website/common/script/content/constants/schedule.js | 4 ++-- website/common/script/libs/shops.js | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/website/common/script/content/constants/schedule.js b/website/common/script/content/constants/schedule.js index cb6ba282b8..41465efe95 100644 --- a/website/common/script/content/constants/schedule.js +++ b/website/common/script/content/constants/schedule.js @@ -875,7 +875,7 @@ function makeEndDate (checkedDate, matcher) { end.date(TYPE_SCHEDULE[matcher.type]); if (matcher.endMonth !== undefined) { end.month(matcher.endMonth); - } else if (end.date() <= moment(checkedDate).date()) { + } else if (end.date() <= checkedDate) { end = moment(end).add(1, 'months'); } return end.toDate(); @@ -895,7 +895,7 @@ export function getAllScheduleMatchingGroups (date) { cachedScheduleMatchers = {}; assembleScheduledMatchers(checkedDate).forEach(matcher => { if (!cachedScheduleMatchers[matcher.type]) { - cachedScheduleMatchers[matcher.type] = makeMatcherClass(date); + cachedScheduleMatchers[matcher.type] = makeMatcherClass(checkedDate); } cachedScheduleMatchers[matcher.type].end = makeEndDate(checkedDate, matcher); if (matcher.matcher instanceof Function) { diff --git a/website/common/script/libs/shops.js b/website/common/script/libs/shops.js index 84f94e5890..4cf379bd5a 100644 --- a/website/common/script/libs/shops.js +++ b/website/common/script/libs/shops.js @@ -294,10 +294,11 @@ shops.getQuestShopCategories = function getQuestShopCategories (user, language) if (type === 'pet' || type === 'hatchingPotion') { const matchers = getScheduleMatchingGroup(`${type}Quests`); - filteredQuests = filteredQuests.filter(quest => matchers.match(quest.key)); + filteredQuests = filteredQuests.filter(quest => matchers.match(quest.key)) + .map(quest => getItemInfo(user, 'quests', quest, officialPinnedItems, language, matchers)); } - category.items = filteredQuests.map(quest => getItemInfo(user, 'quests', quest, officialPinnedItems, language)); + category.items = filteredQuests; categories.push(category); }); @@ -379,7 +380,6 @@ shops.getTimeTravelersCategories = function getTimeTravelersCategories (user, la categories.push(category); } } - const sets = content.timeTravelerStore(user, new Date()); const availabilityMatchers = getScheduleMatchingGroup('timeTravelers'); for (const setKey of Object.keys(sets)) { @@ -404,6 +404,7 @@ shops.getTimeTravelersCategories = function getTimeTravelersCategories (user, la currency: 'hourglasses', class: `shop_${item.key}`, pinKey: `timeTravelers!gear.flat.${item.key}`, + end: availabilityMatchers.end, })); if (category.items.length > 0) { categories.push(category);