MediaWiki:Common.js
From PHIGHTING! Wiki
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
const dynamicColorLibrary = {
Sword:"#D84C4C",
Skateboard:"#FF0000",
Biograft:"#FE6A00",
Katana:"#F95757",
Ban_Hammer:"#3A3A82",
Rocket:"#527CAE",
Slingshot:"#499FB8",
Hyperlaser:"#2A8DB0",
Shuriken:"#7CC740",
Scythe:"#23806F",
Medkit:"#2CBEA1",
Boombox:"#93BA49",
Subspace:"#FF006F",
Vine_Staff:"#FF5877",
Flipside:"linear-gradient(90deg, rgba(255,221,99,1) 20%, rgba(165,117,226,1) 80%)",
};
const pronounExclusions = {
"Lord_Pwnatious_%22Moneybags%22_the_III": "Pwnatious"
};
$( '.fp-discord' ).html( '<iframe src="https://discord.com/widget?id=933210573297057812&theme=dark" width="350" height="500" allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"></iframe>' );
/* Template:PhighterRainbow */
$(".pr-phighter").find("img").bind("webkitAnimationEnd mozAnimationEnd animationEnd", function(){
$(this).removeClass("pr-animated");
});
$(".pr-phighter").find("img").hover(function(){
$(this).addClass("pr-animated");
});
$(".pr-phighter").find("a").attr("href","javascript:void(0);");
/* NINJISY's silly little broker */
$(".ninjisy-broker").find("img").bind("webkitAnimationEnd mozAnimationEnd animationEnd", function(){
$(this).removeClass("pr-animated");
});
$(".ninjisy-broker").find("img").hover(function(){
$(this).addClass("pr-animated");
});
/* Pronoun tooltip */
if ($("h3:contains(Pronoun(s))").length > 0) {
pronouns = $("h3:contains(Pronoun(s))").next()[0].innerHTML.toLowerCase();
if (location.pathname.split('/')[2] in pronounExclusions) {
phighterName = pronounExclusions[location.pathname.split('/')[2]];
$("h3:contains(Pronoun(s))").next()[0].title = 'While most demons are agender and use any pronouns, ' + phighterName + ' prefers ' + pronouns + ' pronouns!';
}
else {
$("h3:contains(Pronoun(s))").next()[0].title = 'Demons are agender and use any pronouns - these are just the ones most commonly used for this particular demon!';
}
$("h3:contains(Pronoun(s))").next().eq(0).addClass("pr-tooltip");
}
/* Template:PhighterNav */
/* This JS handles the colour changing effect for the navbars on pages */
/* It is kind of bad practice because MW is IE11 compatible. Grr */
if(document.querySelectorAll("#ph-nav-dynamic-color").length > 0)
{
const nodeList = document.querySelectorAll("#ph-nav-dynamic-color");
const dynamicColor = dynamicColorLibrary[location.pathname.split('/')[2]];
nodeList.forEach(function (currentValue, currentIndex) {
nodeList[currentIndex].addEventListener("mouseover", function (e)
{
nodeList[currentIndex].style.color = dynamicColor;
nodeList[currentIndex].style.boxShadow = "5px 5px 0px 0px " + dynamicColor;
nodeList[currentIndex].style.transition = "all 300ms ease";
});
nodeList[currentIndex].addEventListener("mouseout", function (e)
{
nodeList[currentIndex].style.color = "inherit";
nodeList[currentIndex].style.boxShadow = "5px 5px 0px 0px #FFFFFF";
nodeList[currentIndex].style.transition = "all 750ms ease-in";
});
});
}