User:MetalManeMc/vector.js: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Tag: Reverted
Line 5: Line 5:


portletLink = mw.util.addPortletLink(
portletLink = mw.util.addPortletLink(
'p-personal',
    'p-personal',
'',
    '',
'',
    '',
'pt-dm-toggle',
    'pt-dm-toggle',
'Preview in light mode',
    'Preview in light mode',
null,
    null,
$('#pt-userpage, #pt-anonuserpage, #pt-createaccount')[0]
    $('#pt-userpage, #pt-anonuserpage, #pt-createaccount')[0]
);
);
 
$(portletLink).find('a').click(function(e) {
$(portletLink).find('a').click(function(e) {
e.preventDefault();
    e.preventDefault();
if (mw.user.options.get('theme')==='dark-grey') {
    if (mw.user.isAnon()) {
var params = {
        if (mw.cookie.get('theme',null,'dark-grey')==='dark-grey') {
action: 'options',
            mw.cookie.set('theme','light');
change: 'theme=light',
            mw.loader.using(['ext.gadget.theme-light']).then(function() {
format: 'json'
                $('body').addClass('theme-light');
};
                $('body').removeClass('theme-dark-grey');
$('body').addClass('theme-light')
            });
$('body').removeClass('theme-dark-grey')
        }
}
        else {
else {
            mw.cookie.set('theme','dark-grey');
var params = {
            $('body').addClass('theme-dark-grey');
action: 'options',
            $('body').removeClass('theme-light');
change: 'theme=dark-grey',
        }
format: 'json'
    }
};
    else {
         mw.loader.using(['ext.darkvector']).then(function() {
         if (mw.user.options.get('userjs-theme','dark-grey')==='dark-grey') {
        $('body').addClass('theme-dark-grey');
            new mw.Api().saveOption('userjs-theme','light').then(function() {
        $('body').removeClass('theme-light');
                mw.user.options.set('userjs-theme','light');
        });
                $('body').addClass('theme-light');
}
                $('body').removeClass('theme-dark-grey');
new mw.Api().postWithToken( 'csrf', params ).done( function ( data ) {});
            });
        }
        else {
            new mw.Api().saveOption('userjs-theme','dark-grey').then(function() {
                mw.user.options.set('userjs-theme','dark-grey');
                mw.loader.using(['ext.gadget.theme-light']).then(function() {
                $('body').addClass('theme-dark-grey');
                $('body').removeClass('theme-light');
                });
            });
        }
    }
});
});

Revision as of 15: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.theme-light']).then(function() {
                	$('body').addClass('theme-dark-grey');
                	$('body').removeClass('theme-light');
                });
            });
        }
    }
});