import { useCallback, useState } from 'react';
import { useAnalytics } from './useAnalytics';

export type UseWidgetDismissArg = {
  widgetId: string;
  onDismiss?: () => void;
};

export function useWidgetDismiss({ widgetId, onDismiss }: UseWidgetDismissArg) {
  const [dismiss, setDismiss] = useState(false);
  const { trackEvent } = useAnalytics();
  const onDismissHandler = useCallback(() => {
    onDismiss?.();
    trackEvent('Widget Dismissed', { widgetId });
    setDismiss(true);
  }, [dismiss, onDismiss]);

  return {
    dismiss,
    onDismissHandler,
  };
}
