MediaWiki:Gadget-toggleDarkMode.js: Difference between revisions

From Discord Dungeons Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
var numWords = $("#mw-content-text > div").text().split(" ").length;
;(function($, mw) {
var headerWords = $("h1").text().split(" ").length;
var DARKMODE_COOKIE = "darkmode",
var totalWords = numWords + headerWords;
currentDark = localStorage.getItem(DARKMODE_COOKIE) == 'true',
var timeInMinutes = totalWords / 200;
portletLink,
var header = $("h1").text();
formMade;
$("h1").text(header + " (it will take you " + timeInMinutes + " minutes to read this page)");
 
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));

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