import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow } from "@conusai-kit/ui/primitives" // The retention classes, and the documents due for disposal. A server component: it holds no state, and // every string is passed in. import type { ReactElement } from "react" import type { DocumentView, RetentionClassView } from "../contract/index.js" export interface RetentionLabels { readonly caption: string readonly empty: string readonly code: string readonly keepFor: string readonly from: string readonly dueCaption: string readonly dueEmpty: string } export function RetentionClasses({ classes, due, bases, listHref, labels, }: { classes: readonly RetentionClassView[] due: readonly DocumentView[] bases: Readonly> listHref: string labels: RetentionLabels }): ReactElement { return ( <> {classes.length === 0 ? (

{labels.empty}

) : ( {labels.caption} {labels.code} {labels.keepFor} {labels.from} {classes.map((retention) => ( {retention.code} {retention.keepFor} {bases[retention.from]} ))}
)} {due.length === 0 ? (

{labels.dueEmpty}

) : ( {labels.dueCaption} {labels.code} {due.map((document) => ( {document.title} ))}
)} ) }