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;