Jump to content

MediaWiki:Common.js: Difference between revisions

From The Shivo Library
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. */


// Ensure that the appearance section is expanded
/**
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function () {
* Enforce Dark Mode for All Users and Remove Appearance Menu
    var appearanceSection = document.querySelector('#p-appearance');
*/
    if (appearanceSection && appearanceSection.classList.contains('collapsed')) {
        appearanceSection.classList.remove('collapsed');
    }
});
 
(function() {
(function() {
     // Ensure the script runs as early as possible
     // Function to enforce dark mode by adding necessary classes
     function enforceDarkMode() {
     function enforceDarkMode() {
        console.log('Enforcing dark mode for all users.');
         // 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');
Line 17: Line 14:
         // Remove any existing light mode classes if present
         // Remove any existing light mode classes if present
         document.documentElement.classList.remove('skin-theme-clientpref-day');
         document.documentElement.classList.remove('skin-theme-clientpref-day');
        console.log('Dark mode classes added:', document.documentElement.classList);
    }
    // Function to remove the Appearance menu section
    function removeAppearanceMenu() {
        var appearanceSection = document.querySelector('#p-appearance');
        if (appearanceSection) {
            appearanceSection.style.display = 'none';
            console.log('Appearance menu section removed.');
        } else {
            console.log('Appearance menu section not found.');
        }
     }
     }


     // Check if the DOM is already loaded
     // Execute functions after DOM is fully loaded
     if (document.readyState === 'complete' || document.readyState === 'interactive') {
     if (document.readyState === 'complete' || document.readyState === 'interactive') {
         enforceDarkMode();
         enforceDarkMode();
        removeAppearanceMenu();
     } else {
     } else {
         document.addEventListener('DOMContentLoaded', enforceDarkMode);
         document.addEventListener('DOMContentLoaded', function() {
            enforceDarkMode();
            removeAppearanceMenu();
        });
     }
     }
})();
})();

Revision as of 08:23, 28 January 2025

/* Any JavaScript here will be loaded for all users on every page load. */

/**
 * Enforce Dark Mode for All Users and Remove Appearance Menu
 */
(function() {
    // Function to enforce dark mode by adding necessary classes
    function enforceDarkMode() {
        console.log('Enforcing dark mode for all users.');

        // 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');

        console.log('Dark mode classes added:', document.documentElement.classList);
    }

    // Function to remove the Appearance menu section
    function removeAppearanceMenu() {
        var appearanceSection = document.querySelector('#p-appearance');
        if (appearanceSection) {
            appearanceSection.style.display = 'none';
            console.log('Appearance menu section removed.');
        } else {
            console.log('Appearance menu section not found.');
        }
    }

    // Execute functions after DOM is fully loaded
    if (document.readyState === 'complete' || document.readyState === 'interactive') {
        enforceDarkMode();
        removeAppearanceMenu();
    } else {
        document.addEventListener('DOMContentLoaded', function() {
            enforceDarkMode();
            removeAppearanceMenu();
        });
    }
})();