'use client' import * as React from 'react' import { Check, Loader2 } from 'lucide-react' import type { PosteingangStatus } from '@prisma/client' import { Button } from '@/components/ui/button' import { posteingangSetzen } from '@/server/actions/dokumente' import { POSTEINGANG_BESCHRIFTUNG, POSTEINGANG_STUFEN } from '@/lib/validierung/dokumente' import { cn } from '@/lib/utils' /** * Das Posteingangsbuch als Kette: NEU -> GESICHTET -> ZUGEORDNET -> * BEANTWORTET. * * Diese vier Stufen sind kein Selbstzweck. Sie beantworten die Frage, die * man sich am Kuechentisch mit dem Poststapel stellt: Was habe ich schon * gelesen, was noch nicht, und was wartet noch auf eine Antwort? Nichts * darf durchrutschen - dafuer gibt es diese Zeile. */ export function PosteingangStufen({ dokumentId, status, schreibrecht, kompakt, }: { dokumentId: string status: PosteingangStatus schreibrecht: boolean kompakt?: boolean }) { const [laeuft, setLaeuft] = React.useState(null) const [aktuell, setAktuell] = React.useState(status) React.useEffect(() => setAktuell(status), [status]) const erreicht = POSTEINGANG_STUFEN.indexOf(aktuell) return (
{POSTEINGANG_STUFEN.map((stufe, i) => { const istAktuell = stufe === aktuell const istErledigt = i < erreicht return ( ) })}
) }