import { Image } from '@tarojs/components'; import classNames from 'classnames'; import React, { useCallback } from 'react'; import { CertificationStatusIcon } from '@/components/certification-status'; import { PageUrl } from '@/constants/app'; // import { CITY_CODE_TO_NAME_MAP, COUNTY_CODE_TO_NAME_MAP } from '@/constants/city'; import { CertificationStatusType } from '@/constants/company'; import { EMPLOY_TYPE_TITLE_MAP, EmployType } from '@/constants/job'; import { JobInfo } from '@/types/job'; // import { LocationInfo } from '@/types/location'; import { getJobSalary, getJobTitle } from '@/utils/job'; import { calcDistance } from '@/utils/location'; import { navigateTo, redirectTo } from '@/utils/route'; import './index.less'; interface IProps { data: JobInfo; redirectOpen?: boolean; className?: string; } const PREFIX = 'job-card'; // const getCityDes = (location: LocationInfo) => { // if (!location) { // return ''; // } // let des = CITY_CODE_TO_NAME_MAP.get(location.cityCode); // if (location.countyCode) { // des += `-${COUNTY_CODE_TO_NAME_MAP.get(location.countyCode)}`; // } // return des; // }; function JobCard(props: IProps) { const { className, data, redirectOpen } = props; const { id, tags = [], employType = EmployType.All, jobDescription, sourceText, publisher, publisherAvatar, jobLocation, distance, isAuthed = false, } = data; const handleClickCard = useCallback(() => { if (redirectOpen) { redirectTo(PageUrl.JobDetail, { id }); } else { navigateTo(PageUrl.JobDetail, { id }); } }, [id, redirectOpen]); return (