MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 8: | Line 8: | ||
if (darkmode) { | if (darkmode) { | ||
document.body.classList.remove('darkmode') | document.body.classList.remove('darkmode') | ||
document.cookie = | document.cookie = 'darkmode=; Path=/; Max-Age=0;' | ||
} else { | } else { | ||
document.body.classList.add('darkmode') | document.body.classList.add('darkmode') | ||
Revision as of 20:31, 3 April 2024
/* Any JavaScript here will be loaded for all users on every page load. */
;(function () {
$('#pt-darkmode a').on('click', function (e) {
e.preventDefault()
var darkmode = /\bdarkmode=1\b/.test(document.cookie);
if (darkmode) {
document.body.classList.remove('darkmode')
document.cookie = 'darkmode=; Path=/; Max-Age=0;'
} else {
document.body.classList.add('darkmode')
document.cookie = 'darkmode=1; Path=/;'
}
})
})();
/* Implements section-collapse and stop-section-collapse */
var collapsing = document.querySelectorAll(".section-collapse");
if (collapsing.length>0) {
for (var i = 0; i < collapsing.length ; i++) {
collapsing.item(i).addEventListener('click',collapseHandler,false);
if (collapsing.item(i).classList.contains("collapsed"))
collapseHandlerThis(collapsing.item(i));
}
}
function collapseHandler() {
collapseHandlerThis(this);
}
function collapseHandlerThis(t) {
var c = t.parentNode.parentNode.nextSibling;
while (c) {
if (c.classList) {
if (c.classList.contains("section-collapse") || c.classList.contains("stop-section-collapse"))
break;
c.classList.toggle('section-collapsed');
}
c = c.nextSibling;
}
t.classList.toggle('collapsed-icon');
}