diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-06-04 12:55:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-04 10:55:35 +0100 |
commit | d0327342783f5357f22fbc6b3903b51843306930 (patch) | |
tree | aef14afde221439aa88c0fa4780ec81019225ec2 /src/view/com/composer/Composer.tsx | |
parent | 3e1f0768916774642516d88254a6cf7a6a82331f (diff) | |
download | voidsky-d0327342783f5357f22fbc6b3903b51843306930.tar.zst |
Composer - make bottom border more consistent when typing (#4343)
* floor values * fix last line being obscured * Rm unnecessary runOnUI --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Diffstat (limited to 'src/view/com/composer/Composer.tsx')
-rw-r--r-- | src/view/com/composer/Composer.tsx | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index 93cc87fc8..b78dafc91 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -20,7 +20,6 @@ import { } from 'react-native-keyboard-controller' import Animated, { interpolateColor, - runOnUI, useAnimatedStyle, useSharedValue, withTiming, @@ -396,7 +395,7 @@ export const ComposePost = observer(function ComposePost({ testID="composePostView" behavior="padding" style={a.flex_1} - keyboardVerticalOffset={replyTo ? 110 : isAndroid ? 180 : 140}> + keyboardVerticalOffset={replyTo ? 115 : isAndroid ? 180 : 162}> <View style={[a.flex_1, viewStyles]} aria-modal @@ -650,14 +649,14 @@ function useAnimatedBorders() { 'worklet' if (typeof newContentHeight === 'number') - contentHeight.value = newContentHeight + contentHeight.value = Math.floor(newContentHeight) if (typeof newContentOffset === 'number') - contentOffset.value = newContentOffset + contentOffset.value = Math.floor(newContentOffset) if (typeof newScrollViewHeight === 'number') - scrollViewHeight.value = newScrollViewHeight + scrollViewHeight.value = Math.floor(newScrollViewHeight) hasScrolledBottom.value = withTiming( - contentHeight.value - contentOffset.value >= scrollViewHeight.value + contentHeight.value - contentOffset.value - 5 > scrollViewHeight.value ? 1 : 0, ) @@ -667,9 +666,8 @@ function useAnimatedBorders() { const scrollHandler = useAnimatedScrollHandler({ onScroll: event => { + 'worklet' hasScrolledTop.value = withTiming(event.contentOffset.y > 0 ? 1 : 0) - - // already on UI thread showHideBottomBorder({ newContentOffset: event.contentOffset.y, newContentHeight: event.contentSize.height, @@ -680,7 +678,8 @@ function useAnimatedBorders() { const onScrollViewContentSizeChange = useCallback( (_width: number, height: number) => { - runOnUI(showHideBottomBorder)({ + 'worklet' + showHideBottomBorder({ newContentHeight: height, }) }, @@ -689,7 +688,8 @@ function useAnimatedBorders() { const onScrollViewLayout = useCallback( (evt: LayoutChangeEvent) => { - runOnUI(showHideBottomBorder)({ + 'worklet' + showHideBottomBorder({ newScrollViewHeight: evt.nativeEvent.layout.height, }) }, |