MediaWiki:Common.js

From Modded Celeste
Revision as of 21:45, 16 October 2022 by Aurora Aquir (talk | contribs) (Darkmode toggle)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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. */
function toggleDarkMode() {
	document.body.classList.toggle('darkMode');
	localStorage.setItem('darkMode', localStorage.getItem('darkMode') !== 'true');
}

$(document).ready(function () {

	const darkMode = localStorage.getItem('darkMode');
	if (darkMode === 'true') {
		document.body.classList.add('darkMode');
	} else {
		document.body.classList.remove('darkMode');
	}
});
	

// Add dark mode links to "Wiki tools" and personal tools menus
$.when(mw.loader.using(['mediawiki.util']), $.ready).then( function() {
	var dmLinkTools = mw.util.addPortletLink('p-tb', '#', 'Dark mode', 't-darkmode', 'Toggle between a dark and light theme', null, '#t-specialpages');
	var dmLinkPersonal = mw.util.addPortletLink('p-personal', '#', 'Dark mode', 'pt-darkmode', 'Toggle between a dark and light theme', null, null);
	dmLinkPersonal.style.marginTop = '0.5rem';
	$(dmLinkTools).on('click', function(e) {
		e.preventDefault();
		toggleDarkMode();
	});
	$(dmLinkPersonal).on('click', function(e) {
		e.preventDefault();
		toggleDarkMode();
	});
} );