🐛 fix(workbench): 统一 v2 工具中心与工作区主题

- 显式传递 uiVersion 构建 overlay theme,避免设置中心和工具中心混用旧版黄蓝色
- 统一 v2 模式下 Ant Design 主色和选中态为绿色语义
- 移除工具中心详情头部重复的返回上一步按钮
- 修复侧边树对象筛选反复切换时的 rc-tree 复用漂移
- 调整 v2 左侧树横向滚动条与首页空态布局,释放工作区展示空间
- 补充工具中心、主题 token 和侧边树 remount 的回归测试
This commit is contained in:
Syngnat
2026-07-01 18:11:08 +08:00
parent 749e543e37
commit 04a61a50dc
9 changed files with 205 additions and 99 deletions

View File

@@ -2629,12 +2629,12 @@ body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list {
height: 100%;
min-height: 0;
box-sizing: border-box;
padding-bottom: var(--gn-v2-tree-horizontal-scroll-reserve);
}
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-holder {
box-sizing: border-box;
padding-bottom: var(--gn-v2-tree-horizontal-scroll-reserve);
height: calc(100% - var(--gn-v2-tree-horizontal-scroll-reserve));
max-height: calc(100% - var(--gn-v2-tree-horizontal-scroll-reserve)) !important;
scrollbar-width: thin;
}
@@ -2642,10 +2642,10 @@ body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-scrollbar-h
height: 12px !important;
left: 8px !important;
right: 8px !important;
bottom: calc((var(--gn-v2-tree-horizontal-scroll-reserve) - 12px) / 2) !important;
bottom: 0 !important;
border-radius: 999px !important;
background: color-mix(in srgb, var(--gn-bg-panel-2) 88%, var(--gn-bg-panel) 12%) !important;
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gn-br-2) 40%, transparent) !important;
background: transparent !important;
box-shadow: none !important;
}
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-scrollbar-horizontal .ant-tree-list-scrollbar-thumb {
@@ -3126,25 +3126,28 @@ body[data-ui-version="v2"] .gn-v2-empty-workbench {
min-height: 100%;
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
gap: 18px;
padding: 24px;
background: var(--gn-bg-app);
align-content: stretch;
gap: 0;
padding: 0;
background: var(--gn-bg-panel-2);
}
body[data-ui-version="v2"] .gn-v2-empty-hero,
body[data-ui-version="v2"] .gn-v2-empty-panel {
align-self: stretch;
border: 0.5px solid var(--gn-br-1);
border-radius: 8px;
background: color-mix(in srgb, var(--gn-bg-panel) 88%, transparent);
box-shadow: var(--gn-shadow-card);
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
body[data-ui-version="v2"] .gn-v2-empty-hero {
display: flex;
flex-direction: column;
justify-content: center;
padding: 40px;
justify-content: flex-start;
min-height: 0;
background: var(--gn-bg-panel-2);
padding: 28px 28px 24px 30px;
}
body[data-ui-version="v2"] .gn-v2-empty-eyebrow {
@@ -3160,10 +3163,10 @@ body[data-ui-version="v2"] .gn-v2-empty-eyebrow {
body[data-ui-version="v2"] .gn-v2-empty-hero h1 {
max-width: 720px;
margin: 18px 0 0;
margin: 12px 0 0;
color: var(--gn-fg-1);
font-size: 40px;
line-height: 1.08;
font-size: 34px;
line-height: 1.1;
font-weight: 800;
}
@@ -3175,17 +3178,17 @@ body[data-ui-version="v2"] .gn-v2-empty-hero h1 {
body[data-ui-version="v2"] .gn-v2-empty-hero p {
max-width: 560px;
margin: 16px 0 0;
margin: 12px 0 0;
color: var(--gn-fg-3);
font-size: 14px;
line-height: 1.7;
font-size: 13px;
line-height: 1.6;
}
body[data-ui-version="v2"] .gn-v2-empty-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 28px;
margin-top: 20px;
}
body[data-ui-version="v2"] .gn-v2-empty-actions .ant-btn {
@@ -3194,10 +3197,12 @@ body[data-ui-version="v2"] .gn-v2-empty-actions .ant-btn {
}
body[data-ui-version="v2"] .gn-v2-empty-panel {
padding: 18px;
border-left: 0.5px solid var(--gn-br-1);
background: var(--gn-bg-panel-2);
padding: 16px 16px 16px 18px;
display: flex;
flex-direction: column;
gap: 10px;
gap: 8px;
font-family: var(--gn-font-sans);
}
@@ -3216,18 +3221,19 @@ body[data-ui-version="v2"] .gn-v2-panel-heading {
body[data-ui-version="v2"] .gn-v2-empty-panel button {
width: 100%;
min-height: 70px;
min-height: 62px;
display: grid;
grid-template-columns: 34px minmax(0, 1fr);
gap: 12px;
gap: 10px;
align-items: center;
text-align: left;
border: 0.5px solid var(--gn-br-1);
border-radius: 8px;
background: var(--gn-bg-panel-2);
border-radius: 6px;
background: color-mix(in srgb, var(--gn-bg-panel-2) 88%, var(--gn-bg-panel) 12%);
color: var(--gn-fg-1);
cursor: pointer;
font-family: var(--gn-font-sans);
padding: 10px 12px;
}
body[data-ui-version="v2"] .gn-v2-empty-panel button:hover {
@@ -3240,7 +3246,7 @@ body[data-ui-version="v2"] .gn-v2-empty-panel button > .anticon {
height: 34px;
display: grid;
place-items: center;
border-radius: 8px;
border-radius: 6px;
color: var(--gn-accent);
background: var(--gn-accent-soft);
}
@@ -3267,6 +3273,31 @@ body[data-ui-version="v2"] .gn-v2-empty-panel small {
line-height: 1.45;
}
@media (max-width: 1360px) {
body[data-ui-version="v2"] .gn-v2-empty-workbench {
grid-template-columns: minmax(0, 1.28fr) minmax(260px, 0.72fr);
}
body[data-ui-version="v2"] .gn-v2-empty-hero {
padding: 24px 22px 22px 24px;
}
body[data-ui-version="v2"] .gn-v2-empty-panel {
padding: 14px 14px 14px 16px;
}
}
@media (max-width: 1120px) {
body[data-ui-version="v2"] .gn-v2-empty-workbench {
grid-template-columns: minmax(0, 1fr);
}
body[data-ui-version="v2"] .gn-v2-empty-panel {
border-left: 0;
border-top: 0.5px solid var(--gn-br-1);
}
}
/* ─── Full V2 workbench shell: app / topbar / workspace ─ */
body[data-ui-version="v2"] .gn-v2-app-root {
background: var(--gn-bg-app) !important;
@@ -3413,7 +3444,7 @@ body[data-ui-version="v2"] .gn-v2-tab-workbench {
display: flex;
flex-direction: column;
overflow: hidden;
background: var(--gn-bg-panel);
background: var(--gn-bg-panel-2);
}
body[data-ui-version="v2"] .gn-v2-main-tabs > .ant-tabs-nav {