// ==UserScript== // @name AGDQ schedule // @namespace puggan // @description Filter AGDQ Schedule // @include https://gamesdonequick.com/schedule // @version 1 // @grant none // ==/UserScript== setTimeout(function() { var today = new Date().toISOString().substr(0,10) var dateprefix = today.substr(0,8); var current_hour = parseInt(new Date().toISOString().substr(11,2)); var current_minutes = today.substr(14,2); var runTable = document.getElementById('runTable'); var baseTbody = runTable.lastElementChild; var newTbody; var daychange = true; while(baseTbody.lastElementChild) { if(daychange) { newTbody = document.createElement('TBODY'); daychange = false; } if(baseTbody.lastElementChild.className == "day-split") { daychange = true; newTbody.datestring = baseTbody.lastElementChild.lastElementChild.innerHTML.trim(); newTbody.date = new Date(dateprefix + newTbody.datestring.replace(/[^0-9]+/g,'')); var isodate = newTbody.date.toISOString().substr(0,10); newTbody.setAttribute('data-date', isodate); if(today > isodate) { newTbody.style.display = 'none'; } else if(today == isodate) { var hidden = false; for(tr of newTbody.children) { if(!tr.className) { var time_parts = /([0-9]+):([0-9]+) (AM|PM)/.exec(tr.firstElementChild.innerHTML); var hour = parseInt(time_parts[1]) % 12 + (time_parts[3] == 'PM' ? 12 : 0); if(current_hour < hour) { hidden = false; } else { hidden = true; } } if(hidden) { tr.style.display = 'none'; } } } } if(newTbody.firstElementChild) { newTbody.insertBefore(baseTbody.lastElementChild, newTbody.firstElementChild); } else { newTbody.appendChild(baseTbody.lastElementChild) } if(daychange) { runTable.insertBefore(newTbody, runTable.firstElementChild.nextElementSibling); newTbody = null; } } }, 500);