Calculate correct keyboard offset in composer (#4500)

* calculate correct keyboard offset

* give viewHeight a default value

* much simpler approach
zio/stable
Samuel Newman 2024-06-13 15:58:56 +01:00 committed by GitHub
parent 498e46ae4e
commit d20c59e19d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 17 additions and 2 deletions

View File

@ -415,12 +415,14 @@ export const ComposePost = observer(function ComposePost({
bottomBarAnimatedStyle,
} = useAnimatedBorders()
const keyboardVerticalOffset = useKeyboardVerticalOffset()
return (
<KeyboardAvoidingView
testID="composePostView"
behavior={isIOS ? 'padding' : 'height'}
keyboardVerticalOffset={isIOS ? 70 : 0}
style={[a.flex_1]}>
keyboardVerticalOffset={keyboardVerticalOffset}
style={a.flex_1}>
<View style={[a.flex_1, viewStyles]} aria-modal accessibilityViewIsModal>
<Animated.View style={topBarAnimatedStyle}>
<View style={styles.topbarInner}>
@ -741,6 +743,19 @@ function useAnimatedBorders() {
}
}
function useKeyboardVerticalOffset() {
const {top} = useSafeAreaInsets()
// Android etc
if (!isIOS) return 0
// iPhone SE
if (top === 20) return 40
// all other iPhones
return top + 10
}
const styles = StyleSheet.create({
topbarInner: {
flexDirection: 'row',