From eb8e717638bf936d6b9e6fd0ee13ecceff96f7af Mon Sep 17 00:00:00 2001 From: IliesAllali Date: Tue, 20 Oct 2026 13:00:54 +0200 Subject: [PATCH] =?UTF-8?q?onglets=20:=20pas=20d'onglet=20pour=20une=20fam?= =?UTF-8?q?ille=20de=2010=20personnes=20ou=20moins,=20elle=20reste=20dessi?= =?UTF-8?q?n=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit desc-3 : 30 → 5 onglets, croisements 30 → 41 ; arbre réel et asc-23 inchangés. Co-Authored-By: Claude Opus 5.5 --- frontend/src/components/galaxy/blockLayout.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/galaxy/blockLayout.js b/frontend/src/components/galaxy/blockLayout.js index 370ab01..327b58a 100644 --- a/frontend/src/components/galaxy/blockLayout.js +++ b/frontend/src/components/galaxy/blockLayout.js @@ -52,6 +52,8 @@ const FAMILY_TAB_PX = 2880 const FAMILY_FIT_PX = 480 // Une belle-famille qui grimpe au-dessus des parents du conjoint reste dessinée si elle est toute petite const FAMILY_INLINE_MAX = 6 +// En dessous, une famille sortie de l'arbre ne fait pas d'onglet : elle reste dessinée +const FAMILY_TAB_MIN = 10 // Le fil d'une filiation union → enfant : une personne d'une autre famille, sur la ligne de l'enfant, // entre l'aplomb de l'union et l'enfant, est croisée. Frères et sœurs et leurs conjoint(e)s ne comptent pas @@ -412,7 +414,8 @@ function layoutOnce(graphData, referenceId, forcedSide, familyTabs = true) { const pcPersons = pc.filter(x => byId.get(x)._type === 'person') const keep = new Set(pcPersons) const extra = [...block.members].filter(m => byId.get(m)?._type === 'person' && !keep.has(m) && chainOf.get(m) !== pc) - if (!extra.length) return block + // Une famille de FAMILY_TAB_MIN personnes ou moins reste dessinée : pas d'onglet pour si peu (Patch, 20/10) + if (extra.length <= FAMILY_TAB_MIN) return block const nested = forgetTabs(snap.tabsBefore, snap.tabsAfter) unplace(block.members) forgetExternal(snap.externalBefore, snap.externalAfter)