Files
Harlekin e0b03ea336
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
Gedankenstriche durch Bindestriche ersetzt
375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die
README; an keiner Stelle Bedeutung, nur Zeichensetzung.
2026-09-04 08:54:52 +02:00

29 lines
899 B
TypeScript

import type { CasePreview } from '@/lib/chat/preview'
/**
* Die Form, in der eine Nachricht die Grenze zur Anzeige überquert.
*
* Datumsangaben als Zeichenkette, weil ein `Date` diese Grenze nicht sauber
* überquert, und der Text einer zurückgezogenen Nachricht ist **leer** - nicht
* ausgeblendet. Was der Client nicht bekommt, kann er nicht zeigen.
*/
export type ChatMessageView = {
id: string
body: string
authorId: string
authorName: string
replyToId: string | null
editedAt: string | null
withdrawnAt: string | null
adoptedEntryId: string | null
createdAt: string
/** Nur zu Aktenzeichen, die im Text vorkommen. Serverseitig aufgelöst. */
previews: Record<string, CasePreview>
}
const CASE_NUMBER = /\b[A-Za-z][A-Za-z0-9-]*-\d{4}-\d{3,8}\b/g
export function extractCaseNumbers(body: string): string[] {
return [...new Set(body.match(CASE_NUMBER) ?? [])]
}