Mudanças entre as edições de "Widget:Droflax"
Ir para navegação
Ir para pesquisar
Etiqueta: Reversão manual |
|||
| Linha 40: | Linha 40: | ||
habilidades.forEach((hab, idx) => { | habilidades.forEach((hab, idx) => { | ||
const id = `video${idx + 1}`; | |||
// Botón | // Botón | ||
const btn = document.createElement('button'); | const btn = document.createElement('button'); | ||
btn.className = 'infobox-skill-tab' + (idx === 0 ? ' active' : ''); | btn.className = 'infobox-skill-tab' + (idx === 0 ? ' active' : ''); | ||
btn.dataset.video = | btn.dataset.video = id; | ||
btn.textContent = hab.nome; | btn.textContent = hab.nome; | ||
tabsContainer.appendChild(btn); | tabsContainer.appendChild(btn); | ||
// Video | |||
const container = document.createElement('div'); | |||
container.id = id; | |||
container.className = 'skill-video'; | |||
container.style.display = idx === 0 ? '' : 'none'; | |||
// Usar o widget, renderizando como HTML MediaWiki: | |||
container.innerHTML = `{{#widget:infovideo|src=${hab.video}|class=infobox-skill-video}}`; | |||
videoContainer.appendChild(container); | |||
}); | }); | ||
// Descripción inicial | |||
descText.innerHTML = `${habilidades[0].nome}: ${habilidades[0].descricao}`; | descText.innerHTML = `${habilidades[0].nome}: ${habilidades[0].descricao}`; | ||
// Lógica tabs | |||
const tabs = document.querySelectorAll('.infobox-skill-tab'); | const tabs = document.querySelectorAll('.infobox-skill-tab'); | ||
const videos = document.querySelectorAll('.skill-video'); | |||
tabs.forEach((tab, idx) => { | tabs.forEach((tab, idx) => { | ||
Edição das 19h48min de 21 de maio de 2025
<script> (function () {
let habilidades = [];
const raw= document.getElementById('infoboxboss-data');
console.log(raw);
if (!raw) {
console.error('Persona widget: no se encontró #persona-data');
return;
}
for (let i = 1; i <= 10; i++) {
const nome = raw.dataset[`hab${i}`];
const descricao = raw.dataset[`de${i}`];
const video = raw.dataset[`vid${i}`];
if (!nome) continue;
habilidades.push({
nome,
descricao: descricao || ,
video: video ||
});
}
const tabsContainer = document.getElementById('skill-tabs');
const videoContainer = document.getElementById('skill-videos');
const descText = document.getElementById('desc-text');
habilidades.forEach((hab, idx) => {
const id = `video${idx + 1}`;
// Botón
const btn = document.createElement('button');
btn.className = 'infobox-skill-tab' + (idx === 0 ? ' active' : );
btn.dataset.video = id;
btn.textContent = hab.nome;
tabsContainer.appendChild(btn);
// Video
const container = document.createElement('div');
container.id = id; container.className = 'skill-video'; container.style.display = idx === 0 ? : 'none';
// Usar o widget, renderizando como HTML MediaWiki:
container.innerHTML = `
Erro em widget infovideo: Unable to load template 'wiki:infovideo'
`;
videoContainer.appendChild(container);
});
// Descripción inicial
descText.innerHTML = `${habilidades[0].nome}: ${habilidades[0].descricao}`;
// Lógica tabs
const tabs = document.querySelectorAll('.infobox-skill-tab');
const videos = document.querySelectorAll('.skill-video');
tabs.forEach((tab, idx) => {
tab.addEventListener('click', () => {
tabs.forEach(t => t.classList.remove('active'));
tab.classList.add('active');
const vidId = tab.dataset.video;
descText.innerHTML = `${habilidades[idx].nome}: ${habilidades[idx].descricao}`;
videos.forEach(v => {
if (v.id === vidId) {
v.style.display = ;
v.load();
v.play();
} else {
v.pause();
v.style.display = 'none';
}
});
});
});
document.getElementById('infoboxboss-data')?.remove();
})(); </script>
<style> .skill-box {
background: none;; color: #222; border-radius: 12px; box-shadow: none; width: 100%; max-width: 700px; box-sizing: border-box; padding: 24px 24px 20px 24px; display: flex; flex-direction: column; align-items: center; gap: 18px; backdrop-filter: blur(2px); margin: 0 auto 24px auto;
} </style>