/**
 * Splits and joins a person's name between the account's single `name.en`
 * string and the profile's separate `firstName`/`middleName`/`lastName`
 * fields.
 *
 * The account has no first/middle/last columns of its own (that model lives
 * only on the profile), so this is the one place that heuristic lives —
 * reused everywhere a name crosses that boundary: the signup form joins into
 * it, the Identity Details wizard step and the Profile page's Personal tab
 * both split out of it.
 */
export function splitPersonName(fullName: string) {
  const [firstName = '', middleName = '', ...rest] = fullName.trim().split(/\s+/);
  return { firstName, middleName, lastName: rest.join(' ') };
}

export function joinPersonName(parts: { firstName: string; middleName?: string; lastName: string }) {
  return [parts.firstName, parts.middleName, parts.lastName].filter(Boolean).join(' ');
}
