diff --git a/frontend/SankeyDiagram.vue b/frontend/SankeyDiagram.vue index 144c817..0c7001a 100644 --- a/frontend/SankeyDiagram.vue +++ b/frontend/SankeyDiagram.vue @@ -132,13 +132,17 @@ export default { if (node.rank !== "clade") { let lastLineageNode = currentLineage[currentLineage.length - 1]; if (lastLineageNode) { - let currentRank = rankHierarchyFull[node.rank] ?? Infinity; let lastRank = rankHierarchyFull[lastLineageNode.rank] ?? Infinity; - while (lastLineageNode && currentRank <= lastRank) { + + while (lastLineageNode && currentRank <= lastRank) { const poppedNode = currentLineage.pop(); lastLineageNode = currentLineage[currentLineage.length - 1]; + if (!lastLineageNode) { + break; // Exit the loop if no more nodes in the lineage + } + currentRank = rankHierarchyFull[node.rank] ?? Infinity; lastRank = rankHierarchyFull[lastLineageNode.rank] ?? Infinity; }