()
| 2392 | } |
| 2393 | |
| 2394 | function updateSelectionSummary() { |
| 2395 | $("selectedStat").textContent = state.selected.size; |
| 2396 | $("readingQueueStat").textContent = state.selected.size; |
| 2397 | $("selectionSummary").textContent = ui().papers.selectionSummary(state.selected.size, state.skipped.size, state.later.size); |
| 2398 | document.querySelectorAll(".paper-card").forEach((card) => { |
| 2399 | const number = Number(card.dataset.paperNumber); |
| 2400 | const disposition = state.selected.has(number) |
| 2401 | ? "read" |
| 2402 | : state.skipped.has(number) |
| 2403 | ? "skip" |
| 2404 | : state.later.has(number) |
| 2405 | ? "later" |
| 2406 | : ""; |
| 2407 | if (disposition) { |
| 2408 | card.dataset.disposition = disposition; |
| 2409 | } else { |
| 2410 | delete card.dataset.disposition; |
| 2411 | } |
| 2412 | card.querySelectorAll(".paper-actions button").forEach((button) => { |
| 2413 | button.classList.toggle("active", button.dataset.action === disposition); |
| 2414 | }); |
| 2415 | const skipButton = card.querySelector('.paper-actions button[data-action="skip"]'); |
| 2416 | const laterButton = card.querySelector('.paper-actions button[data-action="later"]'); |
| 2417 | if (skipButton) skipButton.textContent = disposition === "skip" ? ui().papers.skipped : ui().papers.skip; |
| 2418 | if (laterButton) laterButton.textContent = disposition === "later" ? ui().papers.laterAdded : ui().papers.later; |
| 2419 | }); |
| 2420 | updateReadButtons(); |
| 2421 | } |
| 2422 | |
| 2423 | function updateReadButtons() { |
| 2424 | document.querySelectorAll('.paper-actions button[data-action="read"]').forEach((button) => { |
no test coverage detected