import Markdown from 'markdown-to-jsx';
import React, { ChangeEvent, MouseEventHandler, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import styles from './UrgentRequest.module.scss';

export interface UrgentRequestProps {
  submit: MouseEventHandler<HTMLButtonElement>;
}

export const UrgentRequest: React.FC<UrgentRequestProps> = ({
  submit,
}: UrgentRequestProps) => {
  const [urgent, setUrgent] = useState<boolean>(false);
  const [urgentText, setUrgentText] = useState<string>('');
  const { t } = useTranslation();
  const changeUrgentText = (event: ChangeEvent<HTMLInputElement>): void => {
    setUrgentText(event.target.value);
  };

  useEffect(() => {
    setUrgent(urgentText == t('urgency.urgent'));
  }, [urgentText]);

  return (
    <fieldset className={`${styles.UrgentRequest}`}>
      <legend>{t('urgency.legend')}</legend>
      <Markdown>{t('urgency.intro')}</Markdown>
      <div className="field">
        <input
          type="text"
          value={urgentText}
          onChange={changeUrgentText}
          aria-label={t('urgency.typeUrgentHere')}
        ></input>
      </div>
      <button
        disabled={!urgent}
        className="bad"
        type="submit"
        onClick={submit}
      >
        {t('urgency.submit')}
      </button>
    </fieldset>
  );
};

export default UrgentRequest;