From 050a20c4c7328e9fd54292e08482cddd30926dba Mon Sep 17 00:00:00 2001 From: AAA <35992542+TNTcraftHIM@users.noreply.github.com> Date: Sat, 29 Aug 2026 05:19:12 +0800 Subject: [PATCH] feat(ui): refine topology presentation (#326) --- src/client/components/living/Couch.tsx | 115 +++-- src/client/components/living/RouteTree.tsx | 484 +++++++++++------- .../components/living/route-tree-layout.ts | 27 + src/client/pages/HostPage.tsx | 2 +- src/client/pages/ViewerPage.tsx | 60 +-- src/client/styles.css | 151 +++++- src/client/ui/copy.ts | 2 - tests/living-components.test.ts | 24 + tests/route-tree.test.ts | 228 ++++++++- 9 files changed, 770 insertions(+), 323 deletions(-) create mode 100644 src/client/components/living/route-tree-layout.ts diff --git a/src/client/components/living/Couch.tsx b/src/client/components/living/Couch.tsx index 7bd1f32..2895f24 100644 --- a/src/client/components/living/Couch.tsx +++ b/src/client/components/living/Couch.tsx @@ -68,74 +68,77 @@ export function Couch({ -
- {entries.map((entry, index) => { - const stateLabel = entry.connected - ? t("state.peer.connected") - : (entry.statusLabel ?? t("state.peer.connecting")); - const label = entry.you - ? `${entry.name} · ${t("common.you")}` - : `${entry.name} · ${stateLabel}`; - const showName = !vis && !entry.child && !crowded; - const inner = ( - <> - -