From 5dffdf3b609f624c155a73969d2234b0b4ff0698 Mon Sep 17 00:00:00 2001 From: linxin Date: Tue, 3 Sep 2024 11:18:20 +0800 Subject: [PATCH] feat: add job resume email --- features/jobs/List.tsx | 18 ++++++++++++++++-- hooks/use-jobs.ts | 5 ++++- package.json | 4 ++-- pages/[locale]/jobs/index.tsx | 4 ++-- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/features/jobs/List.tsx b/features/jobs/List.tsx index 198f947..750ca2d 100644 --- a/features/jobs/List.tsx +++ b/features/jobs/List.tsx @@ -11,11 +11,12 @@ import { Modal } from 'antd' interface JobProps { jobs: JobItem[] cities: CityItem[] + email: string } const JobList: React.FC = props => { const i18n = useTranslation('common') const language = i18n.i18n?.language - const { jobs, cities } = props + const { jobs, cities, email } = props const [visible, setVisible] = React.useState(false) const [detailJob, setDetailJob] = React.useState() @@ -98,10 +99,23 @@ const JobList: React.FC = props => {
Work Location
-
+
{getLocation(get(detailJob, 'cities'))}
+
+
Please send your resume to:
+ + {email} + +
diff --git a/hooks/use-jobs.ts b/hooks/use-jobs.ts index 0938749..2b2c5da 100644 --- a/hooks/use-jobs.ts +++ b/hooks/use-jobs.ts @@ -29,9 +29,11 @@ export interface CityItem { } let jobsState: JobItem[] = [] const filterSite = 'whale' +const DefaultEmail = 'recruit@longbridge.sg' export function useJobs() { const [jobs, setJobs] = useSafeState(jobsState) const [cities, setCities] = useSafeState([]) + const [email, setEmail] = useSafeState(DefaultEmail) useEffect(() => { if (!!jobsState.length) return @@ -45,10 +47,11 @@ export function useJobs() { if (_jobConfig) { const whaleJobs = get(_jobConfig, 'jobs', []).filter((job: JobItem) => job.site === filterSite) setCities(get(_jobConfig, 'cities', [])) + setEmail(get(_jobConfig, `emails.${filterSite}`, DefaultEmail)) setJobs(whaleJobs) jobsState = whaleJobs } } - return [jobs, cities, setJobs] as const + return [jobs, cities, email, setJobs] as const } diff --git a/package.json b/package.json index c80fd6b..290c329 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev --port=3003", - "dev:prod": "PROXY=prod next dev --port=3003", + "dev": "next dev --port=3002", + "dev:prod": "PROXY=prod next dev --port=3002", "build": "next build && next export && yarn normalize-asset-path", "normalize-asset-path": "node ./normalize-asset-path", "start": "next start", diff --git a/pages/[locale]/jobs/index.tsx b/pages/[locale]/jobs/index.tsx index 13dc059..b75e495 100644 --- a/pages/[locale]/jobs/index.tsx +++ b/pages/[locale]/jobs/index.tsx @@ -21,7 +21,7 @@ export const getStaticProps = async (ctx: any) => ({ }) const Jobs: React.FC = () => { - const [jobs, cities] = useJobs() + const [jobs, cities, email] = useJobs() const seoI18n = useTranslation(['seo']) const i18n = useTranslation('common') return ( @@ -30,7 +30,7 @@ const Jobs: React.FC = () => {
- +