From 75f29464266821d5bb9aa7b74c6b81344b09f054 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Wed, 7 May 2025 12:55:20 -0500 Subject: [PATCH] better connection check --- app/src/hooks/useConnectionModal.ts | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/hooks/useConnectionModal.ts b/app/src/hooks/useConnectionModal.ts index eefdbc23b..471243346 100644 --- a/app/src/hooks/useConnectionModal.ts +++ b/app/src/hooks/useConnectionModal.ts @@ -21,20 +21,26 @@ const connectionModalParams = { } as const; export default function useConnectionModal() { - const { isConnected } = useNetInfo(); + const { isConnected, isInternetReachable } = useNetInfo(); const { showModal, dismissModal, visible } = useModal(connectionModalParams); + const hasConnection = isInternetReachable === true && isConnected === true; useEffect(() => { - if (!navigationRef.isReady()) { - return; - } + const timeoutId = setTimeout(() => { + if (!navigationRef.isReady()) { + return; + } - if (isConnected === false && !visible) { - showModal(); - } else if (visible && isConnected !== false) { - dismissModal(); - } - }, [isConnected, dismissModal, visible, navigationRef.isReady()]); + if (!hasConnection && !visible) { + showModal(); + } else if (visible && hasConnection) { + dismissModal(); + } + // Add a small delay to allow app initialization + }, 2000); + + return () => clearTimeout(timeoutId); + }, [hasConnection, dismissModal, visible, navigationRef.isReady()]); return { visible,