* Only enable keyboard controller when necessary * make it screen only * rm keyboard padding * rm keyboardpadding file * revert using keyboard controller in composer * remove styles.outer (unnecessary for revert) * continue to use keyboard padding in the report dialog for dms --------- Co-authored-by: Hailey <me@haileyok.com>
31 lines
717 B
TypeScript
31 lines
717 B
TypeScript
import React from 'react'
|
|
import {useKeyboardHandler} from 'react-native-keyboard-controller'
|
|
import Animated, {
|
|
useAnimatedStyle,
|
|
useSharedValue,
|
|
} from 'react-native-reanimated'
|
|
|
|
export function KeyboardControllerPadding({maxHeight}: {maxHeight?: number}) {
|
|
const keyboardHeight = useSharedValue(0)
|
|
|
|
useKeyboardHandler(
|
|
{
|
|
onMove: e => {
|
|
'worklet'
|
|
|
|
if (maxHeight && e.height > maxHeight) {
|
|
keyboardHeight.value = maxHeight
|
|
} else {
|
|
keyboardHeight.value = e.height
|
|
}
|
|
},
|
|
},
|
|
[maxHeight],
|
|
)
|
|
|
|
const animatedStyle = useAnimatedStyle(() => ({
|
|
height: keyboardHeight.value,
|
|
}))
|
|
|
|
return <Animated.View style={animatedStyle} />
|
|
}
|