MCPcopy Create free account
hub / github.com/Forward-Future/loopy / updateVoteControls

Function updateVoteControls

loop-library/site/script.js:740–754  ·  view source on GitHub ↗
(control, counts = {}, viewerVote = 0)

Source from the content-addressed store, hash-verified

738}
739
740window.addEventListener("pageshow", () => {
741 loginDialog?.querySelector(".login-provider-github")
742 ?.removeAttribute("aria-disabled");
743});
744
745function 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);

Callers 2

loadVotesFunction · 0.85
script.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected