import { useDrawerV2 } from '@material-hu/hooks/useDrawerV2';

import {
  type ApplicationResponse,
  type ApplicationSource,
} from '../../../types';
import { useApplicantUpdateDrawerContent } from '../hooks/useApplicantUpdateDrawerContent';

type UseActionDrawersProps = {
  application: ApplicationResponse;
  applicationSources: ApplicationSource[];
};

export const useActionDrawers = ({
  application,
  applicationSources,
}: UseActionDrawersProps) => {
  const editApplicationDrawer = useDrawerV2(
    useApplicantUpdateDrawerContent({
      onClose: () => editApplicationDrawer.closeDrawer(),
      jobId: application.jobId,
      applicationSources,
      applicationId: application.id,
      stages: application.stages,
    }),
  );

  return {
    editApplicationDrawer: {
      drawer: editApplicationDrawer.drawer,
      showDrawer: editApplicationDrawer.showDrawer,
      closeDrawer: editApplicationDrawer.closeDrawer,
    },
  };
};
