import { type TablerIcon, IconInfoCircle } from '@material-hu/icons/tabler';

import StateCard from '@material-hu/components/design-system/StateCard';

import { useLokaliseTranslation } from 'src/utils/i18n';

type CandidatesTableEmptyStateProps = {
  isStageFilter?: boolean;
  title?: string;
  description?: string;
  icon?: TablerIcon;
};

export const CandidatesTableEmptyState = ({
  isStageFilter = false,
  title,
  description,
  icon = IconInfoCircle,
}: CandidatesTableEmptyStateProps) => {
  const { t } = useLokaliseTranslation('ats');
  const getTitle = () => {
    if (title) {
      return title;
    }
    return isStageFilter
      ? t('job_candidates.list.empty_state.title_stage')
      : t('job_candidates.list.empty_state.title');
  };
  const getDescription = () => {
    if (description) {
      return description;
    }
    return isStageFilter
      ? ''
      : t('job_candidates.list.empty_state.description');
  };

  return (
    <StateCard
      slotProps={{
        card: {
          sx: {
            pb: 1,
          },
        },
      }}
      title={getTitle()}
      description={getDescription()}
      icon={icon}
      variant="primary"
    />
  );
};
