User:MetalManeMc/vector.js: Difference between revisions

From Baldur's Gate 3 Wiki
Jump to navigation Jump to search
No edit summary
(Undo revision 130971 by MetalManeMc (talk))
Tag: Undo
Line 1: Line 1:
/**
/**
  * @author MarkusRost
  * Toggle for dark mode testing
  **/
  * 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();
    if (mw.user.isAnon()) {
console.error(mw.user.options.get('theme'));
        if (mw.cookie.get('theme',null,'dark-grey')==='dark-grey') {
if (mw.user.options.get('theme')==='dark-grey') {
            mw.cookie.set('theme','light');
var params = {
            mw.loader.using(['ext.gadget.theme-light']).then(function() {
action: 'options',
                $('body').addClass('theme-light');
change: 'theme=light',
                $('body').removeClass('theme-dark-grey');
format: 'json'
            });
},
        }
api = new mw.Api();
        else {
mw.loader.using(['theme.dark-grey']).then(function() {
            mw.cookie.set('theme','dark-grey');
  $('body').addClass('theme-light')
            $('body').addClass('theme-dark-grey');
  $('body').removeClass('theme-dark-grey')
            $('body').removeClass('theme-light');
});
        }
}
    }
else {
    else {
var params = {
        if (mw.user.options.get('userjs-theme','dark-grey')==='dark-grey') {
action: 'options',
            new mw.Api().saveOption('userjs-theme','light').then(function() {
change: 'theme=dark-grey',
                mw.user.options.set('userjs-theme','light');
format: 'json'
                mw.loader.using(['ext.gadget.theme-light']).then(function() {
},
                    $('body').addClass('theme-light');
api = new mw.Api();
                    $('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 11:10, 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();
				console.error(mw.user.options.get('theme'));
				if (mw.user.options.get('theme')==='dark-grey') {
					var params = {
						action: 'options',
						change: 'theme=light',
						format: 'json'
					},
					api = new mw.Api();
					mw.loader.using(['theme.dark-grey']).then(function() {
					  $('body').addClass('theme-light')
					  $('body').removeClass('theme-dark-grey')
					});
				}
				else {
					var params = {
						action: 'options',
						change: 'theme=dark-grey',
						format: 'json'
					},
					api = new mw.Api();
				}
				api.postWithToken( 'csrf', params ).done( function ( data ) {});
				
			});