Jump to content

User:Writ Keeper/Scripts/orangeBar.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
$(document).ready(function()
{
var HTML_CHAR_MAP = {
'<': '&lt;',
'>': '&gt;',
'&': '&amp;',
'"': '&quot;',
"'": '&#39;'
};
 
function escapeHtml (s) {
return s.replace(/[<>&"']/g, function (ch) {
return HTML_CHAR_MAP[ch];
});
}
	//the update of wgUserNewMsgRevId seems to be slow now; it's not updating until *after* the talk page is viewed. So, we exclude the user's talk page, since they won't need it there
	if($(".mw-echo-alert").length > 0  && !(mw.config.get('wgNamespaceNumber') == 3 && mw.config.get('wgTitle') == mw.config.get('wgUserName')))
	{
		var orangeBarDiv = document.createElement("div");
		orangeBarDiv.innerHTML = 'You have <a href="/wiki/User_talk:' + encodeURIComponent(mw.config.get("wgUserName")) + '" title="User talk:'+escapeHtml(mw.config.get("wgUserName"))+'">new messages</a> (<a href="/w/index.php?title=User_talk:'+encodeURIComponent(mw.config.get("wgUserName"))+'&diff=cur&old=prev">last change</a>).';
		orangeBarDiv.className = "usermessage";

		if($("#contentSub").length == 0) //No #contentSub in CologneBlue, so handle it specially (possibly adding multiple orange bars but oh well)
		{
			$(".tagline").after(orangeBarDiv);
		}
		else //all other skins
		{
			$("#contentSub").after(orangeBarDiv);
		}

		//default styling, in case the CSS stylesheet fails to load (keeping the className the same allows for user customization)
		$(orangeBarDiv).css({"background-color": "#ffce7b","border": "1px solid #ffa500","color": "black","font-weight": "bold","margin": "2em 0 1em","padding": ".5em 1em","vertical-align": "middle"})
	}
});