Skip to content

Instantly share code, notes, and snippets.

@sdennler
Last active January 9, 2019 19:28
Show Gist options
  • Save sdennler/b11228c0f289c62fe640b3aac91198f9 to your computer and use it in GitHub Desktop.
Save sdennler/b11228c0f289c62fe640b3aac91198f9 to your computer and use it in GitHub Desktop.
Some improvements on the GC.com statistic page
Some improvements on the GC.com statistic page
// ==UserScript==
// @name Sad GC.com Stats Extend
// @namespace https://gist.github.com/sdennler
// @version 3
// @description Compare dicks better
// @author Sdennler
// @match https://www.geocaching.com/my/statistics.aspx
// @grant none
// ==/UserScript==
(function() {
'use strict';
function addContentToData(tag, classNames, statistic){
if(classNames.indexOf(tag.className) > -1){
tag.setAttribute('data-content', tag.textContent);
tag.textContent in statistic ? statistic[tag.textContent]++ : statistic[tag.textContent]=1;
}
}
var style = [];
// *** Finds for Each Day of the Year ***
// Mark current date
var today = new Date();
style.push('#uxFindsForEachDayOfYear td[id="'+(today.getMonth()+1)+'_'+today.getDate()+'"]{border:2px solid red;}');
// Collect and mark data
var findsForEachDayOfYearBox = document.getElementById('ctl00_ContentBody_StatsChronologyControl1_FindsForEachDayOfYear');
var findsForEachDayOfYearTable = document.getElementById('uxFindsForEachDayOfYear');
var findsForEachDayOfYearCells = findsForEachDayOfYearTable.getElementsByTagName('td');
var findsForEachDayOfYearStatistic = [];
Array.prototype.forEach.call(findsForEachDayOfYearCells, function(x) { return addContentToData(x, ['stats_cellzero', 'stats_cell_few', 'stats_cell_couple', 'stats_cell_some', 'stats_cell_many', 'stats_cell_lots'], findsForEachDayOfYearStatistic); });
console.log(findsForEachDayOfYearStatistic);
// Mark smallest
var smallestFindsForEachDayOfYear = null;
findsForEachDayOfYearStatistic.forEach(function(value, key, array) {
//console.log(value, key, array);
if(smallestFindsForEachDayOfYear === null) smallestFindsForEachDayOfYear = key;
});
style.push('#uxFindsForEachDayOfYear td[data-content="'+smallestFindsForEachDayOfYear+'"]{background-color:#D6D36B;color:white;}');
// Mark bellow 5
for (var finds = smallestFindsForEachDayOfYear + 1; finds < 5; finds++) {
style.push('#uxFindsForEachDayOfYear td[data-content="'+finds+'"]{background-color:#c7d084;color:white;}');
}
// Add style tag
var styleTag = document.createElement('style');
styleTag.type = 'text/css';
styleTag.innerHTML = style.join("\n");
document.getElementsByTagName('head')[0].appendChild(styleTag);
//console.log(styleTag);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment