MediaWiki:Gadget-toggleDarkMode.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (20 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
;(function($, mw) { | ;(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( | portletLink = mw.util.addPortletLink( | ||
'p-personal', | 'p-personal', | ||
| Line 24: | Line 23: | ||
); | ); | ||
$(portletLink).find('a').addClass('oo-ui-icon-advanced | $(portletLink).find('a').addClass('oo-ui-icon-advanced').click(function(e) { | ||
e.preventDefault(); | e.preventDefault(); | ||
if ( | |||
currentDark = !currentDark; | |||
localStorage.setItem(DARKMODE_COOKIE, currentDark); | |||
if (currentDark) { | |||
$('body').addClass('wgl-darkmode') | |||
$('body').removeClass('wgl-lightmode') | |||
} else { | } else { | ||
$('body').addClass('wgl-lightmode') | |||
$('body').removeClass('wgl-darkmode') | |||
} | } | ||
}) | }) | ||
} | } | ||
} | } | ||
$(self.init); | 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));