Widget:TesteBossYawnv3
Ir para navegação
Ir para pesquisar
${escapeHtml(r)} `);
} else {
html += `Nenhum requisito `;
}
html += `${escapeHtml(r)} `);
} else {
html += `Nenhuma recompensa garantida `;
}
html += `${escapeHtml(r)} `);
} else {
html += `Nenhuma recompensa possível `;
}
html += `
<script> (function() {
function escapeHtml(str) {
if (!str) return ;
return str.replace(/[&<>]/g, function(m) {
if (m === '&') return '&';
if (m === '<') return '<';
if (m === '>') return '>';
return m;
});
}
async function bossRender(root, diff) {
const data = JSON.parse(root.dataset.json);
const d = data[diff];
const content = root.querySelector(".boss-content");
if (!content) return;
let html = ;
// Nome do boss
if (data.nome) {
html += `
${escapeHtml(data.nome)}
`;
}
// Introdução
if (data.introducao) {
html += `
${escapeHtml(data.introducao)}
`;
}
// Localização
if (data.localizacao) {
html += `
Localização
`; html += `
${escapeHtml(data.localizacao.descricao)}
`;
}
// Requisitos
html += `
Requisitos
- `;
if (d.requisitos && d.requisitos.length) {
d.requisitos.forEach(r => html += ``;
// Recompensas Garantidas
html += `
Recompensas Garantidas
- `;
if (d.recompensas && d.recompensas.length) {
d.recompensas.forEach(r => html += ``;
// Possíveis Recompensas
html += `
Possíveis Recompensas
- `;
if (d.recompensasPossiveis && d.recompensasPossiveis.length) {
d.recompensasPossiveis.forEach(r => html += ``;
content.innerHTML = html;
// Atualiza botão ativo
root.querySelectorAll('.boss-diff-btn').forEach(btn => {
const diffBtn = btn.dataset.diff;
if (diffBtn === diff) {
btn.classList.add('active');
} else {
btn.classList.remove('active');
}
});
}
function init() {
document.querySelectorAll('.boss-component').forEach(root => {
if (root.dataset.initialized === 'true') return;
root.dataset.initialized = 'true';
// Adiciona event listeners nos botões
const buttons = root.querySelectorAll('.boss-diff-btn');
buttons.forEach(btn => {
btn.removeEventListener('click', handleClick);
btn.addEventListener('click', handleClick);
});
// Renderiza dificuldade normal
bossRender(root, 'normal');
});
}
function handleClick(e) {
const btn = e.currentTarget;
const root = btn.closest('.boss-component');
const diff = btn.dataset.diff;
if (root && diff) {
bossRender(root, diff);
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
if (typeof mw !== 'undefined' && mw.hook) {
mw.hook('wikipage.content').add(init);
}
})(); </script>