import { CHOICE_WIDGET_KIND, IWidgetChoiceItem } from '@livelike/javascript';
import { widgetStore } from '../store';
import { useSelectedFieldStore } from './useSelectedFieldStore';

export type UseWidgetChoicesArg = {
  widgetId: string;
};

export function useWidgetChoices({
  widgetId,
}: UseWidgetChoicesArg): IWidgetChoiceItem[] {
  const widgetChoices = useSelectedFieldStore(widgetStore, () => {
    const widgetPayload = widgetStore.get()[widgetId]?.widgetPayload;
    if (widgetPayload && CHOICE_WIDGET_KIND.includes(widgetPayload.kind)) {
      return widgetPayload.choices;
    }
    return undefined;
  });
  return widgetChoices;
}
