User:MetalManeMc/vector.js: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 41: Line 41:
             new mw.Api().saveOption('userjs-theme','dark-grey').then(function() {
             new mw.Api().saveOption('userjs-theme','dark-grey').then(function() {
                 mw.user.options.set('userjs-theme','dark-grey');
                 mw.user.options.set('userjs-theme','dark-grey');
                 mw.loader.using(['ext.gadget.theme-light']).then(function() {
                 mw.loader.using(['ext.gadget.darkvector']).then(function() {
                 $('body').addClass('theme-dark-grey');
                 $('body').addClass('theme-dark-grey');
                 $('body').removeClass('theme-light');
                 $('body').removeClass('theme-light');

Revision as of 14:35, 20 December 2023

/**
 * Toggle for dark mode testing
 * Inspired from https://minecraft.wiki/w/MediaWiki:Gadget-darkmode.js
 */

portletLink = mw.util.addPortletLink(
    'p-personal',
    '',
    '',
    'pt-dm-toggle',
    'Preview in light mode',
    null,
    $('#pt-userpage, #pt-anonuserpage, #pt-createaccount')[0]
);

$(portletLink).find('a').click(function(e) {
    e.preventDefault();
    if (mw.user.isAnon()) {
        if (mw.cookie.get('theme',null,'dark-grey')==='dark-grey') {
            mw.cookie.set('theme','light');
            mw.loader.using(['ext.gadget.theme-light']).then(function() {
                $('body').addClass('theme-light');
                $('body').removeClass('theme-dark-grey');
            });
        }
        else {
            mw.cookie.set('theme','dark-grey');
            $('body').addClass('theme-dark-grey');
            $('body').removeClass('theme-light');
        }
    }
    else {
        if (mw.user.options.get('userjs-theme','dark-grey')==='dark-grey') {
            new mw.Api().saveOption('userjs-theme','light').then(function() {
                mw.user.options.set('userjs-theme','light');
                $('body').addClass('theme-light');
                $('body').removeClass('theme-dark-grey');
            });
        }
        else {
            new mw.Api().saveOption('userjs-theme','dark-grey').then(function() {
                mw.user.options.set('userjs-theme','dark-grey');
                mw.loader.using(['ext.gadget.darkvector']).then(function() {
                	$('body').addClass('theme-dark-grey');
                	$('body').removeClass('theme-light');
                });
            });
        }
    }
});