From e562b405d4cd2b58c247c0a922103e951516b25b Mon Sep 17 00:00:00 2001 From: cproudlock Date: Sat, 29 Aug 2026 19:52:03 -0400 Subject: [PATCH] Collapse the relationships card by default, with an honest count The triage band now answers the common case above the fold - what an asset serves, or what drives it - so the full edge list below is reference rather than the first thing to read. On a machine showing two relationships, both already appeared in the band and the banner, and the card was a third copy. Collapsed by default, using the same caret, roles and keyboard handling as the collapsible panels on the same page rather than a second, slightly different one. The card is NOT redundant with the band and is not removed. It is the only surface with Add Relationship and the per-row delete, and it keeps each edge's exact type where the band deduplicates by asset. The printer page is the proof: four rows there - usesprinter and defaultprinter, for each of two machines - collapse to two band chips, and which machine DEFAULTS to that printer is a distinction the band deliberately drops. Fine for triage, wrong for management. THE COUNT IS OF WHAT IS RENDERED, NOT OF EDGES A collapsed card that just says "Relationships" cannot be told from an empty one, so the header carries a count. The first version counted raw edges and was wrong on the first machine it was shown: a symmetric Dualpath link is stored in BOTH directions in the legacy shape, so it is two rows in outgoing+incoming and one "Connected" entry on screen. The badge read 3 above a card that shows 2 when expanded - exactly the mismatch the badge exists to prevent. It now counts rendered items. Add Relationship expands the card before opening the modal, so a new row cannot land behind a closed caret and read as the add having failed. Verified on screen: machine reads 2 and matches, printer reads 4 and matches. Frontend 280 passed. --- .../src/components/AssetRelationships.vue | 77 ++++++++++++++++++- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/AssetRelationships.vue b/frontend/src/components/AssetRelationships.vue index 0b1d11b1..279d2d90 100644 --- a/frontend/src/components/AssetRelationships.vue +++ b/frontend/src/components/AssetRelationships.vue @@ -1,16 +1,32 @@ +