Last active
November 8, 2019 15:57
-
-
Save mangei/7e2976c263d99235b768ffba9f099806 to your computer and use it in GitHub Desktop.
Coding Contest - Result Cleanup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Coding Contest - Result Cleanup | |
// @version 1.1.0 | |
// @author Manuel Geier | |
// @match https://www.google.at/search?q=userscript&rlz=1C1GGRV_enAT751AT751&oq=userscript&aqs=chrome..69i57j69i59j35i39j0l3.4415j0j7&sourceid=chrome&ie=UTF-8 | |
// @grant none | |
// @include *codingcontest.org/contest/* | |
// ==/UserScript== | |
var load,execute,loadAndExecute;load=function(a,b,c){var d;d=document.createElement("script"),d.setAttribute("src",a),b!=null&&d.addEventListener("load",b),c!=null&&d.addEventListener("error",c),document.body.appendChild(d);return d},execute=function(a){var b,c;typeof a=="function"?b="("+a+")();":b=a,c=document.createElement("script"),c.textContent=b,document.body.appendChild(c);return c},loadAndExecute=function(a,b){return load(a,function(){return execute(b)})}; | |
loadAndExecute("https://code.jquery.com/jquery-3.3.1.js", function() { | |
var showTop3 = false; | |
var rankTable = $(".content table").first(); | |
// remove all icons | |
$("img[src*=gold]").remove(); | |
$("img[src*=silver]").remove(); | |
$("img[src*=bronze]").remove(); | |
// add top rank icons | |
var imgGold = document.createElement('img') | |
imgGold.src = "/images/icons/gold.png"; | |
$(imgGold).css("padding-left", "1rem"); | |
var imgSilver = document.createElement('img') | |
imgSilver.src = "/images/icons/silver.png"; | |
$(imgSilver).css("padding-left", "1rem"); | |
var imgBronze = document.createElement('img') | |
imgBronze.src = "/images/icons/bronze.png"; | |
$(imgBronze).css("padding-left", "1rem"); | |
addToRank("1", imgGold); | |
addToRank("2", imgSilver); | |
addToRank("3", imgBronze); | |
// remove finished column | |
rankTable.find("tr").find("th:eq(5)").remove(); | |
rankTable.find("tr").find("td:eq(5)").remove(); | |
// bold top ranks | |
rankTable.find("tr").find("td:eq(0)").filter(function() { | |
var rank = parseInt($(this).text()) | |
return rank >= 1 && rank <= 30; | |
}).closest("tr").css("font-weight", "bold"); | |
// remove ranks | |
rankTable.find("tr").find("td:eq(0)").filter(function() { | |
var rank = parseInt($(this).text()) | |
return !(rank >= 1 && rank <= 30); | |
}).closest("tr").remove(); | |
if(!showTop3) { | |
// remove ranks | |
rankTable.find("tr").find("td:eq(0)").filter(function() { | |
var rank = parseInt($(this).text()) | |
return rank >= 1 && rank <= 3; | |
}).closest("tr").remove(); | |
} | |
// remove lottery tickets table | |
$("th:contains('Lottery tickets')").closest("table").remove(); | |
function addToRank(rank, element) { | |
rankTable.find("tr:eq("+rank+")").find("td:eq(0)").filter(function() { | |
return $(this).text() === rank; | |
}).get(0).appendChild(element); | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment