User:MetalManeMc/vector.js: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
/**
/**
  * Toggle for dark mode testing
  * @author MarkusRost
  * Inspired from https://minecraft.wiki/w/MediaWiki:Gadget-darkmode.js
  **/
*/


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();
console.error(mw.user.options.get('theme'));
    if (mw.user.isAnon()) {
if (mw.user.options.get('theme')==='dark-grey') {
        if (mw.cookie.get('theme',null,'dark-grey')==='dark-grey') {
var params = {
            mw.cookie.set('theme','light');
action: 'options',
            mw.loader.using(['ext.gadget.theme-light']).then(function() {
change: 'theme=light',
                $('body').addClass('theme-light');
format: 'json'
                $('body').removeClass('theme-dark-grey');
},
            });
api = new mw.Api();
        }
mw.loader.using(['theme.dark-grey']).then(function() {
        else {
  $('body').addClass('theme-light')
            mw.cookie.set('theme','dark-grey');
  $('body').removeClass('theme-dark-grey')
            $('body').addClass('theme-dark-grey');
});
            $('body').removeClass('theme-light');
}
        }
else {
    }
var params = {
    else {
action: 'options',
        if (mw.user.options.get('userjs-theme','dark-grey')==='dark-grey') {
change: 'theme=dark-grey',
            new mw.Api().saveOption('userjs-theme','light').then(function() {
format: 'json'
                mw.user.options.set('userjs-theme','light');
},
                mw.loader.using(['ext.gadget.theme-light']).then(function() {
api = new mw.Api();
                    $('body').addClass('theme-light');
}
                    $('body').removeClass('theme-dark-grey');
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');
                $('body').addClass('theme-dark-grey');
                $('body').removeClass('theme-light');
            });
        }
    }
});

Revision as of 22:43, 19 December 2023

/**
 * @author MarkusRost 
 **/

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');
                mw.loader.using(['ext.gadget.theme-light']).then(function() {
                    $('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');
                $('body').addClass('theme-dark-grey');
                $('body').removeClass('theme-light');
            });
        }
    }
});