From 0389acdf83eb8f0e14301f0d0515000467a30ccc Mon Sep 17 00:00:00 2001 From: Fringg Date: Mon, 9 Feb 2026 05:53:33 +0300 Subject: [PATCH] fix: prevent useCloseOnSuccessNotification from firing on mount The hook checked closeOthersSignal > 0 which only skipped signal=0. After first payment, signal stays at 1+ forever causing TopUpAmount to immediately navigate away on every mount. Now tracks the signal value at mount time and only reacts to changes after mount. --- src/store/successNotification.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/store/successNotification.ts b/src/store/successNotification.ts index b5085a5..8ffdc54 100644 --- a/src/store/successNotification.ts +++ b/src/store/successNotification.ts @@ -67,9 +67,11 @@ export function useCloseOnSuccessNotification(onClose: () => void) { const onCloseRef = useRef(onClose); onCloseRef.current = onClose; + // Remember the signal value at mount time so we only react to NEW signals + const mountedSignalRef = useRef(closeOthersSignal); + useEffect(() => { - // Skip the initial render (signal = 0) - if (closeOthersSignal > 0) { + if (closeOthersSignal !== mountedSignalRef.current) { onCloseRef.current(); } }, [closeOthersSignal]);