MediaWiki:Gadget-toggleDarkMode.js: Difference between revisions

From Discord Dungeons Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 7: Line 7:
var self = {
var self = {
init: function() {
init: function() {
if (currentDark) {
$('body').addClass('wgl-darkmode')
$('body').removeClass('wgl-lightmode')
}
portletLink = mw.util.addPortletLink(
portletLink = mw.util.addPortletLink(
'p-personal',
'p-personal',
Line 20: Line 26:
e.preventDefault();
e.preventDefault();


if (currentDark) {
currentDark = !currentDark;
currentDark = false;
}


localStorage.setItem(DARKMODE_COOKIE, currentDark);
localStorage.setItem(DARKMODE_COOKIE, currentDark);

Latest revision as of 08:12, 31 March 2022

 ;(function($, mw) {
	 var DARKMODE_COOKIE = "darkmode",
	 	 currentDark = localStorage.getItem(DARKMODE_COOKIE) == 'true',
		 portletLink,
		 formMade;

	 var self = {
		 init: function() {

			if (currentDark) {
				$('body').addClass('wgl-darkmode')
				$('body').removeClass('wgl-lightmode')
			}

			portletLink = mw.util.addPortletLink(
				'p-personal',
				'',
				'',
				'pt-skin-toggles',
				'Toggle darkmode',
				null,
				$('#pt-userpage, #pt-anonuserpage')
			);

			$(portletLink).find('a').addClass('oo-ui-icon-advanced').click(function(e) {
				e.preventDefault();

				currentDark = !currentDark;

				localStorage.setItem(DARKMODE_COOKIE, currentDark);

				if (currentDark) {
					$('body').addClass('wgl-darkmode')
					$('body').removeClass('wgl-lightmode')
				} else {
					$('body').addClass('wgl-lightmode')
					$('body').removeClass('wgl-darkmode')
				}

		 	})
		}
	}

	mw.loader.using(['mediawiki.util'], function () {
		$(self.init);
	})

 }(jQuery, mediaWiki));