Mudanças entre as edições de "Widget:Droflax"
Ir para navegação
Ir para pesquisar
| (8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
<div class="language-switch"> | <div class="language-switch"> | ||
<a | <a data-lang="pt"><img src="https://upload.wikimedia.org/wikipedia/en/0/05/Flag_of_Brazil.svg" width="32" height="24"></a> | ||
<a data-lang="es"><img src="https://upload.wikimedia.org/wikipedia/commons/9/9a/Flag_of_Spain.svg" width="32" height="24"></a> | |||
<a data-lang="en"><img src="https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg" width="32" height="24"></a> | |||
<a | <a data-lang="pl"><img src="https://upload.wikimedia.org/wikipedia/en/1/12/Flag_of_Poland.svg" width="32" height="24"></a> | ||
<a | |||
<a | |||
</div> | </div> | ||
<style> | <style> | ||
| Linha 65: | Linha 11: | ||
gap: 6px; | gap: 6px; | ||
margin: 8px 0; | margin: 8px 0; | ||
justify-content: center; | |||
} | } | ||
.language-switch img { | .language-switch img { | ||
| Linha 75: | Linha 22: | ||
transform: scale(1.1); | transform: scale(1.1); | ||
border-color: #333; | border-color: #333; | ||
} | |||
.language-switch img.active { | |||
border-color: #000; | |||
} | } | ||
</style> | </style> | ||
<script> | |||
(function () { | |||
let currentLang = 'pt'; // idioma por defecto | |||
const langSwitch = document.querySelector('.language-switch'); | |||
if (langSwitch) { | |||
langSwitch.querySelectorAll('a[data-lang]').forEach(btn => { | |||
btn.addEventListener('click', () => { | |||
currentLang = btn.dataset.lang; | |||
langSwitch.querySelectorAll('img').forEach(img => img.classList.remove('active')); | |||
btn.querySelector('img').classList.add('active'); | |||
const active = document.querySelector('.skill-icon.active'); | |||
if (active) active.click(); | |||
}); | |||
}); | |||
// Activar la bandera por defecto | |||
const defaultBtn = langSwitch.querySelector('a[data-lang="pt"] img'); | |||
if (defaultBtn) defaultBtn.classList.add('active'); | |||
} | |||
const oldClicks = document.querySelectorAll('.skill-icon'); | |||
oldClicks.forEach(el => { | |||
el.addEventListener('click', () => { | |||
const name = el.dataset.nome || ''; | |||
const rawDesc = el.dataset.desc || ''; | |||
let descText = ''; | |||
try { | |||
const obj = JSON.parse(rawDesc); | |||
descText = obj[currentLang] || obj['pt'] || ''; | |||
} catch (e) { | |||
descText = rawDesc; // fallback si no es un JSON | |||
} | |||
const attrs = el.dataset.atr || ''; | |||
const descBox = document.querySelector('.desc-box'); | |||
if (descBox) { | |||
descBox.innerHTML = `<div class="skill-title"><h3>${name}</h3></div>${renderAttributes(attrs)}<div class="desc">${descText}</div>`; | |||
} | |||
}); | |||
}); | |||
})(); | |||
</script> | |||
Edição atual tal como às 06h05min de 31 de agosto de 2025
<a data-lang="pt"><img src="https://upload.wikimedia.org/wikipedia/en/0/05/Flag_of_Brazil.svg" width="32" height="24"></a> <a data-lang="es"><img src="https://upload.wikimedia.org/wikipedia/commons/9/9a/Flag_of_Spain.svg" width="32" height="24"></a> <a data-lang="en"><img src="https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg" width="32" height="24"></a> <a data-lang="pl"><img src="https://upload.wikimedia.org/wikipedia/en/1/12/Flag_of_Poland.svg" width="32" height="24"></a>
<style> .language-switch {
display: flex; gap: 6px; margin: 8px 0; justify-content: center;
} .language-switch img {
border: 1px solid #ccc; border-radius: 6px; cursor: pointer; transition: transform 0.2s ease, border-color 0.2s ease;
} .language-switch img:hover {
transform: scale(1.1); border-color: #333;
} .language-switch img.active {
border-color: #000;
} </style>
<script> (function () {
let currentLang = 'pt'; // idioma por defecto
const langSwitch = document.querySelector('.language-switch');
if (langSwitch) {
langSwitch.querySelectorAll('a[data-lang]').forEach(btn => {
btn.addEventListener('click', () => {
currentLang = btn.dataset.lang;
langSwitch.querySelectorAll('img').forEach(img => img.classList.remove('active'));
btn.querySelector('img').classList.add('active');
const active = document.querySelector('.skill-icon.active');
if (active) active.click();
});
});
// Activar la bandera por defecto
const defaultBtn = langSwitch.querySelector('a[data-lang="pt"] img');
if (defaultBtn) defaultBtn.classList.add('active');
}
const oldClicks = document.querySelectorAll('.skill-icon');
oldClicks.forEach(el => {
el.addEventListener('click', () => {
const name = el.dataset.nome || ;
const rawDesc = el.dataset.desc || ;
let descText = ;
try {
const obj = JSON.parse(rawDesc);
descText = obj[currentLang] || obj['pt'] || ;
} catch (e) {
descText = rawDesc; // fallback si no es un JSON
}
const attrs = el.dataset.atr || ;
const descBox = document.querySelector('.desc-box');
if (descBox) {
descBox.innerHTML = `
${name}
${renderAttributes(attrs)}
${descText}
`;
} }); });
})(); </script>