From 371cbf269c094891098e86917e8e1d8d7f1f9faa Mon Sep 17 00:00:00 2001 From: austinkelsay Date: Mon, 26 Aug 2024 16:10:08 -0500 Subject: [PATCH] Added timeout to zap subscription to have 0 zap events zaps load faster --- src/hooks/nostrQueries/zaps/useZapsSubscription.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/hooks/nostrQueries/zaps/useZapsSubscription.js b/src/hooks/nostrQueries/zaps/useZapsSubscription.js index b7a01c5..f273d55 100644 --- a/src/hooks/nostrQueries/zaps/useZapsSubscription.js +++ b/src/hooks/nostrQueries/zaps/useZapsSubscription.js @@ -18,6 +18,7 @@ export function useZapsSubscription({ event }) { useEffect(() => { let subscription; const zapIds = new Set(); + let timeoutId; async function subscribeToZaps() { if (!event || !ndk) return; @@ -38,14 +39,26 @@ export function useZapsSubscription({ event }) { zapIds.add(zapEvent.id); addZap(zapEvent); setZapsLoading(false); + clearTimeout(timeoutId); } }); + subscription.on('close', () => { + setZapsLoading(false); + }) + subscription.on('eose', () => { + console.log("eose in hook") setZapsLoading(false); }); await subscription.start(); + + // Set a 4-second timeout to stop loading state if no zaps are received + timeoutId = setTimeout(() => { + setZapsLoading(false); + }, 4000); + } catch (error) { console.error("Error subscribing to zaps:", error); setZapsError(error.message); @@ -62,6 +75,7 @@ export function useZapsSubscription({ event }) { if (subscription) { subscription.stop(); } + clearTimeout(timeoutId); }; }, [event, ndk, addZap]);