From 42f73d85a213e504983f8e5e2ed8e551d27ecc94 Mon Sep 17 00:00:00 2001 From: touero Date: Wed, 15 Jul 2026 11:15:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E4=BF=AE=E5=A4=8D=E8=AE=A2?= =?UTF-8?q?=E9=98=85=E5=88=97=E8=A1=A8=E5=86=9C=E5=8E=86=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E6=97=A0=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为农历显示复选框绑定 change 事件,切换后立即重新渲染订阅列表 - 添加管理页回归测试,防止事件绑定再次丢失 │ --- src/views/adminPage.html | 5 +++++ tests/views/admin-page.test.js | 11 +++++++++++ 2 files changed, 16 insertions(+) create mode 100644 tests/views/admin-page.test.js diff --git a/src/views/adminPage.html b/src/views/adminPage.html index 33b48e86..c61d7f49 100644 --- a/src/views/adminPage.html +++ b/src/views/adminPage.html @@ -1899,6 +1899,11 @@

添加新订阅 renderSubscriptionTable()); } + const listShowLunar = document.getElementById('listShowLunar'); + if (listShowLunar) { + listShowLunar.addEventListener('change', handleListLunarToggle); + } + // 获取所有订阅并按到期时间排序 async function loadSubscriptions(showLoading = true) { try { diff --git a/tests/views/admin-page.test.js b/tests/views/admin-page.test.js new file mode 100644 index 00000000..d0d251b6 --- /dev/null +++ b/tests/views/admin-page.test.js @@ -0,0 +1,11 @@ +// @ts-check +import { describe, expect, it } from 'vitest'; +import adminPage from '../../src/views/adminPage.html'; + +describe('admin page subscription list', () => { + it('re-renders the subscription table when the lunar display checkbox changes', () => { + expect(adminPage).toMatch( + /listShowLunar\.addEventListener\(['"]change['"],\s*handleListLunarToggle\)/ + ); + }); +});