import { RoleEmploymentFields } from "@/components/employees/RoleEmploymentFields"; import type { PaygradeType } from "@/lib/supabase/types"; import type { HireDraftData } from "./types"; const PAYGRADES: { value: PaygradeType; label: string; description: string }[] = [ { value: "A", label: "A – Einstieg", description: "Berufseinsteiger:innen ohne einschlägige Erfahrung" }, { value: "B", label: "B – Qualifiziert", description: "Fachkräfte mit abgeschlossener Ausbildung" }, { value: "C", label: "C – Erfahren", description: "Mehrjährige einschlägige Berufserfahrung" }, { value: "D", label: "D – Spezialist:in", description: "Vertiefte Fachexpertise" }, { value: "E", label: "E – Teamleitung", description: "Fachliche und disziplinäre Führung eines Teams" }, { value: "F", label: "F – Bereichsleitung / GF", description: "Führung eines Bereichs bzw. Geschäftsführung" }, ]; export function StepVertrag({ draft, update }: { draft: HireDraftData; update: (patch: Partial) => void }) { function handleEmploymentTypeChange(value: HireDraftData["employmentType"]) { update({ employmentType: value, weeklyHours: value === "Vollzeit" ? "38.5" : draft.weeklyHours === "38.5" ? "20" : draft.weeklyHours, }); } return (
update({ entryDate: e.target.value })} className="w-full rounded border border-border px-3 py-2 text-sm" />
{draft.contractType === "befristet" && (
update({ contractEndDate: e.target.value })} className="w-full rounded border border-border px-3 py-2 text-sm" />
)}
update({ weeklyHours: e.target.value })} className="w-full rounded border border-border px-3 py-2 text-sm disabled:bg-surface disabled:text-ink-muted" />

{PAYGRADES.find((p) => p.value === draft.paygrade)?.description}

Es gilt eine Probezeit von 1 Monat gemäß Kollektivvertrag.

Rolle & Anstellung

); }