// ── Bestandsnaam voor gegenereerde Word-documenten ───────────────────────────
// Een herkenbare bestandsnaam met de ligging van het goed, de korte vermelding
// "(nai)" (na het adres, vóór de datum) en de datum, bv.:
//   "Compromis - Tervuren (nai) - 2026-06-29.docx".

/** Verwijdert tekens die niet in een bestandsnaam mogen en normaliseert spaties. */
function schoon(tekst: string): string {
  return tekst.replace(/[\\/:*?"<>|]/g, "").replace(/\s+/g, " ").trim();
}

/**
 * Bouwt de bestandsnaam: "<label> - <plaats> (nai) - <datum>.docx".
 * `plaats` (ligging van het goed) wordt weggelaten als ze ontbreekt; "(nai)"
 * staat altijd na het adres en vóór de datum; `datum` valt terug op vandaag
 * (YYYY-MM-DD).
 */
export function bouwBestandsnaam(opts: { label: string; plaats?: string; datum?: string }): string {
  const datum = opts.datum ?? new Date().toISOString().slice(0, 10);
  const kop = [opts.label, opts.plaats].filter((x) => x && x.trim()).join(" - ");
  const naam = `${kop} (nai)${datum ? ` - ${datum}` : ""}`;
  return `${schoon(naam)}.docx`;
}
