From 3730e52361d2ae565b8d5e1716a37d945e843958 Mon Sep 17 00:00:00 2001 From: Vargha Csongor Date: Fri, 27 Jun 2025 10:12:08 +0200 Subject: [PATCH] remove duplicate spouses --- apps/app/src/lib/graph/layout.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/apps/app/src/lib/graph/layout.ts b/apps/app/src/lib/graph/layout.ts index a0c5195..7f49f02 100644 --- a/apps/app/src/lib/graph/layout.ts +++ b/apps/app/src/lib/graph/layout.ts @@ -168,6 +168,8 @@ export class FamilyTree extends dagre.graphlib.Graph { // Create new edges let newEdges: Edge[] = []; + const processedSpouseEdges = new Set(); + edges.forEach((edge) => { let newEdge = { ...edge }; @@ -176,6 +178,13 @@ export class FamilyTree extends dagre.graphlib.Graph { newEdge.targetHandle = 'parent'; } else if (String(edge.data?.type).toLowerCase() === 'parent') { return; + } else if (String(edge.data?.type).toLowerCase() === 'spouse') { + // Avoid duplicate spouse edges by creating a unique key + const spouseKey = [edge.source, edge.target].sort().join('-'); + if (processedSpouseEdges.has(spouseKey)) { + return; // Skip this duplicate spouse edge + } + processedSpouseEdges.add(spouseKey); } newEdge.hidden = false;