From 8a67b0225a7c1d5b3572f54b3389e90c207bd6d4 Mon Sep 17 00:00:00 2001 From: Nabi Ebrahimi Date: Sat, 18 Apr 2026 09:13:02 +0430 Subject: [PATCH] fix: show confirm modal instead of looping to Merchant page --- src/hooks/useDiscardChangesConfirmation/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hooks/useDiscardChangesConfirmation/index.ts b/src/hooks/useDiscardChangesConfirmation/index.ts index 4ec1f161722a..83ade538cc6e 100644 --- a/src/hooks/useDiscardChangesConfirmation/index.ts +++ b/src/hooks/useDiscardChangesConfirmation/index.ts @@ -67,6 +67,7 @@ function useDiscardChangesConfirmation({getHasUnsavedChanges, onCancel, onVisibi } e.preventDefault(); blockedNavigationAction.current = e.data.action; + shouldNavigateBack.current = true; navigateAfterInteraction(showDiscardModal); }); @@ -78,12 +79,13 @@ function useDiscardChangesConfirmation({getHasUnsavedChanges, onCancel, onVisibi useEffect(() => { const unsubscribe = navigation.addListener('transitionStart', ({data: {closing}}) => { // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing - if (!getHasUnsavedChanges()) { + if (!getHasUnsavedChanges() || shouldNavigateBack.current) { return; } shouldNavigateBack.current = true; if (closing) { window.history.go(1); + navigateAfterInteraction(showDiscardModal); return; } window.history.go(1);