"use client"; import { Lock, Trash2 } from "lucide-react"; import { useRouter } from "next/navigation"; import { useTransition } from "react"; import { deleteHireDraft } from "@/actions/hireDrafts"; import { useHireWizard } from "@/components/hire/HireWizardContext"; import { useToast } from "@/components/ui/Toast"; import type { Entwurf } from "@/lib/entwuerfe"; import { fmtDate } from "@/lib/format"; // Angefangene Neueinstellungen — die eigenen und, wer in der Glocke // hinzugewählt ist, auch dessen. // // Fortsetzen geht bei beiden: wer vertreten wird, soll die angefangene // Einstellung zu Ende bringen können. Aber immer nur eine Person zugleich — // der Entwurf ist ein einziges JSONB-Feld, zwei gleichzeitig Schreibende // überschrieben einander vollständig, und die Zweite merkte nichts davon. // Die Sperre dazu steht in der Datenbank (20260910160000); hier steht nur, // was sie für die Zeile bedeutet. // // Löschen bleibt beim Eigentümer. Die Regel liesse mehr zu — sie muss, weil // der Assistent den Entwurf nach dem Anlegen selbst wegräumt —, aber eine // Schaltfläche, die fremde halbfertige Arbeit wegwirft, gehört nicht neben // eine, die sie fortsetzt. export function DraftsCard({ drafts }: { drafts: Entwurf[] }) { const { openWizard } = useHireWizard(); const { showToast } = useToast(); const router = useRouter(); const [pending, startTransition] = useTransition(); if (drafts.length === 0) return null; function handleDelete(id: string) { startTransition(async () => { const result = await deleteHireDraft(id); if (result.success) { showToast("Entwurf gelöscht."); router.refresh(); } else { showToast(result.error ?? "Fehler beim Löschen.", "error"); } }); } return (

Entwürfe – Neueinstellungen

); }