From ac7d89c0c5687d903a902a70f6a3bc295cba77e9 Mon Sep 17 00:00:00 2001 From: mudabbir-ahmad Date: Thu, 9 Apr 2026 22:52:12 +0100 Subject: [PATCH] Update GlobalMapScreen and usePlayerGame logic for improved cache claiming feedback --- src/components/screens/global/GlobalMapScreen.js | 6 ++---- src/hooks/usePlayerGame.js | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/screens/global/GlobalMapScreen.js b/src/components/screens/global/GlobalMapScreen.js index b796c3c..05414d3 100644 --- a/src/components/screens/global/GlobalMapScreen.js +++ b/src/components/screens/global/GlobalMapScreen.js @@ -132,14 +132,12 @@ const GlobalMapScreen = ({ navigation, route }) => { setIsClaiming(false); if (result) { - const points = Number(claimedCache?.CachePoints ?? 0); + const points = Number(claimedCache?.CachePoints ?? 10); const cacheName = claimedCache?.CacheName || "Cache"; setFoundCacheIds((prev) => prev.includes(cacheId) ? prev : [...prev, cacheId], ); - setClaimedPopupMessage( - `${cacheName} claimed! You received ${points} points.`, - ); + setClaimedPopupMessage(`${cacheName} claimed! You gained +${points} points.`); setClaimedPopupVisible(true); setTimeout(() => setClaimedPopupVisible(false), 3000); } diff --git a/src/hooks/usePlayerGame.js b/src/hooks/usePlayerGame.js index 6a90b9c..de464fa 100644 --- a/src/hooks/usePlayerGame.js +++ b/src/hooks/usePlayerGame.js @@ -7,7 +7,7 @@ const usePlayerGame = (playerLocation, playerHeading, activeCaches, claimDistanc const prevIdRef = useRef(''); useEffect(() => { - if (!playerLocation || playerHeading === null || playerHeading === undefined || !selectedCacheId) { + if (!playerLocation || playerHeading === null || playerHeading === undefined) { if (prevIdRef.current !== '') { prevIdRef.current = ''; setVisibleCaches([]); @@ -31,6 +31,10 @@ const usePlayerGame = (playerLocation, playerHeading, activeCaches, claimDistanc prevIdRef.current = newId; setVisibleCaches(visible ? [selected] : []); setIsClaiming(Boolean(visible)); + } else if (!visible && prevIdRef.current !== '') { + prevIdRef.current = ''; + setVisibleCaches([]); + setIsClaiming(false); } }, [playerLocation, playerHeading, activeCaches, claimDistance, selectedCacheId]);