MediaWiki:Gadget-toggleDarkMode.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
;(function($, mw) { | ;(function($, mw) { | ||
var DARKMODE_COOKIE = "darkmode", | var DARKMODE_COOKIE = "darkmode", | ||
currentDark = localStorage.getItem(DARKMODE_COOKIE), | currentDark = localStorage.getItem(DARKMODE_COOKIE) == 'true', | ||
portletLink, | portletLink, | ||
formMade; | formMade; | ||
| Line 17: | Line 16: | ||
$('#pt-userpage, #pt-anonuserpage') | $('#pt-userpage, #pt-anonuserpage') | ||
); | ); | ||
$(portletLink).find('a').addClass('oo-ui-icon-advanced | |||
$(portletLink).find('a').addClass('oo-ui-icon-advanced').click(function(e) { | |||
e.preventDefault(); | e.preventDefault(); | ||
if ( | |||
if (currentDark) { | |||
currentDark = false; | |||
} | } | ||
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 () { | mw.loader.using(['mediawiki.util'], function () { | ||
$(self.init); | $(self.init); | ||
Revision as of 16:19, 29 March 2022
;(function($, mw) {
var DARKMODE_COOKIE = "darkmode",
currentDark = localStorage.getItem(DARKMODE_COOKIE) == 'true',
portletLink,
formMade;
var self = {
init: function() {
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();
if (currentDark) {
currentDark = false;
}
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));