MediaWiki:Common.js
Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Internet Explorer/Edge: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
- Opera: Pressione Ctrl-F5.
document.addEventListener("DOMContentLoaded", function () {
var API = "https://api.pkro.com.br";
function roColorToHtml(text) {
return text
.replace(/\^([0-9A-Fa-f]{6})/g, '<span style="color:#$1">')
.replace(/\n/g, "<br>") + "</span>";
}
document.querySelectorAll(".mw-item").forEach(function (el) {
var id = el.dataset.id;
fetch(API + "/item/" + id)
.then(function (r) { return r.json(); })
.then(function (item) {
// troca texto por ícone
el.innerHTML = '<img src="' + API + item.icon + '" width="32">';
el.addEventListener("mouseenter", function () {
var tip = document.createElement("div");
tip.className = "item-tooltip";
tip.innerHTML =
'<div style="display:flex; gap:10px;">' +
'<img src="' + API + item.icon + '" width="42">' +
'<div>' +
'<b>' + item.name + '</b><br>' +
roColorToHtml(item.description) +
'</div>' +
'</div>';
document.body.appendChild(tip);
var move = function (ev) {
tip.style.left = (ev.pageX + 15) + "px";
tip.style.top = (ev.pageY + 15) + "px";
};
document.addEventListener("mousemove", move);
el.addEventListener("mouseleave", function () {
tip.remove();
document.removeEventListener("mousemove", move);
}, { once: true });
});
})
.catch(function () {
el.innerHTML = "[item erro]";
});
});
});