User:Algorythmic/common.js

/* https://en.wikipedia.org/wiki/User:SD0001/dark-mode-toggle.js User:SD0001/dark-mode-toggle.js importScript('User:SD0001/dark-mode-toggle.js')

/* https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw.util-method-addPortletLink

/** * Enables or disables the dark mode gadget. */ 0 && $.when(	$.ready,   mw.loader.using(['mediawiki.util', 'mediawiki.api']) ).then(function {    var inDarkMode = !!mw.user.options.get('gadget-dark-mode')    var autoDarkMode = '1' === mw.storage.get('mw-darkmode-auto')    var preferDarkMode = ( window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches )   function toggleDarkMode {        new mw.Api.saveOption( 'gadget-dark-mode', inDarkMode ? '0' : '1'       ).then(function { location.reload; })    }    function applyAutoDarkMode {        if (autoDarkMode && (preferDarkMode != inDarkMode)) {            toggleDarkMode        }    }    applyAutoDarkMode    /*    https://en.wikipedia.org/wiki/Help:Customizing_toolbars    */    var portletId = 'p-personal'    mw.util.addPortletLink( portletId, // href '#',       // text autoDarkMode ? 'Manual dark' : 'Auto dark', // id       'pt-darkmode-auto', // tooltip (autoDarkMode ? 'Turn off' : 'Turn on') + ' auto dark mode', // accesskey null, // nextnode '#pt-betafeatures' )   mw.util.addPortletLink( portletId, // href '#',       // text inDarkMode ? 'Light mode' : 'Dark mode', // id       'pt-darkmode', // tooltip (inDarkMode ? 'Turn off' : 'Turn on') + ' dark mode', // accesskey null, // nextnode '#pt-betafeatures' )

$('#pt-darkmode-auto').on('click', function(e) {       e.preventDefault        mw.notify( (autoDarkMode ? 'Disabling' : 'Enabling') + ' auto dark mode' )

autoDarkMode = !autoDarkMode mw.storage.set(           'mw-darkmode-auto',            autoDarkMode ? '1' : '0'        )

$('#pt-darkmode-auto a').text('...') applyAutoDarkMode

// If we didn't reload, update the link attributes $('#pt-darkmode-auto a').attr(           'title',            (autoDarkMode ? 'Turn off' : 'Turn on') + ' auto dark mode'       ) $('#pt-darkmode-auto a').text(           autoDarkMode ? 'Manual dark' : 'Auto dark'        ) })   $('#pt-darkmode').on('click', function(e) { e.preventDefault mw.notify(           (inDarkMode ? 'Disabling' : 'Enabling') + ' dark mode'       ); mw.storage.set(           'mw-darkmode-auto',            '0'        ) toggleDarkMode }) })