Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Citizen.js

MediaWiki interface page

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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
document.addEventListener('DOMContentLoaded', function () {
    console.log("DOMContentLoaded fired");

    // Search trigger (your original)
    const searchTrigger = document.getElementById('skin-citizen-search-trigger');
    if (searchTrigger) {
        console.log("Search trigger found");
        searchTrigger.addEventListener('click', function () {
            console.log("Search trigger clicked");
            const toggle = document.querySelector('.citizen-header__search-toggle');
            if (toggle) toggle.click();
            else mw.loader.using('skins.citizen.search');
        });
    } else {
        console.log("Search trigger NOT found");
    }

    // Wiki update trigger – delegation + logging
    document.addEventListener('click', function (event) {
        const trigger = event.target.closest('#skin-citizen-wikupdatepage-trigger');
        if (trigger) {
            window.location.href = mw.util.getUrl('Main_Page/WikiUpdate');
            event.preventDefault();
        }
    });

    // One-time check: is the element already in DOM?
    const updateTrigger = document.getElementById('skin-citizen-wikupdatepage-trigger');
    if (updateTrigger) {
    } else {
    }
});

// Fallback: MutationObserver if element added very late
const observer = new MutationObserver(function (mutations) {
    mutations.forEach(function (mutation) {
        if (mutation.addedNodes.length) {
            const trigger = document.getElementById('skin-citizen-wikupdatepage-trigger');
            if (trigger && !trigger.dataset.listenerAdded) {
                console.log("Update trigger detected late via MutationObserver");
                trigger.dataset.listenerAdded = 'true'; // prevent duplicate
                trigger.addEventListener('click', function () {
                    window.location.href = mw.util.getUrl('Main_Page/WikiUpdate');
                });
            }
        }
    });
});
observer.observe(document.body, { childList: true, subtree: true });