| 738 | } |
| 739 | |
| 740 | window.addEventListener("pageshow", () => { |
| 741 | loginDialog?.querySelector(".login-provider-github") |
| 742 | ?.removeAttribute("aria-disabled"); |
| 743 | }); |
| 744 | |
| 745 | function updateVoteControls(control, counts = {}, viewerVote = 0) { |
| 746 | const upvote = control.querySelector('[data-vote-value="1"]'); |
| 747 | const downvote = control.querySelector('[data-vote-value="-1"]'); |
| 748 | const upvoteCount = upvote?.querySelector("[data-vote-count]"); |
| 749 | const downvoteCount = downvote?.querySelector("[data-vote-count]"); |
| 750 | const row = control.closest(".loop-row"); |
| 751 | |
| 752 | if (upvoteCount) upvoteCount.textContent = String(counts.upvotes || 0); |
| 753 | if (downvoteCount) downvoteCount.textContent = String(counts.downvotes || 0); |
| 754 | if (row) row.dataset.upvotes = String(counts.upvotes || 0); |
| 755 | upvote?.setAttribute("aria-pressed", String(viewerVote === 1)); |
| 756 | downvote?.setAttribute("aria-pressed", String(viewerVote === -1)); |
| 757 | control.classList.toggle("has-upvote", viewerVote === 1); |