MediaWiki:Common.js

From bg3.wiki
Revision as of 04:13, 7 August 2023 by Taylan (talk | contribs)
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.
/* Any JavaScript here will be loaded for all users on every page load. */

(function () {
	var launchDayMaxPageId = 6545;
	if (!mw.config.get("wgIsMainPage") &&
	       mw.config.get("wgNamespaceNumber") == 0 &&
	       mw.config.get("wgArticleId") <= launchDayMaxPageId &&
	       mw.config.get("wgAction") === "view"
	       ) {
	    var uptodate = document.getElementById("bg3wiki-uptodate-notice");
	    if (uptodate) {
	    	return;
	    }
		var notice = document.getElementById("siteNotice");
		notice.style.textAlign = "start";
		notice.innerHTML =
		"<p style='font-size: 1rem; font-weight: bold; color: yellow;'> " +
		"Warning: This page was created during Early Access. " +
		"It may not be up to date with the release version. " +
		"</p> <p> " +
		"To remove this notice, click 'Edit source' and add this to the top: " +
		// <nowiki>
		"<code>{{subst:insert up to date}}</code> " +
		// </nowiki>
		"</p>";
	}
})();

// Related to centering the content; fix for popups.
(function () {
  var body = document.getElementsByTagName("body")[0];
  var callback = function(mutList, _obs) {
    var mut = mutList[0];
    var mutNode = mut.addedNodes;
    if (mutNode.length !== 0 && mutNode[0].classList.contains("mwe-popups")) {
      var eleLeft = mutNode[0].style.left;
      var marginLeft = window.getComputedStyle(body).getPropertyValue("margin-left");
      // subtract the left margin from the computed value
      mutNode[0].style.left = "calc("+ eleLeft + " - "+ marginLeft + ")";
    }
  };
  var observer = new MutationObserver(callback);
  observer.observe(body, { childList: true });
})();