import React, { useEffect, useState } from 'react'; import { Keyboard, Text, View } from 'react-native'; import { useSafeArea } 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} = state; const [buttonHide, setButtonHide] = useState(false); const insets = useSafeArea(); let containerBottomButton = root ? state.containerBottomButton : state.indContainerBottomButton; 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} ); };