User:Writ Keeper/Scripts/orangeBar.js
$(document).ready(function()
{
var HTML_CHAR_MAP = {
'<': '<',
'>': '>',
'&': '&',
'"': '"',
"'": '''
};
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 new messages (last change).';
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"})
}
});