-
已完成
+
@@ -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;