d0df09b98e80f307c981403bc6a5946a42100f00
[Ultimately_Untrue_Thought.git] / theme / static / js / comment_counts.js
1 function placeCommentCounts() {
2     let containers = Array.from(document.querySelectorAll(".comments-link-container"));
3     let paths = containers.map(function(span) { return span.dataset.path; });
4
5     let request = new XMLHttpRequest();
6
7     request.open('POST', 'http://unremediatedgender.space/isso/count', true);
8     request.setRequestHeader("Content-Type", "application/json");
9     request.send(JSON.stringify(paths));
10
11     request.onload = function() {
12         if (this.status >= 200 && this.status < 400) {
13             let counts = JSON.parse(this.response);
14             for (let [i, container] of containers.entries()) {
15                 let a = document.createElement('a');
16                 let count = counts[i];
17                 let pluralizer = count === 1 ? "" : "s";
18                 let text = document.createTextNode(`${count} comment${pluralizer}`);
19                 a.appendChild(text);
20                 a.href = `${paths[i]}#isso-thread`;
21                 container.appendChild(a);
22             }
23         }
24     };
25
26 }
27
28 document.addEventListener("DOMContentLoaded", function() {
29     placeCommentCounts();
30 });