Thread viewer for Bluesky

pick number of days using the slider

+1 -1
index.html
··· 101 101 </p> 102 102 103 103 <p> 104 - Time range: <input type="range" min="1" max="90" value="30"> 30 days 104 + Time range: <input type="range" min="1" max="60" value="14"> <label>14 days</label> 105 105 </p> 106 106 107 107 <p>
+15 -2
skythread.js
··· 130 130 scanPostingStats(); 131 131 }); 132 132 133 + $(postingStatsPage.querySelector('input[type="range"]')).addEventListener('input', (e) => { 134 + let range = $(e.target, HTMLInputElement); 135 + configurePostingStats({ days: range.value }); 136 + }); 137 + 133 138 window.appView = new BlueskyAPI('api.bsky.app', false); 134 139 window.blueAPI = new BlueskyAPI('blue.mackuba.eu', false); 135 140 window.accountAPI = new BlueskyAPI(undefined, true); ··· 461 466 $id('posting_stats_page').style.display = 'block'; 462 467 } 463 468 464 - function scanPostingStats() { 465 - let days = 7; 469 + function configurePostingStats(args) { 470 + if (args.days) { 471 + let label = $(postingStatsPage.querySelector('input[type=range] + label')); 472 + label.innerText = (args.days == 1) ? '1 day' : `${args.days} days`; 473 + } 474 + } 466 475 476 + function scanPostingStats() { 467 477 let submit = $(postingStatsPage.querySelector('input[type=submit]'), HTMLInputElement); 468 478 submit.disabled = true; 479 + 480 + let range = $(postingStatsPage.querySelector('input[type=range]'), HTMLInputElement); 481 + let days = parseInt(range.value, 10); 469 482 470 483 let output = $(postingStatsPage.querySelector('input[type=submit] + output')); 471 484 output.innerText = '';
+5
style.css
··· 721 721 display: none; 722 722 } 723 723 724 + #posting_stats_page input[type="range"] { 725 + width: 250px; 726 + vertical-align: middle; 727 + } 728 + 724 729 #posting_stats_page .scan-result { 725 730 border: 1px solid #333; 726 731 border-collapse: collapse;