From 29859c93de30bd73c8d4ef4e881dff5abc97ab01 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 a3468878a5..475aced563 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, @@ -188,6 +187,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) @@ -754,6 +761,10 @@ export function MessagesList({ opacity: listOpacity.get(), })) + const animatedFooterStyle = useAnimatedStyle(() => ({ + opacity: footerOpacity.get(), + })) + return ( @@ -842,7 +853,7 @@ export function MessagesList({ opened: 0, }}> {footer ?? ( - +