/opt/canhelp/apps/api/src/lib
NameSizeModeActions
activity.ts13240644editdlrm
apple-client-secret.ts40730644editdlrm
balance.ts35060644editdlrm
daily-limits.ts42820644editdlrm
email.ts527080644editdlrm
fomo.ts113660644editdlrm
google-oauth.ts105260644editdlrm
helper-capability.ts42070644editdlrm
messaging-rules.ts31230644editdlrm
nameUtils.ts7090644editdlrm
notif.ts189290644editdlrm
plan-history.ts10200644editdlrm
push.ts63860644editdlrm
referral.ts61100644editdlrm
telegram.ts62070644editdlrm
turnstile.ts7410644editdlrm
Edit: /opt/canhelp/apps/api/src/lib/nameUtils.ts (709B)
/** * Returns "FirstName L." — shortens last name to initial + dot. * Used when displaying other users' names (privacy: don't expose full last name). */ export function abbrevName( firstName?: string | null, lastName?: string | null, fallback?: string | null, ): string { if (firstName?.trim()) { const l = lastName?.trim() return l ? `${firstName.trim()} ${l[0].toUpperCase()}.` : firstName.trim() } if (fallback?.trim()) { // fallback may be a full name "John Smith" — abbreviate it too const parts = fallback.trim().split(/\s+/) if (parts.length >= 2 && parts[1]) { return `${parts[0]} ${parts[1][0].toUpperCase()}.` } return parts[0] } return '' }