import React, {useEffect, useState} from 'react'; import {Keyboard, Text, TouchableOpacity, View} from 'react-native'; import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; import {br, opacity, pv, SIZE, WEIGHT} from '../../common/common'; import {useTracked} from '../../provider'; import {DDS, getElevation} from '../../utils/utils'; import {useSafeArea} from 'react-native-safe-area-context'; 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} ); };