From 29c36ec6b93d5a356863ce2c02e83474ac205910 Mon Sep 17 00:00:00 2001 From: Oleksii Bulenok Date: Fri, 3 Jul 2026 12:43:04 +0200 Subject: [PATCH] fix DM footer ease in animation --- src/screens/Messages/components/MessagesList.tsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/screens/Messages/components/MessagesList.tsx b/src/screens/Messages/components/MessagesList.tsx index 794740d0b8..3890979543 100644 --- a/src/screens/Messages/components/MessagesList.tsx +++ b/src/screens/Messages/components/MessagesList.tsx @@ -13,7 +13,6 @@ import { KeyboardGestureArea, } from 'react-native-keyboard-controller' import Animated, { - FadeIn, runOnJS, type ScrollEvent, type SharedValue, @@ -187,6 +186,14 @@ export function MessagesList({ } }, [hasScrolled, listOpacity]) + // Recreate FadeIn for the footer with a shared value so we can start from a + // non-zero opacity instead of fully transparent. (Needed for GlassView to work properly) + const footerOpacity = useSharedValue(0.05) + + useEffect(() => { + footerOpacity.set(withTiming(1, {duration: 200})) + }, [footerOpacity]) + const inputHeightUI = useSharedValue(0) const [inputHeightJS, setInputHeightJS] = useState(0) @@ -753,6 +760,10 @@ export function MessagesList({ opacity: listOpacity.get(), })) + const animatedFooterStyle = useAnimatedStyle(() => ({ + opacity: footerOpacity.get(), + })) + return ( @@ -841,7 +852,7 @@ export function MessagesList({ opened: 0, }}> {footer ?? ( - +