MediaWiki:Common.js: Difference between revisions

From bg3.wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
mw.config.get("wgAction") !== "view"
mw.config.get("wgAction") !== "view"
) {
) {
return;
}
if (document.getElementById("bg3wiki-legacy-content-notice")) {
return;
return;
}
}

Revision as of 15:38, 14 August 2023

/* 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"
	) {
		return;
	}
	if (document.getElementById("bg3wiki-legacy-content-notice")) {
		return;
	}
    var uptodateNotice = document.getElementById("bg3wiki-uptodate-notice");
	var siteNotice = document.getElementById("siteNotice");
    if (uptodateNotice) {
    	siteNotice.style.float = "right";
    	siteNotice.innerHTML = uptodateNotice.innerHTML;
    	uptodateNotice.remove();
    } else {
		siteNotice.style.textAlign = "start";
		siteNotice.innerHTML =
		"<p style='font-size: 1rem; 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 nodes = mutList[0].addedNodes;
		if (nodes.length == 0 || nodes[0].classList == undefined) {
			return;
		}
		var node = nodes[0];
		if (node.classList.contains("mwe-popups")) {
			var bodyStyle = window.getComputedStyle(body);
			var bodyLeft = bodyStyle.getPropertyValue("margin-left");
			node.style.left = "calc("+ node.style.left + " - "+ bodyLeft + ")";
		}
	};
	var observer = new MutationObserver(callback);
	observer.observe(body, { childList: true });
})();