+1
-1
index.html
+1
-1
index.html
+19
-3
skythread.js
+19
-3
skythread.js
···
480
480
let range = $(postingStatsPage.querySelector('input[type=range]'), HTMLInputElement);
481
481
let days = parseInt(range.value, 10);
482
482
483
-
let output = $(postingStatsPage.querySelector('input[type=submit] + output'));
484
-
output.innerText = '';
483
+
let progressBar = $(postingStatsPage.querySelector('input[type=submit] + progress'), HTMLProgressElement);
484
+
progressBar.max = days;
485
+
progressBar.value = 0;
486
+
progressBar.style.display = 'inline';
485
487
486
488
let tbody = $(postingStatsPage.querySelector('table.scan-result tbody'));
487
489
tbody.innerHTML = '';
488
490
491
+
let now = new Date().getTime();
492
+
489
493
accountAPI.loadTimeline(days, {
490
-
onPageLoad: (d) => { output.innerText += '.' }
494
+
onPageLoad: (data) => {
495
+
let minTime = now;
496
+
497
+
for (let item of data) {
498
+
let timestamp = item.reason ? item.reason.indexedAt : item.post.record.createdAt;
499
+
let date = Date.parse(timestamp);
500
+
minTime = Math.min(minTime, date);
501
+
}
502
+
503
+
let daysBack = (now - minTime) / 86400 / 1000;
504
+
progressBar.value = daysBack;
505
+
}
491
506
}).then(items => {
492
507
let users = {};
493
508
let total = 0;
···
536
551
}
537
552
538
553
submit.disabled = false;
554
+
progressBar.style.display = 'none';
539
555
});
540
556
}
541
557
+7
style.css
+7
style.css
···
726
726
vertical-align: middle;
727
727
}
728
728
729
+
#posting_stats_page progress {
730
+
width: 300px;
731
+
margin-left: 10px;
732
+
vertical-align: middle;
733
+
display: none;
734
+
}
735
+
729
736
#posting_stats_page .scan-result {
730
737
border: 1px solid #333;
731
738
border-collapse: collapse;