MediaWiki:Gadget-toggleDarkMode.js

From Discord Dungeons Wiki
Revision as of 15:38, 29 March 2022 by Mackan (talk | contribs) (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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.
/**
 * 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-anonuserpage')
			);

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

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

 }(jQuery, mediaWiki));