1 608
edições
Sem resumo de edição |
Sem resumo de edição |
||
| Linha 1: | Linha 1: | ||
document.addEventListener(" | document.addEventListener("DOMContentLoaded", function () { | ||
var | var API = "http://game.pkro.com.br:3232"; | ||
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]"; | |||
}); | |||
}); | |||
}); | }); | ||