User:Sav/welcome.js

From Test Wiki
Revision as of 17:42, 31 July 2024 by Sav (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.
// THIS IS A WORK IN PROGRESS, DO NOT INSTALL THIS SCRIPT OR MAKE CHANGES.

const WELCOME_TEMPLATE = "User:Sav/Welcome";
const tag = "Welcome!"; // Change this to change the query used to detect if you're welcoming

document.addEventListener('DOMContentLoaded', function () {
    if (mw.config.get('wgNamespaceNumber') == 3) {
        let actions = document.querySelector('.content-actions');
        if (actions) {
            let ul = actions.getElementsByClassName('dropdown')[0];
            if (ul) {
                let li = document.createElement('li');
                ul.insertBefore(li, document.getElementById('ca-history'));

                const params = new URLSearchParams(window.location.search);

                li.innerHTML = '<li id="ca-welcome" class="selected"><a href="/w/index.php?title=' + (params.has("title") ? params.get("title") : window.location.pathname.replace("/wiki/", "")) + '&action=edit&section=new&' + tag + '=true" title="Welcome this user!">Welcome User</a></li>';

                if (params.has(tag)) {
                    document.getElementById("wpSummary").value = 'Welcome!';
                    document.getElementById("wpTextbox1").value = '{{' + WELCOME_TEMPLATE + '}}~~' + '~~\n';
                }
            }
        }
    }
});

console.log("Loaded Wiki Welcome");