From 35b7fdf96b33cc632bd4b48348628f7bc495baf7 Mon Sep 17 00:00:00 2001 From: Syngnat Date: Mon, 1 Jun 2026 10:44:23 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(ui):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9A=97=E8=89=B2=E4=B8=BB=E9=A2=98=E7=A1=AE=E8=AE=A4=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E6=96=87=E5=AD=97=E5=8F=AF=E8=AF=BB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 v2 主题下的 Modal.confirm 标题和内容补充前景色 - 修复删除表确认弹窗在暗色主题下文字不可读的问题 - 新增确认弹窗主题回归测试 --- frontend/src/v2-theme.css | 8 ++++++++ frontend/src/v2ThemeModalConfirm.test.ts | 15 +++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 frontend/src/v2ThemeModalConfirm.test.ts diff --git a/frontend/src/v2-theme.css b/frontend/src/v2-theme.css index 8b1dad2..09fe7e9 100644 --- a/frontend/src/v2-theme.css +++ b/frontend/src/v2-theme.css @@ -491,6 +491,14 @@ body[data-ui-version="v2"] .ant-modal .ant-modal-body { padding: 18px !important; } +body[data-ui-version="v2"] .ant-modal-confirm .ant-modal-confirm-title { + color: var(--gn-fg-1) !important; +} + +body[data-ui-version="v2"] .ant-modal-confirm .ant-modal-confirm-content { + color: var(--gn-fg-2) !important; +} + body[data-ui-version="v2"] .ant-modal .ant-modal-footer { border-top: 0.5px solid var(--gn-br-1) !important; padding: 10px 18px !important; diff --git a/frontend/src/v2ThemeModalConfirm.test.ts b/frontend/src/v2ThemeModalConfirm.test.ts new file mode 100644 index 0000000..987974c --- /dev/null +++ b/frontend/src/v2ThemeModalConfirm.test.ts @@ -0,0 +1,15 @@ +import { describe, expect, it } from 'vitest'; +import { readFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const v2ThemeCss = readFileSync(path.resolve(__dirname, './v2-theme.css'), 'utf8'); + +describe('v2 modal confirm theme', () => { + it('keeps static confirm title and content readable in dark 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); + }); +});