// ==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);
Comments