import Link from 'next/link' import { ArrowLeft, ListChecks, Scale } from 'lucide-react' import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { SeitenKopf } from '@/components/seiten-kopf' import { Rechtshinweis } from '@/components/rechtshinweis' import { VorgangsFormular } from '@/components/vorgaenge/vorgangs-formular' import { VorlagenKacheln } from '@/components/vorgaenge/vorlagen-kacheln' import { aktiveBetreute, erfordereBenutzer, erfordereZugang } from '@/lib/auth/sitzung' import { GENEHMIGUNG_WARNUNG } from '@/lib/vorgaenge/genehmigungskette' import { vorlageFinden } from '@/lib/vorgaenge/vorlagen' import { db, nichtGeloescht } from '@/lib/db' import { formatDatum } from '@/lib/utils' import { addDays } from 'date-fns' /** * Neuen Vorgang anlegen - erst die Vorlage wählen, dann die Angaben. * * Zwei Schritte statt einem: Die Vorlage entscheidet über die * Aufgabenliste und darüber, ob ein Genehmigungsverfahren angelegt wird. * Das soll man bewusst wählen, nicht nebenbei in einem Auswahlfeld. */ export default async function NeuerVorgangSeite({ searchParams, }: { searchParams: Promise<{ vorlage?: string; leer?: string }> }) { const benutzer = await erfordereBenutzer('/vorgaenge/neu') const aktive = await aktiveBetreute(benutzer) if (!aktive) return null await erfordereZugang(aktive.id, 'VORGAENGE', 'schreiben') // Kontakte dieser Akte fuer die Wahl des Ansprechpartners. const kontakte = await db.kontakt.findMany({ where: { betreuteId: aktive.id, ...nichtGeloescht }, select: { id: true, name: true, organisation: true }, orderBy: [{ organisation: 'asc' }, { name: 'asc' }], take: 300, }) const auswahl = await searchParams const vorlage = auswahl.vorlage ? vorlageFinden(auswahl.vorlage) : undefined const leer = auswahl.leer === '1' // Schritt 1: Kachelliste if (!vorlage && !leer) { return (