From eb454cbe73f736639d70b2cd77b48e27ff25989e Mon Sep 17 00:00:00 2001 From: yuming Date: Sat, 25 Apr 2026 00:02:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=AD=A3=E5=9C=A8=E4=B8=8B=E8=BD=BD=20?= =?UTF-8?q?/=20=E5=B7=B2=E5=AE=8C=E6=88=90=E5=8D=A1=E7=89=87=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E7=82=B9=E5=87=BB=E6=8A=98=E5=8F=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 对齐历史频道的交互:card-hd 整行可点,箭头 ▾ 旋转, 折叠时 card-hd border-bottom 去掉避免多余分隔线。 已完成卡片的分页器 done-pager 跟 card-bd 联动隐藏。 Co-Authored-By: Claude Opus 4.7 (1M context) --- module/templates/index.html | 51 +++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/module/templates/index.html b/module/templates/index.html index 6d45dd5..145099a 100644 --- a/module/templates/index.html +++ b/module/templates/index.html @@ -194,6 +194,10 @@ } .card-hd-badge { font-size: 11px; font-weight: 400; color: var(--muted); } .card-bd { padding: 12px 14px; } + /* 可折叠的 card-hd */ + .card-hd.collapsible { cursor: pointer; user-select: none; } + .card-hd.collapsed { border-bottom: none; } + .card-hd-left { display: flex; align-items: center; gap: 6px; } /* 任务队列总览 */ .task-banner { @@ -1042,8 +1046,11 @@
-
- 正在下载 +
+
+ + 正在下载 +
0 个文件
@@ -1060,8 +1067,11 @@
-
- 已完成 +
+
+ + 已完成 +
0 个文件
@@ -1082,6 +1092,8 @@ let dlState = '{{ download_state }}'; let validatedChannel = null; let histOpen = true; + let dlOpen = true; + let doneOpen = true; let setupStatus = {}; let wizStep = 0; let donePage = 1; @@ -1174,6 +1186,29 @@ document.getElementById('hist-arrow').className = 'hist-arrow' + (histOpen ? '' : ' closed'); } + // ── 正在下载 / 已完成 折叠 ── + function toggleDl() { + dlOpen = !dlOpen; + document.getElementById('dl-list').style.display = dlOpen ? '' : 'none'; + document.getElementById('dl-arrow').className = 'hist-arrow' + (dlOpen ? '' : ' closed'); + document.getElementById('dl-head').classList.toggle('collapsed', !dlOpen); + } + function toggleDone() { + doneOpen = !doneOpen; + document.getElementById('done-list').style.display = doneOpen ? '' : 'none'; + document.getElementById('done-arrow').className = 'hist-arrow' + (doneOpen ? '' : ' closed'); + document.getElementById('done-head').classList.toggle('collapsed', !doneOpen); + // 分页器跟 done-list 联动,仅在展开且本来就显示时才恢复 + const pager = document.getElementById('done-pager'); + if (!doneOpen) { + pager.dataset.hiddenByToggle = pager.style.display !== 'none' ? '1' : ''; + pager.style.display = 'none'; + } else if (pager.dataset.hiddenByToggle === '1') { + pager.style.display = ''; + pager.dataset.hiddenByToggle = ''; + } + } + function loadHistory() { fetch('/api/channel_history').then(r => r.json()).then(d => { const list = document.getElementById('hist-list'); @@ -1649,7 +1684,13 @@ if (total_pages <= 1) { pager.style.display = 'none'; } else { - pager.style.display = 'flex'; + // 卡片被折叠时不显示分页器,但记下"原本该显示"的状态,展开后由 toggleDone 恢复 + if (doneOpen) { + pager.style.display = 'flex'; + } else { + pager.style.display = 'none'; + pager.dataset.hiddenByToggle = '1'; + } document.getElementById('done-pager-info').textContent = `第 ${page} / ${total_pages} 页,共 ${total} 条`; document.getElementById('pg-prev').disabled = page <= 1;