MediaWiki:Gadget-toggleDarkMode.js: Difference between revisions

From Discord Dungeons Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(17 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() {


//  let self = {
if (currentDark) {
// init: () => {
$('body').addClass('wgl-darkmode')
// portletLink = mw.util.addPortletLink(
$('body').removeClass('wgl-lightmode')
// 'p-personal',
}
// '',
// '',
// 'pt-skin-toggles',
// 'Toggle darkmode',
// null,
// $('#pt-userpage, #pt-anonuserpage')
// );


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


// $(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);
// } else {
// window.OOUIWindowManager.openWindow('skin');
// }
// })
// }
// }


// $(self.init);
currentDark = !currentDark;


$.when(mw.loader.using('mediawiki.util'), $.ready).then(function() {
localStorage.setItem(DARKMODE_COOKIE, currentDark);
portletLink = mw.util.addPortletLink(
 
'p-personal',
if (currentDark) {
'',
$('body').addClass('wgl-darkmode')
'Toggle Darkmode',
$('body').removeClass('wgl-lightmode')
'pt-skin-toggles',
} else {
'Toggle darkmode',
$('body').addClass('wgl-lightmode')
null,
$('body').removeClass('wgl-darkmode')
'pt-userpage',
}
);
 
})
}
}
 
mw.loader.using(['mediawiki.util'], function () {
$(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));