import { IGenericDatePicker } from '../../../generic/types';
import { ISlackDatePicker } from '../../types';
import { transformConfirm } from './confirm';
import { transformTextObject } from './helpers/transform-text-object';

export const transformDatePicker = ({
  action_id,
  placeholder,
  initial_date,
  confirm
}: ISlackDatePicker): IGenericDatePicker => {
  const res: IGenericDatePicker = {
    type: 'datePicker',
    props: {
      variableName: action_id,
      slack: {}
    }
  };

  if (placeholder) {
    res.props.placeholder = transformTextObject(placeholder).value,
    res.props.slack.placeholder_type = placeholder.type;
    res.props.slack.placeholder_emoji = placeholder.emoji;
    res.props.slack.placeholder_verbatim = placeholder.verbatim;
  }

  if (initial_date) {
    res.props.value = initial_date;
  }
  
  if (confirm) {
    res.props.slack.confirm = transformConfirm(confirm);
  }

  return res;
};