MediaWiki:Common.js

From Hidden Mickey Wiki

Revision as of 13:46, 15 September 2025 by Scokely (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
// JavaScript code to save checkbox state and restore it when the page loads
$(document).ready(function() {
    // Function to save the state of checkboxes to localStorage
    function saveCheckboxState() {
        $('input[type="checkbox"]').each(function() {
            localStorage.setItem($(this).attr('id'), $(this).prop('checked'));
        });
    }

    // Function to load the state of checkboxes from localStorage
    function loadCheckboxState() {
        $('input[type="checkbox"]').each(function() {
            const savedState = localStorage.getItem($(this).attr('id'));
            if (savedState !== null) {
                $(this).prop('checked', savedState === 'true');
            }
        });
    }

    // Load the saved checkbox state when the page is loaded
    loadCheckboxState();

    // Save the checkbox state whenever a checkbox is changed
    $('input[type="checkbox"]').change(function() {
        saveCheckboxState();
    });
});

// Adjust the search box width
$(document).ready(function () {
    $('#searchInput').css('width', '600px'); // Adjust width as needed
});

/* Settings dropdown test */
$(function() {
    // Find the container that holds the right-side user dropdown
    var userDropdown = $('#mw-navbar-right');

    if (userDropdown.length) {
        // Create a new dropdown placeholder
        var settingsDropdown = $(`
            <div class="dropdown" id="mw-navbar-settings" style="display:inline-block; margin-right:8px;">
                <button class="mw-settings-btn">⚙ Settings ▼</button>
            </div>
        `);

        // Insert it immediately before the user dropdown
        userDropdown.before(settingsDropdown);
    } else {
        console.log("User dropdown (#mw-navbar-right) not found");
    }
});