Skip to content

Commit aa76df6

Browse files
committed
统一本地环境修复按钮浅色样式
- 将本地环境面板头部的一键修复按钮改为 secondary 变体,与依赖项修复按钮保持一致。 - 将本地环境修复按钮样式从深绿色实心按钮改为浅色成功态,并补充悬停、禁用和深色主题文本颜色覆盖。 - 更新 DashboardPage 本地环境测试,断言普通修复和一键修复入口都使用相同的浅色 secondary 按钮类。
1 parent 4fba25d commit aa76df6

3 files changed

Lines changed: 26 additions & 15 deletions

File tree

resources/webui/upstream/source/src/pages/DashboardPage.module.scss

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -442,25 +442,33 @@
442442
}
443443
}
444444

445-
.localEnvironmentRepairButton:global(.btn) {
446-
background: #047857;
447-
border-color: #047857;
448-
color: #fff;
449-
box-shadow: 0 6px 16px rgba(4, 120, 87, 0.18);
445+
.localEnvironmentRepairButton:global(.btn.btn-secondary) {
446+
background: var(--success-badge-bg);
447+
border-color: var(--success-badge-border);
448+
color: var(--success-badge-text);
449+
box-shadow: 0 6px 16px color-mix(in srgb, var(--success-color) 12%, transparent);
450450

451451
&:hover:not(:disabled) {
452-
background: #065f46;
453-
border-color: #065f46;
454-
color: #fff;
452+
background: color-mix(in srgb, var(--success-color) 18%, var(--success-badge-bg));
453+
border-color: color-mix(in srgb, var(--success-color) 56%, var(--success-badge-border));
454+
color: var(--success-badge-text);
455455
}
456456

457457
&:disabled {
458458
opacity: 1;
459-
background: var(--bg-tertiary);
459+
background: color-mix(in srgb, var(--bg-tertiary) 92%, var(--bg-secondary));
460460
border-color: var(--border-color);
461461
color: var(--text-secondary);
462462
box-shadow: none;
463463
}
464+
465+
[data-theme='dark'] & {
466+
color: var(--success-badge-text);
467+
}
468+
469+
[data-theme='dark'] &:disabled {
470+
color: var(--text-secondary);
471+
}
464472
}
465473

466474
.localEnvironmentPanel > .localDependencyRepairProgress {

resources/webui/upstream/source/src/pages/DashboardPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -908,7 +908,7 @@ export function DashboardPage() {
908908
<div className={styles.localEnvironmentHeaderActions}>
909909
<Button
910910
type="button"
911-
variant="primary"
911+
variant="secondary"
912912
size="sm"
913913
className={styles.localEnvironmentRepairButton}
914914
onClick={handleRepairRequiredEnvironment}

resources/webui/upstream/source/tests/pages/DashboardPage.localEnvironment.test.tsx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,14 @@ describe('DashboardPage local environment loading', () => {
232232
});
233233
expect(repairButtons).toHaveLength(1);
234234
expect(repairButtons[0].className).toContain('localEnvironmentRepairButton');
235-
expect(
236-
screen.getByRole('button', {
237-
name: 'dashboard.local_environment_required_repair',
238-
}).className
239-
).toContain('localEnvironmentRepairButton');
235+
expect(repairButtons[0].className).toContain('btn-secondary');
236+
expect(repairButtons[0].className).not.toContain('btn-primary');
237+
const requiredRepairButton = screen.getByRole('button', {
238+
name: 'dashboard.local_environment_required_repair',
239+
});
240+
expect(requiredRepairButton.className).toContain('localEnvironmentRepairButton');
241+
expect(requiredRepairButton.className).toContain('btn-secondary');
242+
expect(requiredRepairButton.className).not.toContain('btn-primary');
240243
});
241244

242245
it('places ready local environment items first but keeps them collapsed by default', async () => {

0 commit comments

Comments
 (0)