UNPKG

@livelike/react-native

Version:

LiveLike React Native package

27 lines (23 loc) 800 B
import { useEffect, useRef } from 'react'; import { useAnalytics } from './useAnalytics'; import { Keyboard } from 'react-native'; export function useTrackKeyboardEffect() { const inputVisibleRef = useRef(false); const { trackEvent } = useAnalytics(); useEffect(() => { const showSubscription = Keyboard.addListener('keyboardDidShow', () => { if (!inputVisibleRef.current) { inputVisibleRef.current = true; trackEvent('Keyboard Selected', { type: 'Standard' }); } }); const hideSubscription = Keyboard.addListener('keyboardDidHide', () => { inputVisibleRef.current = false; trackEvent('Keyboard Hidden', { type: 'Standard' }); }); return () => { showSubscription.remove(); hideSubscription.remove(); }; }, []); }