// Loop 9 (V2 Header und Aktionen): fachlicher Titel aus Daten — reine Helfer.
//
// Der Kopf zeigt eine fachliche Aussage, keinen technischen Fallback: ein vom
// Nutzer gesetzter Titel gewinnt, sonst trägt die Sachnummer, und erst wenn
// beides fehlt, steht das ehrliche „Vergleich" da. Leere und Whitespace-Titel
// zählen als nicht gesetzt — die Datenbank kann '' führen, und ein leerer
// Kopf wäre eine stille Auslassung.

export interface FachlicherTitelInput {
  /** Vom Nutzer gesetzter Titel (qaf_comparison.title), '' und Whitespace zählen als nicht gesetzt. */
  customTitle: string | null
  /** Sachnummer des Vergleichs (qaf_comparison.part_number). */
  partNumber: string | null
}

export function fachlicherTitelDe({ customTitle, partNumber }: FachlicherTitelInput): string {
  const custom = customTitle?.trim()
  if (custom) return custom
  const part = partNumber?.trim()
  if (part) return part
  return 'Vergleich'
}
