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

export type UseWidgetInteractedAnalyticsArgs = {
  widgetId: string;
};

export function useWidgetInteractedAnalytics({
  widgetId,
}: UseWidgetInteractedAnalyticsArgs) {
  const { trackEvent } = useAnalytics();

  return {
    trackWidgetInteractedAction: useCallback(
      <T>({ interactionItem }: { interactionItem: T }) => {
        trackEvent('Widget Interacted', { widgetId, interactionItem });
      },
      [widgetId, trackEvent]
    ),
  };
}
