MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (This should work hopefully) |
||
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
/* Check for cookie and apply darkmode if exists */ | |||
var darkmode = /\bdarkmode=1\b/.test(document.cookie); | |||
if (!darkmode) { | |||
document.documentElement.classList.remove('client-darkmode') | |||
} else { | |||
document.documentElement.classList.add('client-darkmode') | |||
}; | |||
;(function () { | ;(function () { | ||
$('#pt-darkmode a').on('click', function (e) { | $('#pt-darkmode a').on('click', function (e) { | ||
e.preventDefault() | e.preventDefault() | ||
if (darkmode) { | if (darkmode) { | ||
document.cookie = 'darkmode=; Path=/; Max-Age=0;' | document.cookie = 'darkmode=; Path=/; Max-Age=0;' | ||
} else { | } else { | ||
document.cookie = 'darkmode=1; Path=/;' | document.cookie = 'darkmode=1; Path=/;' | ||
} | } | ||
}) | }) |
Revision as of 21:03, 3 April 2024
/* Any JavaScript here will be loaded for all users on every page load. */ /* Check for cookie and apply darkmode if exists */ var darkmode = /\bdarkmode=1\b/.test(document.cookie); if (!darkmode) { document.documentElement.classList.remove('client-darkmode') } else { document.documentElement.classList.add('client-darkmode') }; ;(function () { $('#pt-darkmode a').on('click', function (e) { e.preventDefault() if (darkmode) { document.cookie = 'darkmode=; Path=/; Max-Age=0;' } else { 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'); }