import React, {useEffect, useState} from 'react'; import { Keyboard, KeyboardAvoidingView, Platform, SafeAreaView, Text, TouchableOpacity, View, } from 'react-native'; import * as Animatable from 'react-native-animatable'; import Icon from 'react-native-vector-icons/Feather'; import {br, opacity, pv, SIZE, WEIGHT} from '../../common/common'; import {useTracked} from '../../provider'; import {getElevation, w} from '../../utils/utils'; export const AnimatedSafeAreaView = Animatable.createAnimatableComponent( SafeAreaView, ); export const Container = ({ children, bottomButtonOnPress, bottomButtonText, noBottomButton = false, }) => { // State const [state, dispatch] = useTracked(); const {colors} = state; const [buttonHide, setButtonHide] = useState(false); useEffect(() => { Keyboard.addListener('keyboardDidShow', () => { setButtonHide(true); }); Keyboard.addListener('keyboardDidHide', () => { setTimeout(() => { setButtonHide(false); }, 100); }); return () => { Keyboard.removeListener('keyboardDidShow', () => { setButtonHide(true); }); Keyboard.removeListener('keyboardDidHide', () => { setTimeout(() => { setButtonHide(false); }, 100); }); }; }, []); // Render return ( {children} {buttonHide || noBottomButton ? null : ( {' ' + bottomButtonText} )} ); }; export default Container;