display percent in larger usage meter, also show where you should be based on number of days in the month
// ==UserScript==
// @name Comcast Internet Usage Percent
// @namespace http://tampermonkey.net/
// @version 0.2.1
// @description display percent in larger usage meter, also show where you should be based on number of days in the month
// @author Harry Groover
// @match https://customer.xfinity.com/MyServices/Internet/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
// @grant none
// ==/UserScript==
(function() {
'use strict';
var timer = setInterval(updateMeter, 250),
d = new Date(),
m = d.getMonth(),
dotm = d.getDate()+(d.getHours()/24)+(d.getMinutes()/6000), // append current hours and minutes for more accuracy
lastDay = new Date(d.getYear(), m+1, 0).getDate(),
datePercent = Math.round((dotm/(lastDay+1))*100); // add one to calculate end of the day instead of beginning
function updateMeter() {
var usageBar = $('.usage-meter-widget').find('.cui-usage-bar'),
dateBar,
percentUsed, plan, usage;
if (usageBar.length > 0) {
plan = usageBar.data('plan');
usage = usageBar.children().data('used');
percentUsed = Math.round(usage/plan*100);
usageBar.css('height', '30px');
usageBar.children().css('width', percentUsed+'%').append('<span style="font-size: 1.2em; margin-top: 6.5px; margin-right: 10px; display: block; text-align: right; color: #ffffff;">'+percentUsed+'%</span>');
dateBar = usageBar.clone();
dateBar.children().css('width', datePercent+'%').find('span').text(datePercent+'%');
dateBar.insertAfter(usageBar);
$('<h5>What You Should Be Under</h5>').insertBefore(dateBar);
clearInterval(timer);
}
}
})();