From ef0845a9c5f91fe3781ad3000b9020b9c5a745fd Mon Sep 17 00:00:00 2001 From: Syngnat Date: Mon, 13 Jul 2026 17:28:33 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(tabs):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=9F=AD=E8=BF=9E=E6=8E=A5=E6=A0=87=E7=AD=BE=E5=8D=A0=E7=94=A8?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E9=97=B4=E8=B7=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将连接标签由固定 flex 基准改为按内容宽度收缩 - 保留 92px 最大宽度以避免长连接名称撑开标签 - 增加短连接名称间距回归测试 --- frontend/src/components/TabManager.hover.test.tsx | 7 +++++++ frontend/src/v2-theme.css | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/TabManager.hover.test.tsx b/frontend/src/components/TabManager.hover.test.tsx index 013b80cf..1a603a2e 100644 --- a/frontend/src/components/TabManager.hover.test.tsx +++ b/frontend/src/components/TabManager.hover.test.tsx @@ -310,6 +310,13 @@ describe('TabManager hover info', () => { expect(source).not.toContain('gn-v2-main-tabs-rich'); }); + it('keeps short secondary connection labels content-sized', () => { + const css = readFileSync(new URL('../v2-theme.css', import.meta.url), 'utf8'); + + expect(css).toMatch(/\.gn-v2-tab-label-part-connection \{[^}]*flex: 0 1 auto;[^}]*max-width: 92px;/s); + expect(css).not.toMatch(/\.gn-v2-tab-label-part-connection \{[^}]*flex: 0 1 92px;/s); + }); + it('wires hover card tab-switch and drag-blocking handlers with selectable text styles', () => { const source = readFileSync(new URL('./TabManager.tsx', import.meta.url), 'utf8'); diff --git a/frontend/src/v2-theme.css b/frontend/src/v2-theme.css index 7930957a..6a9f77cb 100644 --- a/frontend/src/v2-theme.css +++ b/frontend/src/v2-theme.css @@ -3626,7 +3626,8 @@ body[data-ui-version="v2"] .gn-v2-tab-label-part-object { } body[data-ui-version="v2"] .gn-v2-tab-label-part-connection { - flex: 0 1 92px; + flex: 0 1 auto; + max-width: 92px; color: var(--gn-fg-2); font-family: var(--gn-font-mono); font-weight: 700;