import { X } from "lucide-react"; import { Lookup } from "@/components/ui/Lookup"; import type { OpenPositionResolved } from "@/lib/positions"; import type { HireDraftData } from "./types"; type StepPositionProps = { draft: HireDraftData; update: (patch: Partial) => void; openPositions: OpenPositionResolved[]; }; export function StepPosition({ draft, update, openPositions }: StepPositionProps) { const selected = openPositions.find((p) => p.id === draft.positionId) ?? null; async function search(query: string): Promise { const q = query.toLowerCase(); return openPositions.filter((p) => p.title.toLowerCase().includes(q) || p.position_number.includes(q)); } return (
{!selected ? ( placeholder="Positionsname oder -nummer…" onSearch={search} onSelect={(p) => update({ positionId: p.id })} renderResult={(p) => (
{p.title}
{p.position_number} · {p.orgLabel}
)} /> ) : (
{selected.title}
{selected.position_number} · {selected.orgLabel}
)} {openPositions.length === 0 &&

Derzeit sind keine offenen Positionen vorhanden.

}
); }