MediaWiki:Group-user.js

From Team Fortress Wiki
Revision as of 15:27, 2 May 2024 by Tark (talk | contribs) (scrollUp: update langs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Note: After saving, 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: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for registered users only */

// Start scrollUp -----
// Add a button for scrolling to the top of the page. Not tested on mobile.
// Adapted from: https://commons.wikimedia.org/wiki/MediaWiki:Gadget-scrollUpButton.js
var scrollUp = {
  init: function () {
  	// https://translatewiki.net/w/i.php?title=Special:Translations&message=Wikimedia%3AToolhub-js-scrolltotop
    var scrollLang = {"de": "Nach oben scrollen", "es": "Volver al inicio", "fr": "Défiler jusqu’en haut", "ko": "맨 위로 스크롤", "pt": "Role para cima", "pt-br": "Rolar para cima", "sv": "Rulla till toppen", "tr": "Başa dön", "zh-hans": "回到顶部", "zh-hant": "滾動到頂端"};
    var scrollIcon = document.createElement("img");
    scrollIcon.src =
      "https://wiki.teamfortress.com/w/images/2/2c/Wiki_scroll_to_top.png";
    scrollIcon.id = "tfwiki-scrollup";
    scrollIcon.title = scrollLang[mw.config.get("wgPageName").split("/").pop()] || "Scroll to top";
    scrollIcon.classList.add("noprint");

    scrollIcon.addEventListener("click", function () {
      window.scroll({
        top: 0,
        behavior: "smooth",
      });
    });

    scrollIcon.addEventListener("mouseenter", function () {
      this.style.opacity = 1;
    });

    scrollIcon.addEventListener("mouseleave", function () {
      this.style.opacity = 0.7;
    });

    document.body.appendChild(scrollIcon);

    window.addEventListener("scroll", function () {
      if (window.scrollY > 80) {
        scrollIcon.style.display = "block";
      } else {
        scrollIcon.style.display = "none";
      }
    });
  },
};

$(scrollUp.init);
// End scrollUp -----

// Start get user username
// See Template:WikiUsername
var loggedInUsername = {
  init: function() {
    var wikiUserName = mw.config.get("wgUserName");
    if (!wikiUserName) {
      return
    }
    var pageUsernames = document.querySelectorAll("span.usernamegoeshere");
    for (var i = 0; i < pageUsernames.length; i++) {
      pageUsernames[i].textContent = wikiUserName;
    }
  }
};

$(loggedInUsername.init);
// End get user username

// Start "Sandbox" button
var userSandboxBtn = {
    init: function() {
        if (mw.config.get("wgUserId")) {
            mw.util.addPortletLink("p-personal", "/wiki/Special:MyPage/Sandbox", "Sandbox", "pt-sandbox", "Your sandbox", "", $("#pt-preferences"));
        }
    }
};
$(userSandboxBtn.init);
// End "Sandbox" button