MediaWiki:Common.js
Aparência
Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
- Opera: Pressione Ctrl-F5.
/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */
/* =========================================================
EXUPEDIA — FOOTER GLOBAL (desktop + mobile)
OS com mesmo “quadrado” do Powered by MediaWiki
- Breakpoint igual: (min-width: 500px) via <picture>
- Tamanho do botão: clonado do botão do MediaWiki (medido em runtime)
========================================================= */
(function () {
function syncOSButtonSize() {
var poweredByLi = document.getElementById('footer-poweredbyico');
var osLi = document.getElementById('footer-osico');
if (!poweredByLi || !osLi) return;
var mwA = poweredByLi.querySelector('a');
var osA = osLi.querySelector('a');
if (!mwA || !osA) return;
// mede o tamanho final (já com CSS do skin)
var r = mwA.getBoundingClientRect();
if (!r.width || !r.height) return;
osA.style.width = r.width + 'px';
osA.style.height = r.height + 'px';
}
function insertOSFooterIcon() {
var poweredBy = document.getElementById('footer-poweredbyico');
if (!poweredBy) return;
if (document.getElementById('footer-osico')) {
syncOSButtonSize();
return;
}
var li = document.createElement('li');
li.id = 'footer-osico';
var a = document.createElement('a');
a.href = 'https://strigosatanis.com';
a.target = '_blank';
a.rel = 'noopener noreferrer';
a.className =
'cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled os-footer-link';
a.title = 'Ordo Strigosatanis';
// <picture> igual ao MediaWiki (>=500 grande / <500 pequeno)
var picture = document.createElement('picture');
picture.className = 'os-footer-picture';
var source = document.createElement('source');
source.media = '(min-width: 500px)';
source.srcset = '/w/resources/assets/os.svg';
source.setAttribute('width', '88');
source.setAttribute('height', '31');
var img = document.createElement('img');
img.src = '/w/resources/assets/os-small.svg'; // fallback (<500px)
img.alt = 'Curated by Ordo Strigosatanis';
img.width = 25;
img.height = 25;
img.loading = 'lazy';
img.decoding = 'async';
img.className = 'os-footer-img';
picture.appendChild(source);
picture.appendChild(img);
a.appendChild(picture);
li.appendChild(a);
poweredBy.parentNode.insertBefore(li, poweredBy);
// sincroniza tamanho após inserir (e após layout assentar)
syncOSButtonSize();
requestAnimationFrame(syncOSButtonSize);
setTimeout(syncOSButtonSize, 50);
}
// carrega cedo + compatível com navegação parcial
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', insertOSFooterIcon, { once: true });
} else {
insertOSFooterIcon();
}
if (window.mw && mw.hook) {
mw.hook('wikipage.content').add(function () {
insertOSFooterIcon();
syncOSButtonSize();
});
}
// mantém igual quando o breakpoint muda (resize/orientation)
window.addEventListener('resize', function () {
syncOSButtonSize();
}, { passive: true });
})();