Skip to content

Commit e3f649f

Browse files
committed
Add Default Search Parameters For Recommended Jobs
Signed-off-by: Tal Jacob <taljacob2@gmail.com>
1 parent a05dc7d commit e3f649f

1 file changed

Lines changed: 39 additions & 2 deletions

File tree

nextstep-frontend/src/components/LinkedinJobs.tsx

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type React from "react"
2-
import { useState } from "react"
2+
import { useState, useEffect } from "react"
33
import {
44
Box,
55
Typography,
@@ -74,11 +74,17 @@ const LinkedinJobs: React.FC<LinkedinJobsProps> = ({
7474
skills,
7575
selectedRole,
7676
}) => {
77-
const [settings, setSettings] = useState<LinkedInSettings>({
77+
const DEFAULTS: Omit<LinkedInSettings, "skills"> = {
7878
location: "Israel",
7979
dateSincePosted: "past month",
8080
jobType: "full time",
8181
experienceLevel: "all",
82+
}
83+
const [settings, setSettings] = useState<LinkedInSettings>({
84+
location: DEFAULTS.location,
85+
dateSincePosted: DEFAULTS.dateSincePosted,
86+
jobType: DEFAULTS.jobType,
87+
experienceLevel: DEFAULTS.experienceLevel,
8288
skills: skills.slice(0, 3), // Limit to first 3 skills
8389
})
8490
const theme = useTheme()
@@ -89,6 +95,21 @@ const LinkedinJobs: React.FC<LinkedinJobsProps> = ({
8995
const [fullScreenSettings, setFullScreenSettings] = useState<LinkedInSettings>({ ...settings })
9096
const [newSkill, setNewSkill] = useState("")
9197

98+
// Auto-fill compact settings when empty
99+
useEffect(() => {
100+
setSettings((prev) => {
101+
if (prev.skills.length > 0) return prev
102+
return {
103+
...prev,
104+
location: prev.location || DEFAULTS.location,
105+
dateSincePosted: prev.dateSincePosted || DEFAULTS.dateSincePosted,
106+
jobType: prev.jobType || DEFAULTS.jobType,
107+
experienceLevel: prev.experienceLevel || DEFAULTS.experienceLevel,
108+
skills: prev.skills.length === 0 && skills.length > 0 ? skills.slice(0, 3) : prev.skills,
109+
}
110+
})
111+
}, [skills])
112+
92113
const handleSettingChange = (key: keyof LinkedInSettings, value: string) => {
93114
setSettings((prev) => ({ ...prev, [key]: value }))
94115
}
@@ -147,6 +168,22 @@ const LinkedinJobs: React.FC<LinkedinJobsProps> = ({
147168
}))
148169
}
149170

171+
// Auto-fill full-screen settings when empty
172+
useEffect(() => {
173+
if (!fullScreen) return
174+
setFullScreenSettings((prev) => {
175+
if (prev.skills.length > 0) return prev
176+
return {
177+
...prev,
178+
location: prev.location || DEFAULTS.location,
179+
dateSincePosted: prev.dateSincePosted || DEFAULTS.dateSincePosted,
180+
jobType: prev.jobType || DEFAULTS.jobType,
181+
experienceLevel: prev.experienceLevel || DEFAULTS.experienceLevel,
182+
skills: prev.skills.length === 0 && skills.length > 0 ? skills.slice(0, 3) : prev.skills,
183+
}
184+
})
185+
}, [fullScreen, skills])
186+
150187
return (
151188
<>
152189
<Card

0 commit comments

Comments
 (0)