MediaWiki:Gadget-CitizenMainPage.js: Difference between revisions
Jump to navigation
Jump to search
Created page with "mw.loader.using('mediawiki.api').then(function() { var api = new mw.Api(); api.saveOption('UseCitizenMainPage', '1').done(function() { location.reload(); }); });" |
mNo edit summary |
||
Line 1: | Line 1: | ||
mw. | (function() { | ||
var | var toggleCitizenLayout = function(enable) { | ||
var api = new mw.Api(); | |||
api.saveOption('UseCitizenMainPage', enable ? '1' : '0').done(function() { | |||
mw.notify('Main page layout preference updated. Refresh the page to see changes.'); | |||
}).fail(function() { | |||
mw.notify('Failed to update preference. Please try again.', {type: 'error'}); | |||
}); | |||
}; | |||
$(function() { | |||
var $body = $('body'); | |||
if ($body.hasClass('page-Main_Page') || $body.hasClass('page-MediaWiki:Mainpage')) { | |||
var currentState = mw.user.options.get('UseCitizenMainPage') === '1'; | |||
var $toggle = $('<div>') | |||
.css({ | |||
position: 'fixed', | |||
top: '10px', | |||
right: '10px', | |||
zIndex: 1000, | |||
background: 'white', | |||
padding: '5px', | |||
border: '1px solid black' | |||
}) | |||
.append( | |||
$('<label>') | |||
.text('Use Citizen Layout ') | |||
.append( | |||
$('<input>') | |||
.attr({ | |||
type: 'checkbox', | |||
checked: currentState | |||
}) | |||
.on('change', function() { | |||
toggleCitizenLayout(this.checked); | |||
}) | |||
) | |||
); | |||
$body.append($toggle); | |||
} | |||
}); | }); | ||
}); | })(); |
Latest revision as of 21:32, 31 July 2024
(function() {
var toggleCitizenLayout = function(enable) {
var api = new mw.Api();
api.saveOption('UseCitizenMainPage', enable ? '1' : '0').done(function() {
mw.notify('Main page layout preference updated. Refresh the page to see changes.');
}).fail(function() {
mw.notify('Failed to update preference. Please try again.', {type: 'error'});
});
};
$(function() {
var $body = $('body');
if ($body.hasClass('page-Main_Page') || $body.hasClass('page-MediaWiki:Mainpage')) {
var currentState = mw.user.options.get('UseCitizenMainPage') === '1';
var $toggle = $('<div>')
.css({
position: 'fixed',
top: '10px',
right: '10px',
zIndex: 1000,
background: 'white',
padding: '5px',
border: '1px solid black'
})
.append(
$('<label>')
.text('Use Citizen Layout ')
.append(
$('<input>')
.attr({
type: 'checkbox',
checked: currentState
})
.on('change', function() {
toggleCitizenLayout(this.checked);
})
)
);
$body.append($toggle);
}
});
})();