Jump to content

User:SD0001/dark-mode-toggle.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by SD0001 (talk | contribs) at 03:16, 22 April 2021. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/**
 * Enables or disables the dark mode gadget.
 */

$.when($.ready, mw.loader.using(['mediawiki.util', 'mediawiki.api'])).then(function() {
    var inDarkMode = !!mw.user.options.get('gadget-dark-mode');

    var linkText = inDarkMode ? 'Light mode' : 'Dark mode';

    mw.util.addPortletLink('p-cactions', '#', linkText, 'pt-darkmode', inDarkMode ? 'Turn off dark mode' : 'Turn on dark mode', 'np');

    $('#pt-darkmode').on('click', function(e) {
        e.preventDefault();
        mw.notify(inDarkMode ? 'Disabling dark mode ...' : 'Enabling dark mode ...');
        new mw.Api().saveOption('gadget-dark-mode', inDarkMode ? '0' : '1').then(function() { 
            location.reload(); 
        });
    });
});