🐛 fix(tabs/theme): 修复标签顶条与标题栏主题不一致

- 移除 V2 工作区活动标签顶部强调条,保留圆角与选中背景
- 让 V2 自定义标题栏跟随侧栏主题表面,同时保持 legacy 背景逻辑
- 补充标签与标题栏主题回归断言
This commit is contained in:
AutumnNazi
2026-07-24 21:48:50 +08:00
parent 4400fd67c0
commit a2dc8db513
4 changed files with 14 additions and 8 deletions

View File

@@ -7,6 +7,16 @@ const sidebarSource = readFileSync(new URL('./components/Sidebar.tsx', import.me
const connectionRailSource = readFileSync(new URL('./components/sidebar/SidebarConnectionRail.tsx', import.meta.url), 'utf8');
describe('app sidebar tree panel collapse', () => {
it('uses the v2 themed sidebar surface for the custom titlebar', () => {
const titlebarStart = appSource.indexOf('{/* Custom Title Bar */}');
const titlebarEnd = appSource.indexOf('{showLinuxCJKFontBanner && (', titlebarStart);
const titlebarSource = appSource.slice(titlebarStart, titlebarEnd);
expect(titlebarStart).toBeGreaterThan(-1);
expect(titlebarEnd).toBeGreaterThan(titlebarStart);
expect(titlebarSource).toContain("background: isV2Ui ? 'var(--gn-bg-panel-2)' : bgMain,");
});
it('collapses v2 to the scaled fixed rail while preserving the saved expanded width', () => {
expect(appSource).toContain('const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);');
expect(appSource).toContain('const sidebarCollapsedWidth = isV2Ui ? 38 * effectiveUiScale * effectiveSidebarRailScale : 0;');

View File

@@ -7514,7 +7514,7 @@ function App() {
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
background: bgMain,
background: isV2Ui ? 'var(--gn-bg-panel-2)' : bgMain,
borderBottom: 'none',
userSelect: 'none',
WebkitAppRegion: isWebRuntime ? 'no-drag' : 'drag',

View File

@@ -52,12 +52,12 @@ describe('v2 workbench adaptive tab width', () => {
);
});
it('rounds all four corners of every v2 workbench tab', () => {
it('rounds all four corners without drawing an accent bar above the active tab', () => {
expect(themeSource).toMatch(
/\.gn-v2-main-tabs \.ant-tabs-tab \{[^}]*border-radius: 8px !important;/s,
);
expect(themeSource).toMatch(
/\.gn-v2-main-tabs \.ant-tabs-tab\.ant-tabs-tab-active \{[^}]*box-shadow: inset 0 2px 0 var\(--gn-accent\) !important;/s,
expect(themeSource).not.toMatch(
/\.gn-v2-main-tabs \.ant-tabs-tab\.ant-tabs-tab-active \{[^}]*box-shadow:/s,
);
expect(themeSource).toMatch(
/\.gn-v2-main-tabs \.ant-tabs-tab\.ant-tabs-tab-active::after \{[^}]*display: none;/s,

View File

@@ -3713,10 +3713,6 @@ body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-tab {
border-radius: 8px !important;
}
body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-tab.ant-tabs-tab-active {
box-shadow: inset 0 2px 0 var(--gn-accent) !important;
}
body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-tab.ant-tabs-tab-active::after {
display: none;
}