/opt/canhelp/apps/web/src/lib
NameSizeModeActions
api.ts440170644editdlrm
auth.ts3120644editdlrm
formatLastSeen.ts6430644editdlrm
formatName.ts8650644editdlrm
taskLocale.ts9410644editdlrm
translations.ts3657880644editdlrm
Edit: /opt/canhelp/apps/web/src/lib/formatName.ts (865B)
/** * Shortens the last name to first letter + period. * "Иван Петров" → "Иван П." * Works with a pre-composed full name string. */ export function shortName(fullName?: string | null): string { if (!fullName?.trim()) return '—' const parts = fullName.trim().split(/\s+/) if (parts.length < 2 || !parts[1]) return parts[0] return `${parts[0]} ${parts[1][0].toUpperCase()}.` } /** * Formats separate firstName + lastName fields, shortening the last name. * Falls back to parsing fullName if firstName is not available. */ export function formatShortName( firstName?: string | null, lastName?: string | null, fallbackName?: string | null, ): string { if (firstName?.trim()) { const l = lastName?.trim() return l ? `${firstName.trim()} ${l[0].toUpperCase()}.` : firstName.trim() } return shortName(fallbackName) }