import classNames from 'classnames'; import React, { useCallback } from 'react'; import { PageUrl } from '@/constants/app'; import { JOB_MANAGE_STATUS_TITLE_MAP, JobManageStatus } from '@/constants/job'; import { JobManageInfo } from '@/types/job'; import { getJobLocation } from '@/utils/job'; import { navigateTo } from '@/utils/route'; import './index.less'; interface IProps { data: JobManageInfo; className?: string; } const PREFIX = 'job-manage-card'; const STATUS_CLASS_MAP = { [JobManageStatus.WaitVerify]: 'pending', [JobManageStatus.Open]: 'open', [JobManageStatus.Pending]: 'pending', [JobManageStatus.Error]: 'error', [JobManageStatus.Close]: 'close', [JobManageStatus.Expire]: 'close', }; function JobManageCard(props: IProps) { const { data = {} } = props; const { id, title, status } = data as JobManageInfo; const handleClick = useCallback(() => { navigateTo(PageUrl.JobDetail, { id }); }, [id]); return (
{title}
{getJobLocation(data as JobManageInfo)}
{JOB_MANAGE_STATUS_TITLE_MAP[status]}
); } export default React.memo(JobManageCard);