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);