'use client' import Link from 'next/link' import { useActionState, useState } from 'react' import { Coins, FileDown, Mail, Plus } from 'lucide-react' import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert' import { Button } from '@/components/ui/button' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { Input } from '@/components/ui/input' import { Select } from '@/components/ui/select' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table' import { Textarea } from '@/components/ui/textarea' import { Feld } from '@/components/feld' import { Leerzustand } from '@/components/seiten-kopf' import { Absendeknopf, Textbaustein, Zustandsmeldung } from '@/components/substanz-formular' import { WERTQUELLEN_VERTRAG } from '@/lib/vertraege/konstanten' import { rueckkaufswertAnfordern, rueckkaufswertErfassen } from '@/server/actions/vertraege' import { formatCent, formatDatum } from '@/lib/utils' import type { Formularzustand } from '@/lib/validierung/substanz' export type RueckkaufswertZeile = { id: string stichtag: string wertCent: number wertquelle: string bemerkung: string | null } export function Rueckkaufswert({ betreuteId, vertragId, werte, angefragtAm, erinnerungFaellig, tageSeitAnfrage, anschreiben, stichtagVorschlag, darfSchreiben, }: { betreuteId: string vertragId: string werte: RueckkaufswertZeile[] angefragtAm: string | null erinnerungFaellig: boolean tageSeitAnfrage: number | null anschreiben: string stichtagVorschlag: string darfSchreiben: boolean }) { const [erfassen, erfassenAktion] = useActionState( rueckkaufswertErfassen, {}, ) const [anfrage, anfrageAktion] = useActionState( rueckkaufswertAnfordern, {}, ) const [briefOffen, setBriefOffen] = useState(false) const [erfassenOffen, setErfassenOffen] = useState(false) return ( Der Bezirk verlangt zu jedem Versicherungsvertrag den Rückkaufswert zu einem Stichtag — schriftlich von der Gesellschaft, nicht geschätzt. Die Antwort dauert erfahrungsgemäß drei bis sechs Wochen. {angefragtAm && ( )} {werte.length === 0 ? ( setBriefOffen(true)}>