MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
(function () { | (function () { | ||
if (new URLSearchParams(window.location.search).get('embed') === '1') { | |||
document.body.classList.add('rpgc-embed'); | |||
} | |||
var button = document.getElementById('rpgc-width-toggle'); | function applyWidthMode() { | ||
var narrowWindow = window.matchMedia('(max-width: 950px)').matches; | |||
var mode = localStorage.getItem('rpgc-width-mode') || 'readable'; | |||
document.body.classList.remove( | |||
'rpgc-readable-width', | |||
'rpgc-full-width', | |||
'rpgc-narrow-width' | |||
); | |||
if (narrowWindow) { | |||
document.body.classList.add('rpgc-narrow-width'); | |||
} else { | |||
document.body.classList.add( | |||
mode === 'full' ? 'rpgc-full-width' : 'rpgc-readable-width' | |||
); | |||
} | |||
var button = document.getElementById('rpgc-width-toggle'); | |||
if (button) { | |||
button.textContent = | |||
mode === 'full' ? 'Readable width' : 'Full width'; | |||
} | } | ||
} | |||
function addToggle() { | function addToggle() { | ||
| Line 34: | Line 53: | ||
$(addToggle); | $(addToggle); | ||
mw.hook('wikipage.content').add(addToggle); | mw.hook('wikipage.content').add(addToggle); | ||
window.addEventListener('resize', applyWidthMode); | |||
})(); | })(); | ||
Latest revision as of 05:23, 11 July 2026
(function () {
if (new URLSearchParams(window.location.search).get('embed') === '1') {
document.body.classList.add('rpgc-embed');
}
function applyWidthMode() {
var narrowWindow = window.matchMedia('(max-width: 950px)').matches;
var mode = localStorage.getItem('rpgc-width-mode') || 'readable';
document.body.classList.remove(
'rpgc-readable-width',
'rpgc-full-width',
'rpgc-narrow-width'
);
if (narrowWindow) {
document.body.classList.add('rpgc-narrow-width');
} else {
document.body.classList.add(
mode === 'full' ? 'rpgc-full-width' : 'rpgc-readable-width'
);
}
var button = document.getElementById('rpgc-width-toggle');
if (button) {
button.textContent =
mode === 'full' ? 'Readable width' : 'Full width';
}
}
function addToggle() {
if (document.getElementById('rpgc-width-toggle')) return;
var title = document.querySelector('.firstHeading, .mw-first-heading');
if (!title) return;
var button = document.createElement('button');
button.id = 'rpgc-width-toggle';
button.type = 'button';
button.addEventListener('click', function () {
var current = localStorage.getItem('rpgc-width-mode') || 'readable';
localStorage.setItem('rpgc-width-mode', current === 'full' ? 'readable' : 'full');
applyWidthMode();
});
title.appendChild(button);
applyWidthMode();
}
$(addToggle);
mw.hook('wikipage.content').add(addToggle);
window.addEventListener('resize', applyWidthMode);
})();