Mudanças entre as edições de "Widget:Droflax"
Ir para navegação
Ir para pesquisar
| (46 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
<div class="language-switch"> | |||
<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> | |||
</div> | |||
<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> | <script> | ||
(function () { | (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(); | |||
}); | |||
const | |||
}); | }); | ||
// | // 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 | 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> | </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>