/**
 * @Move (?)
 * App-level, consumed by NPS hooks - co-locate with consumer NPS hook
 */
import { useState } from 'react';

import useHuGoTheme from 'src/hooks/useHuGoTheme';

import { NpsSurveyDialogCase } from './types';
import NpsSurveyFormDialogContent from './NpsSurveyFormDialogContent';
import NpsSurveyConfirmationDialogContent from './NpsSurveyConfirmationDialogContent';

type NpsSurveyDialogProps = {
  closeModalFn: () => void;
};

const NpsSurveyDialog = ({ closeModalFn }: NpsSurveyDialogProps) => {
  const HugoThemeProvider = useHuGoTheme();

  const [dialogCase, setDialogCase] = useState<NpsSurveyDialogCase>(
    NpsSurveyDialogCase.FEEDBACK,
  );

  return (
    <HugoThemeProvider>
      {dialogCase === NpsSurveyDialogCase.FEEDBACK && (
        <NpsSurveyFormDialogContent
          onFinish={() => setDialogCase(NpsSurveyDialogCase.CONFIRMATION)}
          onCloseModal={closeModalFn}
        />
      )}

      {dialogCase === NpsSurveyDialogCase.CONFIRMATION && (
        <NpsSurveyConfirmationDialogContent onCloseModal={closeModalFn} />
      )}
    </HugoThemeProvider>
  );
};

export default NpsSurveyDialog;
