'use client' import { useActionState, useState } from 'react' import type { SozialhilfeBewertung, VertragArt } from '@prisma/client' import { Input } from '@/components/ui/input' import { Select } from '@/components/ui/select' import { Textarea } from '@/components/ui/textarea' import { Feld, Feldgruppe } from '@/components/feld' import { Rechtshinweis } from '@/components/rechtshinweis' import { Absendeknopf, Zustandsmeldung } from '@/components/substanz-formular' import { BEWERTUNG_BESCHRIFTUNG, BEWERTUNG_ERKLAERUNG, RHYTHMUS_BESCHRIFTUNG, VERTRAG_ART_BESCHRIFTUNG, VERTRAG_STATUS_BESCHRIFTUNG, } from '@/lib/vertraege/konstanten' import { BEWERTUNGEN, VERTRAG_ARTEN, VERTRAG_STATUS, ZAHL_RHYTHMEN } from '@/lib/validierung/vertraege' import { vertragSpeichern } from '@/server/actions/vertraege' import type { Formularzustand } from '@/lib/validierung/substanz' export type VertragWerte = { id?: string bezeichnung: string gesellschaft: string art: string status: string vertragsnummer: string beginnAm: string endeAm: string kuendigungsfristMonate: string kuendigungZum: string gekuendigtAm: string beitrag: string rhythmus: string bewertungSozialhilfe: string bewertungBegruendung: string notizen: string } export const LEERER_VERTRAG: VertragWerte = { bezeichnung: '', gesellschaft: '', art: 'LEBENSVERSICHERUNG', status: 'AKTIV', vertragsnummer: '', beginnAm: '', endeAm: '', kuendigungsfristMonate: '3', kuendigungZum: '', gekuendigtAm: '', beitrag: '', rhythmus: 'MONATLICH', bewertungSozialhilfe: 'UNGEPRUEFT', bewertungBegruendung: '', notizen: '', } export function VertragFormular({ betreuteId, werte, }: { betreuteId: string werte: VertragWerte }) { const [zustand, aktion] = useActionState(vertragSpeichern, {}) const [bewertung, setBewertung] = useState(werte.bewertungSozialhilfe) const istNeu = !werte.id return (
{werte.id && }