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();
    };
  }, []);
}
