🐛 fix(ui): 修复危险主按钮文字对比度

This commit is contained in:
Syngnat
2026-06-29 13:38:07 +08:00
parent ded531a3c2
commit 59e12b0867
2 changed files with 22 additions and 0 deletions

View File

@@ -51,6 +51,8 @@ body[data-ui-version="v2"][data-theme="light"] {
--gn-warn: #d97706;
--gn-warn-soft: rgba(245, 158, 11, 0.14);
--gn-danger: #dc2626;
--gn-danger-strong: #dc2626;
--gn-danger-strong-hover: #b91c1c;
--gn-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
--gn-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.08);
@@ -93,6 +95,8 @@ body[data-ui-version="v2"][data-theme="dark"] {
--gn-warn: #f59e0b;
--gn-warn-soft: rgba(245, 158, 11, 0.16);
--gn-danger: #f87171;
--gn-danger-strong: #dc2626;
--gn-danger-strong-hover: #b91c1c;
--gn-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
--gn-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
@@ -293,6 +297,18 @@ body[data-ui-version="v2"] .ant-btn-dangerous {
color: var(--gn-danger) !important;
}
body[data-ui-version="v2"] .ant-btn-primary.ant-btn-dangerous:not(:disabled):not(.ant-btn-disabled) {
background: var(--gn-danger-strong) !important;
border-color: var(--gn-danger-strong) !important;
color: #fff !important;
}
body[data-ui-version="v2"] .ant-btn-primary.ant-btn-dangerous:not(:disabled):not(.ant-btn-disabled):hover {
background: var(--gn-danger-strong-hover) !important;
border-color: var(--gn-danger-strong-hover) !important;
color: #fff !important;
}
body[data-ui-version="v2"] .ant-btn-link {
color: var(--gn-info) !important;
}

View File

@@ -8,4 +8,10 @@ describe('v2 modal confirm theme', () => {
expect(v2ThemeCss).toMatch(/body\[data-ui-version="v2"\]\s+\.ant-modal-confirm\s+\.ant-modal-confirm-title\s*\{[^}]*color:\s*var\(--gn-fg-1\)\s*!important;/s);
expect(v2ThemeCss).toMatch(/body\[data-ui-version="v2"\]\s+\.ant-modal-confirm\s+\.ant-modal-confirm-content\s*\{[^}]*color:\s*var\(--gn-fg-2\)\s*!important;/s);
});
it('keeps primary danger buttons high contrast in confirm dialogs', () => {
expect(v2ThemeCss).toMatch(/--gn-danger-strong:\s*#dc2626;/);
expect(v2ThemeCss).toMatch(/body\[data-ui-version="v2"\]\s+\.ant-btn-primary\.ant-btn-dangerous:not\(:disabled\):not\(\.ant-btn-disabled\)\s*\{[^}]*background:\s*var\(--gn-danger-strong\)\s*!important;[^}]*border-color:\s*var\(--gn-danger-strong\)\s*!important;[^}]*color:\s*#fff\s*!important;/s);
expect(v2ThemeCss).toMatch(/body\[data-ui-version="v2"\]\s+\.ant-btn-primary\.ant-btn-dangerous:not\(:disabled\):not\(\.ant-btn-disabled\):hover\s*\{[^}]*background:\s*var\(--gn-danger-strong-hover\)\s*!important;[^}]*color:\s*#fff\s*!important;/s);
});
});