refactor(personFormat): replace getInitials(Person) with getInitials(name: string)

Unify the initials-extraction logic: the new string-based getInitials()
splits on whitespace, takes the first char of the first and last word
uppercased — matching the pattern that was already inlined in
CommentThread. Update PersonChip, DocumentMetadataDrawer, and
CommentThread to use the shared function.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-04-15 13:07:23 +02:00
parent 655a2003cb
commit 76d6f234b4
5 changed files with 34 additions and 18 deletions

View File

@@ -2,7 +2,7 @@
import { m } from '$lib/paraglide/messages.js';
import { formatDate } from '$lib/utils/date';
import { formatDocumentStatus } from '$lib/utils/documentStatusLabel';
import { getInitials as calcInitials, personAvatarColor } from '$lib/utils/personFormat';
import { getInitials, personAvatarColor } from '$lib/utils/personFormat';
type Person = { id: string; firstName?: string | null; lastName: string; displayName: string };
type Tag = { id: string; name: string };
@@ -32,10 +32,6 @@ let showAllReceivers = $state(false);
const displayedReceivers = $derived(showAllReceivers ? receivers : visibleReceivers);
function getInitials(person: Person): string {
return calcInitials(person);
}
function getFullName(person: Person): string {
return person.displayName;
}
@@ -51,7 +47,7 @@ function getFullName(person: Person): string {
style="background-color: {personAvatarColor(person.id)}"
aria-hidden="true"
>
{getInitials(person)}
{getInitials(person.displayName)}
</span>
<span class="font-serif text-sm text-ink">{getFullName(person)}</span>
</a>