diff --git a/native/chat/swipeable-message.react.js b/native/chat/swipeable-message.react.js --- a/native/chat/swipeable-message.react.js +++ b/native/chat/swipeable-message.react.js @@ -19,6 +19,7 @@ import type { IconProps } from 'react-native-vector-icons'; import tinycolor from 'tinycolor2'; +import CommIcon from '../components/comm-icon.react'; import SWMansionIcon from '../components/swmansion-icon.react'; import { colors } from '../themes/colors'; import type { ViewStyle } from '../types/styles'; @@ -54,14 +55,17 @@ 'worklet'; return interpolate(translateX, [-20, -5], [1, 0], Extrapolate.CLAMP); } + function interpolateOpacityForNonViewerPrimarySnake(translateX) { 'worklet'; return interpolate(translateX, [5, 20], [0, 1], Extrapolate.CLAMP); } + function interpolateTranslateXForViewerSecondarySnake(translateX) { 'worklet'; return interpolate(translateX, [-130, -120, -60, 0], [-130, -120, -5, 20]); } + function interpolateTranslateXForNonViewerSecondarySnake(translateX) { 'worklet'; return interpolate(translateX, [0, 80, 120, 130], [0, 30, 120, 130]); @@ -75,6 +79,7 @@ +opacityInterpolator?: number => number, // must be worklet +translateXInterpolator?: number => number, // must be worklet }; + function SwipeSnake( props: SwipeSnakeProps, ): React.Node { @@ -154,6 +159,7 @@ +threadColor: string, +children: React.Node, }; + function SwipeableMessage(props: Props): React.Node { const { isViewer, triggerReply, triggerSidebar } = props; const secondaryActionExists = triggerReply && triggerSidebar; @@ -285,7 +291,7 @@ translateXInterpolator={sidebarSnakeTranslateXInterpolator} key="sidebar" > - + , ); } else if (triggerSidebar) { @@ -300,7 +306,7 @@ opacityInterpolator={sidebarSnakeOpacityInterpolator} key="sidebar" > - + , ); }