/**
 * Public-facing worker name helpers (prefer displayName over legal name).
 */
export function getWorkerDisplayName(input: {
  displayName?: string | null;
  user?: { firstName?: string | null; lastName?: string | null } | null;
  firstName?: string | null;
  lastName?: string | null;
}): string {
  const custom = input.displayName?.trim();
  if (custom) return custom;
  const first = input.user?.firstName ?? input.firstName ?? '';
  const last = input.user?.lastName ?? input.lastName ?? '';
  return `${first} ${last}`.trim() || 'Worker';
}

/** Split a display name for avatar initials / ChatUser-style fields. */
export function splitDisplayName(displayName: string): { firstName: string; lastName: string } {
  const parts = displayName.trim().split(/\s+/).filter(Boolean);
  if (parts.length === 0) return { firstName: 'Worker', lastName: '' };
  if (parts.length === 1) return { firstName: parts[0], lastName: '' };
  return { firstName: parts[0], lastName: parts.slice(1).join(' ') };
}
