diff --git a/src/libs/Navigation/FreezeWrapper.tsx b/src/libs/Navigation/FreezeWrapper.tsx index 2656d40d6436..bb6ab107373b 100644 --- a/src/libs/Navigation/FreezeWrapper.tsx +++ b/src/libs/Navigation/FreezeWrapper.tsx @@ -24,7 +24,10 @@ function FreezeWrapper({keepVisible = false, children}: FreezeWrapperProps) { useEffect(() => { const unsubscribe = navigation.addListener('state', () => { - if ((navigation.getState()?.index ?? 0) - (screenIndexRef.current ?? 0) >= 1) { + // if the screen is more than 1 screen away from the current screen, freeze it, + // we don't want to freeze the screen if it's the previous screen because the freeze placeholder + // would be visible at the beginning of the back animation then + if ((navigation.getState()?.index ?? 0) - (screenIndexRef.current ?? 0) > 1) { setIsScreenBlurred(true); } else { setIsScreenBlurred(false);