From 82db127e338a0313efa700d120949539b91411f3 Mon Sep 17 00:00:00 2001 From: Stepcu <69991785+Stepcu@users.noreply.github.com> Date: Fri, 24 Jan 2025 07:39:45 -0600 Subject: [PATCH] Fix: Update featured quest logic to prioritize recent quests --- context/QuestsProvider.tsx | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/context/QuestsProvider.tsx b/context/QuestsProvider.tsx index e9799cad..5a84579f 100644 --- a/context/QuestsProvider.tsx +++ b/context/QuestsProvider.tsx @@ -130,19 +130,27 @@ export const QuestsContextProvider = ({ useMemo(() => { if (!quests.length) return; + const notExpired = quests.filter((quest) => !quest.expired); const lastBoostedQuest = boostedQuests.length - ? quests.find( - (quest) => - quest.id === boostedQuests[boostedQuests.length - 1] && - !quest.expired - ) - : undefined; + ? quests.find( + (quest) => + quest.id === boostedQuests[boostedQuests.length - 1] && + !quest.expired + ) + : undefined; + + const recentQuest = notExpired.find( + (quest) => + new Date(quest.start_timestamp) >= new Date(Date.now() - 7 * 24 * 60 * 60 * 1000) // Check if less than a week ago + ); + setFeaturedQuest( - lastBoostedQuest || + lastBoostedQuest || + recentQuest || notExpired[Math.floor(Math.random() * notExpired.length)] ); - }, [quests, boostedQuests]); +}, [quests, boostedQuests]); const contextValues = useMemo(() => { return {