MediaWiki:Common.js: Difference between revisions

From Lenn's Fun Stuff

No edit summary
No edit summary
Line 1: Line 1:
/* Dark Mode Toggle - Robust Version */
/* Dark Mode Toggle for Anisa Skin */
$(function() {
$(function() {
     // 1. Create the toggle link
     // Add the toggle to the personal menu
     var $toggle = $('<li id="pt-darkmode"><span><a href="#">Toggle Dark Mode</a></span></li>');
     var toggle = $('<li id="pt-darkmode" class="mw-list-item"><a href="#"><span>Toggle Dark Mode</span></a></li>');
   
     $('#p-personal .vector-menu-content-list, #p-personal ul').first().append(toggle);
    // 2. Add it to the top right menu
     $('#p-personal ul').append($toggle);


     // 3. The Click Function
     toggle.on('click', function(e) {
    $toggle.on('click', function(e) {
         e.preventDefault();
         e.preventDefault();
         $('body').toggleClass('dark-mode');
         $('body').toggleClass('dark-mode');
          
          
         // Save the setting so it stays when you refresh
         // Save preference
         var isDark = $('body').hasClass('dark-mode');
         var isDark = $('body').hasClass('dark-mode');
         localStorage.setItem('wiki-dark-mode', isDark ? 'enabled' : 'disabled');
         localStorage.setItem('anisa-dark-mode', isDark ? 'on' : 'off');
        console.log('Dark mode is now: ' + (isDark ? 'ON' : 'OFF'));
     });
     });


     // 4. Check for saved preference on page load
     // Load saved preference
     if (localStorage.getItem('wiki-dark-mode') === 'enabled') {
     if (localStorage.getItem('anisa-dark-mode') === 'on') {
         $('body').addClass('dark-mode');
         $('body').addClass('dark-mode');
     }
     }
});
});

Revision as of 00:13, 12 March 2026

/* Dark Mode Toggle for Anisa Skin */
$(function() {
    // Add the toggle to the personal menu
    var toggle = $('<li id="pt-darkmode" class="mw-list-item"><a href="#"><span>Toggle Dark Mode</span></a></li>');
    $('#p-personal .vector-menu-content-list, #p-personal ul').first().append(toggle);

    toggle.on('click', function(e) {
        e.preventDefault();
        $('body').toggleClass('dark-mode');
        
        // Save preference
        var isDark = $('body').hasClass('dark-mode');
        localStorage.setItem('anisa-dark-mode', isDark ? 'on' : 'off');
    });

    // Load saved preference
    if (localStorage.getItem('anisa-dark-mode') === 'on') {
        $('body').addClass('dark-mode');
    }
});