Advertisement
puggan

agdq_s.user.js

Jan 12th, 2017
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        AGDQ schedule
  3. // @namespace   puggan
  4. // @description Filter AGDQ Schedule
  5. // @include     https://gamesdonequick.com/schedule
  6. // @version     1
  7. // @grant       none
  8. // ==/UserScript==
  9.  
  10. setTimeout(function() {
  11.     var today = new Date().toISOString().substr(0,10)
  12.     var dateprefix = today.substr(0,8);
  13.     var current_hour = parseInt(new Date().toISOString().substr(11,2));
  14.     var current_minutes = today.substr(14,2);
  15.     var runTable = document.getElementById('runTable');
  16.     var baseTbody = runTable.lastElementChild;
  17.     var newTbody;
  18.     var daychange = true;
  19.     while(baseTbody.lastElementChild)
  20.     {
  21.         if(daychange)
  22.         {
  23.             newTbody = document.createElement('TBODY');
  24.             daychange = false;
  25.         }
  26.         if(baseTbody.lastElementChild.className == "day-split")
  27.         {
  28.             daychange = true;
  29.             newTbody.datestring = baseTbody.lastElementChild.lastElementChild.innerHTML.trim();
  30.             newTbody.date = new Date(dateprefix + newTbody.datestring.replace(/[^0-9]+/g,''));
  31.             var isodate = newTbody.date.toISOString().substr(0,10);
  32.             newTbody.setAttribute('data-date', isodate);
  33.             if(today > isodate)
  34.             {
  35.                 newTbody.style.display = 'none';
  36.             }
  37.             else if(today == isodate)
  38.             {
  39.                 var hidden = false;
  40.                 for(tr of newTbody.children)
  41.                 {
  42.                     if(!tr.className)
  43.                     {
  44.                         var time_parts = /([0-9]+):([0-9]+) (AM|PM)/.exec(tr.firstElementChild.innerHTML);
  45.                         var hour = parseInt(time_parts[1]) % 12 + (time_parts[3] == 'PM' ? 12 : 0);
  46.                         if(current_hour < hour)
  47.                         {
  48.                             hidden = false;
  49.                         }
  50.                         else
  51.                         {
  52.                             hidden = true;
  53.                         }
  54.                     }
  55.                     if(hidden)
  56.                     {
  57.                         tr.style.display = 'none';
  58.                     }
  59.                 }
  60.             }
  61.         }
  62.         if(newTbody.firstElementChild)
  63.         {
  64.             newTbody.insertBefore(baseTbody.lastElementChild, newTbody.firstElementChild);
  65.         }
  66.         else
  67.         {
  68.             newTbody.appendChild(baseTbody.lastElementChild)
  69.         }
  70.         if(daychange)
  71.         {
  72.             runTable.insertBefore(newTbody, runTable.firstElementChild.nextElementSibling);
  73.             newTbody = null;
  74.         }
  75.     }
  76. }, 500);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement