import { RoleEmploymentFields } from "@/components/employees/RoleEmploymentFields"; import { SelectField, TextField } from "@/components/ui/Field"; 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 })} /> update({ contractType: v as HireDraftData["contractType"] })} options={[ { value: "unbefristet", label: "unbefristet" }, { value: "befristet", label: "befristet" }, ]} />
{draft.contractType === "befristet" && ( update({ contractEndDate })} /> )}
handleEmploymentTypeChange(v as HireDraftData["employmentType"])} options={[ { value: "Vollzeit", label: "Vollzeit" }, { value: "Teilzeit", label: "Teilzeit" }, ]} /> update({ weeklyHours })} />
update({ paygrade: v as PaygradeType })} options={PAYGRADES} hint={PAYGRADES.find((p) => p.value === draft.paygrade)?.description} />

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

Rolle & Anstellung

); }