From 59f30a3d405052d7de60e8e09856d6e1526962ef Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 14:42:42 +0000 Subject: [PATCH] Fix: null-guard getDailyStreak and topic callbacks (Fixes ZEEGUU-WEB-BP, ZEEGUU-WEB-DN) Prevents TypeErrors when API calls return null on network failure. Long-term solution tracked in #1006 (global toast + React Query). https://claude.ai/code/session_01Gy24MmyjQbi9P2qunHLWhw --- src/contexts/ProgressContext.js | 1 + src/hooks/useSelectInterest.js | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/contexts/ProgressContext.js b/src/contexts/ProgressContext.js index 65099cbda..22173ec23 100644 --- a/src/contexts/ProgressContext.js +++ b/src/contexts/ProgressContext.js @@ -20,6 +20,7 @@ function ProgressProvider({ children }) { useEffect(() => { if (!userDetails?.learned_language) return; api.getDailyStreak((data) => { + if (!data) return; setDaysPracticed(data.daily_streak); }); }, [userDetails?.learned_language]); diff --git a/src/hooks/useSelectInterest.js b/src/hooks/useSelectInterest.js index 39a06d1c7..42b9f4f21 100644 --- a/src/hooks/useSelectInterest.js +++ b/src/hooks/useSelectInterest.js @@ -10,16 +10,16 @@ export default function useSelectInterest(api) { useEffect(() => { api.getAvailableTopics((data) => { - setAvailableTopics(data); + if (data) setAvailableTopics(data); }); api.getSubscribedTopics((data) => { - setSubscribedTopics(data); + if (data) setSubscribedTopics(data); }); //custom interest filters api.getSubscribedSearchers((data) => { - setSubscribedSearches(data); + if (data) setSubscribedSearches(data); }); }, [api]);