MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
mw.loader.using('mediawiki.util').then(function () { | |||
// Ensure that the appearance section is expanded | |||
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function () { | |||
var appearanceSection = document.querySelector('#p-appearance'); | var appearanceSection = document.querySelector('#p-appearance'); | ||
if (appearanceSection && appearanceSection.classList.contains('collapsed')) { | if (appearanceSection && appearanceSection.classList.contains('collapsed')) { | ||
Line 8: | Line 10: | ||
(function() { | (function() { | ||
// Ensure the script runs | // Ensure the script runs as early as possible | ||
function enforceDarkMode() { | |||
// Add classes to enforce dark mode | // Add classes to enforce dark mode | ||
document.documentElement.classList.add('vector-feature-night-mode-enabled', 'skin-theme-clientpref-night'); | document.documentElement.classList.add('vector-feature-night-mode-enabled', 'skin-theme-clientpref-night'); | ||
// | // Remove any existing light mode classes if present | ||
document.documentElement.classList.remove('skin-theme-clientpref-day'); | document.documentElement.classList.remove('skin-theme-clientpref-day'); | ||
}); | } | ||
// Check if the DOM is already loaded | |||
if (document.readyState === 'complete' || document.readyState === 'interactive') { | |||
enforceDarkMode(); | |||
} else { | |||
document.addEventListener('DOMContentLoaded', enforceDarkMode); | |||
} | |||
})(); | })(); |
Revision as of 08:08, 28 January 2025
/* Any JavaScript here will be loaded for all users on every page load. */
// Ensure that the appearance section is expanded
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function () {
var appearanceSection = document.querySelector('#p-appearance');
if (appearanceSection && appearanceSection.classList.contains('collapsed')) {
appearanceSection.classList.remove('collapsed');
}
});
(function() {
// Ensure the script runs as early as possible
function enforceDarkMode() {
// Add classes to enforce dark mode
document.documentElement.classList.add('vector-feature-night-mode-enabled', 'skin-theme-clientpref-night');
// Remove any existing light mode classes if present
document.documentElement.classList.remove('skin-theme-clientpref-day');
}
// Check if the DOM is already loaded
if (document.readyState === 'complete' || document.readyState === 'interactive') {
enforceDarkMode();
} else {
document.addEventListener('DOMContentLoaded', enforceDarkMode);
}
})();