Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s
375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die README; an keiner Stelle Bedeutung, nur Zeichensetzung.
61 lines
1.7 KiB
TypeScript
61 lines
1.7 KiB
TypeScript
import Link from 'next/link'
|
|
import { de } from '@/lib/i18n/de'
|
|
import { StampMark, classificationEdgeStyle } from '@/components/StampMark'
|
|
|
|
type Eintrag = {
|
|
id: string
|
|
documentNumber: string
|
|
title: string
|
|
status: string
|
|
layout: string
|
|
classification: number
|
|
createdAt: Date
|
|
retractedAt: Date | null
|
|
}
|
|
|
|
/**
|
|
* Dokumente eines Besitzers. Die Liste ist bereits gefiltert - was hier
|
|
* ankommt, darf der Leser sehen. Kein Ausblenden im Client.
|
|
*/
|
|
export function DocumentList({
|
|
documents,
|
|
levelName,
|
|
}: {
|
|
documents: Eintrag[]
|
|
levelName: Map<number, string>
|
|
}) {
|
|
if (documents.length === 0) {
|
|
return <p className="text-text-dim">{de.document.empty}</p>
|
|
}
|
|
|
|
return (
|
|
<ul className="border-t border-line">
|
|
{documents.map((doc) => (
|
|
<li key={doc.id} className="border-b border-line">
|
|
<Link
|
|
href={`/dokumente/${doc.documentNumber}`}
|
|
prefetch
|
|
className="record-row py-3 pl-3 text-text no-underline"
|
|
style={classificationEdgeStyle(doc.classification)}
|
|
>
|
|
<span className="record-key">{doc.documentNumber}</span>
|
|
<span className={`record-title ${doc.retractedAt ? 'line-through text-text-dim' : ''}`}>
|
|
{doc.title}
|
|
</span>
|
|
<span className="record-meta">
|
|
{de.document.layoutNames[doc.layout] ?? doc.layout}
|
|
</span>
|
|
<span className="record-meta">
|
|
{de.document.statusNames[doc.status] ?? doc.status}
|
|
</span>
|
|
<StampMark
|
|
level={doc.classification}
|
|
name={levelName.get(doc.classification) ?? de.common.unknown}
|
|
/>
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
)
|
|
}
|