import React, {useEffect, useState} from 'react'; import {Keyboard, Text, View} from 'react-native'; import {useSafeAreaInsets} from 'react-native-safe-area-context'; import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; import {pv, SIZE, WEIGHT} from '../../common/common'; import {useTracked} from '../../provider'; import {DDS, getElevation} from '../../utils/utils'; import {PressableButton} from '../PressableButton'; export const ContainerBottomButton = ({root}) => { const [state, dispatch] = useTracked(); const {colors,containerBottomButton} = state; const [buttonHide, setButtonHide] = useState(false); const insets = useSafeAreaInsets(); useEffect(() => { Keyboard.addListener('keyboardDidShow', () => { setTimeout(() => { if (DDS.isTab) return; setButtonHide(true); }, 300); }); Keyboard.addListener('keyboardDidHide', () => { setTimeout(() => { if (DDS.isTab) return; setButtonHide(false); }, 0); }); return () => { Keyboard.removeListener('keyboardDidShow', () => { setTimeout(() => { if (DDS.isTab) return; setButtonHide(true); }, 300); }); Keyboard.removeListener('keyboardDidHide', () => { setTimeout(() => { if (DDS.isTab) return; setButtonHide(false); }, 0); }); }; }, []); return !containerBottomButton.visible ? null : ( {' ' + containerBottomButton.bottomButtonText} ); };