/**
 * @Move (?)
 * App-level, consumed by NPS hooks - co-locate with consumer NPS hook
 */
import useHuGoTheme from 'src/hooks/useHuGoTheme';
import { NpsDialogStep, NpsDialogSteps } from 'src/types/nps';

import NpsFeedbackFormDialog from './NpsFeedbackFormDialog';
import NpsFeedbackSuccessDialog from './NpsFeedbackSuccessDialog';

type NpsFeedbackDialogProps = {
  onCloseModal: (reportDialogClosure: boolean) => void;
  setStep: (step: NpsDialogStep) => void;
  step: NpsDialogStep;
};

const NpsFeedbackDialog = ({
  onCloseModal,
  setStep,
  step,
}: NpsFeedbackDialogProps) => {
  const HugoThemeProvider = useHuGoTheme();

  const isSuccessScreen = step === NpsDialogSteps.SUCCESS;

  return (
    <HugoThemeProvider>
      {!isSuccessScreen && (
        <NpsFeedbackFormDialog
          step={step}
          onCloseModal={onCloseModal}
          setStep={setStep}
        />
      )}
      {isSuccessScreen && (
        <NpsFeedbackSuccessDialog onCloseModal={() => onCloseModal(false)} />
      )}
    </HugoThemeProvider>
  );
};

export default NpsFeedbackDialog;
