MediaWiki:Gadget-nightwiki.js

From TestWiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
//<nowiki>
$(function() {
    var nighttime = 'on' === mw.storage.get('nightwiki'),
        cssLoaded = nighttime ? lightsOff() : false;

    mw.util.addPortletLink('p-personal', '#', nighttime ? '🌞Daywiki' : '🌙Nightwiki', 'pt-nightwiki', '', 'np', '#pt-watchlist');

    $('#pt-nightwiki').on('click', function(e) {
        e.preventDefault();
        nighttime = !nighttime;
        if (nighttime) {
            lightsOff();
        } else {
            lightsOn();
        }
    });

    function lightsOn() {
        $('html').removeClass('nighttime');
        $('#pt-nightwiki a').text('Nightwiki');
        mw.storage.set('nightwiki', 'off');
    }
    function lightsOff() {
        if(!cssLoaded) {
            $('head').append(mw.loader.load('https://publictestwiki.com/w/index.php?title=MediaWiki:Gadget-nightwiki.css&action=raw&ctype=text/css', 'text/css'));
        }
        $('html').addClass('nighttime');
        $('#pt-nightwiki a').text('Daywiki');
        mw.storage.set('nightwiki', 'on');
        return true;
    }
});
//</nowiki>