Files
parenthese/frontend/src/utils/nickname.js
T
IliesAllaliandClaude Haiku 5.5 ac5997659b feat(surnoms): surnom facultatif sous le nom, dans l'arbre et la fiche
- API : nickname accepté à la création, à la modification et dans les
  propositions de contribution (trim, vide = null, 120 caractères max)
- Mode direct et circuit des contributions : même validation, avant/après
- Édition et ajout : champ « Surnom » facultatif
- Arbre : surnom en italique sous le nom, coupé avec … au-delà de 150 px
- Recherche : trouve une personne par son surnom (libellé « Surnom »)
- Démo : surnoms sur Marie et Robert

Vérifié : lint, tests (front 159, back 224), builds (front, back tsc, landing).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-18 19:34:09 +02:00

9 lines
405 B
JavaScript

// Surnom affiché sous le nom dans l'arbre : coupé avec … au-delà de maxW (px du canevas).
// Le texte complet reste visible dans la fiche de la personne.
export function fitNickname(ctx, text, maxW) {
if (ctx.measureText(text).width <= maxW) return text
let out = text
while (out.length > 1 && ctx.measureText(`${out}…`).width > maxW) out = out.slice(0, -1)
return `${out.trimEnd()}…`
}