From 430e27fb1efb0becbe45fc69c74b9092d4473742 Mon Sep 17 00:00:00 2001 From: Syngnat Date: Thu, 23 Jul 2026 09:36:58 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20style(driver-manager):=20?= =?UTF-8?q?=E7=B2=BE=E7=AE=80=E9=A9=B1=E5=8A=A8=E5=8D=A1=E7=89=87=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除卡片标题中的内部驱动类型,仅保留展示名和状态徽章 - 删除更新原因区域重复的重装标题,保留具体 revision 说明 - 覆盖普通弹窗、嵌入设置页和多语言重装提示 --- .../components/DriverManagerModal.i18n.test.tsx | 4 ++++ .../src/components/DriverManagerModal.test.tsx | 15 +++++++++++++++ frontend/src/components/DriverManagerModal.tsx | 2 -- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/DriverManagerModal.i18n.test.tsx b/frontend/src/components/DriverManagerModal.i18n.test.tsx index a1b65416..b01cc8d4 100644 --- a/frontend/src/components/DriverManagerModal.i18n.test.tsx +++ b/frontend/src/components/DriverManagerModal.i18n.test.tsx @@ -492,6 +492,10 @@ describe('DriverManagerModal i18n', () => { }); const content = textContent(renderer!.toJSON()); + const titleRow = renderer!.root.findByProps({ className: 'driver-manager-title-row' }); + const updateNote = renderer!.root.findByProps({ className: 'driver-manager-update-note' }); + expect(textContent(titleRow)).toContain('Reinstall needed'); + expect(updateNote.findAll((node) => node.type === 'span' && textContent(node) === 'Reinstall required')).toHaveLength(0); expect(content).toContain('Reinstall required to apply driver updates.'); expect(content).toContain('Affects 3 saved connections'); expect(content).toContain('installed revision rev-old'); diff --git a/frontend/src/components/DriverManagerModal.test.tsx b/frontend/src/components/DriverManagerModal.test.tsx index 374b438c..f8797e5f 100644 --- a/frontend/src/components/DriverManagerModal.test.tsx +++ b/frontend/src/components/DriverManagerModal.test.tsx @@ -279,6 +279,21 @@ describe('DriverManagerModal toolbar actions', () => { expect(findButton(modalRenderer!, t('driver.modal.card.action.install')).props.size).toBeUndefined(); }); + it('shows the driver display name without repeating its internal type', async () => { + for (const embedded of [false, true]) { + let renderer: ReactTestRenderer; + await act(async () => { + renderer = create(); + }); + await flushPromises(); + + const titleRow = renderer!.root.findByProps({ className: 'driver-manager-title-row' }); + const titleText = textContent(titleRow); + expect(titleText).toContain('DuckDB'); + expect(titleText).not.toContain('duckdb'); + } + }); + it('releases install action when the driver install watchdog expires', async () => { vi.useFakeTimers(); try { diff --git a/frontend/src/components/DriverManagerModal.tsx b/frontend/src/components/DriverManagerModal.tsx index 43db5adb..cdb688ac 100644 --- a/frontend/src/components/DriverManagerModal.tsx +++ b/frontend/src/components/DriverManagerModal.tsx @@ -1768,7 +1768,6 @@ const DriverManagerModal: React.FC<{ open: boolean; onClose: () => void; onBack?
{row.name} - {embedded ? {row.type} : row.type} {resolveDriverStatusTag(row)}
@@ -1778,7 +1777,6 @@ const DriverManagerModal: React.FC<{ open: boolean; onClose: () => void; onBack?
{row.needsUpdate && statusMessage ? (
- {t('driver.modal.card.needsUpdate')}