"use client" import { useState, useEffect } from "react" import { Briefcase, ChevronDown, Loader2 } from "lucide-react" interface Job { job_title: string keywords: string[] industry: string description: string } interface JobSelectorProps { onSelect: (job: Job | null) => void } export function JobSelector({ onSelect }: JobSelectorProps) { const [jobs, setJobs] = useState([]) const [loading, setLoading] = useState(true) const [open, setOpen] = useState(false) const [selected, setSelected] = useState(null) useEffect(() => { fetch("/api/ai/jobs") .then((r) => r.json()) .then((data) => setJobs(data.jobs || [])) .catch(() => setJobs([])) .finally(() => setLoading(false)) }, []) const handleSelect = (job: Job) => { setSelected(job) setOpen(false) onSelect(job) } return (
{open && ( <>
setOpen(false)} />
{jobs.map((job, i) => ( ))} {jobs.length === 0 && !loading && (
No job categories loaded
)}
)}
) }