MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
(this mediawiki version requires ecma 5) |
No edit summary |
||
Line 43: | Line 43: | ||
preferredExpansion = 'sod'; | preferredExpansion = 'sod'; | ||
switchExpansion.textContent = 'Switch to Horn of the Abyss'; | switchExpansion.textContent = 'Switch to Horn of the Abyss'; | ||
hideElements('.onlyhota'); | |||
showElements('.onlysod'); | showElements('.onlysod'); | ||
} else { | } else { | ||
preferredExpansion = 'hota'; | preferredExpansion = 'hota'; | ||
switchExpansion.textContent = 'Switch to Shadow of Death'; | switchExpansion.textContent = 'Switch to Shadow of Death'; | ||
hideElements('.onlysod'); | |||
showElements('.onlyhota'); | showElements('.onlyhota'); | ||
} | } | ||
var CookieDate = new Date(); | var CookieDate = new Date(); | ||
Line 77: | Line 77: | ||
if (getCookie('preferredExpansion') == 'hota') { | if (getCookie('preferredExpansion') == 'hota') { | ||
switchExpansion.textContent = 'Switch to Shadow of Death'; | switchExpansion.textContent = 'Switch to Shadow of Death'; | ||
hideElements('.onlysod'); | |||
showElements('.onlyhota'); | showElements('.onlyhota'); | ||
} else { | } else { | ||
switchExpansion.textContent = 'Switch to Horn of the Abyss'; | switchExpansion.textContent = 'Switch to Horn of the Abyss'; | ||
hideElements('.onlyhota'); | |||
showElements('.onlysod'); | showElements('.onlysod'); | ||
} | } | ||
} | } |
Revision as of 22:36, 26 January 2024
/* Any JavaScript here will be loaded for all users on every page load. */
(function() {
function getCookie(cname) {
var name = cname + '=';
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for (var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return '';
}
function showElements(desc) {
var elems = document.querySelectorAll(desc);
for (var i = 0; i < elems.length; i++) {
elems[i].style = '';
}
elems = document.querySelectorAll('.switchExpansion' + desc);
for (var i = 0; i < elems.length; i++) {
elems[i].style = 'cursor: pointer; color: rgb(102, 177, 250);';
}
}
function hideElements(desc) {
var elems = document.querySelectorAll(desc);
for (var i = 0; i < elems.length; i++) {
elems[i].style = 'display:none;';
}
}
function togglePreferredExpansion() {
var preferredExpansion = getCookie('preferredExpansion');
var switchExpansion = document.querySelector('#switchExpansion');
if (preferredExpansion == 'hota') {
preferredExpansion = 'sod';
switchExpansion.textContent = 'Switch to Horn of the Abyss';
hideElements('.onlyhota');
showElements('.onlysod');
} else {
preferredExpansion = 'hota';
switchExpansion.textContent = 'Switch to Shadow of Death';
hideElements('.onlysod');
showElements('.onlyhota');
}
var CookieDate = new Date();
CookieDate.setFullYear(CookieDate.getFullYear() + 1);
document.cookie = 'preferredExpansion=' + preferredExpansion + '; expires=' + CookieDate.toUTCString() + ';';
}
function initPreferredExpansion() {
var userlink = document.querySelector('#pt-anonuserpage');
if (!userlink) {
userlink = document.querySelector('#pt-userpage');
}
if (userlink) {
var switchExpansion = document.querySelector('#switchExpansion');
if (!switchExpansion) {
switchExpansion = document.createElement('li');
switchExpansion.style = 'cursor: pointer; color: rgb(102, 177, 250);';
switchExpansion.id = 'switchExpansion';
switchExpansion.addEventListener('click', togglePreferredExpansion);
userlink.parentElement.insertBefore(switchExpansion, null);
var elems = document.querySelectorAll('.switchExpansion');
for (var i = 0; i < elems.length; i++) {
elems[i].addEventListener('click', togglePreferredExpansion);
elems[i].style = 'cursor: pointer; color: rgb(102, 177, 250);';
}
}
if (getCookie('preferredExpansion') == 'hota') {
switchExpansion.textContent = 'Switch to Shadow of Death';
hideElements('.onlysod');
showElements('.onlyhota');
} else {
switchExpansion.textContent = 'Switch to Horn of the Abyss';
hideElements('.onlyhota');
showElements('.onlysod');
}
}
}
window.addEventListener('readystatechange', function() {
initPreferredExpansion();
});
window.addEventListener('DOMContentLoaded', function() {
initPreferredExpansion();
});
window.addEventListener('load', function() {
initPreferredExpansion();
});
initPreferredExpansion();
})();