MediaWiki:Gadget-toggleDarkMode.js: Difference between revisions

From Discord Dungeons Wiki
Jump to navigation Jump to search
(Created page with "→‎* * Toggles dark mode * * @author Mackan * Adapted from https://oldschool.runescape.wiki/w/MediaWiki:Gadget-skinTogglesNew.js: ;(function($, mw) { const DARKMODE_COOKIE = "darkmode"; let currentDark = localStorage.getItem(DARKMODE_COOKIE) let portletLink let self = { init: () => { portletLink = mw.util.addPortletLink( 'p-personal', '', '', 'pt-skin-toggles', 'Toggle darkmode', null, $('#pt-userpage, #pt-anonuserpag...")
 
No edit summary
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
/**
* Toggles dark mode
*
* @author Mackan
* Adapted from https://oldschool.runescape.wiki/w/MediaWiki:Gadget-skinTogglesNew.js
*/
  ;(function($, mw) {
  ;(function($, mw) {
const DARKMODE_COOKIE = "darkmode";
var DARKMODE_COOKIE = "darkmode",
let currentDark = localStorage.getItem(DARKMODE_COOKIE)
currentDark = localStorage.getItem(DARKMODE_COOKIE) == 'true',
portletLink,
formMade;


let portletLink
var self = {
init: function() {
 
if (currentDark) {
$('body').addClass('wgl-darkmode')
$('body').removeClass('wgl-lightmode')
}


let self = {
init: () => {
portletLink = mw.util.addPortletLink(
portletLink = mw.util.addPortletLink(
'p-personal',
'p-personal',
Line 24: Line 23:
);
);


$(portletLink).find('a').addClass('oo-ui-icon-advanced').add('.floor-convention').click(function(e) {
$(portletLink).find('a').addClass('oo-ui-icon-advanced').click(function(e) {
e.preventDefault();
e.preventDefault();
if (!formMade) {
 
mw.loader.using(['oojs-ui-core','oojs-ui-windows','oojs-ui-widgets']).then(self.initForm);
currentDark = !currentDark;
 
localStorage.setItem(DARKMODE_COOKIE, currentDark);
 
if (currentDark) {
$('body').addClass('wgl-darkmode')
$('body').removeClass('wgl-lightmode')
} else {
} else {
window.OOUIWindowManager.openWindow('skin');
$('body').addClass('wgl-lightmode')
$('body').removeClass('wgl-darkmode')
}
}
})
})
}
}
}
}


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


  }(jQuery, mediaWiki));
  }(jQuery, mediaWiki));

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));